adding selenium

master
Matt Huntington 12 years ago
parent af3f60c9e5
commit b801d61852

@ -0,0 +1,169 @@
## v2.42.1
* FIXED: 7465: Fixed `net.getLoopbackAddress` on Windows
* FIXED: 7277: Support `done` callback in Mocha's BDD interface
* FIXED: 7156: `Promise#thenFinally` should not suppress original error
## v2.42.0
* Removed deprecated functions `Promise#addCallback()`,
`Promise#addCallbacks()`, `Promise#addErrback()`, and `Promise#addBoth()`.
* Fail with a more descriptive error if the server returns a malformed redirect
* FIXED: 7300: Connect to ChromeDriver using the loopback address since
ChromeDriver 2.10.267517 binds to localhost by default.
* FIXED: 7339: Preserve wrapped test function's string representation for
Mocha's BDD interface.
## v2.41.0
* FIXED: 7138: export logging API from webdriver module.
* FIXED: 7105: beforeEach/it/afterEach properly bind `this` for Mocha tests.
## v2.40.0
* API documentation is now included in the docs directory.
* Added utility functions for working with an array of promises:
`promise.all`, `promise.map`, and `promise.filter`
* Introduced `Promise#thenCatch()` and `Promise#thenFinally()`.
* Deprecated `Promise#addCallback()`, `Promise#addCallbacks()`,
`Promise#addErrback()`, and `Promise#addBoth()`.
* Removed deprecated function `webdriver.WebDriver#getCapability`.
* FIXED: 6826: Added support for custom locators.
## v2.39.0
* Version bump to stay in sync with the Selenium project.
## v2.38.1
* FIXED: 6686: Changed `webdriver.promise.Deferred#cancel()` to silently no-op
if the deferred has already been resolved.
## v2.38.0
* When a promise is rejected, always annotate the stacktrace with the parent
flow state so users can identify the source of an error.
* Updated tests to reflect features not working correctly in the SafariDriver
(cookie management and proxy support; see issues 5051, 5212, and 5503)
* FIXED: 6284: For mouse moves, correctly omit the x/y offsets if not
specified as a function argument (instead of passing (0,0)).
* FIXED: 6471: Updated documentation on `webdriver.WebElement#getAttribute`
* FIXED: 6612: On Unix, use the default IANA ephemeral port range if unable to
retrieve the current system's port range.
* FIXED: 6617: Avoid triggering the node debugger when initializing the
stacktrace module.
* FIXED: 6627: Safely rebuild chrome.Options from a partial JSON spec.
## v2.37.0
* FIXED: 6346: The remote.SeleniumServer class now accepts JVM arguments using
the `jvmArgs` option.
## v2.36.0
* _Release skipped to stay in sync with main Selenium project._
## v2.35.2
* FIXED: 6200: Pass arguments to the Selenium server instead of to the JVM.
## v2.35.1
* FIXED: 6090: Changed example scripts to use chromedriver.
## v2.35.0
* Version bump to stay in sync with the Selenium project.
## v2.34.1
* FIXED: 6079: The parent process should not wait for spawn driver service
processes (chromedriver, phantomjs, etc.)
## v2.34.0
* Added the `selenium-webdriver/testing/assert` module. This module
simplifies writing assertions against promised values (see
example in module documentation).
* Added the `webdriver.Capabilities` class.
* Added native support for the ChromeDriver. When using the `Builder`,
requesting chrome without specifying a remote server URL will default to
the native ChromeDriver implementation. The
[ChromeDriver server](https://code.google.com/p/chromedriver/downloads/list)
must be downloaded separately.
// Will start ChromeDriver locally.
var driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).
build();
// Will start ChromeDriver using the remote server.
var driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).
usingServer('http://server:1234/wd/hub').
build();
* Added support for configuring proxies through the builder. For examples, see
`selenium-webdriver/test/proxy_test`.
* Added native support for PhantomJS.
* Changed signature of `SeleniumServer` to `SeleniumServer(jar, options)`.
* Tests are now included in the npm published package. See `README.md` for
execution instructions
* Removed the deprecated `webdriver.Deferred#resolve` and
`webdriver.promise.resolved` functions.
* Removed the ability to connect to an existing session from the Builder. This
feature is intended for use with the browser-based client.
## v2.33.0
* Added support for WebDriver's logging API
* FIXED: 5511: Added webdriver.manage().timeouts().pageLoadTimeout(ms)
## v2.32.1
* FIXED: 5541: Added missing return statement for windows in
`portprober.findFreePort()`
## v2.32.0
* Added the `selenium-webdriver/testing` package, which provides a basic
framework for writing tests using Mocha. See
`selenium-webdriver/example/google_search_test.js` for usage.
* For Promises/A+ compatibility, backing out the change in 2.30.0 that ensured
rejections were always Error objects. Rejection reasons are now left as is.
* Removed deprecated functions originally scheduled for removal in 2.31.0
* promise.Application.getInstance()
* promise.ControlFlow#schedule()
* promise.ControlFlow#scheduleTimeout()
* promise.ControlFlow#scheduleWait()
* Renamed some functions for consistency with Promises/A+ terminology. The
original functions have been deprecated and will be removed in 2.34.0:
* promise.resolved() -> promise.fulfilled()
* promise.Deferred#resolve() -> promise.Deferred#fulfill()
* FIXED: remote.SeleniumServer#stop now shuts down within the active control
flow, allowing scripts to finish. Use #kill to shutdown immediately.
* FIXED: 5321: cookie deletion commands
## v2.31.0
* Added an example script.
* Added a class for controlling the standalone Selenium server (server
available separately)
* Added a portprober for finding free ports
* FIXED: WebElements now belong to the same flow as their parent driver.
## v2.30.0
* Ensures promise rejections are always Error values.
* Version bump to keep in sync with the Selenium project.
## v2.29.1
* Fixed a bug that could lead to an infinite loop.
* Added a README.md
## v2.29.0
* Initial release for npm:
npm install selenium-webdriver

@ -0,0 +1,204 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2007-2009 Google Inc.
Copyright 2007-2009 WebDriver committers
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

@ -0,0 +1,77 @@
# selenium-webdriver
## Installation
Install the latest published version using `npm`:
npm install selenium-webdriver
In addition to the npm package, you will to download the WebDriver
implementations you wish to utilize. As of 2.34.0, `selenium-webdriver`
natively supports the [ChromeDriver](http://chromedriver.storage.googleapis.com/index.html).
Simply download a copy and make sure it can be found on your `PATH`. The other
drivers (e.g. Firefox, Internet Explorer, and Safari), still require the
[standalone Selenium server](http://selenium-release.storage.googleapis.com/index.html).
### Running the tests
To run the tests, you will need to download a copy of the
[ChromeDriver](http://chromedriver.storage.googleapis.com/index.html) and make
sure it can be found on your `PATH`.
npm test selenium-webdriver
To run the tests against multiple browsers, download the
[Selenium server](http://selenium-release.storage.googleapis.com/index.html) and
specify its location through the `SELENIUM_SERVER_JAR` environment variable.
You can use the `SELENIUM_BROWSER` environment variable to define a
comma-separated list of browsers you wish to test against. For example:
export SELENIUM_SERVER_JAR=path/to/selenium-server-standalone-2.33.0.jar
SELENIUM_BROWSER=chrome,firefox npm test selenium-webdriver
## Usage
var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).
build();
driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver');
driver.findElement(webdriver.By.name('btnG')).click();
driver.wait(function() {
return driver.getTitle().then(function(title) {
return title === 'webdriver - Google Search';
});
}, 1000);
driver.quit();
## Documentation
API documentation is included in the docs module. The API documentation for the
current release are also available online from the [Selenium project](http://selenium.googlecode.com/git/docs/api/javascript/index.html "API docs"). A full user guide is available on the
[Selenium project wiki](http://code.google.com/p/selenium/wiki/WebDriverJs "User guide").
## Issues
Please report any issues using the [Selenium issue tracker](https://code.google.com/p/selenium/issues/list).
## License
Copyright 2009-2014 Software Freedom Conservancy
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

@ -0,0 +1,165 @@
// Copyright 2012 Selenium committers
// Copyright 2012 Software Freedom Conservancy
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/**
* @fileoverview The base module responsible for bootstrapping the Closure
* library and providing a means of loading Closure-based modules.
*
* <p>Each script loaded by this module will be granted access to this module's
* {@code require} function; all required non-native modules must be specified
* relative to <em>this</em> module.
*
* <p>This module will load all scripts from the "lib" subdirectory, unless the
* SELENIUM_DEV_MODE environment variable has been set to 1, in which case all
* scripts will be loaded from the Selenium client containing this script.
*/
'use strict';
var fs = require('fs'),
path = require('path'),
vm = require('vm');
/**
* If this script was loaded from the Selenium project repo, it will operate in
* development mode, adjusting how it loads Closure-based dependencies.
* @type {boolean}
*/
var devMode = (function() {
var buildDescFile = path.join(__dirname, '..', 'build.desc');
return fs.existsSync(buildDescFile);
})();
/** @return {boolean} Whether this script was loaded in dev mode. */
function isDevMode() {
return devMode;
}
/**
* @type {string} Path to Closure's base file, relative to this module.
* @const
*/
var CLOSURE_BASE_FILE_PATH = (function() {
var relativePath = isDevMode() ?
'../../../third_party/closure/goog/base.js' :
'./lib/goog/base.js';
return path.join(__dirname, relativePath);
})();
/**
* @type {string} Path to Closure's base file, relative to this module.
* @const
*/
var DEPS_FILE_PATH = (function() {
var relativePath = isDevMode() ?
'../../../javascript/deps.js' :
'./lib/goog/deps.js';
return path.join(__dirname, relativePath);
})();
/**
* Synchronously loads a script into the protected Closure context.
* @param {string} src Path to the file to load.
*/
function loadScript(src) {
src = path.normalize(src);
var contents = fs.readFileSync(src, 'utf8');
vm.runInContext(contents, closure, src);
}
/**
* The protected context to host the Closure library.
* @type {!Object}
* @const
*/
var closure = vm.createContext({
console: console,
setTimeout: setTimeout,
setInterval: setInterval,
clearTimeout: clearTimeout,
clearInterval: clearInterval,
process: process,
require: require,
Buffer: Buffer,
Error: Error,
CLOSURE_BASE_PATH: path.dirname(CLOSURE_BASE_FILE_PATH) + '/',
CLOSURE_IMPORT_SCRIPT: function(src) {
loadScript(src);
return true;
},
CLOSURE_NO_DEPS: !isDevMode(),
goog: {}
});
closure.window = closure;
loadScript(CLOSURE_BASE_FILE_PATH);
loadScript(DEPS_FILE_PATH);
/**
* Loads a symbol by name from the protected Closure context.
* @param {string} symbol The symbol to load.
* @return {?} The loaded symbol, or {@code null} if not found.
* @throws {Error} If the symbol has not been defined.
*/
function closureRequire(symbol) {
closure.goog.require(symbol);
return closure.goog.getObjectByName(symbol);
}
// PUBLIC API
/**
* Loads a symbol by name from the protected Closure context and exports its
* public API to the provided object. This function relies on Closure code
* conventions to define the public API of an object as those properties whose
* name does not end with "_".
* @param {string} symbol The symbol to load. This must resolve to an object.
* @return {!Object} An object with the exported API.
* @throws {Error} If the symbol has not been defined or does not resolve to
* an object.
*/
exports.exportPublicApi = function(symbol) {
var src = closureRequire(symbol);
if (typeof src != 'object' || src === null) {
throw Error('"' + symbol + '" must resolve to an object');
}
var dest = {};
Object.keys(src).forEach(function(key) {
if (key[key.length - 1] != '_') {
dest[key] = src[key];
}
});
return dest;
};
if (isDevMode()) {
exports.closure = closure;
}
exports.isDevMode = isDevMode;
exports.require = closureRequire;

@ -0,0 +1,113 @@
// Copyright 2011 Software Freedom Conservancy. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
var base = require('./_base'),
executors = require('./executors');
var goog = base.require('goog'),
AbstractBuilder = base.require('webdriver.AbstractBuilder'),
Browser = base.require('webdriver.Browser'),
Capability = base.require('webdriver.Capability'),
WebDriver = base.require('webdriver.WebDriver'),
promise = base.require('webdriver.promise');
/**
* @param {!webdriver.Capabilities} capabilities The desired capabilities.
* @return {webdriver.WebDriver} A new WebDriver instance or {@code null}
* if the requested browser is not natively supported in Node.
*/
function createNativeDriver(capabilities) {
switch (capabilities.get(Capability.BROWSER_NAME)) {
case Browser.CHROME:
// Requiring 'chrome' above would create a cycle:
// index -> builder -> chrome -> index
var chrome = require('./chrome');
return chrome.createDriver(capabilities);
case Browser.PHANTOM_JS:
// Requiring 'phantomjs' would create a cycle:
// index -> builder -> phantomjs -> index
var phantomjs = require('./phantomjs');
return phantomjs.createDriver(capabilities);
default:
return null;
}
}
/**
* Creates new {@link webdriver.WebDriver WebDriver} instances.
* @constructor
* @extends {webdriver.AbstractBuilder}
*/
var Builder = function() {
goog.base(this);
};
goog.inherits(Builder, AbstractBuilder);
/**
* Sets the proxy configuration to use for WebDriver clients created by this
* builder. Any calls to {@link #withCapabilities} after this function will
* overwrite these settings.
* @param {!proxy.ProxyConfig} config The configuration to use.
* @return {!Builder} A self reference.
*/
Builder.prototype.setProxy = function(config) {
this.getCapabilities().set(Capability.PROXY, config);
return this;
};
/**
* Sets Chrome-specific options for drivers created by this builder.
* @param {!chrome.Options} options The ChromeDriver options to use.
* @return {!Builder} A self reference.
*/
Builder.prototype.setChromeOptions = function(options) {
var newCapabilities = options.toCapabilities(this.getCapabilities());
return /** @type {!Builder} */(this.withCapabilities(newCapabilities));
};
/**
* @override
*/
Builder.prototype.build = function() {
var url = this.getServerUrl();
// If a remote server wasn't specified, check for browsers we support
// natively in node before falling back to using the java Selenium server.
if (!url) {
var driver = createNativeDriver(this.getCapabilities());
if (driver) {
return driver;
}
// Nope, fall-back to using the default java server.
url = AbstractBuilder.DEFAULT_SERVER_URL;
}
var executor = executors.createExecutor(url);
return WebDriver.createSession(executor, this.getCapabilities());
};
// PUBLIC API
exports.Builder = Builder;

@ -0,0 +1,473 @@
// Copyright 2013 Selenium committers
// Copyright 2013 Software Freedom Conservancy
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
'use strict';
var fs = require('fs'),
util = require('util');
var webdriver = require('./index'),
executors = require('./executors'),
io = require('./io'),
portprober = require('./net/portprober'),
remote = require('./remote');
/**
* Name of the ChromeDriver executable.
* @type {string}
* @const
*/
var CHROMEDRIVER_EXE =
process.platform === 'win32' ? 'chromedriver.exe' : 'chromedriver';
/**
* Creates {@link remote.DriverService} instances that manage a ChromeDriver
* server.
* @param {string=} opt_exe Path to the server executable to use. If omitted,
* the builder will attempt to locate the chromedriver on the current
* PATH.
* @throws {Error} If provided executable does not exist, or the chromedriver
* cannot be found on the PATH.
* @constructor
*/
var ServiceBuilder = function(opt_exe) {
/** @private {string} */
this.exe_ = opt_exe || io.findInPath(CHROMEDRIVER_EXE, true);
if (!this.exe_) {
throw Error(
'The ChromeDriver could not be found on the current PATH. Please ' +
'download the latest version of the ChromeDriver from ' +
'http://chromedriver.storage.googleapis.com/index.html and ensure ' +
'it can be found on your PATH.');
}
if (!fs.existsSync(this.exe_)) {
throw Error('File does not exist: ' + this.exe_);
}
/** @private {!Array.<string>} */
this.args_ = [];
this.stdio_ = 'ignore';
};
/** @private {number} */
ServiceBuilder.prototype.port_ = 0;
/** @private {(string|!Array.<string|number|!Stream|null|undefined>)} */
ServiceBuilder.prototype.stdio_ = 'ignore';
/** @private {Object.<string, string>} */
ServiceBuilder.prototype.env_ = null;
/**
* Sets the port to start the ChromeDriver on.
* @param {number} port The port to use, or 0 for any free port.
* @return {!ServiceBuilder} A self reference.
* @throws {Error} If the port is invalid.
*/
ServiceBuilder.prototype.usingPort = function(port) {
if (port < 0) {
throw Error('port must be >= 0: ' + port);
}
this.port_ = port;
return this;
};
/**
* Sets the path of the log file the driver should log to. If a log file is
* not specified, the driver will log to stderr.
* @param {string} path Path of the log file to use.
* @return {!ServiceBuilder} A self reference.
*/
ServiceBuilder.prototype.loggingTo = function(path) {
this.args_.push('--log-path=' + path);
return this;
};
/**
* Enables verbose logging.
* @return {!ServiceBuilder} A self reference.
*/
ServiceBuilder.prototype.enableVerboseLogging = function() {
this.args_.push('--verbose');
return this;
};
/**
* Sets the number of threads the driver should use to manage HTTP requests.
* By default, the driver will use 4 threads.
* @param {number} n The number of threads to use.
* @return {!ServiceBuilder} A self reference.
*/
ServiceBuilder.prototype.setNumHttpThreads = function(n) {
this.args_.push('--http-threads=' + n);
return this;
};
/**
* Sets the base path for WebDriver REST commands (e.g. "/wd/hub").
* By default, the driver will accept commands relative to "/".
* @param {string} path The base path to use.
* @return {!ServiceBuilder} A self reference.
*/
ServiceBuilder.prototype.setUrlBasePath = function(path) {
this.args_.push('--url-base=' + path);
return this;
};
/**
* Defines the stdio configuration for the driver service. See
* {@code child_process.spawn} for more information.
* @param {(string|!Array.<string|number|!Stream|null|undefined>)} config The
* configuration to use.
* @return {!ServiceBuilder} A self reference.
*/
ServiceBuilder.prototype.setStdio = function(config) {
this.stdio_ = config;
return this;
};
/**
* Defines the environment to start the server under. This settings will be
* inherited by every browser session started by the server.
* @param {!Object.<string, string>} env The environment to use.
* @return {!ServiceBuilder} A self reference.
*/
ServiceBuilder.prototype.withEnvironment = function(env) {
this.env_ = env;
return this;
};
/**
* Creates a new DriverService using this instance's current configuration.
* @return {remote.DriverService} A new driver service using this instance's
* current configuration.
* @throws {Error} If the driver exectuable was not specified and a default
* could not be found on the current PATH.
*/
ServiceBuilder.prototype.build = function() {
var port = this.port_ || portprober.findFreePort();
var args = this.args_.concat(); // Defensive copy.
return new remote.DriverService(this.exe_, {
loopback: true,
port: port,
args: webdriver.promise.when(port, function(port) {
return args.concat('--port=' + port);
}),
env: this.env_,
stdio: this.stdio_
});
};
/** @type {remote.DriverService} */
var defaultService = null;
/**
* Sets the default service to use for new ChromeDriver instances.
* @param {!remote.DriverService} service The service to use.
* @throws {Error} If the default service is currently running.
*/
function setDefaultService(service) {
if (defaultService && defaultService.isRunning()) {
throw Error(
'The previously configured ChromeDriver service is still running. ' +
'You must shut it down before you may adjust its configuration.');
}
defaultService = service;
}
/**
* Returns the default ChromeDriver service. If such a service has not been
* configured, one will be constructed using the default configuration for
* a ChromeDriver executable found on the system PATH.
* @return {!remote.DriverService} The default ChromeDriver service.
*/
function getDefaultService() {
if (!defaultService) {
defaultService = new ServiceBuilder().build();
}
return defaultService;
}
/**
* @type {string}
* @const
*/
var OPTIONS_CAPABILITY_KEY = 'chromeOptions';
/**
* Class for managing ChromeDriver specific options.
* @constructor
*/
var Options = function() {
/** @private {!Array.<string>} */
this.args_ = [];
/** @private {!Array.<(string|!Buffer)>} */
this.extensions_ = [];
};
/**
* Extracts the ChromeDriver specific options from the given capabilities
* object.
* @param {!webdriver.Capabilities} capabilities The capabilities object.
* @return {!Options} The ChromeDriver options.
*/
Options.fromCapabilities = function(capabilities) {
var options = new Options();
var o = capabilities.get(OPTIONS_CAPABILITY_KEY);
if (o instanceof Options) {
options = o;
} else if (o) {
options.
addArguments(o.args || []).
addExtensions(o.extensions || []).
detachDriver(!!o.detach).
setChromeBinaryPath(o.binary).
setChromeLogFile(o.logFile).
setLocalState(o.localState).
setUserPreferences(o.prefs);
}
if (capabilities.has(webdriver.Capability.PROXY)) {
options.setProxy(capabilities.get(webdriver.Capability.PROXY));
}
if (capabilities.has(webdriver.Capability.LOGGING_PREFS)) {
options.setLoggingPreferences(
capabilities.get(webdriver.Capability.LOGGING_PREFS));
}
return options;
};
/**
* Add additional command line arguments to use when launching the Chrome
* browser. Each argument may be specified with or without the "--" prefix
* (e.g. "--foo" and "foo"). Arguments with an associated value should be
* delimited by an "=": "foo=bar".
* @param {...(string|!Array.<string>)} var_args The arguments to add.
* @return {!Options} A self reference.
*/
Options.prototype.addArguments = function(var_args) {
this.args_ = this.args_.concat.apply(this.args_, arguments);
return this;
};
/**
* Add additional extensions to install when launching Chrome. Each extension
* should be specified as the path to the packed CRX file, or a Buffer for an
* extension.
* @param {...(string|!Buffer|!Array.<(string|!Buffer)>)} var_args The
* extensions to add.
* @return {!Options} A self reference.
*/
Options.prototype.addExtensions = function(var_args) {
this.extensions_ = this.extensions_.concat.apply(
this.extensions_, arguments);
return this;
};
/**
* Sets the path to the Chrome binary to use. On Mac OS X, this path should
* reference the actual Chrome executable, not just the application binary
* (e.g. "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome").
*
* The binary path be absolute or relative to the chromedriver server
* executable, but it must exist on the machine that will launch Chrome.
*
* @param {string} path The path to the Chrome binary to use.
* @return {!Options} A self reference.
*/
Options.prototype.setChromeBinaryPath = function(path) {
this.binary_ = path;
return this;
};
/**
* Sets whether to leave the started Chrome browser running if the controlling
* ChromeDriver service is killed before {@link webdriver.WebDriver#quit()} is
* called.
* @param {boolean} detach Whether to leave the browser running if the
* chromedriver service is killed before the session.
* @return {!Options} A self reference.
*/
Options.prototype.detachDriver = function(detach) {
this.detach_ = detach;
return this;
};
/**
* Sets the user preferences for Chrome's user profile. See the "Preferences"
* file in Chrome's user data directory for examples.
* @param {!Object} prefs Dictionary of user preferences to use.
* @return {!Options} A self reference.
*/
Options.prototype.setUserPreferences = function(prefs) {
this.prefs_ = prefs;
return this;
};
/**
* Sets the logging preferences for the new session.
* @param {!webdriver.logging.Preferences} prefs The logging preferences.
* @return {!Options} A self reference.
*/
Options.prototype.setLoggingPreferences = function(prefs) {
this.logPrefs_ = prefs;
return this;
};
/**
* Sets preferences for the "Local State" file in Chrome's user data
* directory.
* @param {!Object} state Dictionary of local state preferences.
* @return {!Options} A self reference.
*/
Options.prototype.setLocalState = function(state) {
this.localState_ = state;
return this;
};
/**
* Sets the path to Chrome's log file. This path should exist on the machine
* that will launch Chrome.
* @param {string} path Path to the log file to use.
* @return {!Options} A self reference.
*/
Options.prototype.setChromeLogFile = function(path) {
this.logFile_ = path;
return this;
};
/**
* Sets the proxy settings for the new session.
* @param {ProxyConfig} proxy The proxy configuration to use.
* @return {!Options} A self reference.
*/
Options.prototype.setProxy = function(proxy) {
this.proxy_ = proxy;
return this;
};
/**
* Converts this options instance to a {@link webdriver.Capabilities} object.
* @param {webdriver.Capabilities=} opt_capabilities The capabilities to merge
* these options into, if any.
* @return {!webdriver.Capabilities} The capabilities.
*/
Options.prototype.toCapabilities = function(opt_capabilities) {
var capabilities = opt_capabilities || webdriver.Capabilities.chrome();
capabilities.
set(webdriver.Capability.PROXY, this.proxy_).
set(webdriver.Capability.LOGGING_PREFS, this.logPrefs_).
set(OPTIONS_CAPABILITY_KEY, this);
return capabilities;
};
/**
* Converts this instance to its JSON wire protocol representation. Note this
* function is an implementation not intended for general use.
* @return {{args: !Array.<string>,
* binary: (string|undefined),
* detach: boolean,
* extensions: !Array.<string>,
* localState: (Object|undefined),
* logFile: (string|undefined),
* prefs: (Object|undefined)}} The JSON wire protocol representation
* of this instance.
*/
Options.prototype.toJSON = function() {
return {
args: this.args_,
binary: this.binary_,
detach: !!this.detach_,
extensions: this.extensions_.map(function(extension) {
if (Buffer.isBuffer(extension)) {
return extension.toString('base64');
}
return fs.readFileSync(extension, 'base64');
}),
localState: this.localState_,
logFile: this.logFile_,
prefs: this.prefs_
};
};
/**
* Creates a new ChromeDriver session.
* @param {(webdriver.Capabilities|Options)=} opt_options The session options.
* @param {remote.DriverService=} opt_service The session to use; will use
* the {@link getDefaultService default service} by default.
* @return {!webdriver.WebDriver} A new WebDriver instance.
*/
function createDriver(opt_options, opt_service) {
var service = opt_service || getDefaultService();
var executor = executors.createExecutor(service.start());
var options = opt_options || new Options();
if (opt_options instanceof webdriver.Capabilities) {
// Extract the Chrome-specific options so we do not send unnecessary
// data across the wire.
options = Options.fromCapabilities(options);
}
return webdriver.WebDriver.createSession(
executor, options.toCapabilities());
}
// PUBLIC API
exports.ServiceBuilder = ServiceBuilder;
exports.Options = Options;
exports.createDriver = createDriver;
exports.getDefaultService = getDefaultService;
exports.setDefaultService = setDefaultService;

@ -0,0 +1,6 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>bot.Error</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class bot.Error</h1><a class="source" href="source/lib/atoms/error.js.src.html#l77">code &raquo;</a><pre><code><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a>
&#x2514; bot.Error</code></pre></header><section><p>Error extension that includes error status codes from the WebDriver wire
protocol:
http://code.google.com/p/selenium/wiki/JsonWireProtocol#Response_Status_Codes<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">bot.Error <span class="args">( code, opt_message )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>code: <code class="type">!<a href="enum_bot_ErrorCode.html">bot.ErrorCode</a></code><dd>The error's status code.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>Optional error message.</dl></table></div></div></div></section><section><h2>Enumerations</h2><div class="type-summary"><table><tbody><tr><td><dl><dt><a href="enum_bot_Error_State.html">bot.Error.State</a><dd>Status strings enumerated in the W3C WebDriver working draft.</dl></table></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">bot.Error</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/atoms/error.js.src.html#l202">code &raquo;</a><span class="member"><a name="toString">toString</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>he string representation of this error.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">bot.Error</code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/atoms/error.js.src.html#l197">code &raquo;</a><span class="member"><a name="isAutomationError">isAutomationError</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Flag used for duck-typing when this code is embedded in a Firefox extension.
This is required since an Error thrown in one component and then reported
to another will fail instanceof checks in the second component.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/atoms/error.js.src.html#l86">code &raquo;</a><span class="member"><a name="state">state</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/atoms/error.js.src.html#l156">code &raquo;</a><span class="member"><a name="bot.Error.CODE_TO_STATE_">bot.Error.CODE_TO_STATE_</a> : <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>.&lt;<a href="enum_bot_ErrorCode.html">bot.ErrorCode</a>, <a href="enum_bot_Error_State.html">bot.Error.State</a>&gt;</code></span></div><p>A map of error codes to state string.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/atoms/error.js.src.html#l77">code &raquo;</a><span class="member"><a name="bot.Error.superClass_">bot.Error.superClass_</a> : <code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

File diff suppressed because one or more lines are too long

@ -0,0 +1,34 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.Uri.QueryData</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.Uri.QueryData</h1><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1026">code &raquo;</a></header><section><p>Class used to represent URI query parameters. It is essentially a hash of
name-value pairs, though a name can be present more than once.
Has the same interface as the collections in goog.structs.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.Uri.QueryData <span class="args">( opt_query, opt_uri, opt_ignoreCase )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_query: <code class="type">?<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>Optional encoded query string to parse into
the object.<dt>opt_uri: <code class="type"><a href="class_goog_Uri.html">goog.Uri</a>=</code><dd>Optional uri object that should have its
cache invalidated when this object updates. Deprecated -- this
is no longer required.<dt>opt_ignoreCase: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>=</code><dd>If true, ignore the case of the parameter
name in #get.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1170">code &raquo;</a><span class="member"><a name="add">add</a> <span class="args">( key, value )</span> &rArr; <code class="type">!<a href="class_goog_Uri_QueryData.html">goog.Uri.QueryData</a></code></span></div><p>Adds a key value pair.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>Name.<dt>value: <code class="type">*</code><dd>Value.</dl><tr><th>Returns<tr><td><dl>Instance of this object.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1208">code &raquo;</a><span class="member"><a name="clear">clear</a> <span class="args">( )</span></span></div><p>Clears the parameters.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1434">code &raquo;</a><span class="member"><a name="clone">clone</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_goog_Uri_QueryData.html">goog.Uri.QueryData</a></code></span></div><p>Clone the query data instance.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>New instance of the QueryData object.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1229">code &raquo;</a><span class="member"><a name="containsKey">containsKey</a> <span class="args">( key )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Whether there is a parameter with the given name</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The parameter name to check for.</dl><tr><th>Returns<tr><td><dl>Whether there is a parameter with the given name.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1241">code &raquo;</a><span class="member"><a name="containsValue">containsValue</a> <span class="args">( value )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Whether there is a parameter with the given value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type">*</code><dd>The value to check for.</dl><tr><th>Returns<tr><td><dl>Whether there is a parameter with the given value.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1048">code &raquo;</a><span class="member"><a name="ensureKeyMapInitialized_">ensureKeyMapInitialized_</a> <span class="args">( )</span></span></div><p>If the underlying key map is not yet initialized, it parses the
query string and fills the map with parsed data.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1492">code &raquo;</a><span class="member"><a name="extend">extend</a> <span class="args">( var_args )</span></span></div><p>Extends a query data object with another query data or map like object. This
operates 'in-place', it does not create a new QueryData object.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>var_args: <code class="type">...(<a href="class_goog_Uri_QueryData.html">goog.Uri.QueryData</a>|<a href="class_goog_structs_Map.html">goog.structs.Map</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</code><dd>The object
from which key value pairs will be copied.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1418">code &raquo;</a><span class="member"><a name="filterKeys">filterKeys</a> <span class="args">( keys )</span> &rArr; <code class="type">!<a href="class_goog_Uri_QueryData.html">goog.Uri.QueryData</a></code></span></div><p>Removes all keys that are not in the provided list. (Modifies this object.)</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>keys: <code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code><dd>The desired keys.</dl><tr><th>Returns<tr><td><dl>a reference to this object.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1331">code &raquo;</a><span class="member"><a name="get">get</a> <span class="args">( key, opt_default )</span> &rArr; <code class="type">*</code></span></div><p>Returns the first value associated with the key. If the query data has no
such key this will return undefined or the optional default.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The name of the parameter to get the value for.<dt>opt_default: <code class="type">*=</code><dd>The default value to return if the query data
has no such key.</dl><tr><th>Returns<tr><td><dl>The first string value associated with the key, or opt_default
if there's no value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1158">code &raquo;</a><span class="member"><a name="getCount">getCount</a> <span class="args">( )</span> &rArr; <code class="type">?<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The number of parameters.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1452">code &raquo;</a><span class="member"><a name="getKeyName_">getKeyName_</a> <span class="args">( arg )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>Helper function to get the key name from a JavaScript object. Converts
the object to a string, and to lower case if necessary.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>arg: <code class="type">*</code><dd>The object to get a key name from.</dl><tr><th>Returns<tr><td><dl>valid key name which can be looked up in #keyMap_.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1255">code &raquo;</a><span class="member"><a name="getKeys">getKeys</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Returns all the keys of the parameters. If a key is used multiple times
it will be included multiple times in the returned array</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>All the keys of the parameters.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1278">code &raquo;</a><span class="member"><a name="getValues">getValues</a> <span class="args">( opt_key )</span> &rArr; <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code></span></div><p>Returns all the values of the parameters with the given name. If the query
data has no such key this will return an empty array. If no key is given
all values wil be returned.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_key: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>The name of the parameter to get the values for.</dl><tr><th>Returns<tr><td><dl>All the values of the parameters with the given name.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1408">code &raquo;</a><span class="member"><a name="invalidateCache_">invalidateCache_</a> <span class="args">( )</span></span></div><p>Invalidate the cache.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1218">code &raquo;</a><span class="member"><a name="isEmpty">isEmpty</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether we have any parameters.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1190">code &raquo;</a><span class="member"><a name="remove">remove</a> <span class="args">( key )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Removes all the params with the given key.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>Name.</dl><tr><th>Returns<tr><td><dl>Whether any parameter was removed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1303">code &raquo;</a><span class="member"><a name="set">set</a> <span class="args">( key, value )</span> &rArr; <code class="type">!<a href="class_goog_Uri_QueryData.html">goog.Uri.QueryData</a></code></span></div><p>Sets a key value pair and removes all other keys with the same value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>Name.<dt>value: <code class="type">*</code><dd>Value.</dl><tr><th>Returns<tr><td><dl>Instance of this object.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1467">code &raquo;</a><span class="member"><a name="setIgnoreCase">setIgnoreCase</a> <span class="args">( ignoreCase )</span></span></div><p>Ignore case in parameter names.
NOTE: If there are already key/value pairs in the QueryData, and
ignoreCase_ is set to false, the keys will all be lower-cased.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>ignoreCase: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code><dd>whether this goog.Uri should ignore case.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1347">code &raquo;</a><span class="member"><a name="setValues">setValues</a> <span class="args">( key, values )</span></span></div><p>Sets the values for a key. If the key already exists, this will
override all of the existing values that correspond to the key.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The key to set values for.<dt>values: <code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code><dd>The values to set.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1399">code &raquo;</a><span class="member"><a name="toDecodedString">toDecodedString</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Decoded query string.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1362">code &raquo;</a><span class="member"><a name="toString">toString</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Encoded query string.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1152">code &raquo;</a><span class="member"><a name="count_">count_</a> : <code class="type">?<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div><p>The number of params, or null if it requires computing.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1032">code &raquo;</a><span class="member"><a name="encodedQuery_">encodedQuery_</a> : <code class="type">?<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>Encoded query string, or null if it requires computing from the key map.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1039">code &raquo;</a><span class="member"><a name="ignoreCase_">ignoreCase_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>If true, ignore the case of the parameter name in #get.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1144">code &raquo;</a><span class="member"><a name="keyMap_">keyMap_</a> : <code class="type"><a href="class_goog_structs_Map.html">goog.structs.Map</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>, <a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>&gt;</code></span></div><p>The map containing name/value or name/array-of-values pairs.
May be null if it requires parsing from the query string.
We need to use a Map because we cannot guarantee that the key names will
not be problematic for IE.</summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1121">code &raquo;</a><span class="member"><a name="goog.Uri.QueryData.createFromKeysValues">goog.Uri.QueryData.createFromKeysValues</a> <span class="args">( keys, values, opt_uri, opt_ignoreCase )</span> &rArr; <code class="type">!<a href="class_goog_Uri_QueryData.html">goog.Uri.QueryData</a></code></span></div><p>Creates a new query data instance from parallel arrays of parameter names
and values. Allows for duplicate parameter names. Throws an error if the
lengths of the arrays differ.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>keys: <code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code><dd>Parameter names.<dt>values: <code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code><dd>Parameter values.<dt>opt_uri: <code class="type"><a href="class_goog_Uri.html">goog.Uri</a>=</code><dd>URI object that should have its cache
invalidated when this object updates.<dt>opt_ignoreCase: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>=</code><dd>If true, ignore the case of the parameter
name in #get.</dl><tr><th>Returns<tr><td><dl>The populated query data instance.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/uri/uri.js.src.html#l1087">code &raquo;</a><span class="member"><a name="goog.Uri.QueryData.createFromMap">goog.Uri.QueryData.createFromMap</a> <span class="args">( map, opt_uri, opt_ignoreCase )</span> &rArr; <code class="type">!<a href="class_goog_Uri_QueryData.html">goog.Uri.QueryData</a></code></span></div><p>Creates a new query data instance from a map of names and values.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>map: <code class="type">(!<a href="class_goog_structs_Map.html">goog.structs.Map</a>|!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</code><dd>Map of string parameter
names to parameter value. If parameter value is an array, it is
treated as if the key maps to each individual value in the
array.<dt>opt_uri: <code class="type"><a href="class_goog_Uri.html">goog.Uri</a>=</code><dd>URI object that should have its cache
invalidated when this object updates.<dt>opt_ignoreCase: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>=</code><dd>If true, ignore the case of the parameter
name in #get.</dl><tr><th>Returns<tr><td><dl>The populated query data instance.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,4 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.asserts.AssertionError</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.asserts.AssertionError</h1><a class="source" href="source/lib/goog/asserts/asserts.js.src.html#l59">code &raquo;</a><pre><code><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a>
&#x2514; <a href="class_goog_debug_Error.html">goog.debug.Error</a>
&#x2514; goog.asserts.AssertionError</code></pre></header><section><p>Error object for failed assertions.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.asserts.AssertionError <span class="args">( messagePattern, messageArgs )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>messagePattern: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The pattern that was used to form message.<dt>messageArgs: <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code><dd>The items to substitute into the pattern.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">goog.asserts.AssertionError</code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/goog/asserts/asserts.js.src.html#l71">code &raquo;</a><span class="member"><a name="messagePattern">messagePattern</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>The message pattern used to format the error message. Error handlers can
use this to uniquely identify the assertion.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/goog/asserts/asserts.js.src.html#l59">code &raquo;</a><span class="member"><a name="goog.asserts.AssertionError.superClass_">goog.asserts.AssertionError.superClass_</a> : <code class="type"><a href="class_goog_debug_Error.html">goog.debug.Error.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,2 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.debug.Error</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.debug.Error</h1><a class="source" href="source/lib/goog/debug/error.js.src.html#l34">code &raquo;</a><pre><code><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a>
&#x2514; goog.debug.Error</code></pre></header><section><p>Base class for custom error objects.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.debug.Error <span class="args">( opt_msg )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_msg: <code class="type">*=</code><dd>The message associated with the error.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/goog/debug/error.js.src.html#l34">code &raquo;</a><span class="member"><a name="goog.debug.Error.superClass_">goog.debug.Error.superClass_</a> : <code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,12 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.iter.GroupByIterator_</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.iter.GroupByIterator_.<code class="type">&lt;KEY, VALUE&gt;</code></h1><a class="source" href="source/lib/goog/iter/iter.js.src.html#l910">code &raquo;</a><pre><code>goog.iter.Iterator.&lt;Array&gt;
&#x2514; goog.iter.GroupByIterator_</code></pre></header><section><p>Implements the <code >goog.iter.groupBy</code> iterator.<h2>Constructor</h2><div class="ctor wrap-details private"><div><div class="ctor"><span class="member">goog.iter.GroupByIterator_ <span class="args">( iterable, opt_keyFunc )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>iterable: <code class="type">(!<a href="class_goog_iter_Iterator.html">goog.iter.Iterator</a>.&lt;VALUE&gt;|!<a href="namespace_goog_iter.html#goog.iter.Iterable">goog.iter.Iterable</a>)</code><dd>The
iterable to group.<dt>opt_keyFunc: <code class="type">function(VALUE): KEY=</code><dd>Optional function for
determining the key value for each group in the <code >iterable</code>. Default
is the identity function.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">goog.iter.GroupByIterator_</code></h3><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/iter/iter.js.src.html#l964">code &raquo;</a><span class="member"><a name="groupItems_">groupItems_</a> <span class="args">( targetKey )</span> &rArr; <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>.&lt;VALUE&gt;</code></span></div><p>Performs the grouping of objects using the given key.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>targetKey: <code class="type">KEY</code><dd>The target key object for the group.</dl><tr><th>Returns<tr><td><dl>An array of grouped objects.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/iter/iter.js.src.html#l924">code &raquo;</a><span class="member"><a name="keyFunc">keyFunc</a> <span class="args">( )</span> &rArr; <code class="type">KEY</code></span></div><p>A function for determining the key value for each element in the iterable.
If no function is provided, the identity function is used and returns the
element unchanged.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/iter/iter.js.src.html#l948">code &raquo;</a><span class="member"><a name="next">next</a> <span class="args">( )</span> &rArr; <code class="type">Array</code></span></div></summary></details></div></div><h3>Defined in <code class="type"><a href="class_goog_iter_Iterator.html#goog.iter.Iterator.&lt;Array&gt;">goog.iter.Iterator.&lt;Array&gt;</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/iter/iter.js.src.html#l88">code &raquo;</a><span class="member"><a name="__iterator__">__iterator__</a> <span class="args">( opt_keys )</span> &rArr; <code class="type">!<a href="class_goog_iter_Iterator.html">goog.iter.Iterator</a>.&lt;VALUE&gt;</code></span></div><p>Returns the <code >Iterator</code> object itself. This is used to implement
the iterator protocol in JavaScript 1.7</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_keys: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>=</code><dd>Whether to return the keys or values. Default is
to only return the values. This is being used by the for-in loop (true)
and the for-each-in loop (false). Even though the param gives a hint
about what the iterator will return there is no guarantee that it will
return the keys when true is passed.</dl><tr><th>Returns<tr><td><dl>The object itself.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">goog.iter.GroupByIterator_</code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/goog/iter/iter.js.src.html#l936">code &raquo;</a><span class="member"><a name="currentKey">currentKey</a> : <code class="type">KEY</code></span></div><p>The current key visited during iteration.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/goog/iter/iter.js.src.html#l942">code &raquo;</a><span class="member"><a name="currentValue">currentValue</a> : <code class="type">VALUE</code></span></div><p>The current value being added to the group.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/goog/iter/iter.js.src.html#l916">code &raquo;</a><span class="member"><a name="iterator">iterator</a> : <code class="type">!<a href="class_goog_iter_Iterator.html">goog.iter.Iterator</a></code></span></div><p>The iterable to group, coerced to an iterator.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/goog/iter/iter.js.src.html#l930">code &raquo;</a><span class="member"><a name="targetKey">targetKey</a> : <code class="type">KEY</code></span></div><p>The target key for determining the start of a group.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/goog/iter/iter.js.src.html#l910">code &raquo;</a><span class="member"><a name="goog.iter.GroupByIterator_.superClass_">goog.iter.GroupByIterator_.superClass_</a> : <code class="type"><a href="class_goog_iter_Iterator.html">goog.iter.Iterator.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,11 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.iter.Iterator</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.iter.Iterator.<code class="type">&lt;VALUE&gt;</code></h1><a class="source" href="source/lib/goog/iter/iter.js.src.html#l65">code &raquo;</a></header><section><p>Class/interface for iterators. An iterator needs to implement a <code >next</code>
method and it needs to throw a <code >goog.iter.StopIteration</code> when the
iteration passes beyond the end. Iterators have no <code >hasNext</code> method.
It is recommended to always use the helper functions to iterate over the
iterator or in case you are only targeting JavaScript 1.7 for in loops.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.iter.Iterator <span class="args">( )</span></span></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/iter/iter.js.src.html#l88">code &raquo;</a><span class="member"><a name="__iterator__">__iterator__</a> <span class="args">( opt_keys )</span> &rArr; <code class="type">!<a href="class_goog_iter_Iterator.html">goog.iter.Iterator</a>.&lt;VALUE&gt;</code></span></div><p>Returns the <code >Iterator</code> object itself. This is used to implement
the iterator protocol in JavaScript 1.7</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_keys: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>=</code><dd>Whether to return the keys or values. Default is
to only return the values. This is being used by the for-in loop (true)
and the for-each-in loop (false). Even though the param gives a hint
about what the iterator will return there is no guarantee that it will
return the keys when true is passed.</dl><tr><th>Returns<tr><td><dl>The object itself.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/iter/iter.js.src.html#l73">code &raquo;</a><span class="member"><a name="next">next</a> <span class="args">( )</span> &rArr; <code class="type">VALUE</code></span></div><p>Returns the next value of the iteration. This will throw the object
goog.iter#StopIteration when the iteration passes the end.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Any object or value.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

File diff suppressed because one or more lines are too long

@ -0,0 +1,2 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.AllOfMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.AllOfMatcher</h1><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l41">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The AllOf matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.AllOfMatcher <span class="args">( matchers )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>matchers: <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code><dd>Input matchers.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l68">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div><p>Describes why the matcher failed. The returned string is a concatenation of
all the failed matchers' error strings.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l55">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if all of the matchers match the input value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l46">code &raquo;</a><span class="member"><a name="matchers_">matchers_</a> : <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.AnyOfMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.AnyOfMatcher</h1><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l92">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The AnyOf matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.AnyOfMatcher <span class="args">( matchers )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>matchers: <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code><dd>Input matchers.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l118">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div><p>Describes why the matcher failed.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l106">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if any of the matchers matches the input value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l97">code &raquo;</a><span class="member"><a name="matchers_">matchers_</a> : <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.CloseToMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.CloseToMatcher</h1><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l252">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The CloseTo matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.CloseToMatcher <span class="args">( value, range )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The value to compare.<dt>range: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The range to check within.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l280">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l271">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input value is within a certain range of the expected value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l262">code &raquo;</a><span class="member"><a name="range_">range_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l257">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.ContainsStringMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.ContainsStringMatcher</h1><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l47">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The ContainsString matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.ContainsStringMatcher <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The expected string.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l71">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l61">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input string contains the expected string.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l52">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.EndsWithMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.EndsWithMatcher</h1><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l88">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The EndsWith matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.EndsWithMatcher <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The expected string.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l111">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l102">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input string ends with the expected string.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l93">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.EqualToIgnoringWhitespaceMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.EqualToIgnoringWhitespaceMatcher</h1><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l128">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The EqualToIgnoringWhitespace matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.EqualToIgnoringWhitespaceMatcher <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The expected string.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l154">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l142">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input string contains the expected string.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l133">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.EqualToMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.EqualToMatcher</h1><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l210">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The EqualTo matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.EqualToMatcher <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The value to compare.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l233">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l224">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if the input value is equal to the expected value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l215">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.EqualsMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.EqualsMatcher</h1><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l171">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The Equals matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.EqualsMatcher <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The expected string.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l194">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l185">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input string is equal to the expected string.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l176">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.GreaterThanEqualToMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.GreaterThanEqualToMatcher</h1><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l126">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The GreaterThanEqualTo matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.GreaterThanEqualToMatcher <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The value to compare.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l150">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l140">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if the input value is greater than equal to the expected value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l131">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.GreaterThanMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.GreaterThanMatcher</h1><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l44">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The GreaterThan matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.GreaterThanMatcher <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The value to compare.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l67">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l58">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input value is greater than the expected value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l49">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.HasPropertyMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.HasPropertyMatcher</h1><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l85">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The HasProperty matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.HasPropertyMatcher <span class="args">( property )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>property: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>Name of the property to test.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l108">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualObject )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualObject</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l99">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualObject )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if an object has a property.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualObject</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l90">code &raquo;</a><span class="member"><a name="property_">property_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.InstanceOfMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.InstanceOfMatcher</h1><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l125">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The InstanceOf matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.InstanceOfMatcher <span class="args">( object )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>object: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code><dd>The expected class object.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l148">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualObject )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualObject</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l139">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualObject )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if an object is an instance of another object.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualObject</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l130">code &raquo;</a><span class="member"><a name="object_">object_</a> : <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.IsNotMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.IsNotMatcher</h1><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l142">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The IsNot matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.IsNotMatcher <span class="args">( matcher )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>matcher: <code class="type">!<a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code><dd>The matcher to negate.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l166">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div><p>Describes why the matcher failed.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l156">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if the input value doesn't satisfy a matcher.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/logicmatcher.js.src.html#l147">code &raquo;</a><span class="member"><a name="matcher_">matcher_</a> : <code class="type">!<a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.IsNullMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.IsNullMatcher</h1><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l195">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The IsNull matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.IsNullMatcher <span class="args">( )</span></span></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l212">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l203">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input value is null.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.IsNullOrUndefinedMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.IsNullOrUndefinedMatcher</h1><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l163">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The IsNullOrUndefined matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.IsNullOrUndefinedMatcher <span class="args">( )</span></span></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l180">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l171">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input value is null or undefined.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.IsUndefinedMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.IsUndefinedMatcher</h1><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l227">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The IsUndefined matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.IsUndefinedMatcher <span class="args">( )</span></span></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l244">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l235">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input value is undefined.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.LessThanEqualToMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.LessThanEqualToMatcher</h1><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l168">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The LessThanEqualTo matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.LessThanEqualToMatcher <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The value to compare.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l192">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l182">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if the input value is less than or equal to the expected value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l173">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.LessThanMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.LessThanMatcher</h1><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l85">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The lessThan matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.LessThanMatcher <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The value to compare.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l108">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l99">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if the input value is less than the expected value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/numbermatcher.js.src.html#l90">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,3 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.MatcherError</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.MatcherError</h1><a class="source" href="source/lib/goog/labs/testing/assertthat.js.src.html#l57">code &raquo;</a><pre><code><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a>
&#x2514; <a href="class_goog_debug_Error.html">goog.debug.Error</a>
&#x2514; goog.labs.testing.MatcherError</code></pre></header><section><p>Error thrown when a Matcher fails to match the input value.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.MatcherError <span class="args">( opt_message )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>The error message.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/assertthat.js.src.html#l57">code &raquo;</a><span class="member"><a name="goog.labs.testing.MatcherError.superClass_">goog.labs.testing.MatcherError.superClass_</a> : <code class="type"><a href="class_goog_debug_Error.html">goog.debug.Error.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.ObjectEqualsMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.ObjectEqualsMatcher</h1><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l45">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The Equals matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.ObjectEqualsMatcher <span class="args">( expectedObject )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>expectedObject: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code><dd>The expected object.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l68">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualObject )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualObject</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l59">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualObject )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if two objects are the same.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualObject</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/objectmatcher.js.src.html#l50">code &raquo;</a><span class="member"><a name="object_">object_</a> : <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.RegexMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.RegexMatcher</h1><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l211">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The MatchesRegex matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.RegexMatcher <span class="args">( regex )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>regex: <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp">RegExp</a></code><dd>The expected regex.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l235">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l225">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input string is equal to the expected string.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l216">code &raquo;</a><span class="member"><a name="regex_">regex_</a> : <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp">RegExp</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.StartsWithMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.StartsWithMatcher</h1><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l252">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The StartsWith matcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.StartsWithMatcher <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The expected string.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l275">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l266">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input string starts with the expected string.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l257">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.labs.testing.StringContainsInOrderMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.labs.testing.StringContainsInOrderMatcher</h1><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l292">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>The StringContainsInOrdermatcher.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.labs.testing.StringContainsInOrderMatcher <span class="args">( values )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>values: <code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code><dd>The expected string values.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l324">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l306">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div><p>Determines if input string contains, in order, the expected array of strings.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/labs/testing/stringmatcher.js.src.html#l297">code &raquo;</a><span class="member"><a name="values_">values_</a> : <code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,4 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.net.DefaultXmlHttpFactory</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.net.DefaultXmlHttpFactory</h1><a class="source" href="source/lib/goog/net/xmlhttp.js.src.html#l164">code &raquo;</a><pre><code><a href="class_goog_net_XmlHttpFactory.html">goog.net.XmlHttpFactory</a>
&#x2514; goog.net.DefaultXmlHttpFactory</code></pre></header><section><p>Default factory to use when creating xhr objects. You probably shouldn't be
instantiating this directly, but rather using it via goog.net.XmlHttp.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.net.DefaultXmlHttpFactory <span class="args">( )</span></span></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">goog.net.DefaultXmlHttpFactory</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/xmlhttp.js.src.html#l171">code &raquo;</a><span class="member"><a name="createInstance">createInstance</a> <span class="args">( )</span> &rArr; <code class="type">(XMLHttpRequest|goog.net.XhrLike)</code></span></div></summary></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/xmlhttp.js.src.html#l206">code &raquo;</a><span class="member"><a name="getProgId_">getProgId_</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>Initialize the private state used by other functions.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The ActiveX PROG ID string to use to create xhr's in IE.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/xmlhttp.js.src.html#l182">code &raquo;</a><span class="member"><a name="internalGetOptions">internalGetOptions</a> <span class="args">( )</span> &rArr; <code class="type">(Object|null)</code></span></div></summary></details></div></div><h3>Defined in <code class="type"><a href="class_goog_net_XmlHttpFactory.html">goog.net.XmlHttpFactory</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/xmlhttpfactory.js.src.html#l54">code &raquo;</a><span class="member"><a name="getOptions">getOptions</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Options describing how xhr objects obtained from this
factory should be used.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">goog.net.DefaultXmlHttpFactory</code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/net/xmlhttp.js.src.html#l198">code &raquo;</a><span class="member"><a name="ieProgId_">ieProgId_</a> : <code class="type">(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined">undefined</a>)</code></span></div><p>The ActiveX PROG ID string to use to create xhr's in IE. Lazily initialized.</summary></details></div></div><h3>Defined in <code class="type"><a href="class_goog_net_XmlHttpFactory.html">goog.net.XmlHttpFactory</a></code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/net/xmlhttpfactory.js.src.html#l41">code &raquo;</a><span class="member"><a name="cachedOptions_">cachedOptions_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div><p>Cache of options - we only actually call internalGetOptions once.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/goog/net/xmlhttp.js.src.html#l164">code &raquo;</a><span class="member"><a name="goog.net.DefaultXmlHttpFactory.superClass_">goog.net.DefaultXmlHttpFactory.superClass_</a> : <code class="type"><a href="class_goog_net_XmlHttpFactory.html">goog.net.XmlHttpFactory.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,7 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.net.WrapperXmlHttpFactory</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.net.WrapperXmlHttpFactory</h1><a class="source" href="source/lib/goog/net/wrapperxmlhttpfactory.js.src.html#l41">code &raquo;</a><pre><code><a href="class_goog_net_XmlHttpFactory.html">goog.net.XmlHttpFactory</a>
&#x2514; goog.net.WrapperXmlHttpFactory</code></pre></header><section><p>An xhr factory subclass which can be constructed using two factory methods.
This exists partly to allow the preservation of goog.net.XmlHttp.setFactory()
with an unchanged signature.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.net.WrapperXmlHttpFactory <span class="args">( xhrFactory, optionsFactory )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>xhrFactory: <code class="type">function(): !<a href="interface_goog_net_XhrLike.html#goog.net.XhrLike.OrNative">goog.net.XhrLike.OrNative</a></code><dd>A function which returns a new XHR object.<dt>optionsFactory: <code class="type">function(): !<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code><dd>A function which returns the
options associated with xhr objects from this factory.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">goog.net.WrapperXmlHttpFactory</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/wrapperxmlhttpfactory.js.src.html#l62">code &raquo;</a><span class="member"><a name="createInstance">createInstance</a> <span class="args">( )</span> &rArr; <code class="type">(XMLHttpRequest|goog.net.XhrLike)</code></span></div></summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/wrapperxmlhttpfactory.js.src.html#l68">code &raquo;</a><span class="member"><a name="getOptions">getOptions</a> <span class="args">( )</span> &rArr; <code class="type">(Object|null)</code></span></div></summary></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/wrapperxmlhttpfactory.js.src.html#l56">code &raquo;</a><span class="member"><a name="optionsFactory_">optionsFactory_</a> <span class="args">( )</span> &rArr; <code class="type">Object</code></span></div><p>Options factory method.</summary></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/wrapperxmlhttpfactory.js.src.html#l49">code &raquo;</a><span class="member"><a name="xhrFactory_">xhrFactory_</a> <span class="args">( )</span> &rArr; <code class="type">(XMLHttpRequest|goog.net.XhrLike)</code></span></div><p>XHR factory method.</summary></details></div></div><h3>Defined in <code class="type"><a href="class_goog_net_XmlHttpFactory.html">goog.net.XmlHttpFactory</a></code></h3><div class="wrap-details protected"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/xmlhttpfactory.js.src.html#l67">code &raquo;</a><span class="member"><a name="internalGetOptions">internalGetOptions</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div><p>Override this method in subclasses to preserve the caching offered by
getOptions().</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Options describing how xhr objects obtained from this
factory should be used.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type"><a href="class_goog_net_XmlHttpFactory.html">goog.net.XmlHttpFactory</a></code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/net/xmlhttpfactory.js.src.html#l41">code &raquo;</a><span class="member"><a name="cachedOptions_">cachedOptions_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div><p>Cache of options - we only actually call internalGetOptions once.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/goog/net/wrapperxmlhttpfactory.js.src.html#l41">code &raquo;</a><span class="member"><a name="goog.net.WrapperXmlHttpFactory.superClass_">goog.net.WrapperXmlHttpFactory.superClass_</a> : <code class="type"><a href="class_goog_net_XmlHttpFactory.html">goog.net.XmlHttpFactory.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,4 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.net.XmlHttpFactory</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.net.XmlHttpFactory</h1><a class="source" href="source/lib/goog/net/xmlhttpfactory.js.src.html#l32">code &raquo;</a></header><section><p>Abstract base class for an XmlHttpRequest factory.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.net.XmlHttpFactory <span class="args">( )</span></span></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/xmlhttpfactory.js.src.html#l47">code &raquo;</a><span class="member"><a name="createInstance">createInstance</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="interface_goog_net_XhrLike.html#goog.net.XhrLike.OrNative">goog.net.XhrLike.OrNative</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A new XhrLike instance.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/xmlhttpfactory.js.src.html#l54">code &raquo;</a><span class="member"><a name="getOptions">getOptions</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Options describing how xhr objects obtained from this
factory should be used.</dl></table></div></details></div></div><div class="wrap-details protected"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/net/xmlhttpfactory.js.src.html#l67">code &raquo;</a><span class="member"><a name="internalGetOptions">internalGetOptions</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div><p>Override this method in subclasses to preserve the caching offered by
getOptions().</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Options describing how xhr objects obtained from this
factory should be used.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/net/xmlhttpfactory.js.src.html#l41">code &raquo;</a><span class="member"><a name="cachedOptions_">cachedOptions_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div><p>Cache of options - we only actually call internalGetOptions once.</summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,28 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.structs.Map</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class goog.structs.Map.<code class="type">&lt;K, V&gt;</code></h1><a class="source" href="source/lib/goog/structs/map.js.src.html#l45">code &raquo;</a></header><section><p>Class for Hash Map datastructure.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">goog.structs.Map <span class="args">( opt_map, var_args )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_map: <code class="type">*=</code><dd>Map or Object to initialize the map with.<dt>var_args: <code class="type">...*</code><dd>If 2 or more arguments are present then they
will be used as key-value pairs.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l424">code &raquo;</a><span class="member"><a name="__iterator__">__iterator__</a> <span class="args">( opt_keys )</span> &rArr; <code class="type">!<a href="class_goog_iter_Iterator.html">goog.iter.Iterator</a></code></span></div><p>Returns an iterator that iterates over the values or the keys in the map.
This throws an exception if the map was mutated since the iterator was
created.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_keys: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>=</code><dd>True to iterate over the keys. False to iterate
over the values. The default value is false.</dl><tr><th>Returns<tr><td><dl>An iterator over the values or keys in the map.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l319">code &raquo;</a><span class="member"><a name="addAll">addAll</a> <span class="args">( map )</span></span></div><p>Adds multiple key-value pairs from another goog.structs.Map or Object.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>map: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code><dd>Object containing the data to add.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l244">code &raquo;</a><span class="member"><a name="cleanupKeysArray_">cleanupKeysArray_</a> <span class="args">( )</span></span></div><p>Cleans up the temp keys array by removing entries that are no longer in the
map.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l207">code &raquo;</a><span class="member"><a name="clear">clear</a> <span class="args">( )</span></span></div><p>Removes all key-value pairs from the map.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l356">code &raquo;</a><span class="member"><a name="clone">clone</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_goog_structs_Map.html">goog.structs.Map</a></code></span></div><p>Clones a map and returns a new map.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A new map with the same key-value pairs.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l134">code &raquo;</a><span class="member"><a name="containsKey">containsKey</a> <span class="args">( key )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Whether the map contains the given key.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type">*</code><dd>The key to check for.</dl><tr><th>Returns<tr><td><dl>Whether the map contains the key.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l144">code &raquo;</a><span class="member"><a name="containsValue">containsValue</a> <span class="args">( val )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Whether the map contains the given value. This is O(n).</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>val: <code class="type">V</code><dd>The value to check for.</dl><tr><th>Returns<tr><td><dl>Whether the map contains the value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l163">code &raquo;</a><span class="member"><a name="equals">equals</a> <span class="args">( otherMap, opt_equalityFn )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Whether this map is equal to the argument map.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>otherMap: <code class="type"><a href="class_goog_structs_Map.html">goog.structs.Map</a></code><dd>The map against which to test equality.<dt>opt_equalityFn: <code class="type">function(V, V): <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>=</code><dd>Optional equality function
to test equality of values. If not specified, this will test whether
the values contained in each map are identical objects.</dl><tr><th>Returns<tr><td><dl>Whether the maps are equal.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l342">code &raquo;</a><code class="type">&lt;T&gt;</code> <span class="member"><a name="forEach">forEach</a> <span class="args">( f, opt_obj )</span></span></div><p>Calls the given function on each entry in the map.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>f<dt>opt_obj: <code class="type">T=</code><dd>The value of "this" inside f.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l290">code &raquo;</a><code class="type">&lt;DEFAULT&gt;</code> <span class="member"><a name="get">get</a> <span class="args">( key, opt_val )</span> &rArr; <code class="type">(V|DEFAULT)</code></span></div><p>Returns the value for the given key. If the key is not found and the default
value is not given this will return <code >undefined</code>.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type">*</code><dd>The key to get the value for.<dt>opt_val: <code class="type">DEFAULT=</code><dd>The value to return if no item is found for the
given key, defaults to undefined.</dl><tr><th>Returns<tr><td><dl>The value for the given key.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l98">code &raquo;</a><span class="member"><a name="getCount">getCount</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The number of key-value pairs in the map.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l401">code &raquo;</a><span class="member"><a name="getKeyIterator">getKeyIterator</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_goog_iter_Iterator.html">goog.iter.Iterator</a></code></span></div><p>Returns an iterator that iterates over the keys in the map. Removal of keys
while iterating might have undesired side effects.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>An iterator over the keys in the map.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l123">code &raquo;</a><span class="member"><a name="getKeys">getKeys</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Returns the keys of the map.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Array of string values.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l411">code &raquo;</a><span class="member"><a name="getValueIterator">getValueIterator</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_goog_iter_Iterator.html">goog.iter.Iterator</a></code></span></div><p>Returns an iterator that iterates over the values in the map. Removal of
keys while iterating might have undesired side effects.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>An iterator over the values in the map.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l107">code &raquo;</a><span class="member"><a name="getValues">getValues</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>.&lt;V&gt;</code></span></div><p>Returns the values of the map.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The values in the map.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l199">code &raquo;</a><span class="member"><a name="isEmpty">isEmpty</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether the map is empty.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l222">code &raquo;</a><span class="member"><a name="remove">remove</a> <span class="args">( key )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Removes a key-value pair based on the key. This is O(logN) amortized due to
updating the keys array whenever the count becomes half the size of the keys
in the keys array.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type">*</code><dd>The key to remove.</dl><tr><th>Returns<tr><td><dl>Whether object was removed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l304">code &raquo;</a><span class="member"><a name="set">set</a> <span class="args">( key, value )</span> &rArr; <code class="type">*</code></span></div><p>Adds a key-value pair to the map.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type">*</code><dd>The key.<dt>value: <code class="type">V</code><dd>The value to add.</dl><tr><th>Returns<tr><td><dl>Some subclasses return a value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l385">code &raquo;</a><span class="member"><a name="toObject">toObject</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Object representation of the map.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l370">code &raquo;</a><span class="member"><a name="transpose">transpose</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_goog_structs_Map.html">goog.structs.Map</a></code></span></div><p>Returns a new map in which all the keys and values are interchanged
(keys become values and values become keys). If multiple keys map to the
same value, the chosen transposed value is implementation-dependent.
It acts very similarly to {goog.object.transpose(Object)}.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The transposed map.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l72">code &raquo;</a><span class="member"><a name="count_">count_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div><p>The number of key value pairs in the map.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l66">code &raquo;</a><span class="member"><a name="keys_">keys_</a> : <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>An array of keys. This is necessary for two reasons:
1. Iterating the keys using for (var key in this.map_) allocates an
object for every key in IE which is really bad for IE6 GC perf.
2. Without a side data structure, we would need to escape all the keys
as that would be the only way we could tell during iteration if the
key was an internal key or a property of the object.
This array can contain deleted keys so it's necessary to check the map
as well to see if the key is still in the map (this doesn't require a
memory allocation in IE).</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l51">code &raquo;</a><span class="member"><a name="map_">map_</a> : <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div><p>Underlying JS object used to implement the map.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l78">code &raquo;</a><span class="member"><a name="version_">version_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div><p>Version used to detect changes while iterating.</summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l191">code &raquo;</a><span class="member"><a name="goog.structs.Map.defaultEquals">goog.structs.Map.defaultEquals</a> <span class="args">( a, b )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Default equality test for values.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>a: <code class="type">*</code><dd>The first value.<dt>b: <code class="type">*</code><dd>The second value.</dl><tr><th>Returns<tr><td><dl>Whether a and b reference the same object.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/goog/structs/map.js.src.html#l459">code &raquo;</a><span class="member"><a name="goog.structs.Map.hasKey_">goog.structs.Map.hasKey_</a> <span class="args">( obj, key )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Safe way to test for hasOwnProperty. It even allows testing for
'hasOwnProperty'.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>obj: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code><dd>The object to test for presence of the given key.<dt>key: <code class="type">*</code><dd>The key to check for.</dl><tr><th>Returns<tr><td><dl>Whether the object has the key.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,21 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.AbstractBuilder</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.AbstractBuilder</h1><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l33">code &raquo;</a></header><section><p>Creates new <code >webdriver.WebDriver</code> clients. Upon instantiation, each
Builder will configure itself based on the following environment variables:
<dl>
<dt><code >webdriver.AbstractBuilder.SERVER_URL_ENV</code></dt>
<dd>Defines the remote WebDriver server that should be used for command
command execution; may be overridden using
<code >webdriver.AbstractBuilder.prototype.usingServer</code>.</dd>
</dl><h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.AbstractBuilder <span class="args">( )</span></span></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l122">code &raquo;</a><span class="member"><a name="build">build</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div><p>Builds a new <code class="type"><a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code> instance using this builder's
current configuration.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A new WebDriver client.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l112">code &raquo;</a><span class="member"><a name="getCapabilities">getCapabilities</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The current desired capabilities for this
builder.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l90">code &raquo;</a><span class="member"><a name="getServerUrl">getServerUrl</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The URL of the WebDriver server this instance is configured
to use.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l80">code &raquo;</a><span class="member"><a name="usingServer">usingServer</a> <span class="args">( url )</span> &rArr; <code class="type">!<a href="class_webdriver_AbstractBuilder.html">webdriver.AbstractBuilder</a></code></span></div><p>Configures which WebDriver server should be used for new sessions. Overrides
the value loaded from the <code class="type"><a href="class_webdriver_AbstractBuilder.html#webdriver.AbstractBuilder.SERVER_URL_ENV">webdriver.AbstractBuilder.SERVER_URL_ENV</a></code>
upon creation of this instance.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>url: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>URL of the server to use.</dl><tr><th>Returns<tr><td><dl>This Builder instance for chain calling.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l102">code &raquo;</a><span class="member"><a name="withCapabilities">withCapabilities</a> <span class="args">( capabilities )</span> &rArr; <code class="type">!<a href="class_webdriver_AbstractBuilder.html">webdriver.AbstractBuilder</a></code></span></div><p>Sets the desired capabilities when requesting a new session. This will
overwrite any previously set desired capabilities.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>capabilities: <code class="type">!(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>|<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a>)</code><dd>The desired
capabilities for a new session.</dl><tr><th>Returns<tr><td><dl>This Builder instance for chain calling.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l49">code &raquo;</a><span class="member"><a name="capabilities_">capabilities_</a> : <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div><p>The desired capabilities to use when creating a new session.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l42">code &raquo;</a><span class="member"><a name="serverUrl_">serverUrl_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>URL of the remote server to use for new clients; initialized from the
value of the <code class="type"><a href="class_webdriver_AbstractBuilder.html#webdriver.AbstractBuilder.SERVER_URL_ENV">webdriver.AbstractBuilder.SERVER_URL_ENV</a></code> environment
variable, but may be overridden using
<code class="type"><a href="class_webdriver_AbstractBuilder.html#usingServer">webdriver.AbstractBuilder#usingServer</a></code>.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l70">code &raquo;</a><span class="member"><a name="webdriver.AbstractBuilder.DEFAULT_SERVER_URL">webdriver.AbstractBuilder.DEFAULT_SERVER_URL</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>The default URL of the WebDriver server to use if
<code class="type"><a href="class_webdriver_AbstractBuilder.html#webdriver.AbstractBuilder.SERVER_URL_ENV">webdriver.AbstractBuilder.SERVER_URL_ENV</a></code> is not set.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l61">code &raquo;</a><span class="member"><a name="webdriver.AbstractBuilder.SERVER_URL_ENV">webdriver.AbstractBuilder.SERVER_URL_ENV</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>Environment variable that defines the URL of the WebDriver server that
should be used for all new WebDriver clients. This setting may be overridden
using <code >#usingServer(url)</code>.</summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,87 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.ActionSequence</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.ActionSequence</h1><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l43">code &raquo;</a></header><section><p>Class for defining sequences of complex user interactions. Each sequence
will not be executed until <code class="type"><a class="unresolved-link">#perform</a></code> is called.
<p>Example:<pre><code>
new webdriver.ActionSequence(driver).
keyDown(webdriver.Key.SHIFT).
click(element1).
click(element2).
dragAndDrop(element3, element4).
keyUp(webdriver.Key.SHIFT).
perform();
</pre></code><h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.ActionSequence <span class="args">( driver )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>driver: <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code><dd>The driver instance to use.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l250">code &raquo;</a><span class="member"><a name="click">click</a> <span class="args">( opt_elementOrButton, opt_button )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Clicks a mouse button.
<p>If an element is provided, the mouse will first be moved to the center
of that element. This is equivalent to:
<pre><code>sequence.mouseMove(element).click()</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_elementOrButton: <code class="type">(<a href="class_webdriver_WebElement.html">webdriver.WebElement</a>|<a href="enum_webdriver_Button.html">webdriver.Button</a>)=</code><dd>Either
the element to interact with or the button to click with.
Defaults to <code class="type"><a href="enum_webdriver_Button.html#webdriver.Button.LEFT">webdriver.Button.LEFT</a></code> if neither an element nor
button is specified.<dt>opt_button: <code class="type"><a href="enum_webdriver_Button.html">webdriver.Button</a>=</code><dd>The button to use. Defaults to
<code class="type"><a href="enum_webdriver_Button.html#webdriver.Button.LEFT">webdriver.Button.LEFT</a></code>. Ignored if a button is provided as the
first argument.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l276">code &raquo;</a><span class="member"><a name="doubleClick">doubleClick</a> <span class="args">( opt_elementOrButton, opt_button )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Double-clicks a mouse button.
<p>If an element is provided, the mouse will first be moved to the center of
that element. This is equivalent to:
<pre><code>sequence.mouseMove(element).doubleClick()</code></pre>
<p>Warning: this method currently only supports the left mouse button. See
http://code.google.com/p/selenium/issues/detail?id=4047</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_elementOrButton: <code class="type">(<a href="class_webdriver_WebElement.html">webdriver.WebElement</a>|<a href="enum_webdriver_Button.html">webdriver.Button</a>)=</code><dd>Either
the element to interact with or the button to click with.
Defaults to <code class="type"><a href="enum_webdriver_Button.html#webdriver.Button.LEFT">webdriver.Button.LEFT</a></code> if neither an element nor
button is specified.<dt>opt_button: <code class="type"><a href="enum_webdriver_Button.html">webdriver.Button</a>=</code><dd>The button to use. Defaults to
<code class="type"><a href="enum_webdriver_Button.html#webdriver.Button.LEFT">webdriver.Button.LEFT</a></code>. Ignored if a button is provided as the
first argument.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l229">code &raquo;</a><span class="member"><a name="dragAndDrop">dragAndDrop</a> <span class="args">( element, location )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Convenience function for performing a "drag and drop" manuever. The target
element may be moved to the location of another element, or by an offset (in
pixels).</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>element: <code class="type">!<a href="class_webdriver_WebElement.html">webdriver.WebElement</a></code><dd>The element to drag.<dt>location: <code class="type">(!<a href="class_webdriver_WebElement.html">webdriver.WebElement</a>|{x: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>, y: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>})</code><dd>The
location to drag to, either as another WebElement or an offset in pixels.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l324">code &raquo;</a><span class="member"><a name="keyDown">keyDown</a> <span class="args">( key )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Performs a modifier key press. The modifier key is <em>not released</em>
until <code class="type"><a class="unresolved-link">#keyUp</a></code> or <code class="type"><a class="unresolved-link">#sendKeys</a></code> is called. The key press will be
targetted at the currently focused element.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type">!<a href="enum_webdriver_Key.html">webdriver.Key</a></code><dd>The modifier key to push. Must be one of
{ALT, CONTROL, SHIFT, COMMAND, META}.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl><tr><th>Throws<tr><td><dl><dt><code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a></code><dd>If the key is not a valid modifier key.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l338">code &raquo;</a><span class="member"><a name="keyUp">keyUp</a> <span class="args">( key )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Performs a modifier key release. The release is targetted at the currently
focused element.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type">!<a href="enum_webdriver_Key.html">webdriver.Key</a></code><dd>The modifier key to release. Must be one of
{ALT, CONTROL, SHIFT, COMMAND, META}.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl><tr><th>Throws<tr><td><dl><dt><code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a></code><dd>If the key is not a valid modifier key.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l186">code &raquo;</a><span class="member"><a name="mouseDown">mouseDown</a> <span class="args">( opt_elementOrButton, opt_button )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Presses a mouse button. The mouse button will not be released until
<code class="type"><a class="unresolved-link">#mouseUp</a></code> is called, regardless of whether that call is made in this
sequence or another. The behavior for out-of-order events (e.g. mouseDown,
click) is undefined.
<p>If an element is provided, the mouse will first be moved to the center
of that element. This is equivalent to:
<pre><code>sequence.mouseMove(element).mouseDown()</code></pre>
<p>Warning: this method currently only supports the left mouse button. See
http://code.google.com/p/selenium/issues/detail?id=4047</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_elementOrButton: <code class="type">(<a href="class_webdriver_WebElement.html">webdriver.WebElement</a>|<a href="enum_webdriver_Button.html">webdriver.Button</a>)=</code><dd>Either
the element to interact with or the button to click with.
Defaults to <code class="type"><a href="enum_webdriver_Button.html#webdriver.Button.LEFT">webdriver.Button.LEFT</a></code> if neither an element nor
button is specified.<dt>opt_button: <code class="type"><a href="enum_webdriver_Button.html">webdriver.Button</a>=</code><dd>The button to use. Defaults to
<code class="type"><a href="enum_webdriver_Button.html#webdriver.Button.LEFT">webdriver.Button.LEFT</a></code>. Ignored if a button is provided as the
first argument.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l100">code &raquo;</a><span class="member"><a name="mouseMove">mouseMove</a> <span class="args">( location, opt_offset )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Moves the mouse. The location to move to may be specified in terms of the
mouse's current location, an offset relative to the top-left corner of an
element, or an element (in which case the middle of the element is used).</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>location: <code class="type">(!<a href="class_webdriver_WebElement.html">webdriver.WebElement</a>|{x: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>, y: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>})</code><dd>The
location to drag to, as either another WebElement or an offset in pixels.<dt>opt_offset: <code class="type">{x: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>, y: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>}=</code><dd>If the target <code >location</code>
is defined as a <code class="type"><a href="class_webdriver_WebElement.html">webdriver.WebElement</a></code>, this parameter defines an
offset within that element. The offset should be specified in pixels
relative to the top-left corner of the element's bounding box. If
omitted, the element's center will be used as the target offset.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l213">code &raquo;</a><span class="member"><a name="mouseUp">mouseUp</a> <span class="args">( opt_elementOrButton, opt_button )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Releases a mouse button. Behavior is undefined for calling this function
without a previous call to <code class="type"><a class="unresolved-link">#mouseDown</a></code>.
<p>If an element is provided, the mouse will first be moved to the center
of that element. This is equivalent to:
<pre><code>sequence.mouseMove(element).mouseUp()</code></pre>
<p>Warning: this method currently only supports the left mouse button. See
http://code.google.com/p/selenium/issues/detail?id=4047</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_elementOrButton: <code class="type">(<a href="class_webdriver_WebElement.html">webdriver.WebElement</a>|<a href="enum_webdriver_Button.html">webdriver.Button</a>)=</code><dd>Either
the element to interact with or the button to click with.
Defaults to <code class="type"><a href="enum_webdriver_Button.html#webdriver.Button.LEFT">webdriver.Button.LEFT</a></code> if neither an element nor
button is specified.<dt>opt_button: <code class="type"><a href="enum_webdriver_Button.html">webdriver.Button</a>=</code><dd>The button to use. Defaults to
<code class="type"><a href="enum_webdriver_Button.html#webdriver.Button.LEFT">webdriver.Button.LEFT</a></code>. Ignored if a button is provided as the
first argument.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l73">code &raquo;</a><span class="member"><a name="perform">perform</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Executes this action sequence.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved once
this sequence has completed.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l291">code &raquo;</a><span class="member"><a name="scheduleKeyboardAction_">scheduleKeyboardAction_</a> <span class="args">( description, keys )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Schedules a keyboard action.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>description: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>A simple descriptive label for the scheduled
action.<dt>keys: <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code><dd>The keys to send.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l144">code &raquo;</a><span class="member"><a name="scheduleMouseAction_">scheduleMouseAction_</a> <span class="args">( description, commandName, opt_elementOrButton, opt_button )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Schedules a mouse action.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>description: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>A simple descriptive label for the scheduled
action.<dt>commandName: <code class="type">!<a href="enum_webdriver_CommandName.html">webdriver.CommandName</a></code><dd>The name of the command.<dt>opt_elementOrButton: <code class="type">(<a href="class_webdriver_WebElement.html">webdriver.WebElement</a>|<a href="enum_webdriver_Button.html">webdriver.Button</a>)=</code><dd>Either
the element to interact with or the button to click with.
Defaults to <code class="type"><a href="enum_webdriver_Button.html#webdriver.Button.LEFT">webdriver.Button.LEFT</a></code> if neither an element nor
button is specified.<dt>opt_button: <code class="type"><a href="enum_webdriver_Button.html">webdriver.Button</a>=</code><dd>The button to use. Defaults to
<code class="type"><a href="enum_webdriver_Button.html#webdriver.Button.LEFT">webdriver.Button.LEFT</a></code>. Ignored if the previous argument is
provided as a button.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l60">code &raquo;</a><span class="member"><a name="schedule_">schedule_</a> <span class="args">( description, command )</span></span></div><p>Schedules an action to be executed each time <code class="type"><a class="unresolved-link">#perform</a></code> is called on
this instance.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>description: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>A description of the command.<dt>command: <code class="type">!<a href="class_webdriver_Command.html">webdriver.Command</a></code><dd>The command.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l353">code &raquo;</a><span class="member"><a name="sendKeys">sendKeys</a> <span class="args">( var_args )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Simulates typing multiple keys. Each modifier key encountered in the
sequence will not be released until it is encountered again. All key events
will be targetted at the currently focused element.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>var_args: <code class="type">...(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|!<a href="enum_webdriver_Key.html">webdriver.Key</a>|!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>)</code><dd>The keys to type.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl><tr><th>Throws<tr><td><dl><dt><code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a></code><dd>If the key is not a valid modifier key.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l49">code &raquo;</a><span class="member"><a name="actions_">actions_</a> : <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l46">code &raquo;</a><span class="member"><a name="driver_">driver_</a> : <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div></summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/actionsequence.js.src.html#l307">code &raquo;</a><span class="member"><a name="webdriver.ActionSequence.checkModifierKey_">webdriver.ActionSequence.checkModifierKey_</a> <span class="args">( key )</span></span></div><p>Checks that a key is a modifier key.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type">!<a href="enum_webdriver_Key.html">webdriver.Key</a></code><dd>The key to check.</dl><tr><th>Throws<tr><td><dl><dt><code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a></code><dd>If the key is not a modifier key.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,85 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.Alert</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.Alert</h1><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2035">code &raquo;</a><pre><code>webdriver.promise.Promise.&lt;(T|null)&gt;
&#x2514; <a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a>
&#x2514; webdriver.Alert</code></pre></header><section><p>Represents a modal dialog such as <code >alert</code>, <code >confirm</code>, or
<code >prompt</code>. Provides functions to retrieve the message displayed with
the alert, accept or dismiss the alert, and set the response text (in the
case of <code >prompt</code>).<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.Alert <span class="args">( driver, text )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>driver: <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code><dd>The driver controlling the browser this
alert is attached to.<dt>text: <code class="type">!(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;)</code><dd>Either the
message text displayed with this alert, or a promise that will be
resolved to said text.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">webdriver.Alert</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2074">code &raquo;</a><span class="member"><a name="accept">accept</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Accepts this alert.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when this command has completed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2086">code &raquo;</a><span class="member"><a name="dismiss">dismiss</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Dismisses this alert.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when this command has completed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2064">code &raquo;</a><span class="member"><a name="getText">getText</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Retrieves the message text displayed with this alert. For instance, if the
alert were opened with alert("hello"), then this would return "hello".</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved to the text displayed with this alert.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2101">code &raquo;</a><span class="member"><a name="sendKeys">sendKeys</a> <span class="args">( text )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Sets the response text on this alert. This command will return an error if
the underlying alert does not support response text (e.g. window.alert and
window.confirm).</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>text: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The text to set.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when this command has completed.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l464">code &raquo;</a><span class="member"><a name="errback">errback</a> <span class="args">( opt_error )</span></span></div><p>Rejects this promise. If the error is itself a promise, this instance will
be chained to it and be rejected with the error's resolved value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_error: <code class="type">*=</code><dd>The rejection reason, typically either a
<code >Error</code> or a <code >string</code>.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l463">code &raquo;</a><span class="member"><a name="fulfill">fulfill</a> <span class="args">( opt_value )</span></span></div><p>Resolves this promise with the given value. If the value is itself a
promise and not a reference to this deferred, this instance will wait for
it before resolving.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_value: <code class="type">T=</code><dd>The fulfilled value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l464">code &raquo;</a><span class="member"><a name="reject">reject</a> <span class="args">( opt_error )</span></span></div><p>Rejects this promise. If the error is itself a promise, this instance will
be chained to it and be rejected with the error's resolved value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_error: <code class="type">*=</code><dd>The rejection reason, typically either a
<code >Error</code> or a <code >string</code>.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l469">code &raquo;</a><span class="member"><a name="removeAll">removeAll</a> <span class="args">( )</span></span></div><p>Removes all of the listeners previously registered on this deferred.</summary><div class="info"><table><tbody><tr><th>Throws<tr><td><dl><dt><code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a></code><dd>If this deferred has already been resolved.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Promise.html#webdriver.promise.Promise.&lt;(T|null)&gt;">webdriver.promise.Promise.&lt;(T|null)&gt;</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l87">code &raquo;</a><span class="member"><a name="cancel">cancel</a> <span class="args">( reason )</span></span></div><p>Cancels the computation of this promise's value, rejecting the promise in the
process.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>reason: <code class="type">*</code><dd>The reason this promise is being cancelled. If not an
<code >Error</code>, one will be created using the value's string
representation.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l93">code &raquo;</a><span class="member"><a name="isPending">isPending</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether this promise's value is still being computed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l112">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="then">then</a> <span class="args">( opt_callback, opt_errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers listeners for when this instance is resolved. This function most
overridden by subtypes.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_callback: <code class="type">?(function(T): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is successfully resolved. The function
should expect a single argument: the promise's resolved value.<dt>opt_errback: <code class="type">?(function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is rejected. The function should expect
a single argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l142">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenCatch">thenCatch</a> <span class="args">( errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener for when this promise is rejected. This is synonymous
with the <code >catch</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} catch (ex) {
console.error(ex);
}
// Asynchronous promise API:
doAsynchronousWork().thenCatch(function(ex) {
console.error(ex);
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>errback: <code class="type">function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call if this promise is rejected. The function should expect a single
argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l186">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenFinally">thenFinally</a> <span class="args">( callback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener to invoke when this promise is resolved, regardless
of whether the promise's value was successfully computed. This function
is synonymous with the <code >finally</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} finally {
cleanUp();
}
// Asynchronous promise API:
doAsynchronousWork().thenFinally(cleanUp);
</code></pre>
<b>Note:</b> similar to the <code >finally</code> clause, if the registered
callback returns a rejected promise or throws an error, it will silently
replace the rejection error (if any) from this promise:
<pre><code>
try {
throw Error('one');
} finally {
throw Error('two'); // Hides Error: one
}
webdriver.promise.rejected(Error('one'))
.thenFinally(function() {
throw Error('two'); // Hides Error: one
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>callback: <code class="type">function(): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call when this promise is resolved.</dl><tr><th>Returns<tr><td><dl>A promise that will be fulfilled
with the callback result.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">webdriver.Alert</code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2039">code &raquo;</a><span class="member"><a name="driver_">driver_</a> : <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2050">code &raquo;</a><span class="member"><a name="text_">text_</a> : <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div></summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l459">code &raquo;</a><span class="member"><a name="webdriver.promise.Deferred.prototype.promise">webdriver.promise.Deferred.prototype.promise</a> : <code class="type">webdriver.promise.Promise.<T></code></span></div><p>Represents the eventual value of a completed operation. Each promise may be
in one of three states: pending, resolved, or rejected. Each promise starts
in the pending state and may make a single transition to either a
fulfilled or failed state.
<p/>This class is based on the Promise/A proposal from CommonJS. Additional
functions are provided for API compatibility with Dojo Deferred objects.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2035">code &raquo;</a><span class="member"><a name="webdriver.Alert.superClass_">webdriver.Alert.superClass_</a> : <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,22 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.Builder</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.Builder</h1><a class="source" href="source/lib/webdriver/builder.js.src.html#l32">code &raquo;</a><pre><code><a href="class_webdriver_AbstractBuilder.html">webdriver.AbstractBuilder</a>
&#x2514; webdriver.Builder</code></pre></header><section><h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.Builder <span class="args">( )</span></span></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">webdriver.Builder</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/builder.js.src.html#l87">code &raquo;</a><span class="member"><a name="build">build</a> <span class="args">( )</span> &rArr; <code class="type">webdriver.WebDriver</code></span></div></summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/builder.js.src.html#l79">code &raquo;</a><span class="member"><a name="getSession">getSession</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The ID of the session, if any, this builder is configured
to reuse.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/builder.js.src.html#l69">code &raquo;</a><span class="member"><a name="usingSession">usingSession</a> <span class="args">( id )</span> &rArr; <code class="type">!<a href="class_webdriver_AbstractBuilder.html">webdriver.AbstractBuilder</a></code></span></div><p>Configures the builder to create a client that will use an existing WebDriver
session.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>id: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The existing session ID to use.</dl><tr><th>Returns<tr><td><dl>This Builder instance for chain calling.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_AbstractBuilder.html">webdriver.AbstractBuilder</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l112">code &raquo;</a><span class="member"><a name="getCapabilities">getCapabilities</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The current desired capabilities for this
builder.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l90">code &raquo;</a><span class="member"><a name="getServerUrl">getServerUrl</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The URL of the WebDriver server this instance is configured
to use.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l80">code &raquo;</a><span class="member"><a name="usingServer">usingServer</a> <span class="args">( url )</span> &rArr; <code class="type">!<a href="class_webdriver_AbstractBuilder.html">webdriver.AbstractBuilder</a></code></span></div><p>Configures which WebDriver server should be used for new sessions. Overrides
the value loaded from the <code class="type"><a href="class_webdriver_AbstractBuilder.html#webdriver.AbstractBuilder.SERVER_URL_ENV">webdriver.AbstractBuilder.SERVER_URL_ENV</a></code>
upon creation of this instance.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>url: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>URL of the server to use.</dl><tr><th>Returns<tr><td><dl>This Builder instance for chain calling.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l102">code &raquo;</a><span class="member"><a name="withCapabilities">withCapabilities</a> <span class="args">( capabilities )</span> &rArr; <code class="type">!<a href="class_webdriver_AbstractBuilder.html">webdriver.AbstractBuilder</a></code></span></div><p>Sets the desired capabilities when requesting a new session. This will
overwrite any previously set desired capabilities.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>capabilities: <code class="type">!(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>|<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a>)</code><dd>The desired
capabilities for a new session.</dl><tr><th>Returns<tr><td><dl>This Builder instance for chain calling.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">webdriver.Builder</code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/builder.js.src.html#l43">code &raquo;</a><span class="member"><a name="sessionId_">sessionId_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>ID of an existing WebDriver session that new clients should use.
Initialized from the value of the
<code class="type"><a class="unresolved-link">webdriver.AbstractBuilder.SESSION_ID_ENV</a></code> environment variable, but
may be overridden using
<code class="type"><a class="unresolved-link">webdriver.AbstractBuilder#usingSession</a></code>.</summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_AbstractBuilder.html">webdriver.AbstractBuilder</a></code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l49">code &raquo;</a><span class="member"><a name="capabilities_">capabilities_</a> : <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div><p>The desired capabilities to use when creating a new session.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/abstractbuilder.js.src.html#l42">code &raquo;</a><span class="member"><a name="serverUrl_">serverUrl_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>URL of the remote server to use for new clients; initialized from the
value of the <code class="type"><a href="class_webdriver_AbstractBuilder.html#webdriver.AbstractBuilder.SERVER_URL_ENV">webdriver.AbstractBuilder.SERVER_URL_ENV</a></code> environment
variable, but may be overridden using
<code class="type"><a href="class_webdriver_AbstractBuilder.html#usingServer">webdriver.AbstractBuilder#usingServer</a></code>.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/builder.js.src.html#l60">code &raquo;</a><span class="member"><a name="webdriver.Builder.SESSION_ID_ENV">webdriver.Builder.SESSION_ID_ENV</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>Environment variable that defines the session ID of an existing WebDriver
session to use when creating clients. If set, all new Builder instances will
default to creating clients that use this session. To create a new session,
use <code >#useExistingSession(boolean)</code>. The use of this environment
variable requires that <code class="type"><a href="class_webdriver_AbstractBuilder.html#webdriver.AbstractBuilder.SERVER_URL_ENV">webdriver.AbstractBuilder.SERVER_URL_ENV</a></code> also
be set.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/builder.js.src.html#l32">code &raquo;</a><span class="member"><a name="webdriver.Builder.superClass_">webdriver.Builder.superClass_</a> : <code class="type"><a href="class_webdriver_AbstractBuilder.html">webdriver.AbstractBuilder.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,9 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.Capabilities</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.Capabilities</h1><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l138">code &raquo;</a></header><section><h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.Capabilities <span class="args">( opt_other )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_other: <code class="type">(<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)=</code><dd>Another set of
capabilities to merge into this instance.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l303">code &raquo;</a><span class="member"><a name="get">get</a> <span class="args">( key )</span> &rArr; <code class="type">*</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The capability to return.</dl><tr><th>Returns<tr><td><dl>The capability with the given key, or <code >null</code> if it has
not been set.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l316">code &raquo;</a><span class="member"><a name="has">has</a> <span class="args">( key )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The capability to check.</dl><tr><th>Returns<tr><td><dl>Whether the specified capability is set.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l270">code &raquo;</a><span class="member"><a name="merge">merge</a> <span class="args">( other )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div><p>Merges another set of capabilities into this instance. Any duplicates in
the provided set will override those already set on this instance.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>other: <code class="type">!(<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>)</code><dd>The capabilities to
merge into this instance.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l288">code &raquo;</a><span class="member"><a name="set">set</a> <span class="args">( key, value )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The capability to set.<dt>value: <code class="type">*</code><dd>The capability value. Capability values must be JSON
serializable. Pass <code >null</code> to unset the capability.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l258">code &raquo;</a><span class="member"><a name="toJSON">toJSON</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The JSON representation of this instance.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l141">code &raquo;</a><span class="member"><a name="caps_">caps_</a> : <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div></summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l152">code &raquo;</a><span class="member"><a name="webdriver.Capabilities.android">webdriver.Capabilities.android</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A basic set of capabilities for Android.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l162">code &raquo;</a><span class="member"><a name="webdriver.Capabilities.chrome">webdriver.Capabilities.chrome</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A basic set of capabilities for Chrome.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l171">code &raquo;</a><span class="member"><a name="webdriver.Capabilities.firefox">webdriver.Capabilities.firefox</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A basic set of capabilities for Firefox.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l240">code &raquo;</a><span class="member"><a name="webdriver.Capabilities.htmlunit">webdriver.Capabilities.htmlunit</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A basic set of capabilities for HTMLUnit.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l250">code &raquo;</a><span class="member"><a name="webdriver.Capabilities.htmlunitwithjs">webdriver.Capabilities.htmlunitwithjs</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A basic set of capabilities for HTMLUnit
with enabled Javascript.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l181">code &raquo;</a><span class="member"><a name="webdriver.Capabilities.ie">webdriver.Capabilities.ie</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A basic set of capabilities for
Internet Explorer.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l192">code &raquo;</a><span class="member"><a name="webdriver.Capabilities.ipad">webdriver.Capabilities.ipad</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A basic set of capabilities for iPad.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l202">code &raquo;</a><span class="member"><a name="webdriver.Capabilities.iphone">webdriver.Capabilities.iphone</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A basic set of capabilities for iPhone.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l212">code &raquo;</a><span class="member"><a name="webdriver.Capabilities.opera">webdriver.Capabilities.opera</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A basic set of capabilities for Opera.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l222">code &raquo;</a><span class="member"><a name="webdriver.Capabilities.phantomjs">webdriver.Capabilities.phantomjs</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A basic set of capabilities for
PhantomJS.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l231">code &raquo;</a><span class="member"><a name="webdriver.Capabilities.safari">webdriver.Capabilities.safari</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A basic set of capabilities for Safari.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

File diff suppressed because one or more lines are too long

@ -0,0 +1,7 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.EventEmitter</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.EventEmitter</h1><a class="source" href="source/lib/webdriver/events.js.src.html#l29">code &raquo;</a></header><section><p>Object that can emit events for others to listen for. This is used instead
of Closure's event system because it is much more light weight. The API is
based on Node's EventEmitters.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.EventEmitter <span class="args">( )</span></span></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l116">code &raquo;</a><span class="member"><a name="addListener">addListener</a> <span class="args">( type, listenerFn, opt_scope )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>Registers a listener.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to listen for.<dt>listenerFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The function to invoke when the event is fired.<dt>opt_scope: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>=</code><dd>The object in whose scope to invoke the listener.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l90">code &raquo;</a><span class="member"><a name="addListener_">addListener_</a> <span class="args">( type, listenerFn, opt_scope, opt_oneshot )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>Registers a listener.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to listen for.<dt>listenerFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The function to invoke when the event is fired.<dt>opt_scope: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>=</code><dd>The object in whose scope to invoke the listener.<dt>opt_oneshot: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>=</code><dd>Whether the listener should be removed after
the first event is fired.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l44">code &raquo;</a><span class="member"><a name="emit">emit</a> <span class="args">( type, var_args )</span></span></div><p>Fires an event and calls all listeners.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to emit.<dt>var_args: <code class="type">...*</code><dd>Any arguments to pass to each listener.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l71">code &raquo;</a><span class="member"><a name="listeners">listeners</a> <span class="args">( type )</span> &rArr; <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code></span></div><p>Returns a mutable list of listeners for a specific type of event.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to retrieve the listeners for.</dl><tr><th>Returns<tr><td><dl>The registered listeners for
the given event type.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l142">code &raquo;</a><span class="member"><a name="on">on</a> <span class="args">( type, listenerFn, opt_scope )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>An alias for <code >#addListener()</code>.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to listen for.<dt>listenerFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The function to invoke when the event is fired.<dt>opt_scope: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>=</code><dd>The object in whose scope to invoke the listener.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l130">code &raquo;</a><span class="member"><a name="once">once</a> <span class="args">( type, listenerFn, opt_scope )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>Registers a one-time listener which will be called only the first time an
event is emitted, after which it will be removed.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to listen for.<dt>listenerFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The function to invoke when the event is fired.<dt>opt_scope: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>=</code><dd>The object in whose scope to invoke the listener.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l173">code &raquo;</a><span class="member"><a name="removeAllListeners">removeAllListeners</a> <span class="args">( opt_type )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>Removes all listeners for a specific type of event. If no event is
specified, all listeners across all types will be removed.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>The type of event to remove listeners from.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l152">code &raquo;</a><span class="member"><a name="removeListener">removeListener</a> <span class="args">( type, listenerFn )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>Removes a previously registered event listener.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to unregister.<dt>listenerFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The handler function to remove.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l35">code &raquo;</a><span class="member"><a name="events_">events_</a> : <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div><p>Map of events to registered listeners.</summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,2 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.FirefoxDomExecutor</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.FirefoxDomExecutor</h1><a class="source" href="source/lib/webdriver/firefoxdomexecutor.js.src.html#l29">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_webdriver_CommandExecutor.html">webdriver.CommandExecutor</a></code></dl></header><section><h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.FirefoxDomExecutor <span class="args">( )</span></span></div></div></div></section><section><h2>Enumerations</h2><div class="type-summary"><table><tbody><tr><td><dl><dt><a href="enum_webdriver_FirefoxDomExecutor_Attribute_.html">webdriver.FirefoxDomExecutor.Attribute_</a><dd>Attributes used to communicate with the FirefoxDriver extension.<dt><a href="enum_webdriver_FirefoxDomExecutor_EventType_.html">webdriver.FirefoxDomExecutor.EventType_</a><dd>Events used to communicate with the FirefoxDriver extension.</dl></table></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/firefoxdomexecutor.js.src.html#l90">code &raquo;</a><span class="member"><a name="execute">execute</a> <span class="args">( command, callback )</span></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>command<dt>callback</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/firefoxdomexecutor.js.src.html#l133">code &raquo;</a><span class="member"><a name="onResponse_">onResponse_</a> <span class="args">( )</span></span></div></summary></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/firefoxdomexecutor.js.src.html#l39">code &raquo;</a><span class="member"><a name="docElement_">docElement_</a> : <code class="type">!<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614">Element</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/firefoxdomexecutor.js.src.html#l36">code &raquo;</a><span class="member"><a name="doc_">doc_</a> : <code class="type">!<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#i-Document">Document</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/firefoxdomexecutor.js.src.html#l86">code &raquo;</a><span class="member"><a name="pendingCommand_">pendingCommand_</a> : <code class="type">?{name: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>, callback: !<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>}</code></span></div><p>The pending command, if any.</summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/firefoxdomexecutor.js.src.html#l51">code &raquo;</a><span class="member"><a name="webdriver.FirefoxDomExecutor.isAvailable">webdriver.FirefoxDomExecutor.isAvailable</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether the current environment supports the
FirefoxDomExecutor.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,2 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.Locator</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.Locator</h1><a class="source" href="source/lib/webdriver/locators.js.src.html#l35">code &raquo;</a></header><section><p>An element locator.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.Locator <span class="args">( using, value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>using: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of strategy to use for this locator.<dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The search target of this locator.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/locators.js.src.html#l249">code &raquo;</a><span class="member"><a name="toString">toString</a> <span class="args">( )</span> &rArr; <code class="type">string</code></span></div></summary></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/locators.js.src.html#l41">code &raquo;</a><span class="member"><a name="using">using</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>The search strategy to use when searching for an element.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/locators.js.src.html#l47">code &raquo;</a><span class="member"><a name="value">value</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>The search target for this locator.</summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/locators.js.src.html#l233">code &raquo;</a><span class="member"><a name="webdriver.Locator.checkLocator">webdriver.Locator.checkLocator</a> <span class="args">( value )</span> &rArr; <code class="type">!(<a href="class_webdriver_Locator.html">webdriver.Locator</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>)</code></span></div><p>Verifies that a <code >value</code> is a valid locator to use for searching for
elements on the page.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type">*</code><dd>The value to check is a valid locator.</dl><tr><th>Returns<tr><td><dl>A valid locator object or function.</dl><tr><th>Throws<tr><td><dl><dt><code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/TypeError">TypeError</a></code><dd>If the given value is an invalid locator.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/locators.js.src.html#l57">code &raquo;</a><span class="member"><a name="webdriver.Locator.factory_">webdriver.Locator.factory_</a> <span class="args">( type )</span> &rArr; <code class="type">function(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>): !<a href="class_webdriver_Locator.html">webdriver.Locator</a></code></span></div><p>Creates a factory function for a <code class="type"><a href="class_webdriver_Locator.html">webdriver.Locator</a></code>.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of locator for the factory.</dl><tr><th>Returns<tr><td><dl>The new factory function.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,3 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.Session</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.Session</h1><a class="source" href="source/lib/webdriver/session.js.src.html#l28">code &raquo;</a></header><section><p>Contains information about a WebDriver session.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.Session <span class="args">( id, capabilities )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>id: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The session ID.<dt>capabilities: <code class="type">!(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>|<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a>)</code><dd>The session
capabilities.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/session.js.src.html#l49">code &raquo;</a><span class="member"><a name="getCapabilities">getCapabilities</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>This session's capabilities.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/session.js.src.html#l59">code &raquo;</a><span class="member"><a name="getCapability">getCapability</a> <span class="args">( key )</span> &rArr; <code class="type">*</code></span></div><p>Retrieves the value of a specific capability.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>key: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The capability to retrieve.</dl><tr><th>Returns<tr><td><dl>The capability value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/session.js.src.html#l41">code &raquo;</a><span class="member"><a name="getId">getId</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>This session's ID.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/session.js.src.html#l69">code &raquo;</a><span class="member"><a name="toJSON">toJSON</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>Returns the JSON representation of this object, which is just the string
session ID.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The JSON representation of this Session.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/session.js.src.html#l34">code &raquo;</a><span class="member"><a name="caps_">caps_</a> : <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/session.js.src.html#l31">code &raquo;</a><span class="member"><a name="id_">id_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,6 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.UnhandledAlertError</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.UnhandledAlertError</h1><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2118">code &raquo;</a><pre><code><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a>
&#x2514; <a href="class_bot_Error.html">bot.Error</a>
&#x2514; webdriver.UnhandledAlertError</code></pre></header><section><p>An error returned to indicate that there is an unhandled modal dialog on the
current page.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.UnhandledAlertError <span class="args">( message, alert )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The error message.<dt>alert: <code class="type">!<a href="class_webdriver_Alert.html">webdriver.Alert</a></code><dd>The alert handle.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">webdriver.UnhandledAlertError</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2130">code &raquo;</a><span class="member"><a name="getAlert">getAlert</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Alert.html">webdriver.Alert</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The open alert.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_bot_Error.html">bot.Error</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/atoms/error.js.src.html#l202">code &raquo;</a><span class="member"><a name="toString">toString</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>he string representation of this error.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">webdriver.UnhandledAlertError</code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2122">code &raquo;</a><span class="member"><a name="alert_">alert_</a> : <code class="type">!<a href="class_webdriver_Alert.html">webdriver.Alert</a></code></span></div></summary></details></div></div><h3>Defined in <code class="type"><a href="class_bot_Error.html">bot.Error</a></code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/atoms/error.js.src.html#l197">code &raquo;</a><span class="member"><a name="isAutomationError">isAutomationError</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Flag used for duck-typing when this code is embedded in a Firefox extension.
This is required since an Error thrown in one component and then reported
to another will fail instanceof checks in the second component.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/atoms/error.js.src.html#l86">code &raquo;</a><span class="member"><a name="state">state</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2118">code &raquo;</a><span class="member"><a name="webdriver.UnhandledAlertError.superClass_">webdriver.UnhandledAlertError.superClass_</a> : <code class="type"><a href="class_bot_Error.html">bot.Error.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,259 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.WebDriver</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.WebDriver</h1><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l74">code &raquo;</a></header><section><p>Creates a new WebDriver client, which provides control over a browser.
Every WebDriver command returns a <code >webdriver.promise.Promise</code> that
represents the result of that command. Callbacks may be registered on this
object to manipulate the command result or catch an expected error. Any
commands scheduled with a callback are considered sub-commands and will
execute before the next command in the current frame. For example:
<pre><code>
var message = [];
driver.call(message.push, message, 'a').then(function() {
driver.call(message.push, message, 'b');
});
driver.call(message.push, message, 'c');
driver.call(function() {
alert('message is abc? ' + (message.join('') == 'abc'));
});
</code></pre><h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.WebDriver <span class="args">( session, executor, opt_flow )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>session: <code class="type">!(<a href="class_webdriver_Session.html">webdriver.Session</a>|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>)</code><dd>Either a
known session or a promise that will be resolved to a session.<dt>executor: <code class="type">!<a href="interface_webdriver_CommandExecutor.html">webdriver.CommandExecutor</a></code><dd>The executor to use when
sending commands to the browser.<dt>opt_flow: <code class="type"><a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a>=</code><dd>The flow to
schedule commands through. Defaults to the active flow object.</dl></table></div></div></div></section><section><h2>Classes</h2><div class="type-summary"><table><tbody><tr><td><dl><dt><a href="class_webdriver_WebDriver_Logs.html">webdriver.WebDriver.Logs</a><dd>Interface for managing WebDriver log records.<dt><a href="class_webdriver_WebDriver_Navigation.html">webdriver.WebDriver.Navigation</a><dd>Interface for navigating back and forth in the browser history.<dt><a href="class_webdriver_WebDriver_Options.html">webdriver.WebDriver.Options</a><dd>Provides methods for managing browser and driver state.<dt><a href="class_webdriver_WebDriver_TargetLocator.html">webdriver.WebDriver.TargetLocator</a><dd>An interface for changing the focus of the driver to another frame or window.<dt><a href="class_webdriver_WebDriver_Timeouts.html">webdriver.WebDriver.Timeouts</a><dd>An interface for managing timeout behavior for WebDriver instances.<dt><a href="class_webdriver_WebDriver_Window.html">webdriver.WebDriver.Window</a><dd>An interface for managing the current window.</dl></table></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l357">code &raquo;</a><span class="member"><a name="actions">actions</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_ActionSequence.html">webdriver.ActionSequence</a></code></span></div><p>Creates a new action sequence using this driver. The sequence will not be
scheduled for execution until <code class="type"><a href="class_webdriver_ActionSequence.html#perform">webdriver.ActionSequence#perform</a></code> is
called. Example:
<pre><code>
driver.actions().
mouseDown(element1).
mouseMove(element2).
mouseUp().
perform();
</code></pre></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A new action sequence for this instance.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l514">code &raquo;</a><code class="type">&lt;T&gt;</code> <span class="member"><a name="call">call</a> <span class="args">( fn, opt_scope, var_args )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;T&gt;</code></span></div><p>Schedules a command to execute a custom function.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>fn: <code class="type">function(...): (T|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;T&gt;)</code><dd>The function to
execute.<dt>opt_scope: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>=</code><dd>The object in whose scope to execute the function.<dt>var_args: <code class="type">...*</code><dd>Any arguments to pass to the function.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved'
with the function's result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l602">code &raquo;</a><span class="member"><a name="close">close</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to close the current window.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when this command has completed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l247">code &raquo;</a><span class="member"><a name="controlFlow">controlFlow</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The control flow used by this
instance.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l492">code &raquo;</a><code class="type">&lt;T&gt;</code> <span class="member"><a name="executeAsyncScript">executeAsyncScript</a> <span class="args">( script, var_args )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;T&gt;</code></span></div><p>Schedules a command to execute asynchronous JavaScript in the context of the
currently selected frame or window. The script fragment will be executed as
the body of an anonymous function. If the script is provided as a function
object, that function will be converted to a string for injection into the
target window.
Any arguments provided in addition to the script will be included as script
arguments and may be referenced using the <code >arguments</code> object.
Arguments may be a boolean, number, string, or <code >webdriver.WebElement</code>.
Arrays and objects may also be used as script arguments as long as each item
adheres to the types previously mentioned.
Unlike executing synchronous JavaScript with
<code >webdriver.WebDriver.prototype.executeScript</code>, scripts executed with
this function must explicitly signal they are finished by invoking the
provided callback. This callback will always be injected into the
executed function as the last argument, and thus may be referenced with
<code >arguments[arguments.length - 1]</code>. The following steps will be taken
for resolving this functions return value against the first argument to the
script's callback function:
<ul>
<li>For a HTML element, the value will resolve to a
<code >webdriver.WebElement</code></li>
<li>Null and undefined return values will resolve to null</li>
<li>Booleans, numbers, and strings will resolve as is</li>
<li>Functions will resolve to their string representation</li>
<li>For arrays and objects, each member item will be converted according to
the rules above</li>
</ul>
Example #1: Performing a sleep that is synchronized with the currently
selected window:
<code><pre>
var start = new Date().getTime();
driver.executeAsyncScript(
'window.setTimeout(arguments[arguments.length - 1], 500);').
then(function() {
console.log('Elapsed time: ' + (new Date().getTime() - start) + ' ms');
});
</pre></code>
Example #2: Synchronizing a test with an AJAX application:
<code><pre>
var button = driver.findElement(By.id('compose-button'));
button.click();
driver.executeAsyncScript(
'var callback = arguments[arguments.length - 1];' +
'mailClient.getComposeWindowWidget().onload(callback);');
driver.switchTo().frame('composeWidget');
driver.findElement(By.id('to')).sendKEys('dog@example.com');
</pre></code>
Example #3: Injecting a XMLHttpRequest and waiting for the result. In this
example, the inject script is specified with a function literal. When using
this format, the function is converted to a string for injection, so it
should not reference any symbols not defined in the scope of the page under
test.
<code><pre>
driver.executeAsyncScript(function() {
var callback = arguments[arguments.length - 1];
var xhr = new XMLHttpRequest();
xhr.open("GET", "/resource/data.json", true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
callback(xhr.resposneText);
}
}
xhr.send('');
}).then(function(str) {
console.log(JSON.parse(str)['food']);
});
</pre></code></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>script: <code class="type">!(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>)</code><dd>The script to execute.<dt>var_args: <code class="type">...*</code><dd>The arguments to pass to the script.</dl><tr><th>Returns<tr><td><dl>A promise that will resolve to the
scripts return value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l400">code &raquo;</a><code class="type">&lt;T&gt;</code> <span class="member"><a name="executeScript">executeScript</a> <span class="args">( script, var_args )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;T&gt;</code></span></div><p>Schedules a command to execute JavaScript in the context of the currently
selected frame or window. The script fragment will be executed as the body
of an anonymous function. If the script is provided as a function object,
that function will be converted to a string for injection into the target
window.
Any arguments provided in addition to the script will be included as script
arguments and may be referenced using the <code >arguments</code> object.
Arguments may be a boolean, number, string, or <code >webdriver.WebElement</code>.
Arrays and objects may also be used as script arguments as long as each item
adheres to the types previously mentioned.
The script may refer to any variables accessible from the current window.
Furthermore, the script will execute in the window's context, thus
<code >document</code> may be used to refer to the current document. Any local
variables will not be available once the script has finished executing,
though global variables will persist.
If the script has a return value (i.e. if the script contains a return
statement), then the following steps will be taken for resolving this
functions return value:
<ul>
<li>For a HTML element, the value will resolve to a
<code >webdriver.WebElement</code></li>
<li>Null and undefined return values will resolve to null</li>
<li>Booleans, numbers, and strings will resolve as is</li>
<li>Functions will resolve to their string representation</li>
<li>For arrays and objects, each member item will be converted according to
the rules above</li>
</ul></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>script: <code class="type">!(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>)</code><dd>The script to execute.<dt>var_args: <code class="type">...*</code><dd>The arguments to pass to the script.</dl><tr><th>Returns<tr><td><dl>A promise that will resolve to the
scripts return value.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l754">code &raquo;</a><span class="member"><a name="findDomElement_">findDomElement_</a> <span class="args">( element )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="class_webdriver_WebElement.html">webdriver.WebElement</a>&gt;</code></span></div><p>Locates a DOM element so that commands may be issued against it using the
<code class="type"><a href="class_webdriver_WebElement.html">webdriver.WebElement</a></code> class. This is accomplished by storing a
reference to the element in an object on the element's ownerDocument.
<code class="type"><a class="unresolved-link">#executeScript</a></code> will then be used to create a WebElement from this
reference. This requires this driver to currently be focused on the
ownerDocument's window+frame.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>element: <code class="type">!<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614">Element</a></code><dd>The element to locate.</dl><tr><th>Returns<tr><td><dl>A promise that
will be fulfilled with the located element, or null if the element
could not be found.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l691">code &raquo;</a><span class="member"><a name="findElement">findElement</a> <span class="args">( locator )</span> &rArr; <code class="type">!<a href="class_webdriver_WebElement.html">webdriver.WebElement</a></code></span></div><p>Schedule a command to find an element on the page. If the element cannot be
found, a <code class="type"><a href="enum_bot_ErrorCode.html#bot.ErrorCode.NO_SUCH_ELEMENT">bot.ErrorCode.NO_SUCH_ELEMENT</a></code> result will be returned
by the driver. Unlike other commands, this error cannot be suppressed. In
other words, scheduling a command to find an element doubles as an assert
that the element is present on the page. To test whether an element is
present on the page, use <code class="type"><a class="unresolved-link">#isElementPresent</a></code> instead.
<p>The search criteria for an element may be defined using one of the
factories in the <code class="type"><a href="namespace_webdriver_By.html">webdriver.By</a></code> namespace, or as a short-hand
<code class="type"><a href="namespace_webdriver_By.html#webdriver.By.Hash">webdriver.By.Hash</a></code> object. For example, the following two statements
are equivalent:
<code><pre>
var e1 = driver.findElement(By.id('foo'));
var e2 = driver.findElement({id:'foo'});
</pre></code>
<p>You may also provide a custom locator function, which takes as input
this WebDriver instance and returns a <code class="type"><a href="class_webdriver_WebElement.html">webdriver.WebElement</a></code>, or a
promise that will resolve to a WebElement. For example, to find the first
visible link on a page, you could write:
<code><pre>
var link = driver.findElement(firstVisibleLink);
function firstVisibleLink(driver) {
var links = driver.findElements(By.tagName('a'));
return webdriver.promise.filter(links, function(link) {
return links.isDisplayed();
}).then(function(visibleLinks) {
return visibleLinks[0];
});
}
</pre></code>
<p>When running in the browser, a WebDriver cannot manipulate DOM elements
directly; it may do so only through a <code class="type"><a href="class_webdriver_WebElement.html">webdriver.WebElement</a></code> reference.
This function may be used to generate a WebElement from a DOM element. A
reference to the DOM element will be stored in a known location and this
driver will attempt to retrieve it through <code class="type"><a class="unresolved-link">#executeScript</a></code>. If the
element cannot be found (eg, it belongs to a different document than the
one this instance is currently focused on), a
<code class="type"><a href="enum_bot_ErrorCode.html#bot.ErrorCode.NO_SUCH_ELEMENT">bot.ErrorCode.NO_SUCH_ELEMENT</a></code> error will be returned.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>locator: <code class="type">!(<a href="class_webdriver_Locator.html">webdriver.Locator</a>|<a href="namespace_webdriver_By.html#webdriver.By.Hash">webdriver.By.Hash</a>|<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614">Element</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>)</code><dd>The
locator to use.</dl><tr><th>Returns<tr><td><dl>A WebElement that can be used to issue
commands against the located element. If the element is not found, the
element will be invalidated and all scheduled commands aborted.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l726">code &raquo;</a><span class="member"><a name="findElementInternal_">findElementInternal_</a> <span class="args">( locatorFn, context )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>locatorFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The locator function to use.<dt>context: <code class="type">!(<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a>|<a href="class_webdriver_WebElement.html">webdriver.WebElement</a>)</code><dd>The search
context.</dl><tr><th>Returns<tr><td><dl>A
promise that will resolve to a list of WebElements.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l818">code &raquo;</a><span class="member"><a name="findElements">findElements</a> <span class="args">( locator )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Schedule a command to search for multiple elements on the page.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>locator: <code class="type">!(<a href="class_webdriver_Locator.html">webdriver.Locator</a>|<a href="namespace_webdriver_By.html#webdriver.By.Hash">webdriver.By.Hash</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>)</code><dd>The locator
strategy to use when searching for the element.</dl><tr><th>Returns<tr><td><dl>A
promise that will resolve to an array of WebElements.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l839">code &raquo;</a><span class="member"><a name="findElementsInternal_">findElementsInternal_</a> <span class="args">( locatorFn, context )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>locatorFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The locator function to use.<dt>context: <code class="type">!(<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a>|<a href="class_webdriver_WebElement.html">webdriver.WebElement</a>)</code><dd>The search
context.</dl><tr><th>Returns<tr><td><dl>A
promise that will resolve to an array of WebElements.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l614">code &raquo;</a><span class="member"><a name="get">get</a> <span class="args">( url )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to navigate to the given URL.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>url: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The fully qualified URL to open.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the document has finished loading.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l575">code &raquo;</a><span class="member"><a name="getAllWindowHandles">getAllWindowHandles</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Schedules a command to retrieve the current list of available window handles.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will
be resolved with an array of window handles.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l318">code &raquo;</a><span class="member"><a name="getCapabilities">getCapabilities</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise
that will resolve with the this instance's capabilities.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l624">code &raquo;</a><span class="member"><a name="getCurrentUrl">getCurrentUrl</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Schedules a command to retrieve the URL of the current page.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with the current URL.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l590">code &raquo;</a><span class="member"><a name="getPageSource">getPageSource</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Schedules a command to retrieve the current page's source. The page source
returned is a representation of the underlying DOM: do not expect it to be
formatted or escaped in the same way as the response sent from the web
server.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with the current page source.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l309">code &raquo;</a><span class="member"><a name="getSession">getSession</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise for this
client's session.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l636">code &raquo;</a><span class="member"><a name="getTitle">getTitle</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Schedules a command to retrieve the current page's title.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with the current page's title.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l563">code &raquo;</a><span class="member"><a name="getWindowHandle">getWindowHandle</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Schedules a command to retrieve they current window handle.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with the current window handle.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l798">code &raquo;</a><span class="member"><a name="isElementPresent">isElementPresent</a> <span class="args">( locatorOrElement )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>&gt;</code></span></div><p>Schedules a command to test if an element is present on the page.
<p>If given a DOM element, this function will check if it belongs to the
document the driver is currently focused on. Otherwise, the function will
test if at least one element can be found with the given search criteria.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>locatorOrElement: <code class="type">!(<a href="class_webdriver_Locator.html">webdriver.Locator</a>|<a href="namespace_webdriver_By.html#webdriver.By.Hash">webdriver.By.Hash</a>|<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-745549614">Element</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>)</code><dd>The locator to use, or the actual
DOM element to be located by the server.</dl><tr><th>Returns<tr><td><dl>A promise that will resolve
with whether the element is present on the page.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l880">code &raquo;</a><span class="member"><a name="manage">manage</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_WebDriver_Options.html">webdriver.WebDriver.Options</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The options interface for this
instance.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l889">code &raquo;</a><span class="member"><a name="navigate">navigate</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_WebDriver_Navigation.html">webdriver.WebDriver.Navigation</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The navigation interface for this
instance.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l332">code &raquo;</a><span class="member"><a name="quit">quit</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to quit the current session. After calling quit, this
instance will be invalidated and may no longer be used to issue commands
against the browser.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the command has completed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l261">code &raquo;</a><code class="type">&lt;T&gt;</code> <span class="member"><a name="schedule">schedule</a> <span class="args">( command, description )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;T&gt;</code></span></div><p>Schedules a <code >webdriver.Command</code> to be executed by this driver's
<code >webdriver.CommandExecutor</code>.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>command: <code class="type">!<a href="class_webdriver_Command.html">webdriver.Command</a></code><dd>The command to schedule.<dt>description: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>A description of the command for debugging.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
with the command result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l553">code &raquo;</a><span class="member"><a name="sleep">sleep</a> <span class="args">( ms )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to make the driver sleep for the given amount of time.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>ms: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The amount of time, in milliseconds, to sleep.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the sleep has finished.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l898">code &raquo;</a><span class="member"><a name="switchTo">switchTo</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_WebDriver_TargetLocator.html">webdriver.WebDriver.TargetLocator</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The target locator interface for
this instance.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l870">code &raquo;</a><span class="member"><a name="takeScreenshot">takeScreenshot</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Schedule a command to take a screenshot. The driver makes a best effort to
return a screenshot of the following, in order of preference:
<ol>
<li>Entire page
<li>Current window
<li>Visible portion of the current frame
<li>The screenshot of the entire display containing the browser
</ol></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved to the screenshot as a base-64 encoded PNG.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l542">code &raquo;</a><span class="member"><a name="wait">wait</a> <span class="args">( fn, timeout, opt_message )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Schedules a command to wait for a condition to hold, as defined by some
user supplied function. If any errors occur while evaluating the wait, they
will be allowed to propagate.
<p>In the event a condition returns a <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code>, the
polling loop will wait for it to be resolved and use the resolved value for
evaluating whether the condition has been satisfied. The resolution time for
a promise is factored into whether a wait has timed out.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>fn: <code class="type">function(): <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code><dd>The function to evaluate as a wait condition.<dt>timeout: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>How long to wait for the condition to be true.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>An optional message to use if the wait times
out.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved when the
wait condition has been satisfied.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l80">code &raquo;</a><span class="member"><a name="executor_">executor_</a> : <code class="type">!<a href="interface_webdriver_CommandExecutor.html">webdriver.CommandExecutor</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l83">code &raquo;</a><span class="member"><a name="flow_">flow_</a> : <code class="type">!<a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l77">code &raquo;</a><span class="member"><a name="session_">session_</a> : <code class="type">!(<a href="class_webdriver_Session.html">webdriver.Session</a>|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>)</code></span></div></summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l130">code &raquo;</a><span class="member"><a name="webdriver.WebDriver.acquireSession_">webdriver.WebDriver.acquireSession_</a> <span class="args">( executor, command, description )</span> &rArr; <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div><p>Sends a command to the server that is expected to return the details for a
<code class="type"><a href="class_webdriver_Session.html">webdriver.Session</a></code>. This may either be an existing session, or a
newly created one.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>executor: <code class="type">!<a href="interface_webdriver_CommandExecutor.html">webdriver.CommandExecutor</a></code><dd>Command executor to use when
querying for session details.<dt>command: <code class="type">!<a href="class_webdriver_Command.html">webdriver.Command</a></code><dd>The command to send to fetch the session
details.<dt>description: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>A descriptive debug label for this action.</dl><tr><th>Returns<tr><td><dl>A new WebDriver client for the session.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l94">code &raquo;</a><span class="member"><a name="webdriver.WebDriver.attachToSession">webdriver.WebDriver.attachToSession</a> <span class="args">( executor, sessionId )</span> &rArr; <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div><p>Creates a new WebDriver client for an existing session.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>executor: <code class="type">!<a href="interface_webdriver_CommandExecutor.html">webdriver.CommandExecutor</a></code><dd>Command executor to use when
querying for session details.<dt>sessionId: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>ID of the session to attach to.</dl><tr><th>Returns<tr><td><dl>A new client for the specified session.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l110">code &raquo;</a><span class="member"><a name="webdriver.WebDriver.createSession">webdriver.WebDriver.createSession</a> <span class="args">( executor, desiredCapabilities )</span> &rArr; <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div><p>Creates a new WebDriver session.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>executor: <code class="type">!<a href="interface_webdriver_CommandExecutor.html">webdriver.CommandExecutor</a></code><dd>The executor to create the new
session with.<dt>desiredCapabilities: <code class="type">!<a href="class_webdriver_Capabilities.html">webdriver.Capabilities</a></code><dd>The desired
capabilities for the new session.</dl><tr><th>Returns<tr><td><dl>The driver for the newly created session.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l232">code &raquo;</a><span class="member"><a name="webdriver.WebDriver.executeCommand_">webdriver.WebDriver.executeCommand_</a> <span class="args">( executor, command )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Translates a command to its wire-protocol representation before passing it
to the given <code >executor</code> for execution.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>executor: <code class="type">!<a href="interface_webdriver_CommandExecutor.html">webdriver.CommandExecutor</a></code><dd>The executor to use.<dt>command: <code class="type">!<a href="class_webdriver_Command.html">webdriver.Command</a></code><dd>The command to execute.</dl><tr><th>Returns<tr><td><dl>A promise that will resolve with the
command response.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l206">code &raquo;</a><span class="member"><a name="webdriver.WebDriver.fromWireValue_">webdriver.WebDriver.fromWireValue_</a> <span class="args">( driver, value )</span> &rArr; <code class="type">*</code></span></div><p>Converts a value from its JSON representation according to the WebDriver wire
protocol. Any JSON object containing a
<code >webdriver.WebElement.ELEMENT_KEY</code> key will be decoded to a
<code >webdriver.WebElement</code> object. All other values will be passed through
as is.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>driver: <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code><dd>The driver instance to use as the
parent of any unwrapped <code >webdriver.WebElement</code> values.<dt>value: <code class="type">*</code><dd>The value to convert.</dl><tr><th>Returns<tr><td><dl>The converted value.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l162">code &raquo;</a><span class="member"><a name="webdriver.WebDriver.toWireValue_">webdriver.WebDriver.toWireValue_</a> <span class="args">( obj )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Converts an object to its JSON representation in the WebDriver wire protocol.
When converting values of type object, the following steps will be taken:
<ol>
<li>if the object provides a "toWireValue" function, the return value will
be returned in its fully resolved state (e.g. this function may return
promise values)</li>
<li>if the object provides a "toJSON" function, the return value of this
function will be returned</li>
<li>otherwise, the value of each key will be recursively converted according
to the rules above.</li>
</ol></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>obj: <code class="type">*</code><dd>The object to convert.</dl><tr><th>Returns<tr><td><dl>A promise that will resolve to the
input value's JSON representation.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,10 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.WebDriver.Logs</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.WebDriver.Logs</h1><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1312">code &raquo;</a></header><section><p>Interface for managing WebDriver log records.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.WebDriver.Logs <span class="args">( driver )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>driver: <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code><dd>The parent driver.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1333">code &raquo;</a><span class="member"><a name="get">get</a> <span class="args">( type )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Fetches available log entries for the given type.
<p/>Note that log buffers are reset after each call, meaning that
available log entries correspond to those entries not yet returned for a
given log type. In practice, this means that this call will return the
available log entries since the last call, or from the start of the
session.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type">!<a href="enum_webdriver_logging_Type.html">webdriver.logging.Type</a></code><dd>The desired log type.</dl><tr><th>Returns<tr><td><dl>A
promise that will resolve to a list of log entries for the specified
type.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1355">code &raquo;</a><span class="member"><a name="getAvailableLogTypes">getAvailableLogTypes</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Retrieves the log types available to this driver.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A
promise that will resolve to a list of available log types.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1315">code &raquo;</a><span class="member"><a name="driver_">driver_</a> : <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,5 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.WebDriver.Navigation</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.WebDriver.Navigation</h1><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l909">code &raquo;</a></header><section><p>Interface for navigating back and forth in the browser history.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.WebDriver.Navigation <span class="args">( driver )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>driver: <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code><dd>The parent driver.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l935">code &raquo;</a><span class="member"><a name="back">back</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to move backwards in the browser history.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the navigation event has completed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l947">code &raquo;</a><span class="member"><a name="forward">forward</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to move forwards in the browser history.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the navigation event has completed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l959">code &raquo;</a><span class="member"><a name="refresh">refresh</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to refresh the current page.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the navigation event has completed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l922">code &raquo;</a><span class="member"><a name="to">to</a> <span class="args">( url )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to navigate to a new URL.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>url: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The URL to navigate to.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the URL has been loaded.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l912">code &raquo;</a><span class="member"><a name="driver_">driver_</a> : <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,17 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.WebDriver.Options</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.WebDriver.Options</h1><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l972">code &raquo;</a></header><section><p>Provides methods for managing browser and driver state.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.WebDriver.Options <span class="args">( driver )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>driver: <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code><dd>The parent driver.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="typedefs"><h2>Type Definitions</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l991">code &raquo;</a><a class="member" name="webdriver.WebDriver.Options.Cookie">webdriver.WebDriver.Options.Cookie</a> : <code class="type">{name: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>, value: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>, path: (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined">undefined</a>), domain: (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined">undefined</a>), secure: (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined">undefined</a>), expiry: (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined">undefined</a>)}</code></div><div>A JSON description of a browser cookie.</div></summary></details></div></div></section><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1006">code &raquo;</a><span class="member"><a name="addCookie">addCookie</a> <span class="args">( name, value, opt_path, opt_domain, opt_isSecure, opt_expiry )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to add a cookie.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>name: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The cookie name.<dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The cookie value.<dt>opt_path: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>The cookie path.<dt>opt_domain: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>The cookie domain.<dt>opt_isSecure: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>=</code><dd>Whether the cookie is secure.<dt>opt_expiry: <code class="type">(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>|!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Date">Date</a>)=</code><dd>When the cookie expires. If specified as
a number, should be in milliseconds since midnight, January 1, 1970 UTC.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the cookie has been added to the page.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1056">code &raquo;</a><span class="member"><a name="deleteAllCookies">deleteAllCookies</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to delete all cookies visible to the current page.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when all cookies have been deleted.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1071">code &raquo;</a><span class="member"><a name="deleteCookie">deleteCookie</a> <span class="args">( name )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to delete the cookie with the given name. This command is
a no-op if there is no cookie with the given name visible to the current
page.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>name: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The name of the cookie to delete.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the cookie has been deleted.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1105">code &raquo;</a><span class="member"><a name="getCookie">getCookie</a> <span class="args">( name )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Schedules a command to retrieve the cookie with the given name. Returns null
if there is no such cookie. The cookie will be returned as a JSON object as
described by the WebDriver wire protocol.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>name: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The name of the cookie to retrieve.</dl><tr><th>Returns<tr><td><dl>A
promise that will be resolved with the named cookie, or <code >null</code>
if there is no such cookie.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1088">code &raquo;</a><span class="member"><a name="getCookies">getCookies</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Schedules a command to retrieve all cookies visible to the current page.
Each cookie will be returned as a JSON object as described by the WebDriver
wire protocol.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with the cookies visible to the current page.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1118">code &raquo;</a><span class="member"><a name="logs">logs</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_WebDriver_Logs.html">webdriver.WebDriver.Logs</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The interface for managing driver
logs.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1127">code &raquo;</a><span class="member"><a name="timeouts">timeouts</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_WebDriver_Timeouts.html">webdriver.WebDriver.Timeouts</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The interface for managing driver
timeouts.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1136">code &raquo;</a><span class="member"><a name="window">window</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_WebDriver_Window.html">webdriver.WebDriver.Window</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The interface for managing the
current window.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l975">code &raquo;</a><span class="member"><a name="driver_">driver_</a> : <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,27 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.WebDriver.TargetLocator</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.WebDriver.TargetLocator</h1><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1368">code &raquo;</a></header><section><p>An interface for changing the focus of the driver to another frame or window.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.WebDriver.TargetLocator <span class="args">( driver )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>driver: <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code><dd>The parent driver.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1381">code &raquo;</a><span class="member"><a name="activeElement">activeElement</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_WebElement.html">webdriver.WebElement</a></code></span></div><p>Schedules a command retrieve the <code >document.activeElement</code> element on
the current document, or <code >document.body</code> if activeElement is not
available.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The active element.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1455">code &raquo;</a><span class="member"><a name="alert">alert</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_Alert.html">webdriver.Alert</a></code></span></div><p>Schedules a command to change focus to the active alert dialog. This command
will return a <code class="type"><a href="enum_bot_ErrorCode.html#bot.ErrorCode.NO_MODAL_DIALOG_OPEN">bot.ErrorCode.NO_MODAL_DIALOG_OPEN</a></code> error if a modal
dialog is not currently open.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The open alert.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1395">code &raquo;</a><span class="member"><a name="defaultContent">defaultContent</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to switch focus of all future commands to the first frame
on the page.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the driver has changed focus to the default content.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1421">code &raquo;</a><span class="member"><a name="frame">frame</a> <span class="args">( nameOrIndex )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to switch the focus of all future commands to another
frame on the page.
<p/>
If the frame is specified by a number, the command will switch to the frame
by its (zero-based) index into the <code >window.frames</code> collection.
<p/>
If the frame is specified by a string, the command will select the frame by
its name or ID. To select sub-frames, simply separate the frame names/IDs by
dots. As an example, "main.child" will select the frame with the name "main"
and then its child "child".
<p/>
If the specified frame can not be found, the deferred result will errback
with a <code >bot.ErrorCode.NO_SUCH_FRAME</code> error.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>nameOrIndex: <code class="type">(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>)</code><dd>The frame locator.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the driver has changed focus to the specified frame.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1441">code &raquo;</a><span class="member"><a name="window">window</a> <span class="args">( nameOrHandle )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to switch the focus of all future commands to another
window. Windows may be specified by their <code >window.name</code> attribute or
by its handle (as returned by <code >webdriver.WebDriver#getWindowHandles</code>).
<p/>
If the specificed window can not be found, the deferred result will errback
with a <code >bot.ErrorCode.NO_SUCH_WINDOW</code> error.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>nameOrHandle: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The name or window handle of the window to
switch focus to.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the driver has changed focus to the specified window.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1371">code &raquo;</a><span class="member"><a name="driver_">driver_</a> : <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,21 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.WebDriver.Timeouts</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.WebDriver.Timeouts</h1><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1147">code &raquo;</a></header><section><p>An interface for managing timeout behavior for WebDriver instances.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.WebDriver.Timeouts <span class="args">( driver )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>driver: <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code><dd>The parent driver.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1175">code &raquo;</a><span class="member"><a name="implicitlyWait">implicitlyWait</a> <span class="args">( ms )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Specifies the amount of time the driver should wait when searching for an
element if it is not immediately present.
<p/>
When searching for a single element, the driver should poll the page
until the element has been found, or this timeout expires before failing
with a <code >bot.ErrorCode.NO_SUCH_ELEMENT</code> error. When searching
for multiple elements, the driver should poll the page until at least one
element has been found or this timeout has expired.
<p/>
Setting the wait timeout to 0 (its default value), disables implicit
waiting.
<p/>
Increasing the implicit wait timeout should be used judiciously as it
will have an adverse effect on test run time, especially when used with
slower location strategies like XPath.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>ms: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The amount of time to wait, in milliseconds.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the implicit wait timeout has been set.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1207">code &raquo;</a><span class="member"><a name="pageLoadTimeout">pageLoadTimeout</a> <span class="args">( ms )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Sets the amount of time to wait for a page load to complete before returning
an error. If the timeout is negative, page loads may be indefinite.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>ms: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The amount of time to wait, in milliseconds.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the timeout has been set.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1192">code &raquo;</a><span class="member"><a name="setScriptTimeout">setScriptTimeout</a> <span class="args">( ms )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Sets the amount of time to wait, in milliseconds, for an asynchronous script
to finish execution before returning an error. If the timeout is less than or
equal to 0, the script will be allowed to run indefinitely.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>ms: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The amount of time to wait, in milliseconds.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the script timeout has been set.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1150">code &raquo;</a><span class="member"><a name="driver_">driver_</a> : <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,11 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.WebDriver.Window</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.WebDriver.Window</h1><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1222">code &raquo;</a></header><section><p>An interface for managing the current window.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.WebDriver.Window <span class="args">( driver )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>driver: <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code><dd>The parent driver.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1236">code &raquo;</a><span class="member"><a name="getPosition">getPosition</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Retrieves the window's current position, relative to the top left corner of
the screen.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that
will be resolved with the window's position in the form of a
{x:number, y:number} object literal.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1269">code &raquo;</a><span class="member"><a name="getSize">getSize</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Retrieves the window's current size.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A
promise that will be resolved with the window's size in the form of a
{width:number, height:number} object literal.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1299">code &raquo;</a><span class="member"><a name="maximize">maximize</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Maximizes the current window.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the command has completed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1253">code &raquo;</a><span class="member"><a name="setPosition">setPosition</a> <span class="args">( x, y )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Repositions the current window.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>x: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The desired horizontal position, relative to the left side
of the screen.<dt>y: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The desired vertical position, relative to the top of the
of the screen.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the command has completed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1284">code &raquo;</a><span class="member"><a name="setSize">setSize</a> <span class="args">( width, height )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Resizes the current window.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>width: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The desired window width.<dt>height: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The desired window height.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the command has completed.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1225">code &raquo;</a><span class="member"><a name="driver_">driver_</a> : <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,231 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.WebElement</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.WebElement</h1><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1526">code &raquo;</a><pre><code>webdriver.promise.Promise.&lt;(T|null)&gt;
&#x2514; <a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a>
&#x2514; webdriver.WebElement</code></pre></header><section><p>Represents a DOM element. WebElements can be found by searching from the
document root using a <code >webdriver.WebDriver</code> instance, or by searching
under another <code >webdriver.WebElement</code>:
<pre><code>
driver.get('http://www.google.com');
var searchForm = driver.findElement(By.tagName('form'));
var searchBox = searchForm.findElement(By.name('q'));
searchBox.sendKeys('webdriver');
</code></pre>
The WebElement is implemented as a promise for compatibility with the promise
API. It will always resolve itself when its internal state has been fully
resolved and commands may be issued against the element. This can be used to
catch errors when an element cannot be located on the page:
<pre><code>
driver.findElement(By.id('not-there')).then(function(element) {
alert('Found an element that was not expected to be there!');
}, function(error) {
alert('The element was not found, as expected');
});
</code></pre><h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.WebElement <span class="args">( driver, id )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>driver: <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code><dd>The parent WebDriver instance for this
element.<dt>id: <code class="type">!(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>)</code><dd>Either the opaque ID for the
underlying DOM element assigned by the server, or a promise that will
resolve to that ID or another WebElement.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="typedefs"><h2>Type Definitions</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1573">code &raquo;</a><a class="member" name="webdriver.WebElement.Id">webdriver.WebElement.Id</a> : <code class="type">{ELEMENT: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>}</code></div><div>Wire protocol definition of a WebElement ID.</div></summary></details></div></div></section><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">webdriver.WebElement</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1973">code &raquo;</a><span class="member"><a name="clear">clear</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to clear the <code >value</code> of this element. This command
has no effect if the underlying DOM element is neither a text INPUT element
nor a TEXTAREA element.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the element has been cleared.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1750">code &raquo;</a><span class="member"><a name="click">click</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to click on this element.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the click command has completed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1690">code &raquo;</a><span class="member"><a name="findElement">findElement</a> <span class="args">( locator )</span> &rArr; <code class="type">!<a href="class_webdriver_WebElement.html">webdriver.WebElement</a></code></span></div><p>Schedule a command to find a descendant of this element. If the element
cannot be found, a <code >bot.ErrorCode.NO_SUCH_ELEMENT</code> result will
be returned by the driver. Unlike other commands, this error cannot be
suppressed. In other words, scheduling a command to find an element doubles
as an assert that the element is present on the page. To test whether an
element is present on the page, use <code >#isElementPresent</code> instead.
<p>The search criteria for an element may be defined using one of the
factories in the <code class="type"><a href="namespace_webdriver_By.html">webdriver.By</a></code> namespace, or as a short-hand
<code class="type"><a href="namespace_webdriver_By.html#webdriver.By.Hash">webdriver.By.Hash</a></code> object. For example, the following two statements
are equivalent:
<code><pre>
var e1 = element.findElement(By.id('foo'));
var e2 = element.findElement({id:'foo'});
</pre></code>
<p>You may also provide a custom locator function, which takes as input
this WebDriver instance and returns a <code class="type"><a href="class_webdriver_WebElement.html">webdriver.WebElement</a></code>, or a
promise that will resolve to a WebElement. For example, to find the first
visible link on a page, you could write:
<code><pre>
var link = element.findElement(firstVisibleLink);
function firstVisibleLink(element) {
var links = element.findElements(By.tagName('a'));
return webdriver.promise.filter(links, function(link) {
return links.isDisplayed();
}).then(function(visibleLinks) {
return visibleLinks[0];
});
}
</pre></code></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>locator: <code class="type">!(<a href="class_webdriver_Locator.html">webdriver.Locator</a>|<a href="namespace_webdriver_By.html#webdriver.By.Hash">webdriver.By.Hash</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>)</code><dd>The
locator strategy to use when searching for the element.</dl><tr><th>Returns<tr><td><dl>A WebElement that can be used to issue
commands against the located element. If the element is not found, the
element will be invalidated and all scheduled commands aborted.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1731">code &raquo;</a><span class="member"><a name="findElements">findElements</a> <span class="args">( locator )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Schedules a command to find all of the descendants of this element that
match the given search criteria.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>locator: <code class="type">!(<a href="class_webdriver_Locator.html">webdriver.Locator</a>|<a href="namespace_webdriver_By.html#webdriver.By.Hash">webdriver.By.Hash</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>)</code><dd>The
locator strategy to use when searching for the elements.</dl><tr><th>Returns<tr><td><dl>A
promise that will resolve to an array of WebElements.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1879">code &raquo;</a><span class="member"><a name="getAttribute">getAttribute</a> <span class="args">( attributeName )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Schedules a command to query for the value of the given attribute of the
element. Will return the current value, even if it has been modified after
the page has been loaded. More exactly, this method will return the value of
the given attribute, unless that attribute is not present, in which case the
value of the property with the same name is returned. If neither value is
set, null is returned (for example, the "value" property of a textarea
element). The "style" attribute is converted as best can be to a
text representation with a trailing semi-colon. The following are deemed to
be "boolean" attributes and will return either "true" or null:
<p>async, autofocus, autoplay, checked, compact, complete, controls, declare,
defaultchecked, defaultselected, defer, disabled, draggable, ended,
formnovalidate, hidden, indeterminate, iscontenteditable, ismap, itemscope,
loop, multiple, muted, nohref, noresize, noshade, novalidate, nowrap, open,
paused, pubdate, readonly, required, reversed, scoped, seamless, seeking,
selected, spellcheck, truespeed, willvalidate
<p>Finally, the following commonly mis-capitalized attribute/property names
are evaluated as expected:
<ul>
<li>"class"
<li>"readonly"
</ul></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>attributeName: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The name of the attribute to query.</dl><tr><th>Returns<tr><td><dl>A promise that will be
resolved with the attribute's value. The returned value will always be
either a string or null.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1841">code &raquo;</a><span class="member"><a name="getCssValue">getCssValue</a> <span class="args">( cssStyleProperty )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Schedules a command to query for the computed style of the element
represented by this instance. If the element inherits the named style from
its parent, the parent will be queried for its value. Where possible, color
values will be converted to their hex representation (e.g. #00ff00 instead of
rgb(0, 255, 0)).
<p/>
<em>Warning:</em> the value returned will be as the browser interprets it, so
it may be tricky to form a proper assertion.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>cssStyleProperty: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The name of the CSS style property to look
up.</dl><tr><th>Returns<tr><td><dl>A promise that will be
resolved with the requested CSS value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1616">code &raquo;</a><span class="member"><a name="getDriver">getDriver</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The parent driver for this instance.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l2016">code &raquo;</a><span class="member"><a name="getInnerHtml">getInnerHtml</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Schedules a command to retrieve the inner HTML of this element.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with the element's inner HTML.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1920">code &raquo;</a><span class="member"><a name="getLocation">getLocation</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Schedules a command to compute the location of this element in page space.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that
will be resolved to the element's location as a
<code >{x:number, y:number}</code> object.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1997">code &raquo;</a><span class="member"><a name="getOuterHtml">getOuterHtml</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Schedules a command to retrieve the outer HTML of this element.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with the element's outer HTML.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1907">code &raquo;</a><span class="member"><a name="getSize">getSize</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Schedules a command to compute the size of this element's bounding box, in
pixels.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A
promise that will be resolved with the element's size as a
<code >{width:number, height:number}</code> object.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1819">code &raquo;</a><span class="member"><a name="getTagName">getTagName</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Schedules a command to query for the tag/node name of this element.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with the element's tag name.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1893">code &raquo;</a><span class="member"><a name="getText">getText</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Get the visible (i.e. not hidden by CSS) innerText of this element, including
sub-elements, without any leading or trailing whitespace.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with the element's visible text.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1985">code &raquo;</a><span class="member"><a name="isDisplayed">isDisplayed</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>&gt;</code></span></div><p>Schedules a command to test whether this element is currently displayed.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with whether this element is currently visible on the page.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1715">code &raquo;</a><span class="member"><a name="isElementPresent">isElementPresent</a> <span class="args">( locator )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>&gt;</code></span></div><p>Schedules a command to test if there is at least one descendant of this
element that matches the given search criteria.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>locator: <code class="type">!(<a href="class_webdriver_Locator.html">webdriver.Locator</a>|<a href="namespace_webdriver_By.html#webdriver.By.Hash">webdriver.By.Hash</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>)</code><dd>The
locator strategy to use when searching for the element.</dl><tr><th>Returns<tr><td><dl>A promise that will be
resolved with whether an element could be located on the page.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1933">code &raquo;</a><span class="member"><a name="isEnabled">isEnabled</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>&gt;</code></span></div><p>Schedules a command to query whether the DOM element represented by this
instance is enabled, as dicted by the <code >disabled</code> attribute.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with whether this element is currently enabled.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1945">code &raquo;</a><span class="member"><a name="isSelected">isSelected</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>&gt;</code></span></div><p>Schedules a command to query whether this element is selected.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be
resolved with whether this element is currently selected.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1644">code &raquo;</a><code class="type">&lt;T&gt;</code> <span class="member"><a name="schedule_">schedule_</a> <span class="args">( command, description )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;T&gt;</code></span></div><p>Schedules a command that targets this element with the parent WebDriver
instance. Will ensure this element's ID is included in the command parameters
under the "id" key.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>command: <code class="type">!<a href="class_webdriver_Command.html">webdriver.Command</a></code><dd>The command to schedule.<dt>description: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>A description of the command for debugging.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
with the command result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1797">code &raquo;</a><span class="member"><a name="sendKeys">sendKeys</a> <span class="args">( var_args )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to type a sequence on the DOM element represented by this
instance.
<p/>
Modifier keys (SHIFT, CONTROL, ALT, META) are stateful; once a modifier is
processed in the keysequence, that key state is toggled until one of the
following occurs:
<ul>
<li>The modifier key is encountered again in the sequence. At this point the
state of the key is toggled (along with the appropriate keyup/down events).
</li>
<li>The <code >webdriver.Key.NULL</code> key is encountered in the sequence. When
this key is encountered, all modifier keys current in the down state are
released (with accompanying keyup events). The NULL key can be used to
simulate common keyboard shortcuts:
<code><pre>
element.sendKeys("text was",
webdriver.Key.CONTROL, "a", webdriver.Key.NULL,
"now text is");
// Alternatively:
element.sendKeys("text was",
webdriver.Key.chord(webdriver.Key.CONTROL, "a"),
"now text is");
</pre></code></li>
<li>The end of the keysequence is encountered. When there are no more keys
to type, all depressed modifier keys are released (with accompanying keyup
events).
</li>
</ul>
<strong>Note:</strong> On browsers where native keyboard events are not yet
supported (e.g. Firefox on OS X), key events will be synthesized. Special
punctionation keys will be synthesized according to a standard QWERTY en-us
keyboard layout.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>var_args: <code class="type">...<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The sequence of keys to
type. All arguments will be joined into a single sequence (var_args is
permitted for convenience).</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
when all keys have been typed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1959">code &raquo;</a><span class="member"><a name="submit">submit</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;void&gt;</code></span></div><p>Schedules a command to submit the form containing this element (or this
element if it is a FORM element). This command is a no-op if the element is
not contained in a form.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise that will be resolved
when the form has been submitted.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1627">code &raquo;</a><span class="member"><a name="toWireValue">toWireValue</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="class_webdriver_WebElement.html#webdriver.WebElement.Id">webdriver.WebElement.Id</a>&gt;</code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A promise
that resolves to this element's JSON representation as defined by the
WebDriver wire protocol.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l464">code &raquo;</a><span class="member"><a name="errback">errback</a> <span class="args">( opt_error )</span></span></div><p>Rejects this promise. If the error is itself a promise, this instance will
be chained to it and be rejected with the error's resolved value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_error: <code class="type">*=</code><dd>The rejection reason, typically either a
<code >Error</code> or a <code >string</code>.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l463">code &raquo;</a><span class="member"><a name="fulfill">fulfill</a> <span class="args">( opt_value )</span></span></div><p>Resolves this promise with the given value. If the value is itself a
promise and not a reference to this deferred, this instance will wait for
it before resolving.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_value: <code class="type">T=</code><dd>The fulfilled value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l464">code &raquo;</a><span class="member"><a name="reject">reject</a> <span class="args">( opt_error )</span></span></div><p>Rejects this promise. If the error is itself a promise, this instance will
be chained to it and be rejected with the error's resolved value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_error: <code class="type">*=</code><dd>The rejection reason, typically either a
<code >Error</code> or a <code >string</code>.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l469">code &raquo;</a><span class="member"><a name="removeAll">removeAll</a> <span class="args">( )</span></span></div><p>Removes all of the listeners previously registered on this deferred.</summary><div class="info"><table><tbody><tr><th>Throws<tr><td><dl><dt><code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a></code><dd>If this deferred has already been resolved.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Promise.html#webdriver.promise.Promise.&lt;(T|null)&gt;">webdriver.promise.Promise.&lt;(T|null)&gt;</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l87">code &raquo;</a><span class="member"><a name="cancel">cancel</a> <span class="args">( reason )</span></span></div><p>Cancels the computation of this promise's value, rejecting the promise in the
process.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>reason: <code class="type">*</code><dd>The reason this promise is being cancelled. If not an
<code >Error</code>, one will be created using the value's string
representation.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l93">code &raquo;</a><span class="member"><a name="isPending">isPending</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether this promise's value is still being computed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l112">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="then">then</a> <span class="args">( opt_callback, opt_errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers listeners for when this instance is resolved. This function most
overridden by subtypes.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_callback: <code class="type">?(function(T): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is successfully resolved. The function
should expect a single argument: the promise's resolved value.<dt>opt_errback: <code class="type">?(function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is rejected. The function should expect
a single argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l142">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenCatch">thenCatch</a> <span class="args">( errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener for when this promise is rejected. This is synonymous
with the <code >catch</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} catch (ex) {
console.error(ex);
}
// Asynchronous promise API:
doAsynchronousWork().thenCatch(function(ex) {
console.error(ex);
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>errback: <code class="type">function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call if this promise is rejected. The function should expect a single
argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l186">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenFinally">thenFinally</a> <span class="args">( callback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener to invoke when this promise is resolved, regardless
of whether the promise's value was successfully computed. This function
is synonymous with the <code >finally</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} finally {
cleanUp();
}
// Asynchronous promise API:
doAsynchronousWork().thenFinally(cleanUp);
</code></pre>
<b>Note:</b> similar to the <code >finally</code> clause, if the registered
callback returns a rejected promise or throws an error, it will silently
replace the rejection error (if any) from this promise:
<pre><code>
try {
throw Error('one');
} finally {
throw Error('two'); // Hides Error: one
}
webdriver.promise.rejected(Error('one'))
.thenFinally(function() {
throw Error('two'); // Hides Error: one
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>callback: <code class="type">function(): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call when this promise is resolved.</dl><tr><th>Returns<tr><td><dl>A promise that will be fulfilled
with the callback result.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">webdriver.WebElement</code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1533">code &raquo;</a><span class="member"><a name="driver_">driver_</a> : <code class="type">!<a href="class_webdriver_WebDriver.html">webdriver.WebDriver</a></code></span></div><p>The parent WebDriver instance for this element.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1549">code &raquo;</a><span class="member"><a name="id_">id_</a> : <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="class_webdriver_WebElement.html#webdriver.WebElement.Id">webdriver.WebElement.Id</a>&gt;</code></span></div><p>A promise that resolves to the JSON representation of this WebElement's
ID, as defined by the WebDriver wire protocol.</summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l459">code &raquo;</a><span class="member"><a name="webdriver.promise.Deferred.prototype.promise">webdriver.promise.Deferred.prototype.promise</a> : <code class="type">webdriver.promise.Promise.<T></code></span></div><p>Represents the eventual value of a completed operation. Each promise may be
in one of three states: pending, resolved, or rejected. Each promise starts
in the pending state and may make a single transition to either a
fulfilled or failed state.
<p/>This class is based on the Promise/A proposal from CommonJS. Additional
functions are provided for API compatibility with Dojo Deferred objects.</summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1592">code &raquo;</a><span class="member"><a name="webdriver.WebElement.equals">webdriver.WebElement.equals</a> <span class="args">( a, b )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>&gt;</code></span></div><p>Compares to WebElements for equality.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>a: <code class="type">!<a href="class_webdriver_WebElement.html">webdriver.WebElement</a></code><dd>A WebElement.<dt>b: <code class="type">!<a href="class_webdriver_WebElement.html">webdriver.WebElement</a></code><dd>A WebElement.</dl><tr><th>Returns<tr><td><dl>A promise that will be
resolved to whether the two WebElements are equal.</dl></table></div></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1582">code &raquo;</a><span class="member"><a name="webdriver.WebElement.ELEMENT_KEY">webdriver.WebElement.ELEMENT_KEY</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>The property key used in the wire protocol to indicate that a JSON object
contains the ID of a WebElement.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1526">code &raquo;</a><span class="member"><a name="webdriver.WebElement.superClass_">webdriver.WebElement.superClass_</a> : <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,33 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.http.CorsClient</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.http.CorsClient</h1><a class="source" href="source/lib/webdriver/http/corsclient.js.src.html#l64">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_webdriver_http_Client.html">webdriver.http.Client</a></code></dl></header><section><p>Communicates with a WebDriver server, which may be on a different domain,
using the <a href="http://www.w3.org/TR/cors/">cross-origin resource sharing
</a> (CORS) extension to WebDriver's JSON wire protocol.
<p>Each command from the standard JSON protocol will be encoded in a
JSON object with the following form:
{method:string, path:string, data:!Object}
<p>The encoded command is then sent as a POST request to the server's /xdrpc
endpoint. The server will decode the command, re-route it to the appropriate
handler, and then return the command's response as a standard JSON response
object. The JSON responses will <em>always</em> be returned with a 200
response from the server; clients must rely on the response's "status" field
to determine whether the command succeeded.
<p>This client cannot be used with the standard wire protocol due to
limitations in the various browser implementations of the CORS specification:
<ul>
<li>IE's <a href="http://goo.gl/6l3kA">XDomainRequest</a> object is only
capable of generating the types of requests that may be generated through
a standard <a href="http://goo.gl/vgzAU">HTML form</a> - it can not send
DELETE requests, as is required in the wire protocol.
<li>WebKit's implementation of CORS does not follow the spec and forbids
redirects: https://bugs.webkit.org/show_bug.cgi?id=57600
This limitation appears to be intentional and is documented in WebKit's
Layout tests:
//LayoutTests/http/tests/xmlhttprequest/access-control-and-redirects.html
<li>If the server does not return a 2xx response, IE and Opera's
implementations will fire the XDomainRequest/XMLHttpRequest object's
onerror handler, but without the corresponding response text returned by
the server. This renders IE and Opera incapable of handling command
failures in the standard JSON protocol.
</ul><h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.http.CorsClient <span class="args">( url )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>url: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>URL for the WebDriver server to send commands to.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/http/corsclient.js.src.html#l96">code &raquo;</a><span class="member"><a name="send">send</a> <span class="args">( request, callback )</span></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>request<dt>callback</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/corsclient.js.src.html#l71">code &raquo;</a><span class="member"><a name="url_">url_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/http/corsclient.js.src.html#l88">code &raquo;</a><span class="member"><a name="webdriver.http.CorsClient.isAvailable">webdriver.http.CorsClient.isAvailable</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Tests whether the current environment supports cross-origin resource sharing.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether cross-origin resource sharing is supported.</dl></table></div></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/corsclient.js.src.html#l80">code &raquo;</a><span class="member"><a name="webdriver.http.CorsClient.XDRPC_ENDPOINT">webdriver.http.CorsClient.XDRPC_ENDPOINT</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>Resource URL to send commands to on the server.</summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,8 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.http.Executor</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.http.Executor</h1><a class="source" href="source/lib/webdriver/http/http.js.src.html#l65">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_webdriver_CommandExecutor.html">webdriver.CommandExecutor</a></code></dl></header><section><p>A command executor that communicates with a server using the WebDriver
command protocol.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.http.Executor <span class="args">( client )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>client: <code class="type">!<a href="interface_webdriver_http_Client.html">webdriver.http.Client</a></code><dd>The client to use when sending
requests to the server.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l76">code &raquo;</a><span class="member"><a name="execute">execute</a> <span class="args">( command, callback )</span></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>command<dt>callback</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l71">code &raquo;</a><span class="member"><a name="client_">client_</a> : <code class="type">!<a href="interface_webdriver_http_Client.html">webdriver.http.Client</a></code></span></div><p>Client used to communicate with the server.</summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l112">code &raquo;</a><span class="member"><a name="webdriver.http.Executor.buildPath_">webdriver.http.Executor.buildPath_</a> <span class="args">( path, parameters )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>Builds a fully qualified path using the given set of command parameters. Each
path segment prefixed with ':' will be replaced by the value of the
corresponding parameter. All parameters spliced into the path will be
removed from the parameter map.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>path: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The original resource path.<dt>parameters: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code><dd>The parameters object to splice into
the path.</dl><tr><th>Returns<tr><td><dl>The modified path.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l145">code &raquo;</a><span class="member"><a name="webdriver.http.Executor.parseHttpResponse_">webdriver.http.Executor.parseHttpResponse_</a> <span class="args">( httpResponse )</span> &rArr; <code class="type">!<a href="namespace_bot_response.html#bot.response.ResponseObject">bot.response.ResponseObject</a></code></span></div><p>Callback used to parse <code class="type"><a href="class_webdriver_http_Response.html">webdriver.http.Response</a></code> objects from a
<code class="type"><a href="interface_webdriver_http_Client.html">webdriver.http.Client</a></code>.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>httpResponse: <code class="type">!<a href="class_webdriver_http_Response.html">webdriver.http.Response</a></code><dd>The HTTP response to parse.</dl><tr><th>Returns<tr><td><dl>The parsed response.</dl></table></div></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l176">code &raquo;</a><span class="member"><a name="webdriver.http.Executor.COMMAND_MAP_">webdriver.http.Executor.COMMAND_MAP_</a> : <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div><p>Maps command names to resource locator.</summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,4 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.http.Request</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.http.Request</h1><a class="source" href="source/lib/webdriver/http/http.js.src.html#l343">code &raquo;</a></header><section><p>Describes a partial HTTP request. This class is a "partial" request and only
defines the path on the server to send a request to. It is each
<code >webdriver.http.Client</code>'s responsibility to build the full URL for the
final request.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.http.Request <span class="args">( method, path, opt_data )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>method: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The HTTP method to use for the request.<dt>path: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>Path on the server to send the request to.<dt>opt_data: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>=</code><dd>This request's JSON data.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l372">code &raquo;</a><span class="member"><a name="toString">toString</a> <span class="args">( )</span> &rArr; <code class="type">string</code></span></div></summary></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l361">code &raquo;</a><span class="member"><a name="data">data</a> : <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div><p>This request's body.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l367">code &raquo;</a><span class="member"><a name="headers">headers</a> : <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div><p>The headers to send with the request.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l349">code &raquo;</a><span class="member"><a name="method">method</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>The HTTP method to use for the request.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l355">code &raquo;</a><span class="member"><a name="path">path</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>The path on the server to send the request to.</summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,3 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.http.Response</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.http.Response</h1><a class="source" href="source/lib/webdriver/http/http.js.src.html#l391">code &raquo;</a></header><section><p>Represents a HTTP response.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.http.Response <span class="args">( status, headers, body )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>status: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The response code.<dt>headers: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code><dd>The response headers. All header
names will be converted to lowercase strings for consistent lookups.<dt>body: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The response body.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l449">code &raquo;</a><span class="member"><a name="toString">toString</a> <span class="args">( )</span> &rArr; <code class="type">string</code></span></div></summary></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l403">code &raquo;</a><span class="member"><a name="body">body</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>The response body.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l409">code &raquo;</a><span class="member"><a name="headers">headers</a> : <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>The response body.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l397">code &raquo;</a><span class="member"><a name="status">status</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div><p>The HTTP response code.</summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/http/http.js.src.html#l422">code &raquo;</a><span class="member"><a name="webdriver.http.Response.fromXmlHttpRequest">webdriver.http.Response.fromXmlHttpRequest</a> <span class="args">( xhr )</span> &rArr; <code class="type">!<a href="class_webdriver_http_Response.html">webdriver.http.Response</a></code></span></div><p>Builds a <code >webdriver.http.Response</code> from a <code >XMLHttpRequest</code> or
<code >XDomainRequest</code> response object.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>xhr: <code class="type">!(<a href="http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx">XDomainRequest</a>|<a href="http://www.w3.org/TR/XMLHttpRequest/#xmlhttprequest-object">XMLHttpRequest</a>)</code><dd>The request to parse.</dl><tr><th>Returns<tr><td><dl>The parsed response.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.http.XhrClient</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.http.XhrClient</h1><a class="source" href="source/lib/webdriver/http/xhrclient.js.src.html#l31">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_webdriver_http_Client.html">webdriver.http.Client</a></code></dl></header><section><p>A HTTP client that sends requests using XMLHttpRequests.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.http.XhrClient <span class="args">( url )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>url: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>URL for the WebDriver server to send commands to.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/http/xhrclient.js.src.html#l39">code &raquo;</a><span class="member"><a name="send">send</a> <span class="args">( request, callback )</span></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>request<dt>callback</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/http/xhrclient.js.src.html#l34">code &raquo;</a><span class="member"><a name="url_">url_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,4 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.logging.Entry</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.logging.Entry</h1><a class="source" href="source/lib/webdriver/logging.js.src.html#l103">code &raquo;</a></header><section><p>A single log entry.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.logging.Entry <span class="args">( level, message, opt_timestamp, opt_type )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>level: <code class="type">(!<a href="enum_webdriver_logging_Level.html">webdriver.logging.Level</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>)</code><dd>The entry level.<dt>message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The log message.<dt>opt_timestamp: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>=</code><dd>The time this entry was generated, in
milliseconds since 0:00:00, January 1, 1970 UTC. If omitted, the
current time will be used.<dt>opt_type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>The log type, if known.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/logging.js.src.html#l124">code &raquo;</a><span class="member"><a name="toJSON">toJSON</a> <span class="args">( )</span> &rArr; <code class="type">{level: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>, message: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>, timestamp: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>, type: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>}</code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The JSON representation of this entry.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/logging.js.src.html#l110">code &raquo;</a><span class="member"><a name="message">message</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/logging.js.src.html#l113">code &raquo;</a><span class="member"><a name="timestamp">timestamp</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/logging.js.src.html#l116">code &raquo;</a><span class="member"><a name="type">type</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section><section id="static-functions"><h2>Static Functions</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/logging.js.src.html#l141">code &raquo;</a><span class="member"><a name="webdriver.logging.Entry.fromClosureLogRecord">webdriver.logging.Entry.fromClosureLogRecord</a> <span class="args">( logRecord, opt_type )</span> &rArr; <code class="type">!<a href="class_webdriver_logging_Entry.html">webdriver.logging.Entry</a></code></span></div><p>Converts a <code class="type"><a class="unresolved-link">goog.debug.LogRecord</a></code> into a
<code class="type"><a href="class_webdriver_logging_Entry.html">webdriver.logging.Entry</a></code>.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>logRecord: <code class="type">!goog.debug.LogRecord</code><dd>The record to convert.<dt>opt_type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>The log type.</dl><tr><th>Returns<tr><td><dl>The converted entry.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,4 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.promise.CanceledTaskError_</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.promise.CanceledTaskError_</h1><a class="source" href="source/lib/webdriver/promise.js.src.html#l1976">code &raquo;</a><pre><code><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a>
&#x2514; <a href="class_goog_debug_Error.html">goog.debug.Error</a>
&#x2514; webdriver.promise.CanceledTaskError_</code></pre></header><section><p>Special error used to signal when a task is canceled because a previous
task in the same frame failed.<h2>Constructor</h2><div class="ctor wrap-details private"><div><div class="ctor"><span class="member">webdriver.promise.CanceledTaskError_ <span class="args">( err )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>err: <code class="type">*</code><dd>The error that caused the task cancellation.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1976">code &raquo;</a><span class="member"><a name="webdriver.promise.CanceledTaskError_.superClass_">webdriver.promise.CanceledTaskError_.superClass_</a> : <code class="type"><a href="class_goog_debug_Error.html">goog.debug.Error.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,117 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.promise.ControlFlow</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.promise.ControlFlow</h1><a class="source" href="source/lib/webdriver/promise.js.src.html#l943">code &raquo;</a><pre><code><a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a>
&#x2514; webdriver.promise.ControlFlow</code></pre></header><section><p>Handles the execution of scheduled tasks, each of which may be an
asynchronous operation. The control flow will ensure tasks are executed in
the ordered scheduled, starting each task only once those before it have
completed.
<p>Each task scheduled within this flow may return a
<code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code> to indicate it is an asynchronous
operation. The ControlFlow will wait for such promises to be resolved before
marking the task as completed.
<p>Tasks and each callback registered on a <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code>
will be run in their own ControlFlow frame. Any tasks scheduled within a
frame will have priority over previously scheduled tasks. Furthermore, if
any of the tasks in the frame fails, the remainder of the tasks in that frame
will be discarded and the failure will be propagated to the user through the
callback/task's promised result.
<p>Each time a ControlFlow empties its task queue, it will fire an
<code class="type"><a href="enum_webdriver_promise_ControlFlow_EventType.html#webdriver.promise.ControlFlow.EventType.IDLE">webdriver.promise.ControlFlow.EventType.IDLE</a></code> event. Conversely,
whenever the flow terminates due to an unhandled error, it will remove all
remaining tasks in its queue and fire an
<code class="type"><a href="enum_webdriver_promise_ControlFlow_EventType.html#webdriver.promise.ControlFlow.EventType.UNCAUGHT_EXCEPTION">webdriver.promise.ControlFlow.EventType.UNCAUGHT_EXCEPTION</a></code> event. If
there are no listeners registered with the flow, the error will be
rethrown to the global error handler.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.promise.ControlFlow <span class="args">( opt_timer )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_timer: <code class="type"><a href="class_webdriver_promise_ControlFlow.html#webdriver.promise.ControlFlow.Timer">webdriver.promise.ControlFlow.Timer</a>=</code><dd>The timer object
to use. Should only be set for testing.</dl></table></div></div></div></section><section><h2>Enumerations</h2><div class="type-summary"><table><tbody><tr><td><dl><dt><a href="enum_webdriver_promise_ControlFlow_EventType.html">webdriver.promise.ControlFlow.EventType</a><dd>Events that may be emitted by an <code class="type"><a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a></code>.</dl></table></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="typedefs"><h2>Type Definitions</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l970">code &raquo;</a><a class="member" name="webdriver.promise.ControlFlow.Timer">webdriver.promise.ControlFlow.Timer</a> : <code class="type">{clearInterval: function(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>), clearTimeout: function(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>), setInterval: function(!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>): <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>, setTimeout: function(!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>): <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>}</code></div><div>No description.</div></summary></details></div></div></section><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">webdriver.promise.ControlFlow</code></h3><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1476">code &raquo;</a><span class="member"><a name="abortFrame_">abortFrame_</a> <span class="args">( error )</span></span></div><p>Aborts the current frame. The frame, and all of the tasks scheduled within it
will be discarded. If this instance does not have an active frame, it will
immediately terminate all execution.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>error: <code class="type">*</code><dd>The reason the frame is being aborted; typically either
an Error or string.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1634">code &raquo;</a><span class="member"><a name="abortNow_">abortNow_</a> <span class="args">( error )</span></span></div><p>Aborts this flow, abandoning all remaining tasks. If there are
listeners registered, an <code >UNCAUGHT_EXCEPTION</code> will be emitted with the
offending <code >error</code>, otherwise, the <code >error</code> will be rethrown to the
global error handler.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>error: <code class="type">*</code><dd>Object describing the error that caused the flow to
abort; usually either an Error or string value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1185">code &raquo;</a><span class="member"><a name="annotateError">annotateError</a> <span class="args">( e )</span> &rArr; <code class="type">!(<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a>|goog.testing.JsUnitException)</code></span></div><p>Appends a summary of this instance's recent task history to the given
error's stack trace. This function will also ensure the error's stack trace
is in canonical form.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>e: <code class="type">!(<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a>|goog.testing.JsUnitException)</code><dd>The error to annotate.</dl><tr><th>Returns<tr><td><dl>The annotated error.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1329">code &raquo;</a><span class="member"><a name="await">await</a> <span class="args">( promise )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Schedules a task that will wait for another promise to resolve. The resolved
promise's value will be returned as the task result.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>promise: <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code><dd>The promise to wait on.</dl><tr><th>Returns<tr><td><dl>A promise that will resolve when the
task has completed.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1353">code &raquo;</a><span class="member"><a name="cancelEventLoop_">cancelEventLoop_</a> <span class="args">( )</span></span></div><p>Cancels the event loop, if necessary.</summary></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1617">code &raquo;</a><span class="member"><a name="cancelShutdown_">cancelShutdown_</a> <span class="args">( )</span></span></div><p>Cancels the shutdown sequence if it is currently scheduled.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1147">code &raquo;</a><span class="member"><a name="clearHistory">clearHistory</a> <span class="args">( )</span></span></div><p>Clears this instance's task history.</summary></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1594">code &raquo;</a><span class="member"><a name="commenceShutdown_">commenceShutdown_</a> <span class="args">( )</span></span></div><p>Commences the shutdown sequence for this instance. After one turn of the
event loop, this object will emit the
<code class="type"><a href="enum_webdriver_promise_ControlFlow_EventType.html#webdriver.promise.ControlFlow.EventType.IDLE">webdriver.promise.ControlFlow.EventType.IDLE</a></code> event to signal
listeners that it has completed. During this wait, if another task is
scheduled, the shutdown will be aborted.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1227">code &raquo;</a><code class="type">&lt;T&gt;</code> <span class="member"><a name="execute">execute</a> <span class="args">( fn, opt_description )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;T&gt;</code></span></div><p>Schedules a task for execution. If there is nothing currently in the
queue, the task will be executed in the next turn of the event loop.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>fn: <code class="type">function(): (T|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;T&gt;)</code><dd>The function to
call to start the task. If the function returns a
<code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code>, this instance will wait for it to be
resolved before starting the next task.<dt>opt_description: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A description of the task.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved
with the result of the action.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1126">code &raquo;</a><span class="member"><a name="getHistory">getHistory</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a>.&lt;<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>&gt;</code></span></div><p>Returns a summary of the recent task activity for this instance. This
includes the most recently completed task, as well as any parent tasks. In
the returned summary, the task at index N is considered a sub-task of the
task at index N+1.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>A summary of this instance's recent task
activity.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1425">code &raquo;</a><span class="member"><a name="getNextTask_">getNextTask_</a> <span class="args">( )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Task_.html">webdriver.promise.Task_</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The next task to execute, or
<code >null</code> if a frame was resolved.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1209">code &raquo;</a><span class="member"><a name="getSchedule">getSchedule</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The scheduled tasks still pending with this instance.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1109">code &raquo;</a><span class="member"><a name="reset">reset</a> <span class="args">( )</span></span></div><p>Resets this instance, clearing its queue and removing all event listeners.</summary></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1448">code &raquo;</a><span class="member"><a name="resolveFrame_">resolveFrame_</a> <span class="args">( frame )</span></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>frame: <code class="type">!<a href="class_webdriver_promise_Frame_.html">webdriver.promise.Frame_</a></code><dd>The frame to resolve.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1368">code &raquo;</a><span class="member"><a name="runEventLoop_">runEventLoop_</a> <span class="args">( )</span></span></div><p>Executes the next task for the current frame. If the current frame has no
more tasks, the frame's result will be resolved, returning control to the
frame's creator. This will terminate the flow if the completed frame was at
the top of the stack.</summary></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1517">code &raquo;</a><span class="member"><a name="runInNewFrame_">runInNewFrame_</a> <span class="args">( fn, callback, errback, opt_activate )</span></span></div><p>Executes a function in a new frame. If the function does not schedule any new
tasks, the frame will be discarded and the function's result returned
immediately. Otherwise, a promise will be returned. This promise will be
resolved with the function's result once all of the tasks scheduled within
the function have been completed. If the function's frame is aborted, the
returned promise will be rejected.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>fn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The function to execute.<dt>callback: <code class="type">function(*)</code><dd>The function to call with a successful result.<dt>errback: <code class="type">function(*)</code><dd>The function to call if there is an error.<dt>opt_activate: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>=</code><dd>Whether the active frame should be updated to
the newly created frame so tasks are treated as sub-tasks.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1340">code &raquo;</a><span class="member"><a name="scheduleEventLoopStart_">scheduleEventLoopStart_</a> <span class="args">( )</span></span></div><p>Schedules the interval for this instance's event loop, if necessary.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1259">code &raquo;</a><span class="member"><a name="timeout">timeout</a> <span class="args">( ms, opt_description )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Inserts a <code >setTimeout</code> into the command queue. This is equivalent to
a thread sleep in a synchronous programming language.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>ms: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The timeout delay, in milliseconds.<dt>opt_description: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A description to accompany the timeout.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved with
the result of the action.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1157">code &raquo;</a><span class="member"><a name="trimHistory_">trimHistory_</a> <span class="args">( )</span></span></div><p>Removes a completed task from this instance's history record. If any
tasks remain from aborted frames, those will be removed as well.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1291">code &raquo;</a><span class="member"><a name="wait">wait</a> <span class="args">( condition, timeout, opt_message )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Schedules a task that shall wait for a condition to hold. Each condition
function may return any value, but it will always be evaluated as a boolean.
<p>Condition functions may schedule sub-tasks with this instance, however,
their execution time will be factored into whether a wait has timed out.
<p>In the event a condition returns a Promise, the polling loop will wait for
it to be resolved before evaluating whether the condition has been satisfied.
The resolution time for a promise is factored into whether a wait has timed
out.
<p>If the condition function throws, or returns a rejected promise, the
wait task will fail.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>condition: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The condition function to poll.<dt>timeout: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>How long to wait, in milliseconds, for the condition
to hold before timing out.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>An optional error message to include if the
wait times out; defaults to the empty string.</dl><tr><th>Returns<tr><td><dl>A promise that will be resolved when the
condition has been satisified. The promise shall be rejected if the wait
times out waiting for the condition.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l116">code &raquo;</a><span class="member"><a name="addListener">addListener</a> <span class="args">( type, listenerFn, opt_scope )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>Registers a listener.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to listen for.<dt>listenerFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The function to invoke when the event is fired.<dt>opt_scope: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>=</code><dd>The object in whose scope to invoke the listener.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details private"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l90">code &raquo;</a><span class="member"><a name="addListener_">addListener_</a> <span class="args">( type, listenerFn, opt_scope, opt_oneshot )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>Registers a listener.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to listen for.<dt>listenerFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The function to invoke when the event is fired.<dt>opt_scope: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>=</code><dd>The object in whose scope to invoke the listener.<dt>opt_oneshot: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>=</code><dd>Whether the listener should be removed after
the first event is fired.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l44">code &raquo;</a><span class="member"><a name="emit">emit</a> <span class="args">( type, var_args )</span></span></div><p>Fires an event and calls all listeners.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to emit.<dt>var_args: <code class="type">...*</code><dd>Any arguments to pass to each listener.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l71">code &raquo;</a><span class="member"><a name="listeners">listeners</a> <span class="args">( type )</span> &rArr; <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code></span></div><p>Returns a mutable list of listeners for a specific type of event.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to retrieve the listeners for.</dl><tr><th>Returns<tr><td><dl>The registered listeners for
the given event type.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l142">code &raquo;</a><span class="member"><a name="on">on</a> <span class="args">( type, listenerFn, opt_scope )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>An alias for <code >#addListener()</code>.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to listen for.<dt>listenerFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The function to invoke when the event is fired.<dt>opt_scope: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>=</code><dd>The object in whose scope to invoke the listener.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l130">code &raquo;</a><span class="member"><a name="once">once</a> <span class="args">( type, listenerFn, opt_scope )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>Registers a one-time listener which will be called only the first time an
event is emitted, after which it will be removed.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to listen for.<dt>listenerFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The function to invoke when the event is fired.<dt>opt_scope: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a>=</code><dd>The object in whose scope to invoke the listener.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l173">code &raquo;</a><span class="member"><a name="removeAllListeners">removeAllListeners</a> <span class="args">( opt_type )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>Removes all listeners for a specific type of event. If no event is
specified, all listeners across all types will be removed.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>The type of event to remove listeners from.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l152">code &raquo;</a><span class="member"><a name="removeListener">removeListener</a> <span class="args">( type, listenerFn )</span> &rArr; <code class="type">!<a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></span></div><p>Removes a previously registered event listener.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The type of event to unregister.<dt>listenerFn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The handler function to remove.</dl><tr><th>Returns<tr><td><dl>A self reference.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">webdriver.promise.ControlFlow</code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1036">code &raquo;</a><span class="member"><a name="activeFrame_">activeFrame_</a> : <code class="type"><a href="class_webdriver_promise_Frame_.html">webdriver.promise.Frame_</a></code></span></div><p>Tracks the active execution frame for this instance. Lazily initialized
when the first task is scheduled.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1076">code &raquo;</a><span class="member"><a name="eventLoopId_">eventLoopId_</a> : <code class="type">?<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div><p>Interval ID for this instance's event loop.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l959">code &raquo;</a><span class="member"><a name="history_">history_</a> : <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code></span></div><p>A list of recent tasks. Each time a new task is started, or a frame is
completed, the previously recorded task is removed from this list. If
there are multiple tasks, task N+1 is considered a sub-task of task
N.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1103">code &raquo;</a><span class="member"><a name="numAbortedFrames_">numAbortedFrames_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div><p>The number of aborted frames since the last time a task was executed or a
frame completed successfully.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1095">code &raquo;</a><span class="member"><a name="pendingRejections_">pendingRejections_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div><p>The number of "pending" promise rejections.
<p>Each time a promise is rejected and is not handled by a listener, it will
schedule a 0-based timeout to check if it is still unrejected in the next
turn of the JS-event loop. This allows listeners to attach to, and handle,
the rejected promise at any point in same turn of the event loop that the
promise was rejected.
<p>When this flow's own event loop triggers, it will not run if there
are any outstanding promise rejections. This allows unhandled promises to
be reported before a new task is started, ensuring the error is reported to
the current task queue.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1048">code &raquo;</a><span class="member"><a name="schedulingFrame_">schedulingFrame_</a> : <code class="type"><a href="class_webdriver_promise_Frame_.html">webdriver.promise.Frame_</a></code></span></div><p>A reference to the frame in which new tasks should be scheduled. If
<code >null</code>, tasks will be scheduled within the active frame. When forcing
a function to run in the context of a new frame, this pointer is used to
ensure tasks are scheduled within the newly created frame, even though it
won't be active yet.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1069">code &raquo;</a><span class="member"><a name="shutdownId_">shutdownId_</a> : <code class="type">?<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div><p>Timeout ID set when the flow is about to shutdown without any errors
being detected. Upon shutting down, the flow will emit an
<code class="type"><a href="enum_webdriver_promise_ControlFlow_EventType.html#webdriver.promise.ControlFlow.EventType.IDLE">webdriver.promise.ControlFlow.EventType.IDLE</a></code> event. Idle events
always follow a brief timeout in order to catch latent errors from the last
completed task. If this task had a callback registered, but no errback, and
the task fails, the unhandled failure would not be reported by the promise
system until the next turn of the event loop:
// Schedule 1 task that fails.
var result = webriver.promise.controlFlow().schedule('example',
function() { return webdriver.promise.rejected('failed'); });
// Set a callback on the result. This delays reporting the unhandled
// failure for 1 turn of the event loop.
result.then(goog.nullFunction);</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l950">code &raquo;</a><span class="member"><a name="timer">timer</a> : <code class="type"><a href="class_webdriver_promise_ControlFlow.html#webdriver.promise.ControlFlow.Timer">webdriver.promise.ControlFlow.Timer</a></code></span></div><p>The timer used by this instance.</summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter</a></code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/events.js.src.html#l35">code &raquo;</a><span class="member"><a name="events_">events_</a> : <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></code></span></div><p>Map of events to registered listeners.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1174">code &raquo;</a><span class="member"><a name="webdriver.promise.ControlFlow.ANNOTATION_PROPERTY_">webdriver.promise.ControlFlow.ANNOTATION_PROPERTY_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>Property used to track whether an error has been annotated by
<code class="type"><a href="class_webdriver_promise_ControlFlow.html#annotateError">webdriver.promise.ControlFlow#annotateError</a></code>.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1028">code &raquo;</a><span class="member"><a name="webdriver.promise.ControlFlow.EVENT_LOOP_FREQUENCY">webdriver.promise.ControlFlow.EVENT_LOOP_FREQUENCY</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div><p>How often, in milliseconds, the event loop should run.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l977">code &raquo;</a><span class="member"><a name="webdriver.promise.ControlFlow.defaultTimer">webdriver.promise.ControlFlow.defaultTimer</a> : <code class="type"><a href="class_webdriver_promise_ControlFlow.html#webdriver.promise.ControlFlow.Timer">webdriver.promise.ControlFlow.Timer</a></code></span></div><p>The default timer object, which uses the global timer functions.</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l943">code &raquo;</a><span class="member"><a name="webdriver.promise.ControlFlow.superClass_">webdriver.promise.ControlFlow.superClass_</a> : <code class="type"><a href="class_webdriver_EventEmitter.html">webdriver.EventEmitter.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,86 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.promise.Deferred</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.promise.Deferred.<code class="type">&lt;T&gt;</code></h1><a class="source" href="source/lib/webdriver/promise.js.src.html#l224">code &raquo;</a><pre><code>webdriver.promise.Promise.&lt;(T|null)&gt;
&#x2514; webdriver.promise.Deferred</code></pre></header><section><p>Represents a value that will be resolved at some point in the future. This
class represents the protected "producer" half of a Promise - each Deferred
has a <code >promise</code> property that may be returned to consumers for
registering callbacks, reserving the ability to resolve the deferred to the
producer.
<p>If this Deferred is rejected and there are no listeners registered before
the next turn of the event loop, the rejection will be passed to the
<code class="type"><a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a></code> as an unhandled failure.
<p>If this Deferred is cancelled, the cancellation reason will be forward to
the Deferred's canceller function (if provided). The canceller may return a
truth-y value to override the reason provided for rejection.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.promise.Deferred <span class="args">( opt_canceller, opt_flow )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_canceller: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>=</code><dd>Function to call when cancelling the
computation of this instance's value.<dt>opt_flow: <code class="type"><a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a>=</code><dd>The control flow
this instance was created under. This should only be provided during
unit tests.</dl></table></div></div></div></section><section><h2>Enumerations</h2><div class="type-summary"><table><tbody><tr><td><dl><dt><a href="enum_webdriver_promise_Deferred_State_.html">webdriver.promise.Deferred.State_</a><dd>The three states a <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code> object may be in.</dl></table></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="typedefs"><h2>Type Definitions</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l494">code &raquo;</a><a class="member" name="webdriver.promise.Deferred.Listener_">webdriver.promise.Deferred.Listener_</a> : <code class="type">{callback: (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined">undefined</a>), errback: (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined">undefined</a>), fulfill: function(*), reject: function(*)}</code></div><div>Type definition for a listener registered on a Deferred object.</div></summary></details></div></div></section><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">webdriver.promise.Deferred</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l464">code &raquo;</a><span class="member"><a name="errback">errback</a> <span class="args">( opt_error )</span></span></div><p>Rejects this promise. If the error is itself a promise, this instance will
be chained to it and be rejected with the error's resolved value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_error: <code class="type">*=</code><dd>The rejection reason, typically either a
<code >Error</code> or a <code >string</code>.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l463">code &raquo;</a><span class="member"><a name="fulfill">fulfill</a> <span class="args">( opt_value )</span></span></div><p>Resolves this promise with the given value. If the value is itself a
promise and not a reference to this deferred, this instance will wait for
it before resolving.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_value: <code class="type">T=</code><dd>The fulfilled value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l464">code &raquo;</a><span class="member"><a name="reject">reject</a> <span class="args">( opt_error )</span></span></div><p>Rejects this promise. If the error is itself a promise, this instance will
be chained to it and be rejected with the error's resolved value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_error: <code class="type">*=</code><dd>The rejection reason, typically either a
<code >Error</code> or a <code >string</code>.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l469">code &raquo;</a><span class="member"><a name="removeAll">removeAll</a> <span class="args">( )</span></span></div><p>Removes all of the listeners previously registered on this deferred.</summary><div class="info"><table><tbody><tr><th>Throws<tr><td><dl><dt><code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a></code><dd>If this deferred has already been resolved.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Promise.html#webdriver.promise.Promise.&lt;(T|null)&gt;">webdriver.promise.Promise.&lt;(T|null)&gt;</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l87">code &raquo;</a><span class="member"><a name="cancel">cancel</a> <span class="args">( reason )</span></span></div><p>Cancels the computation of this promise's value, rejecting the promise in the
process.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>reason: <code class="type">*</code><dd>The reason this promise is being cancelled. If not an
<code >Error</code>, one will be created using the value's string
representation.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l93">code &raquo;</a><span class="member"><a name="isPending">isPending</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether this promise's value is still being computed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l112">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="then">then</a> <span class="args">( opt_callback, opt_errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers listeners for when this instance is resolved. This function most
overridden by subtypes.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_callback: <code class="type">?(function(T): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is successfully resolved. The function
should expect a single argument: the promise's resolved value.<dt>opt_errback: <code class="type">?(function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is rejected. The function should expect
a single argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l142">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenCatch">thenCatch</a> <span class="args">( errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener for when this promise is rejected. This is synonymous
with the <code >catch</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} catch (ex) {
console.error(ex);
}
// Asynchronous promise API:
doAsynchronousWork().thenCatch(function(ex) {
console.error(ex);
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>errback: <code class="type">function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call if this promise is rejected. The function should expect a single
argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l186">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenFinally">thenFinally</a> <span class="args">( callback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener to invoke when this promise is resolved, regardless
of whether the promise's value was successfully computed. This function
is synonymous with the <code >finally</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} finally {
cleanUp();
}
// Asynchronous promise API:
doAsynchronousWork().thenFinally(cleanUp);
</code></pre>
<b>Note:</b> similar to the <code >finally</code> clause, if the registered
callback returns a rejected promise or throws an error, it will silently
replace the rejection error (if any) from this promise:
<pre><code>
try {
throw Error('one');
} finally {
throw Error('two'); // Hides Error: one
}
webdriver.promise.rejected(Error('one'))
.thenFinally(function() {
throw Error('two'); // Hides Error: one
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>callback: <code class="type">function(): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call when this promise is resolved.</dl><tr><th>Returns<tr><td><dl>A promise that will be fulfilled
with the callback result.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">webdriver.promise.Deferred</code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l459">code &raquo;</a><span class="member"><a name="webdriver.promise.Deferred.prototype.promise">webdriver.promise.Deferred.prototype.promise</a> : <code class="type">webdriver.promise.Promise.<T></code></span></div><p>Represents the eventual value of a completed operation. Each promise may be
in one of three states: pending, resolved, or rejected. Each promise starts
in the pending state and may make a single transition to either a
fulfilled or failed state.
<p/>This class is based on the Promise/A proposal from CommonJS. Additional
functions are provided for API compatibility with Dojo Deferred objects.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l224">code &raquo;</a><span class="member"><a name="webdriver.promise.Deferred.superClass_">webdriver.promise.Deferred.superClass_</a> : <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,118 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.promise.Frame_</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.promise.Frame_</h1><a class="source" href="source/lib/webdriver/promise.js.src.html#l1716">code &raquo;</a><pre><code>webdriver.promise.Promise.&lt;(T|null)&gt;
&#x2514; <a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a>
&#x2514; <a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a>
&#x2514; webdriver.promise.Frame_</code></pre></header><section><p>An execution frame within a <code class="type"><a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a></code>. Each
frame represents the execution context for either a
<code class="type"><a href="class_webdriver_promise_Task_.html">webdriver.promise.Task_</a></code> or a callback on a
<code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code>.
<p>Each frame may contain sub-frames. If child N is a sub-frame, then the
items queued within it are given priority over child N+1.<h2>Constructor</h2><div class="ctor wrap-details private"><div><div class="ctor"><span class="member">webdriver.promise.Frame_ <span class="args">( flow )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>flow: <code class="type">!<a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a></code><dd>The flow this instance belongs
to.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">webdriver.promise.Frame_</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1853">code &raquo;</a><span class="member"><a name="addChild">addChild</a> <span class="args">( node )</span></span></div><p>Adds a new node to this frame.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>node: <code class="type">!(<a href="class_webdriver_promise_Frame_.html">webdriver.promise.Frame_</a>|<a href="class_webdriver_promise_Task_.html">webdriver.promise.Task_</a>)</code><dd>The node to insert.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1808">code &raquo;</a><span class="member"><a name="cancelRemainingTasks">cancelRemainingTasks</a> <span class="args">( error )</span></span></div><p>Marks all of the tasks that are descendants of this frame in the execution
tree as cancelled. This is necessary for callbacks scheduled asynchronous.
For example:
var someResult;
webdriver.promise.createFlow(function(flow) {
someResult = flow.execute(function() {});
throw Error();
}).addErrback(function(err) {
console.log('flow failed: ' + err);
someResult.then(function() {
console.log('task succeeded!');
}, function(err) {
console.log('task failed! ' + err);
});
});
// flow failed: Error: boom
// task failed! CanceledTaskError: Task discarded due to a previous
// task failure: Error: boom</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>error: <code class="type">!<a href="class_webdriver_promise_CanceledTaskError_.html">webdriver.promise.CanceledTaskError_</a></code><dd>The cancellation
error.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1883">code &raquo;</a><span class="member"><a name="getFirstChild">getFirstChild</a> <span class="args">( )</span> &rArr; <code class="type">(<a href="class_webdriver_promise_Frame_.html">webdriver.promise.Frame_</a>|<a href="class_webdriver_promise_Task_.html">webdriver.promise.Task_</a>)</code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>This frame's
fist child.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1828">code &raquo;</a><span class="member"><a name="getPendingTask">getPendingTask</a> <span class="args">( )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Task_.html">webdriver.promise.Task_</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The task currently executing
within this frame, if any.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1843">code &raquo;</a><span class="member"><a name="lockFrame">lockFrame</a> <span class="args">( )</span></span></div><p>Locks this frame.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1723">code &raquo;</a><span class="member"><a name="reject">reject</a> <span class="args">( )</span></span></div></summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1895">code &raquo;</a><span class="member"><a name="removeChild">removeChild</a> <span class="args">( child )</span></span></div><p>Removes a child from this frame.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>child: <code class="type">!(<a href="class_webdriver_promise_Frame_.html">webdriver.promise.Frame_</a>|<a href="class_webdriver_promise_Task_.html">webdriver.promise.Task_</a>)</code><dd>The child to remove.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1837">code &raquo;</a><span class="member"><a name="setPendingTask">setPendingTask</a> <span class="args">( task )</span></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>task: <code class="type"><a href="class_webdriver_promise_Task_.html">webdriver.promise.Task_</a></code><dd>The task currently
executing within this frame, if any.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1906">code &raquo;</a><span class="member"><a name="toString">toString</a> <span class="args">( )</span> &rArr; <code class="type">string</code></span></div></summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1675">code &raquo;</a><span class="member"><a name="getParent">getParent</a> <span class="args">( )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>This node's parent.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1691">code &raquo;</a><span class="member"><a name="getRoot">getRoot</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The root of this node's tree.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1683">code &raquo;</a><span class="member"><a name="setParent">setParent</a> <span class="args">( parent )</span></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>parent: <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code><dd>This node's new parent.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l464">code &raquo;</a><span class="member"><a name="errback">errback</a> <span class="args">( opt_error )</span></span></div><p>Rejects this promise. If the error is itself a promise, this instance will
be chained to it and be rejected with the error's resolved value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_error: <code class="type">*=</code><dd>The rejection reason, typically either a
<code >Error</code> or a <code >string</code>.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l463">code &raquo;</a><span class="member"><a name="fulfill">fulfill</a> <span class="args">( opt_value )</span></span></div><p>Resolves this promise with the given value. If the value is itself a
promise and not a reference to this deferred, this instance will wait for
it before resolving.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_value: <code class="type">T=</code><dd>The fulfilled value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l469">code &raquo;</a><span class="member"><a name="removeAll">removeAll</a> <span class="args">( )</span></span></div><p>Removes all of the listeners previously registered on this deferred.</summary><div class="info"><table><tbody><tr><th>Throws<tr><td><dl><dt><code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a></code><dd>If this deferred has already been resolved.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Promise.html#webdriver.promise.Promise.&lt;(T|null)&gt;">webdriver.promise.Promise.&lt;(T|null)&gt;</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l87">code &raquo;</a><span class="member"><a name="cancel">cancel</a> <span class="args">( reason )</span></span></div><p>Cancels the computation of this promise's value, rejecting the promise in the
process.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>reason: <code class="type">*</code><dd>The reason this promise is being cancelled. If not an
<code >Error</code>, one will be created using the value's string
representation.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l93">code &raquo;</a><span class="member"><a name="isPending">isPending</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether this promise's value is still being computed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l112">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="then">then</a> <span class="args">( opt_callback, opt_errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers listeners for when this instance is resolved. This function most
overridden by subtypes.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_callback: <code class="type">?(function(T): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is successfully resolved. The function
should expect a single argument: the promise's resolved value.<dt>opt_errback: <code class="type">?(function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is rejected. The function should expect
a single argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l142">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenCatch">thenCatch</a> <span class="args">( errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener for when this promise is rejected. This is synonymous
with the <code >catch</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} catch (ex) {
console.error(ex);
}
// Asynchronous promise API:
doAsynchronousWork().thenCatch(function(ex) {
console.error(ex);
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>errback: <code class="type">function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call if this promise is rejected. The function should expect a single
argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l186">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenFinally">thenFinally</a> <span class="args">( callback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener to invoke when this promise is resolved, regardless
of whether the promise's value was successfully computed. This function
is synonymous with the <code >finally</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} finally {
cleanUp();
}
// Asynchronous promise API:
doAsynchronousWork().thenFinally(cleanUp);
</code></pre>
<b>Note:</b> similar to the <code >finally</code> clause, if the registered
callback returns a rejected promise or throws an error, it will silently
replace the rejection error (if any) from this promise:
<pre><code>
try {
throw Error('one');
} finally {
throw Error('two'); // Hides Error: one
}
webdriver.promise.rejected(Error('one'))
.thenFinally(function() {
throw Error('two'); // Hides Error: one
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>callback: <code class="type">function(): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call when this promise is resolved.</dl><tr><th>Returns<tr><td><dl>A promise that will be fulfilled
with the callback result.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">webdriver.promise.Frame_</code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1731">code &raquo;</a><span class="member"><a name="children_">children_</a> : <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1761">code &raquo;</a><span class="member"><a name="isActive_">isActive_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Whether this frame is active. A frame is considered active once one of its
descendants has been removed for execution.
Adding a sub-frame as a child to an active frame is an indication that
a callback to a <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code> is being invoked and any
tasks scheduled within it should have priority over previously scheduled
tasks:
<code><pre>
var flow = webdriver.promise.controlFlow();
flow.execute('start here', goog.nullFunction).then(function() {
flow.execute('this should execute 2nd', goog.nullFunction);
});
flow.execute('this should execute last', goog.nullFunction);
</pre></code></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1774">code &raquo;</a><span class="member"><a name="isLocked_">isLocked_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div><p>Whether this frame is currently locked. A locked frame represents a callback
or task function which has run to completion and scheduled all of its tasks.
<p>Once a frame becomes <code class="type"><a class="unresolved-link">active</a></code>, any new frames which are
added represent callbacks on a <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code>, whose
tasks must be given priority over previously scheduled tasks.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1781">code &raquo;</a><span class="member"><a name="lastInsertedChild_">lastInsertedChild_</a> : <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></span></div><p>A reference to the last node inserted in this frame.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1740">code &raquo;</a><span class="member"><a name="pendingTask_">pendingTask_</a> : <code class="type"><a href="class_webdriver_promise_Task_.html">webdriver.promise.Task_</a></code></span></div><p>The task currently being executed within this frame.</summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1671">code &raquo;</a><span class="member"><a name="parent_">parent_</a> : <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></span></div><p>This node's parent.</summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l459">code &raquo;</a><span class="member"><a name="webdriver.promise.Deferred.prototype.promise">webdriver.promise.Deferred.prototype.promise</a> : <code class="type">webdriver.promise.Promise.<T></code></span></div><p>Represents the eventual value of a completed operation. Each promise may be
in one of three states: pending, resolved, or rejected. Each promise starts
in the pending state and may make a single transition to either a
fulfilled or failed state.
<p/>This class is based on the Promise/A proposal from CommonJS. Additional
functions are provided for API compatibility with Dojo Deferred objects.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1716">code &raquo;</a><span class="member"><a name="webdriver.promise.Frame_.superClass_">webdriver.promise.Frame_.superClass_</a> : <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,73 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.promise.Node_</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.promise.Node_</h1><a class="source" href="source/lib/webdriver/promise.js.src.html#l1661">code &raquo;</a><pre><code>webdriver.promise.Promise.&lt;(T|null)&gt;
&#x2514; <a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a>
&#x2514; webdriver.promise.Node_</code></pre></header><section><p>A single node in an <code class="type"><a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a></code>'s task tree.<h2>Constructor</h2><div class="ctor wrap-details private"><div><div class="ctor"><span class="member">webdriver.promise.Node_ <span class="args">( flow )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>flow: <code class="type">!<a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a></code><dd>The flow this instance belongs
to.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">webdriver.promise.Node_</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1675">code &raquo;</a><span class="member"><a name="getParent">getParent</a> <span class="args">( )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>This node's parent.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1691">code &raquo;</a><span class="member"><a name="getRoot">getRoot</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The root of this node's tree.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1683">code &raquo;</a><span class="member"><a name="setParent">setParent</a> <span class="args">( parent )</span></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>parent: <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code><dd>This node's new parent.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l464">code &raquo;</a><span class="member"><a name="errback">errback</a> <span class="args">( opt_error )</span></span></div><p>Rejects this promise. If the error is itself a promise, this instance will
be chained to it and be rejected with the error's resolved value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_error: <code class="type">*=</code><dd>The rejection reason, typically either a
<code >Error</code> or a <code >string</code>.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l463">code &raquo;</a><span class="member"><a name="fulfill">fulfill</a> <span class="args">( opt_value )</span></span></div><p>Resolves this promise with the given value. If the value is itself a
promise and not a reference to this deferred, this instance will wait for
it before resolving.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_value: <code class="type">T=</code><dd>The fulfilled value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l464">code &raquo;</a><span class="member"><a name="reject">reject</a> <span class="args">( opt_error )</span></span></div><p>Rejects this promise. If the error is itself a promise, this instance will
be chained to it and be rejected with the error's resolved value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_error: <code class="type">*=</code><dd>The rejection reason, typically either a
<code >Error</code> or a <code >string</code>.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l469">code &raquo;</a><span class="member"><a name="removeAll">removeAll</a> <span class="args">( )</span></span></div><p>Removes all of the listeners previously registered on this deferred.</summary><div class="info"><table><tbody><tr><th>Throws<tr><td><dl><dt><code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a></code><dd>If this deferred has already been resolved.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Promise.html#webdriver.promise.Promise.&lt;(T|null)&gt;">webdriver.promise.Promise.&lt;(T|null)&gt;</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l87">code &raquo;</a><span class="member"><a name="cancel">cancel</a> <span class="args">( reason )</span></span></div><p>Cancels the computation of this promise's value, rejecting the promise in the
process.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>reason: <code class="type">*</code><dd>The reason this promise is being cancelled. If not an
<code >Error</code>, one will be created using the value's string
representation.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l93">code &raquo;</a><span class="member"><a name="isPending">isPending</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether this promise's value is still being computed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l112">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="then">then</a> <span class="args">( opt_callback, opt_errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers listeners for when this instance is resolved. This function most
overridden by subtypes.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_callback: <code class="type">?(function(T): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is successfully resolved. The function
should expect a single argument: the promise's resolved value.<dt>opt_errback: <code class="type">?(function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is rejected. The function should expect
a single argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l142">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenCatch">thenCatch</a> <span class="args">( errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener for when this promise is rejected. This is synonymous
with the <code >catch</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} catch (ex) {
console.error(ex);
}
// Asynchronous promise API:
doAsynchronousWork().thenCatch(function(ex) {
console.error(ex);
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>errback: <code class="type">function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call if this promise is rejected. The function should expect a single
argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l186">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenFinally">thenFinally</a> <span class="args">( callback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener to invoke when this promise is resolved, regardless
of whether the promise's value was successfully computed. This function
is synonymous with the <code >finally</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} finally {
cleanUp();
}
// Asynchronous promise API:
doAsynchronousWork().thenFinally(cleanUp);
</code></pre>
<b>Note:</b> similar to the <code >finally</code> clause, if the registered
callback returns a rejected promise or throws an error, it will silently
replace the rejection error (if any) from this promise:
<pre><code>
try {
throw Error('one');
} finally {
throw Error('two'); // Hides Error: one
}
webdriver.promise.rejected(Error('one'))
.thenFinally(function() {
throw Error('two'); // Hides Error: one
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>callback: <code class="type">function(): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call when this promise is resolved.</dl><tr><th>Returns<tr><td><dl>A promise that will be fulfilled
with the callback result.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">webdriver.promise.Node_</code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1671">code &raquo;</a><span class="member"><a name="parent_">parent_</a> : <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></span></div><p>This node's parent.</summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l459">code &raquo;</a><span class="member"><a name="webdriver.promise.Deferred.prototype.promise">webdriver.promise.Deferred.prototype.promise</a> : <code class="type">webdriver.promise.Promise.<T></code></span></div><p>Represents the eventual value of a completed operation. Each promise may be
in one of three states: pending, resolved, or rejected. Each promise starts
in the pending state and may make a single transition to either a
fulfilled or failed state.
<p/>This class is based on the Promise/A proposal from CommonJS. Additional
functions are provided for API compatibility with Dojo Deferred objects.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1661">code &raquo;</a><span class="member"><a name="webdriver.promise.Node_.superClass_">webdriver.promise.Node_.superClass_</a> : <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,64 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.promise.Promise</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.promise.Promise.<code class="type">&lt;T&gt;</code></h1><a class="source" href="source/lib/webdriver/promise.js.src.html#l76">code &raquo;</a></header><section><p>Represents the eventual value of a completed operation. Each promise may be
in one of three states: pending, resolved, or rejected. Each promise starts
in the pending state and may make a single transition to either a
fulfilled or failed state.
<p/>This class is based on the Promise/A proposal from CommonJS. Additional
functions are provided for API compatibility with Dojo Deferred objects.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.promise.Promise <span class="args">( )</span></span></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l87">code &raquo;</a><span class="member"><a name="cancel">cancel</a> <span class="args">( reason )</span></span></div><p>Cancels the computation of this promise's value, rejecting the promise in the
process.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>reason: <code class="type">*</code><dd>The reason this promise is being cancelled. If not an
<code >Error</code>, one will be created using the value's string
representation.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l93">code &raquo;</a><span class="member"><a name="isPending">isPending</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether this promise's value is still being computed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l112">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="then">then</a> <span class="args">( opt_callback, opt_errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers listeners for when this instance is resolved. This function most
overridden by subtypes.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_callback: <code class="type">?(function(T): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is successfully resolved. The function
should expect a single argument: the promise's resolved value.<dt>opt_errback: <code class="type">?(function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is rejected. The function should expect
a single argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l142">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenCatch">thenCatch</a> <span class="args">( errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener for when this promise is rejected. This is synonymous
with the <code >catch</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} catch (ex) {
console.error(ex);
}
// Asynchronous promise API:
doAsynchronousWork().thenCatch(function(ex) {
console.error(ex);
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>errback: <code class="type">function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call if this promise is rejected. The function should expect a single
argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l186">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenFinally">thenFinally</a> <span class="args">( callback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener to invoke when this promise is resolved, regardless
of whether the promise's value was successfully computed. This function
is synonymous with the <code >finally</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} finally {
cleanUp();
}
// Asynchronous promise API:
doAsynchronousWork().thenFinally(cleanUp);
</code></pre>
<b>Note:</b> similar to the <code >finally</code> clause, if the registered
callback returns a rejected promise or throws an error, it will silently
replace the rejection error (if any) from this promise:
<pre><code>
try {
throw Error('one');
} finally {
throw Error('two'); // Hides Error: one
}
webdriver.promise.rejected(Error('one'))
.thenFinally(function() {
throw Error('two'); // Hides Error: one
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>callback: <code class="type">function(): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call when this promise is resolved.</dl><tr><th>Returns<tr><td><dl>A promise that will be fulfilled
with the callback result.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,77 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.promise.Task_</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.promise.Task_</h1><a class="source" href="source/lib/webdriver/promise.js.src.html#l1929">code &raquo;</a><pre><code>webdriver.promise.Promise.&lt;(T|null)&gt;
&#x2514; <a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a>
&#x2514; <a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a>
&#x2514; webdriver.promise.Task_</code></pre></header><section><p>A task to be executed by a <code class="type"><a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a></code>.<h2>Constructor</h2><div class="ctor wrap-details private"><div><div class="ctor"><span class="member">webdriver.promise.Task_ <span class="args">( flow, fn, description, snapshot )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>flow: <code class="type">!<a href="class_webdriver_promise_ControlFlow.html">webdriver.promise.ControlFlow</a></code><dd>The flow this instances belongs
to.<dt>fn: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The function to call when the task executes. If it
returns a <code >webdriver.promise.Promise</code>, the flow will wait
for it to be resolved before starting the next task.<dt>description: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>A description of the task for debugging.<dt>snapshot: <code class="type">!<a href="class_webdriver_stacktrace_Snapshot.html">webdriver.stacktrace.Snapshot</a></code><dd>A snapshot of the stack
when this task was scheduled.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">webdriver.promise.Task_</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1936">code &raquo;</a><span class="member"><a name="execute">execute</a> <span class="args">( )</span></span></div><p>Executes this task.</summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1948">code &raquo;</a><span class="member"><a name="getDescription">getDescription</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>This task's description.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1954">code &raquo;</a><span class="member"><a name="toString">toString</a> <span class="args">( )</span> &rArr; <code class="type">string</code></span></div></summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1675">code &raquo;</a><span class="member"><a name="getParent">getParent</a> <span class="args">( )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>This node's parent.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1691">code &raquo;</a><span class="member"><a name="getRoot">getRoot</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The root of this node's tree.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1683">code &raquo;</a><span class="member"><a name="setParent">setParent</a> <span class="args">( parent )</span></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>parent: <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code><dd>This node's new parent.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l464">code &raquo;</a><span class="member"><a name="errback">errback</a> <span class="args">( opt_error )</span></span></div><p>Rejects this promise. If the error is itself a promise, this instance will
be chained to it and be rejected with the error's resolved value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_error: <code class="type">*=</code><dd>The rejection reason, typically either a
<code >Error</code> or a <code >string</code>.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l463">code &raquo;</a><span class="member"><a name="fulfill">fulfill</a> <span class="args">( opt_value )</span></span></div><p>Resolves this promise with the given value. If the value is itself a
promise and not a reference to this deferred, this instance will wait for
it before resolving.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_value: <code class="type">T=</code><dd>The fulfilled value.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l464">code &raquo;</a><span class="member"><a name="reject">reject</a> <span class="args">( opt_error )</span></span></div><p>Rejects this promise. If the error is itself a promise, this instance will
be chained to it and be rejected with the error's resolved value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_error: <code class="type">*=</code><dd>The rejection reason, typically either a
<code >Error</code> or a <code >string</code>.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l469">code &raquo;</a><span class="member"><a name="removeAll">removeAll</a> <span class="args">( )</span></span></div><p>Removes all of the listeners previously registered on this deferred.</summary><div class="info"><table><tbody><tr><th>Throws<tr><td><dl><dt><code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Error">Error</a></code><dd>If this deferred has already been resolved.</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Promise.html#webdriver.promise.Promise.&lt;(T|null)&gt;">webdriver.promise.Promise.&lt;(T|null)&gt;</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l87">code &raquo;</a><span class="member"><a name="cancel">cancel</a> <span class="args">( reason )</span></span></div><p>Cancels the computation of this promise's value, rejecting the promise in the
process.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>reason: <code class="type">*</code><dd>The reason this promise is being cancelled. If not an
<code >Error</code>, one will be created using the value's string
representation.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l93">code &raquo;</a><span class="member"><a name="isPending">isPending</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether this promise's value is still being computed.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l112">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="then">then</a> <span class="args">( opt_callback, opt_errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers listeners for when this instance is resolved. This function most
overridden by subtypes.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_callback: <code class="type">?(function(T): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is successfully resolved. The function
should expect a single argument: the promise's resolved value.<dt>opt_errback: <code class="type">?(function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;))=</code><dd>The
function to call if this promise is rejected. The function should expect
a single argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l142">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenCatch">thenCatch</a> <span class="args">( errback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener for when this promise is rejected. This is synonymous
with the <code >catch</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} catch (ex) {
console.error(ex);
}
// Asynchronous promise API:
doAsynchronousWork().thenCatch(function(ex) {
console.error(ex);
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>errback: <code class="type">function(*): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call if this promise is rejected. The function should expect a single
argument: the rejection reason.</dl><tr><th>Returns<tr><td><dl>A new promise which will be
resolved with the result of the invoked callback.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l186">code &raquo;</a><code class="type">&lt;R&gt;</code> <span class="member"><a name="thenFinally">thenFinally</a> <span class="args">( callback )</span> &rArr; <code class="type">!<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;</code></span></div><p>Registers a listener to invoke when this promise is resolved, regardless
of whether the promise's value was successfully computed. This function
is synonymous with the <code >finally</code> clause in a synchronous API:
<pre><code>
// Synchronous API:
try {
doSynchronousWork();
} finally {
cleanUp();
}
// Asynchronous promise API:
doAsynchronousWork().thenFinally(cleanUp);
</code></pre>
<b>Note:</b> similar to the <code >finally</code> clause, if the registered
callback returns a rejected promise or throws an error, it will silently
replace the rejection error (if any) from this promise:
<pre><code>
try {
throw Error('one');
} finally {
throw Error('two'); // Hides Error: one
}
webdriver.promise.rejected(Error('one'))
.thenFinally(function() {
throw Error('two'); // Hides Error: one
});
</code></pre></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>callback: <code class="type">function(): (R|<a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a>.&lt;R&gt;)</code><dd>The function
to call when this promise is resolved.</dl><tr><th>Returns<tr><td><dl>A promise that will be fulfilled
with the callback result.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">webdriver.promise.Task_</code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1939">code &raquo;</a><span class="member"><a name="description_">description_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1942">code &raquo;</a><span class="member"><a name="snapshot_">snapshot_</a> : <code class="type">!<a href="class_webdriver_stacktrace_Snapshot.html">webdriver.stacktrace.Snapshot</a></code></span></div></summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></h3><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1671">code &raquo;</a><span class="member"><a name="parent_">parent_</a> : <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_</a></code></span></div><p>This node's parent.</summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_promise_Deferred.html">webdriver.promise.Deferred</a></code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l459">code &raquo;</a><span class="member"><a name="webdriver.promise.Deferred.prototype.promise">webdriver.promise.Deferred.prototype.promise</a> : <code class="type">webdriver.promise.Promise.<T></code></span></div><p>Represents the eventual value of a completed operation. Each promise may be
in one of three states: pending, resolved, or rejected. Each promise starts
in the pending state and may make a single transition to either a
fulfilled or failed state.
<p/>This class is based on the Promise/A proposal from CommonJS. Additional
functions are provided for API compatibility with Dojo Deferred objects.</summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/promise.js.src.html#l1929">code &raquo;</a><span class="member"><a name="webdriver.promise.Task_.superClass_">webdriver.promise.Task_.superClass_</a> : <code class="type"><a href="class_webdriver_promise_Node_.html">webdriver.promise.Node_.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,8 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.stacktrace.Frame</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.stacktrace.Frame</h1><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l135">code &raquo;</a></header><section><p>Class representing one stack frame.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.stacktrace.Frame <span class="args">( context, name, alias, path )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>context: <code class="type">(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined">undefined</a>)</code><dd>Context object, empty in case of global
functions or if the browser doesn't provide this information.<dt>name: <code class="type">(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined">undefined</a>)</code><dd>Function name, empty in case of anonymous
functions.<dt>alias: <code class="type">(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined">undefined</a>)</code><dd>Alias of the function if available. For
example the function name will be 'c' and the alias will be 'b' if the
function is defined as <code>a.b = function c() {};</code>.<dt>path: <code class="type">(<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>|<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Undefined">undefined</a>)</code><dd>File path or URL including line number and
optionally column number separated by colons.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l206">code &raquo;</a><span class="member"><a name="getColumn">getColumn</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The column number if known and -1 if it is unknown.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l198">code &raquo;</a><span class="member"><a name="getLine">getLine</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The line number if known or -1 if it is unknown.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l182">code &raquo;</a><span class="member"><a name="getName">getName</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The function name or empty string if the function is
anonymous and the object field which it's assigned to is unknown.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l190">code &raquo;</a><span class="member"><a name="getUrl">getUrl</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The url or empty string if it is unknown.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l214">code &raquo;</a><span class="member"><a name="isAnonymous">isAnonymous</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>Whether the stack frame contains an anonymous function.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l225">code &raquo;</a><span class="member"><a name="toString">toString</a> <span class="args">( )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>Converts this frame to its string representation using V8's stack trace
format: http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The string representation of this frame.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l144">code &raquo;</a><span class="member"><a name="alias_">alias_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l162">code &raquo;</a><span class="member"><a name="column">column</a> : <code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Properties/NaN">NaN</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l156">code &raquo;</a><span class="member"><a name="column_">column_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l138">code &raquo;</a><span class="member"><a name="context_">context_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l153">code &raquo;</a><span class="member"><a name="line_">line_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l141">code &raquo;</a><span class="member"><a name="name_">name_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l147">code &raquo;</a><span class="member"><a name="path_">path_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l150">code &raquo;</a><span class="member"><a name="url_">url_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,5 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.stacktrace.Snapshot</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.stacktrace.Snapshot</h1><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l38">code &raquo;</a></header><section><p>Stores a snapshot of the stack trace at the time this instance was created.
The stack trace will always be adjusted to exclude this function call.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.stacktrace.Snapshot <span class="args">( opt_slice )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_slice: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>=</code><dd>The number of frames to remove from the top of
the generated stack trace.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l108">code &raquo;</a><span class="member"><a name="getStacktrace">getStacktrace</a> <span class="args">( )</span> &rArr; <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code></span></div></summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The parsed stack trace.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l102">code &raquo;</a><span class="member"><a name="parsedStack_">parsedStack_</a> : <code class="type"><a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></code></span></div><p>The parsed stack trace. This list is lazily generated the first time it is
accessed.</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l41">code &raquo;</a><span class="member"><a name="slice_">slice_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></span></div></summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/stacktrace.js.src.html#l67">code &raquo;</a><span class="member"><a name="stack_">stack_</a> : <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>The error's stacktrace. This must be accessed immediately to ensure Opera
computes the context correctly.</summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,32 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.testing.Assertion</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.testing.Assertion</h1><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l87">code &raquo;</a></header><section><p>Utility for performing assertions against a given <code >value</code>. If the
value is a <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code>, this assertion will wait
for it to resolve before applying any matchers.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.testing.Assertion <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type">*</code><dd>The value to wrap and apply matchers to.</dl></table></div></div></div></section><section><h2>Classes</h2><div class="type-summary"><table><tbody><tr><td><dl><dt><a href="class_webdriver_testing_Assertion_DelegatingMatcher_.html">webdriver.testing.Assertion.DelegatingMatcher_</a><dd>Wraps an object literal implementing the Matcher interface.</dl></table></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details protected"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l146">code &raquo;</a><span class="member"><a name="apply">apply</a> <span class="args">( matcher, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the given <code >matcher</code> accepts the value wrapped by this
instance. If the wrapped value is a promise, this function will defer
applying the assertion until the value has been resolved. Otherwise, it
will be applied immediately.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>matcher: <code class="type">!<a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code><dd>The matcher to apply<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The deferred assertion result, or
<code >null</code> if the assertion was immediately applied.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l228">code &raquo;</a><span class="member"><a name="closeTo">closeTo</a> <span class="args">( value, range, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is a number within a given distance of an
expected value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The expected value.<dt>range: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The maximum amount the actual value is permitted to
differ from the expected value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l291">code &raquo;</a><span class="member"><a name="contains">contains</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is a string or array-like structure
containing the given value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type">*</code><dd>The expected value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l304">code &raquo;</a><span class="member"><a name="endsWith">endsWith</a> <span class="args">( suffix, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is a string ending with the given suffix.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>suffix: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The expected suffix.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l345">code &raquo;</a><span class="member"><a name="equalTo">equalTo</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is strictly equal to the
given <code >value</code>.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type">*</code><dd>The expected value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l167">code &raquo;</a><span class="member"><a name="greaterThan">greaterThan</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is a number strictly
greater than <code >value</code>.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The minimum value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l182">code &raquo;</a><span class="member"><a name="greaterThanEqualTo">greaterThanEqualTo</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is a number >= the given
value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The minimum value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l242">code &raquo;</a><span class="member"><a name="instanceOf">instanceOf</a> <span class="args">( ctor, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is an instance of the given class.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>ctor: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The expected class constructor.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l363">code &raquo;</a><span class="member"><a name="isFalse">isFalse</a> <span class="args">( )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is strictly false.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l254">code &raquo;</a><span class="member"><a name="isNull">isNull</a> <span class="args">( opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is null.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l276">code &raquo;</a><span class="member"><a name="isNullOrUndefined">isNullOrUndefined</a> <span class="args">( opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is null or undefined.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l354">code &raquo;</a><span class="member"><a name="isTrue">isTrue</a> <span class="args">( )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is strictly true.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l265">code &raquo;</a><span class="member"><a name="isUndefined">isUndefined</a> <span class="args">( opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is undefined.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l197">code &raquo;</a><span class="member"><a name="lessThan">lessThan</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is a number strictly less
than the given value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The maximum value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l211">code &raquo;</a><span class="member"><a name="lessThanEqualTo">lessThanEqualTo</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is a number <= the given
value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The maximum value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l332">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( regex, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is a string that matches the given RegExp.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>regex: <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp">RegExp</a></code><dd>The regex to test.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l318">code &raquo;</a><span class="member"><a name="startsWith">startsWith</a> <span class="args">( prefix, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is a string starting with the given prefix.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>prefix: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The expected prefix.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l98">code &raquo;</a><span class="member"><a name="is">is</a> : <code class="type">!<a href="class_webdriver_testing_Assertion.html">webdriver.testing.Assertion</a></code></span></div><p>A self reference provided for writing fluent assertions:
webdriver.testing.assert(x).is.equalTo(y);</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l105">code &raquo;</a><span class="member"><a name="not">not</a> : <code class="type">!<a href="class_webdriver_testing_NegatedAssertion.html">webdriver.testing.NegatedAssertion</a></code></span></div><p>Negates any matchers applied to this instance's value:
webdriver.testing.assert(x).not.equalTo(y);</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l90">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type">*</code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,3 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.testing.Assertion.DelegatingMatcher_</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.testing.Assertion.DelegatingMatcher_</h1><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l120">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>Wraps an object literal implementing the Matcher interface. This is used
to appease the Closure compiler, which will not treat an object literal as
implementing an interface.<h2>Constructor</h2><div class="ctor wrap-details private"><div><div class="ctor"><span class="member">webdriver.testing.Assertion.DelegatingMatcher_ <span class="args">( obj )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>obj: <code class="type">{matches: function(*): <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a>, describe: function(): <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>}</code><dd>The object literal to delegate to.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l128">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( )</span></span></div></summary></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l123">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( value )</span></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.testing.ContainsMatcher</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.testing.ContainsMatcher</h1><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l55">code &raquo;</a><dl><dt>All implemented interfaces:<dd><code><a href="interface_goog_labs_testing_Matcher.html">goog.labs.testing.Matcher</a></code></dl></header><section><p>Accepts strins or array-like structures that contain <code >value</code>.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.testing.ContainsMatcher <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type">*</code><dd>The value to check for.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l74">code &raquo;</a><span class="member"><a name="describe">describe</a> <span class="args">( actualValue )</span> &rArr; <code class="type">string</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l62">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( actualValue )</span> &rArr; <code class="type">boolean</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>actualValue</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l57">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type">*</code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,26 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.testing.NegatedAssertion</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Class webdriver.testing.NegatedAssertion</h1><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l375">code &raquo;</a><pre><code><a href="class_webdriver_testing_Assertion.html">webdriver.testing.Assertion</a>
&#x2514; webdriver.testing.NegatedAssertion</code></pre></header><section><p>An assertion that negates any applied matchers.<h2>Constructor</h2><div class="ctor wrap-details public"><div><div class="ctor"><span class="member">webdriver.testing.NegatedAssertion <span class="args">( value )</span></span></div><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type">*</code><dd>The value to perform assertions on.</dl></table></div></div></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="instance-methods"><h2>Instance Methods</h2><h3>Defined in <code class="type">webdriver.testing.NegatedAssertion</code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l384">code &raquo;</a><span class="member"><a name="apply">apply</a> <span class="args">( matcher, opt_message )</span> &rArr; <code class="type">(null|webdriver.promise.Promise)</code></span></div></summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>matcher<dt>opt_message</dl></table></div></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_testing_Assertion.html">webdriver.testing.Assertion</a></code></h3><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l228">code &raquo;</a><span class="member"><a name="closeTo">closeTo</a> <span class="args">( value, range, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is a number within a given distance of an
expected value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The expected value.<dt>range: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The maximum amount the actual value is permitted to
differ from the expected value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l291">code &raquo;</a><span class="member"><a name="contains">contains</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is a string or array-like structure
containing the given value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type">*</code><dd>The expected value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l304">code &raquo;</a><span class="member"><a name="endsWith">endsWith</a> <span class="args">( suffix, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is a string ending with the given suffix.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>suffix: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The expected suffix.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l345">code &raquo;</a><span class="member"><a name="equalTo">equalTo</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is strictly equal to the
given <code >value</code>.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type">*</code><dd>The expected value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l167">code &raquo;</a><span class="member"><a name="greaterThan">greaterThan</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is a number strictly
greater than <code >value</code>.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The minimum value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l182">code &raquo;</a><span class="member"><a name="greaterThanEqualTo">greaterThanEqualTo</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is a number >= the given
value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The minimum value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l242">code &raquo;</a><span class="member"><a name="instanceOf">instanceOf</a> <span class="args">( ctor, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is an instance of the given class.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>ctor: <code class="type">!<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></code><dd>The expected class constructor.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l363">code &raquo;</a><span class="member"><a name="isFalse">isFalse</a> <span class="args">( )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is strictly false.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l254">code &raquo;</a><span class="member"><a name="isNull">isNull</a> <span class="args">( opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is null.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l276">code &raquo;</a><span class="member"><a name="isNullOrUndefined">isNullOrUndefined</a> <span class="args">( opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is null or undefined.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l354">code &raquo;</a><span class="member"><a name="isTrue">isTrue</a> <span class="args">( )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is strictly true.</summary><div class="info"><table><tbody><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l265">code &raquo;</a><span class="member"><a name="isUndefined">isUndefined</a> <span class="args">( opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is undefined.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l197">code &raquo;</a><span class="member"><a name="lessThan">lessThan</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is a number strictly less
than the given value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The maximum value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l211">code &raquo;</a><span class="member"><a name="lessThanEqualTo">lessThanEqualTo</a> <span class="args">( value, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the value managed by this assertion is a number <= the given
value.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>value: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code><dd>The maximum value.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l332">code &raquo;</a><span class="member"><a name="matches">matches</a> <span class="args">( regex, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is a string that matches the given RegExp.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>regex: <code class="type">!<a href="http://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/RegExp">RegExp</a></code><dd>The regex to test.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l318">code &raquo;</a><span class="member"><a name="startsWith">startsWith</a> <span class="args">( prefix, opt_message )</span> &rArr; <code class="type"><a href="class_webdriver_promise_Promise.html">webdriver.promise.Promise</a></code></span></div><p>Asserts that the wrapped value is a string starting with the given prefix.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>prefix: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The expected prefix.<dt>opt_message: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a>=</code><dd>A message to include if the matcher does not
accept the value wrapped by this assertion.</dl><tr><th>Returns<tr><td><dl>The assertion result.</dl></table></div></details></div></div></section><section id="instance-properties"><h2>Instance Properties</h2><h3>Defined in <code class="type">webdriver.testing.NegatedAssertion</code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l377">code &raquo;</a><span class="member"><a name="value">value</a> : <code class="type">*</code></span></div></summary></details></div></div><h3>Defined in <code class="type"><a href="class_webdriver_testing_Assertion.html">webdriver.testing.Assertion</a></code></h3><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l98">code &raquo;</a><span class="member"><a name="is">is</a> : <code class="type">!<a href="class_webdriver_testing_Assertion.html">webdriver.testing.Assertion</a></code></span></div><p>A self reference provided for writing fluent assertions:
webdriver.testing.assert(x).is.equalTo(y);</summary></details></div></div><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l105">code &raquo;</a><span class="member"><a name="not">not</a> : <code class="type">!<a href="class_webdriver_testing_NegatedAssertion.html">webdriver.testing.NegatedAssertion</a></code></span></div><p>Negates any matchers applied to this instance's value:
webdriver.testing.assert(x).not.equalTo(y);</summary></details></div></div><div class="wrap-details private"><div><details><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l90">code &raquo;</a><span class="member"><a name="value_">value_</a> : <code class="type">*</code></span></div></summary></details></div></div></section><section id="static-properties"><h2>Static Properties</h2><div class="wrap-details public"><div><details><summary><div><a class="source" href="source/lib/webdriver/testing/asserts.js.src.html#l375">code &raquo;</a><span class="member"><a name="webdriver.testing.NegatedAssertion.superClass_">webdriver.testing.NegatedAssertion.superClass_</a> : <code class="type"><a href="class_webdriver_testing_Assertion.html">webdriver.testing.Assertion.prototype</a></code></span></div></summary></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

File diff suppressed because one or more lines are too long

@ -0,0 +1,135 @@
(function(){var h,m=this;function aa(){}
function ba(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==
b&&"undefined"==typeof a.call)return"object";return b}function r(a){return"array"==ba(a)}function ca(a){var b=ba(a);return"array"==b||"object"==b&&"number"==typeof a.length}function s(a){return"string"==typeof a}function da(a){return"number"==typeof a}function ea(a){return"function"==ba(a)}function fa(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}function ga(a){return a[ha]||(a[ha]=++ia)}var ha="closure_uid_"+(1E9*Math.random()>>>0),ia=0;
function ja(a,b,c){return a.call.apply(a.bind,arguments)}function ka(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function t(a,b,c){t=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ja:ka;return t.apply(null,arguments)}
function la(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}}var w=Date.now||function(){return+new Date};function x(a,b){function c(){}c.prototype=b.prototype;a.i=b.prototype;a.prototype=new c};var ma;function na(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")}function oa(a){if(!pa.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(qa,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(ra,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(sa,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(ta,"&quot;"));return a}var qa=/&/g,ra=/</g,sa=/>/g,ta=/\"/g,pa=/[&<>\"]/;function ua(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};var z=Array.prototype,va=z.indexOf?function(a,b,c){return z.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(s(a))return s(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},A=z.forEach?function(a,b,c){z.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=s(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)},xa=z.filter?function(a,b,c){return z.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=s(a)?
a.split(""):a,k=0;k<d;k++)if(k in g){var l=g[k];b.call(c,l,k,a)&&(e[f++]=l)}return e},ya=z.map?function(a,b,c){return z.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=s(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};function za(a,b){var c;a:{c=a.length;for(var d=s(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){c=e;break a}c=-1}return 0>c?null:s(a)?a.charAt(c):a[c]}function Aa(a){return z.concat.apply(z,arguments)}
function Ba(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]}var Ca=Ba;function Da(a,b,c){return 2>=arguments.length?z.slice.call(a,b):z.slice.call(a,b,c)};var Ea,Fa,Ga,Ha,B;function Ia(){return m.navigator?m.navigator.userAgent:null}function Ja(){return m.navigator}Ha=Ga=Fa=Ea=!1;var Ka;if(Ka=Ia()){var La=Ja();Ea=0==Ka.lastIndexOf("Opera",0);Fa=!Ea&&(-1!=Ka.indexOf("MSIE")||-1!=Ka.indexOf("Trident"));Ga=!Ea&&-1!=Ka.indexOf("WebKit");Ha=!Ea&&!Ga&&!Fa&&"Gecko"==La.product}var C=Ea,D=Fa,E=Ha,F=Ga,Ma=Ja();B=-1!=(Ma&&Ma.platform||"").indexOf("Mac");var Na=!!Ja()&&-1!=(Ja().appVersion||"").indexOf("X11");
function Oa(){var a=m.document;return a?a.documentMode:void 0}var Pa;a:{var Qa="",Ra;if(C&&m.opera)var Sa=m.opera.version,Qa="function"==typeof Sa?Sa():Sa;else if(E?Ra=/rv\:([^\);]+)(\)|;)/:D?Ra=/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/:F&&(Ra=/WebKit\/(\S+)/),Ra)var Ta=Ra.exec(Ia()),Qa=Ta?Ta[1]:"";if(D){var Ua=Oa();if(Ua>parseFloat(Qa)){Pa=String(Ua);break a}}Pa=Qa}var Va={};
function G(a){var b;if(!(b=Va[a])){b=0;for(var c=na(String(Pa)).split("."),d=na(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",k=d[f]||"",l=/(\d*)(\D*)/g,n=/(\d*)(\D*)/g;do{var p=l.exec(g)||["","",""],q=n.exec(k)||["","",""];if(0==p[0].length&&0==q[0].length)break;b=((0==p[1].length?0:parseInt(p[1],10))<(0==q[1].length?0:parseInt(q[1],10))?-1:(0==p[1].length?0:parseInt(p[1],10))>(0==q[1].length?0:parseInt(q[1],10))?1:0)||((0==p[2].length)<(0==q[2].length)?-1:
(0==p[2].length)>(0==q[2].length)?1:0)||(p[2]<q[2]?-1:p[2]>q[2]?1:0)}while(0==b)}b=Va[a]=0<=b}return b}var Wa=m.document,H=Wa&&D?Oa()||("CSS1Compat"==Wa.compatMode?parseInt(Pa,10):5):void 0;var Xa=!D||D&&9<=H;!E&&!D||D&&D&&9<=H||E&&G("1.9.1");D&&G("9");var Ya="H3";function Za(a,b){var c;c=a.className;c=s(c)&&c.match(/\S+/g)||[];for(var d=Da(arguments,1),e=c.length+d.length,f=c,g=0;g<d.length;g++)0<=va(f,d[g])||f.push(d[g]);a.className=c.join(" ");return c.length==e};function I(a,b){this.x=void 0!==a?a:0;this.y=void 0!==b?b:0}I.prototype.X=function(){return new I(this.x,this.y)};function $a(a,b){return new I(a.x-b.x,a.y-b.y)}I.prototype.round=function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this};function ab(a,b){this.width=a;this.height=b}ab.prototype.X=function(){return new ab(this.width,this.height)};ab.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};function bb(a,b){for(var c in a)b.call(void 0,a[c],c,a)}function cb(){var a=db,b;for(b in a)return!1;return!0}var eb="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function fb(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<eb.length;f++)c=eb[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};function J(a){return a?new gb(K(a)):ma||(ma=new gb)}function M(a){var b=document;return s(a)?b.getElementById(a):a}function hb(a,b){bb(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:d in ib?a.setAttribute(ib[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})}
var ib={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};function jb(a){return F||"CSS1Compat"!=a.compatMode?a.body||a.documentElement:a.documentElement}function kb(a,b,c){return lb(document,arguments)}
function lb(a,b){var c=b[0],d=b[1];if(!Xa&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',oa(d.name),'"');if(d.type){c.push(' type="',oa(d.type),'"');var e={};fb(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=a.createElement(c);d&&(s(d)?c.className=d:r(d)?Za.apply(null,[c].concat(d)):hb(c,d));2<b.length&&mb(a,c,b);return c}
function mb(a,b,c){function d(c){c&&b.appendChild(s(c)?a.createTextNode(c):c)}for(var e=2;e<c.length;e++){var f=c[e];if(!ca(f)||fa(f)&&0<f.nodeType)d(f);else{var g;a:{if(f&&"number"==typeof f.length){if(fa(f)){g="function"==typeof f.item||"string"==typeof f.item;break a}if(ea(f)){g="function"==typeof f.item;break a}}g=!1}A(g?Ba(f):f,d)}}}function nb(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)}function ob(a){return a&&a.parentNode?a.parentNode.removeChild(a):null}
function K(a){return 9==a.nodeType?a:a.ownerDocument||a.document}function gb(a){this.j=a||m.document||document}h=gb.prototype;h.Na=function(a,b,c){return lb(this.j,arguments)};h.createElement=function(a){return this.j.createElement(a)};h.createTextNode=function(a){return this.j.createTextNode(String(a))};function pb(a){return"CSS1Compat"==a.j.compatMode}
function qb(a){var b=a.j;a=jb(b);b=b.parentWindow||b.defaultView;return D&&G("10")&&b.pageYOffset!=a.scrollTop?new I(a.scrollLeft,a.scrollTop):new I(b.pageXOffset||a.scrollLeft,b.pageYOffset||a.scrollTop)}h.appendChild=function(a,b){a.appendChild(b)};function rb(a){for(var b;b=a.firstChild;)a.removeChild(b)}h.removeNode=ob;
h.contains=function(a,b){if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};D&&G(8);var sb={},tb={};function ub(a,b){var c=J(),d=vb(a(b||wb,void 0,void 0));var e=c.j,c=e.createElement("div");D?(c.innerHTML="<br>"+d,c.removeChild(c.firstChild)):c.innerHTML=d;if(1==c.childNodes.length)d=c.removeChild(c.firstChild);else for(d=e.createDocumentFragment();c.firstChild;)d.appendChild(c.firstChild);return d}function vb(a){return fa(a)?"zSoyz":String(a)}var wb={};/*
Copyright 2008 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
function N(a){return a&&a.va&&a.va===sb?a.content:String(a).replace(xb,yb)}var zb={"\x00":"&#0;",'"':"&quot;","&":"&amp;","'":"&#39;","<":"&lt;",">":"&gt;","\t":"&#9;","\n":"&#10;","\x0B":"&#11;","\f":"&#12;","\r":"&#13;"," ":"&#32;","-":"&#45;","/":"&#47;","=":"&#61;","`":"&#96;","\u0085":"&#133;","\u00a0":"&#160;","\u2028":"&#8232;","\u2029":"&#8233;"};function yb(a){return zb[a]}var xb=/[\x00\x22\x26\x27\x3c\x3e]/g;function Ab(a){return'<div class="wrap-details inv '+N(a.visibility)+'"><div><details><summary><label for="show-'+N(a.visibility)+'">Show '+N(a.count)+" hidden item"+(1<a.count?"s":"")+"</label></summary></details></div></div>"}
function Bb(a){var b="";if(a.types.length){for(var b=b+"<ul>",c=a.types,d=c.length,e=0;e<d;e++)var f=c[e],b=b+((f.$b?"":'<li class="link"><a href="'+N(a.I)+N(f.href)+'">'+(f.Zb?"<i>"+N(f.name)+"</i>":N(f.name))+"</a>")+(a.ya&&f.types&&f.types.length?Bb({types:f.types,I:a.I,ya:a.ya}):""));b+="</ul>"}return b}
function Cb(a){var b,c=0<a.file.children.length;b=""+(a.parent?"":"<ul>");if(c){b+=a.file.name?"<li>"+N(a.file.name)+"/<ul>":"";for(var c=a.file.children,d=c.length,e=0;e<d;e++)b+=Cb({file:c[e],I:a.I,parent:a.file});b+=a.file.name?"</ul>":""}else a.file.name&&(b+='<li class="link"><a href="'+N(a.I)+N(a.file.href)+'">'+N(a.file.name)+"</a>");return b+=a.parent?"":"</ul>"};var Db=!D||D&&9<=H,Eb=D&&!G("9");!F||G("528");E&&G("1.9b")||D&&G("8")||C&&G("9.5")||F&&G("528");E&&!G("8")||D&&G("9");function O(){0!=Fb&&(Gb[ga(this)]=this)}var Fb=0,Gb={};O.prototype.Oa=!1;O.prototype.B=function(){if(!this.Oa&&(this.Oa=!0,this.e(),0!=Fb)){var a=ga(this);delete Gb[a]}};O.prototype.e=function(){if(this.bb)for(;this.bb.length;)this.bb.shift()()};function Hb(a){a&&"function"==typeof a.B&&a.B()};function P(a,b){this.type=a;this.currentTarget=this.target=b}h=P.prototype;h.e=function(){};h.B=function(){};h.G=!1;h.defaultPrevented=!1;h.nb=!0;h.stopPropagation=function(){this.G=!0};h.preventDefault=function(){this.defaultPrevented=!0;this.nb=!1};var Ib="change";function Jb(a){Jb[" "](a);return a}Jb[" "]=aa;function Q(a,b){a&&Kb(this,a,b)}x(Q,P);h=Q.prototype;h.target=null;h.relatedTarget=null;h.offsetX=0;h.offsetY=0;h.clientX=0;h.clientY=0;h.screenX=0;h.screenY=0;h.button=0;h.keyCode=0;h.charCode=0;h.ctrlKey=!1;h.altKey=!1;h.shiftKey=!1;h.metaKey=!1;h.O=null;
function Kb(a,b,c){var d=a.type=b.type;P.call(a,d);a.target=b.target||b.srcElement;a.currentTarget=c;if(c=b.relatedTarget){if(E){var e;a:{try{Jb(c.nodeName);e=!0;break a}catch(f){}e=!1}e||(c=null)}}else"mouseover"==d?c=b.fromElement:"mouseout"==d&&(c=b.toElement);a.relatedTarget=c;a.offsetX=F||void 0!==b.offsetX?b.offsetX:b.layerX;a.offsetY=F||void 0!==b.offsetY?b.offsetY:b.layerY;a.clientX=void 0!==b.clientX?b.clientX:b.pageX;a.clientY=void 0!==b.clientY?b.clientY:b.pageY;a.screenX=b.screenX||0;
a.screenY=b.screenY||0;a.button=b.button;a.keyCode=b.keyCode||0;a.charCode=b.charCode||("keypress"==d?b.keyCode:0);a.ctrlKey=b.ctrlKey;a.altKey=b.altKey;a.shiftKey=b.shiftKey;a.metaKey=b.metaKey;a.state=b.state;a.O=b;b.defaultPrevented&&a.preventDefault();delete a.G}h.stopPropagation=function(){Q.i.stopPropagation.call(this);this.O.stopPropagation?this.O.stopPropagation():this.O.cancelBubble=!0};
h.preventDefault=function(){Q.i.preventDefault.call(this);var a=this.O;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Eb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};h.e=function(){};var Lb="closure_listenable_"+(1E6*Math.random()|0);function Mb(a){try{return!(!a||!a[Lb])}catch(b){return!1}}var Nb=0;function Ob(a,b,c,d,e){this.K=a;this.ma=null;this.src=b;this.type=c;this.capture=!!d;this.ga=e;this.key=++Nb;this.U=this.ea=!1}function Pb(a){a.U=!0;a.K=null;a.ma=null;a.src=null;a.ga=null};function Qb(a){this.src=a;this.l={};this.da=0}Qb.prototype.add=function(a,b,c,d,e){var f=this.l[a];f||(f=this.l[a]=[],this.da++);var g=Rb(f,b,d,e);-1<g?(a=f[g],c||(a.ea=!1)):(a=new Ob(b,this.src,a,!!d,e),a.ea=c,f.push(a));return a};Qb.prototype.remove=function(a,b,c,d){if(!(a in this.l))return!1;var e=this.l[a];b=Rb(e,b,c,d);return-1<b?(Pb(e[b]),z.splice.call(e,b,1),0==e.length&&(delete this.l[a],this.da--),!0):!1};
function Sb(a,b){var c=b.type;if(!(c in a.l))return!1;var d=a.l[c],e=va(d,b),f;(f=0<=e)&&z.splice.call(d,e,1);f&&(Pb(b),0==a.l[c].length&&(delete a.l[c],a.da--));return f}Qb.prototype.na=function(a){var b=0,c;for(c in this.l)if(!a||c==a){for(var d=this.l[c],e=0;e<d.length;e++)++b,Pb(d[e]);delete this.l[c];this.da--}return b};Qb.prototype.Y=function(a,b,c,d){a=this.l[a];var e=-1;a&&(e=Rb(a,b,c,d));return-1<e?a[e]:null};
function Rb(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.U&&f.K==b&&f.capture==!!c&&f.ga==d)return e}return-1};var Tb="closure_lm_"+(1E6*Math.random()|0),Ub={},Vb=0;function R(a,b,c,d,e){if(r(b)){for(var f=0;f<b.length;f++)R(a,b[f],c,d,e);return null}c=Wb(c);if(Mb(a))a=a.o(b,c,d,e);else{if(!b)throw Error("Invalid event type");var f=!!d,g=Xb(a);g||(a[Tb]=g=new Qb(a));c=g.add(b,c,!1,d,e);c.ma||(d=Yb(),c.ma=d,d.src=a,d.K=c,a.addEventListener?a.addEventListener(b,d,f):a.attachEvent(b in Ub?Ub[b]:Ub[b]="on"+b,d),Vb++);a=c}return a}
function Yb(){var a=Zb,b=Db?function(c){return a.call(b.src,b.K,c)}:function(c){c=a.call(b.src,b.K,c);if(!c)return c};return b}function $b(a,b,c,d,e){if(r(b))for(var f=0;f<b.length;f++)$b(a,b[f],c,d,e);else c=Wb(c),Mb(a)?a.s(b,c,d,e):a&&(a=Xb(a))&&(b=a.Y(b,c,!!d,e))&&ac(b)}
function ac(a){if(da(a)||!a||a.U)return!1;var b=a.src;if(Mb(b))return Sb(b.C,a);var c=a.type,d=a.ma;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent&&b.detachEvent(c in Ub?Ub[c]:Ub[c]="on"+c,d);Vb--;(c=Xb(b))?(Sb(c,a),0==c.da&&(c.src=null,b[Tb]=null)):Pb(a);return!0}function bc(a,b,c,d){var e=1;if(a=Xb(a))if(b=a.l[b])for(b=Ca(b),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.U&&(e&=!1!==cc(f,d))}return Boolean(e)}
function cc(a,b){var c=a.K,d=a.ga||a.src;a.ea&&ac(a);return c.call(d,b)}
function Zb(a,b){if(a.U)return!0;if(!Db){var c;if(!(c=b))a:{c=["window","event"];for(var d=m,e;e=c.shift();)if(null!=d[e])d=d[e];else{c=null;break a}c=d}e=c;c=new Q(e,this);d=!0;if(!(0>e.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(g){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);for(var f=a.type,k=e.length-1;!c.G&&0<=k;k--)c.currentTarget=e[k],d&=bc(e[k],f,!0,c);for(k=0;!c.G&&k<e.length;k++)c.currentTarget=
e[k],d&=bc(e[k],f,!1,c)}return d}return cc(a,new Q(b,this))}function Xb(a){a=a[Tb];return a instanceof Qb?a:null}var dc="__closure_events_fn_"+(1E9*Math.random()>>>0);function Wb(a){return ea(a)?a:a[dc]||(a[dc]=function(b){return a.handleEvent(b)})};var ec=!!m.DOMTokenList,fc=ec?function(a){return a.classList}:function(a){a=a.className;return s(a)&&a.match(/\S+/g)||[]},S=ec?function(a,b){return a.classList.contains(b)}:function(a,b){var c=fc(a);return 0<=va(c,b)},gc=ec?function(a,b){a.classList.add(b)}:function(a,b){S(a,b)||(a.className+=0<a.className.length?" "+b:b)},hc=ec?function(a,b){A(b,function(b){gc(a,b)})}:function(a,b){var c={};A(fc(a),function(a){c[a]=!0});A(b,function(a){c[a]=!0});a.className="";for(var d in c)a.className+=0<a.className.length?
" "+d:d},ic=ec?function(a,b){a.classList.remove(b)}:function(a,b){S(a,b)&&(a.className=xa(fc(a),function(a){return a!=b}).join(" "))},jc=ec?function(a,b){A(b,function(b){ic(a,b)})}:function(a,b){a.className=xa(fc(a),function(a){return!(0<=va(b,a))}).join(" ")};function T(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d}T.prototype.X=function(){return new T(this.top,this.right,this.bottom,this.left)};T.prototype.contains=function(a){return this&&a?a instanceof T?a.left>=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom:a.x>=this.left&&a.x<=this.right&&a.y>=this.top&&a.y<=this.bottom:!1};
T.prototype.round=function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this};function kc(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d}kc.prototype.X=function(){return new kc(this.left,this.top,this.width,this.height)};kc.prototype.contains=function(a){return a instanceof kc?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height};
kc.prototype.round=function(){this.left=Math.round(this.left);this.top=Math.round(this.top);this.width=Math.round(this.width);this.height=Math.round(this.height);return this};function U(a,b){var c=K(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,null))?c[b]||c.getPropertyValue(b)||"":""}function V(a,b){return U(a,b)||(a.currentStyle?a.currentStyle[b]:null)||a.style&&a.style[b]}
function lc(a){var b;try{b=a.getBoundingClientRect()}catch(c){return{left:0,top:0,right:0,bottom:0}}D&&a.ownerDocument.body&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b}
function mc(a){if(D&&!(D&&8<=H))return a.offsetParent;var b=K(a),c=V(a,"position"),d="fixed"==c||"absolute"==c;for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=V(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return null}
function nc(a){for(var b=new T(0,Infinity,Infinity,0),c=J(a),d=c.j.body,e=c.j.documentElement,f=jb(c.j);a=mc(a);)if(!(D&&0==a.clientWidth||F&&0==a.clientHeight&&a==d||a==d||a==e||"visible"==V(a,"overflow"))){var g=W(a),k;k=a;if(E&&!G("1.9")){var l=parseFloat(U(k,"borderLeftWidth"));if(oc(k))var n=k.offsetWidth-k.clientWidth-l-parseFloat(U(k,"borderRightWidth")),l=l+n;k=new I(l,parseFloat(U(k,"borderTopWidth")))}else k=new I(k.clientLeft,k.clientTop);g.x+=k.x;g.y+=k.y;b.top=Math.max(b.top,g.y);b.right=
Math.min(b.right,g.x+a.clientWidth);b.bottom=Math.min(b.bottom,g.y+a.clientHeight);b.left=Math.max(b.left,g.x)}d=f.scrollLeft;f=f.scrollTop;b.left=Math.max(b.left,d);b.top=Math.max(b.top,f);c=(c.j.parentWindow||c.j.defaultView||window).document;c="CSS1Compat"==c.compatMode?c.documentElement:c.body;c=new ab(c.clientWidth,c.clientHeight);b.right=Math.min(b.right,d+c.width);b.bottom=Math.min(b.bottom,f+c.height);return 0<=b.top&&0<=b.left&&b.bottom>b.top&&b.right>b.left?b:null}
function W(a){var b,c=K(a),d=V(a,"position"),e=E&&c.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==d&&(b=c.getBoxObjectFor(a))&&(0>b.screenX||0>b.screenY),f=new I(0,0),g;b=c?K(c):document;g=!D||D&&9<=H||pb(J(b))?b.documentElement:b.body;if(a==g)return f;if(a.getBoundingClientRect)b=lc(a),a=qb(J(c)),f.x=b.left+a.x,f.y=b.top+a.y;else if(c.getBoxObjectFor&&!e)b=c.getBoxObjectFor(a),a=c.getBoxObjectFor(g),f.x=b.screenX-a.screenX,f.y=b.screenY-a.screenY;else{b=a;do{f.x+=b.offsetLeft;f.y+=b.offsetTop;
b!=a&&(f.x+=b.clientLeft||0,f.y+=b.clientTop||0);if(F&&"fixed"==V(b,"position")){f.x+=c.body.scrollLeft;f.y+=c.body.scrollTop;break}b=b.offsetParent}while(b&&b!=a);if(C||F&&"absolute"==d)f.y-=c.body.offsetTop;for(b=a;(b=mc(b))&&b!=c.body&&b!=g;)f.x-=b.scrollLeft,C&&"TR"==b.tagName||(f.y-=b.scrollTop)}return f}function pc(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a}
function qc(a){var b=rc;if("none"!=V(a,"display"))return b(a);var c=a.style,d=c.display,e=c.visibility,f=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";a=b(a);c.display=d;c.position=f;c.visibility=e;return a}function rc(a){var b=a.offsetWidth,c=a.offsetHeight,d=F&&!b&&!c;return(void 0===b||d)&&a.getBoundingClientRect?(a=lc(a),new ab(a.right-a.left,a.bottom-a.top)):new ab(b,c)}function sc(a,b){a.style.display=b?"":"none"}function oc(a){return"rtl"==V(a,"direction")}
var tc=E?"MozUserSelect":F?"WebkitUserSelect":null;function uc(a){var b=a.getElementsByTagName("*");if(tc){var c="none";a.style[tc]=c;if(b){a=0;for(var d;d=b[a];a++)d.style[tc]=c}}else if(D||C)if(c="on",a.setAttribute("unselectable",c),b)for(a=0;d=b[a];a++)d.setAttribute("unselectable",c)}
function vc(a,b){if(/^\d+px?$/.test(b))return parseInt(b,10);var c=a.style.left,d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=b;var e=a.style.pixelLeft;a.style.left=c;a.runtimeStyle.left=d;return e}function wc(a,b){var c=a.currentStyle?a.currentStyle[b]:null;return c?vc(a,c):0}var xc={thin:2,medium:4,thick:6};
function yc(a,b){if("none"==(a.currentStyle?a.currentStyle[b+"Style"]:null))return 0;var c=a.currentStyle?a.currentStyle[b+"Width"]:null;return c in xc?xc[c]:vc(a,c)}function zc(a){if(D&&!(D&&9<=H)){var b=yc(a,"borderLeft"),c=yc(a,"borderRight"),d=yc(a,"borderTop");a=yc(a,"borderBottom");return new T(d,c,a,b)}b=U(a,"borderLeftWidth");c=U(a,"borderRightWidth");d=U(a,"borderTopWidth");a=U(a,"borderBottomWidth");return new T(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))}
var Ac=/[^\d]+$/,Bc={cm:1,"in":1,mm:1,pc:1,pt:1},Cc={em:1,ex:1};function Dc(){var a=document.documentElement,b=V(a,"fontSize"),c;c=(c=b.match(Ac))&&c[0]||null;if(b&&"px"==c)return parseInt(b,10);if(D){if(c in Bc)return vc(a,b);if(a.parentNode&&1==a.parentNode.nodeType&&c in Cc)return a=a.parentNode,c=V(a,"fontSize"),vc(a,b==c?"1em":b)}c=kb("span",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"});a.appendChild(c);b=c.offsetHeight;ob(c);return b}
var Ec=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;function Fc(a){this.c=a||[];this.Ub=!0}function Gc(a,b,c){var d=[];if(""!=a){a=ua(a);a=RegExp("(^|\\W+)"+a,"i");for(var e=0;e<c.length&&d.length<b;e++){var f=c[e];String(f).match(a)&&d.push(f)}}return d}
function Hc(a,b,c){for(var d=[],e=0;e<c.length;e++){var f=c[e],g=a.toLowerCase(),k=String(f).toLowerCase(),l=0;if(-1!=k.indexOf(g))l=parseInt((k.indexOf(g)/4).toString(),10);else for(var n=g.split(""),p=-1,q=10,y=0,u;u=n[y];y++)u=k.indexOf(u),u>p?(p=u-p-1,p>q-5&&(p=q-5),l+=p,p=u):(l+=q,q+=5);l<6*g.length&&d.push({Rb:f,ob:l,index:e})}d.sort(function(a,b){var c=a.ob-b.ob;return 0!=c?c:a.index-b.index});a=[];for(y=0;y<b&&y<d.length;y++)a.push(d[y].Rb);return a};function X(){O.call(this);this.C=new Qb(this);this.ub=this}x(X,O);X.prototype[Lb]=!0;h=X.prototype;h.Fa=null;h.addEventListener=function(a,b,c,d){R(this,a,b,c,d)};h.removeEventListener=function(a,b,c,d){$b(this,a,b,c,d)};
h.dispatchEvent=function(a){var b,c=this.Fa;if(c)for(b=[];c;c=c.Fa)b.push(c);var c=this.ub,d=a.type||a;if(s(a))a=new P(a,c);else if(a instanceof P)a.target=a.target||c;else{var e=a;a=new P(d,c);fb(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.G&&0<=g;g--)f=a.currentTarget=b[g],e=Ic(f,d,!0,a)&&e;a.G||(f=a.currentTarget=c,e=Ic(f,d,!0,a)&&e,a.G||(e=Ic(f,d,!1,a)&&e));if(b)for(g=0;!a.G&&g<b.length;g++)f=a.currentTarget=b[g],e=Ic(f,d,!1,a)&&e;return e};
h.e=function(){X.i.e.call(this);this.C&&this.C.na(void 0);this.Fa=null};h.o=function(a,b,c,d){return this.C.add(String(a),b,!1,c,d)};h.s=function(a,b,c,d){return this.C.remove(String(a),b,c,d)};function Ic(a,b,c,d){b=a.C.l[String(b)];if(!b)return!0;b=Ca(b);for(var e=!0,f=0;f<b.length;++f){var g=b[f];if(g&&!g.U&&g.capture==c){var k=g.K,l=g.ga||g.src;g.ea&&Sb(a.C,g);e=!1!==k.call(l,d)&&e}}return e&&!1!=d.nb}h.Y=function(a,b,c,d){return this.C.Y(String(a),b,c,d)};function Jc(a,b,c){X.call(this);this.R=a;this.aa=c;this.p=b;R(b,[Kc,Lc,Mc,Nc],this.handleEvent,!1,this);this.q=null;this.c=[];this.D=-1;this.k=0;this.J=this.g=null;this.Va={}}x(Jc,X);h=Jc.prototype;h.$a=10;h.wb=!0;h.Ma=!1;h.tb=!1;h.qb=!1;var Kc="hilite",Lc="select",Nc="dismiss",Mc="canceldismiss";h=Jc.prototype;
h.handleEvent=function(a){if(a.target==this.p)switch(a.type){case Kc:this.A(a.V);break;case Lc:a=a.V;var b=this.c[Oc(this,a)],c=!!b&&this.R.za&&this.R.za(b);a&&b&&!c&&this.D!=a&&this.A(a);c||Pc(this);break;case Mc:Qc(this);break;case Nc:Rc(this)}};function Sc(a){for(var b=a.k+a.c.length-1,c=a.D,d=0;d<a.c.length;d++){if(c>=a.k&&c<b)c++;else if(-1==c)c=a.k;else if(a.Ma&&c==b){a.A(-1);break}else if(a.tb&&c==b)c=a.k;else break;if(a.A(c))break}}
function Tc(a){for(var b=a.k+a.c.length-1,c=a.D,d=0;d<a.c.length;d++){if(c>a.k)c--;else if(a.Ma&&c==a.k){a.A(-1);break}else if(!a.tb||-1!=c&&c!=a.k)break;else c=b;if(a.A(c))break}}h.A=function(a){var b=Oc(this,a),c=this.c[b];return c&&this.R.za&&this.R.za(c)?!1:(this.D=a,this.p.A(a),-1!=b)};
function Pc(a){var b=Oc(a,a.D);if(-1!=b){var b=a.c[b],c=a.aa,d=b.toString();if(c.S){var e=Uc(c,c.a.value,Vc(c.a)),f=Wc(c,c.a.value);c.Ob.test(d)||(d=d.replace(/[\s\xa0]+$/,"")+c.yb);c.Wb&&(0==e||/^[\s\xa0]*$/.test(f[e-1])||(d=" "+d),e==f.length-1&&(d+=" "));if(d!=f[e]){f[e]=d;d=c.a;(E||D&&G("9"))&&d.blur();d.value=f.join("");for(var g=0,k=0;k<=e;k++)g+=f[k].length;d.focus();e=g;f=c.a;d=e;Xc(f)?f.selectionStart=d:D&&(g=Yc(f),k=g[0],k.inRange(g[1])&&(d=Zc(f,d),k.collapse(!0),k.move("character",d),k.select()));
f=c.a;Xc(f)?f.selectionEnd=e:D&&(g=Yc(f),d=g[1],g[0].inRange(d)&&(e=Zc(f,e),f=Zc(f,Vc(f)),d.collapse(!0),d.moveEnd("character",e-f),d.select()))}}else c.a.value=d;c.Ja=!0;a.qb?(a.q=null,Rc(a)):a.u();a.dispatchEvent({type:"update",V:b});a.qb&&a.aa.update(!0);return!0}a.u();a.dispatchEvent({type:"update",V:null});return!1}h.u=function(){this.D=-1;this.q=null;this.k+=this.c.length;this.c=[];window.clearTimeout(this.J);this.J=null;this.p.u();this.dispatchEvent("suggestionsupdate");this.dispatchEvent(Nc)};
function Rc(a){a.J||(a.J=window.setTimeout(t(a.u,a),100))}h.Ua=function(){return this.J?(window.clearTimeout(this.J),this.J=null,!0):!1};function Qc(a){a.Ua()||window.setTimeout(t(a.Ua,a),10)}h.e=function(){Jc.i.e.call(this);delete this.Va;this.p.B();this.aa.B();this.R=null};h.Ib=function(a,b,c){this.q==a&&this.Ha(b,c)};
h.Ha=function(a,b){var c="object"==ba(b)&&b,d=(c?c.Yb():b)?Oc(this,this.D):-1;this.k+=this.c.length;this.c=a;for(var e=[],f=0;f<a.length;++f)e.push({id:this.k+f,data:a[f]});f=null;this.g&&(f=this.Va[ga(this.g)]||this.g);this.p.vb=f;this.p.Ha(e,this.q,this.g);f=this.wb;c&&void 0!==c.Cb()&&(f=c.Cb());this.D=-1;(f||0<=d)&&0!=e.length&&this.q&&(0<=d?this.A(this.k+d):Sc(this));this.dispatchEvent("suggestionsupdate")};function Oc(a,b){var c=b-a.k;return 0>c||c>=a.c.length?-1:c}
h.ta=function(a){var b=this.aa;b.ta.apply(b,arguments)};h.update=function(a){this.aa.update(a)};function $c(a,b){X.call(this);this.Q=a||1;this.W=b||m;this.ua=t(this.Sb,this);this.Ca=w()}x($c,X);h=$c.prototype;h.enabled=!1;h.f=null;h.Sb=function(){if(this.enabled){var a=w()-this.Ca;0<a&&a<0.8*this.Q?this.f=this.W.setTimeout(this.ua,this.Q-a):(this.f&&(this.W.clearTimeout(this.f),this.f=null),this.dispatchEvent(ad),this.enabled&&(this.f=this.W.setTimeout(this.ua,this.Q),this.Ca=w()))}};h.start=function(){this.enabled=!0;this.f||(this.f=this.W.setTimeout(this.ua,this.Q),this.Ca=w())};
h.stop=function(){this.enabled=!1;this.f&&(this.W.clearTimeout(this.f),this.f=null)};h.e=function(){$c.i.e.call(this);this.stop();delete this.W};var ad="tick";var bd;function cd(a,b){b?a.setAttribute("role",b):a.removeAttribute("role")}function dd(a,b,c){ca(c)&&(c=c.join(" "));var d="aria-"+b;""===c||void 0==c?(bd||(bd={atomic:!1,autocomplete:"none",dropeffect:"none",haspopup:!1,live:"off",multiline:!1,multiselectable:!1,orientation:"vertical",readonly:!1,relevant:"additions text",required:!1,sort:"none",busy:!1,disabled:!1,hidden:!1,invalid:"false"}),c=bd,b in c?a.setAttribute(d,c[b]):a.removeAttribute(d)):a.setAttribute(d,c)}
function ed(a,b){var c="";b&&(c=b.id);dd(a,"activedescendant",c)};function Vc(a){var b;a:{var c=0,d=0;if(Xc(a))c=a.selectionStart,d=-1;else if(D){var e=Yc(a);b=e[0];e=e[1];if(b.inRange(e)){b.setEndPoint("EndToStart",e);if("textarea"==a.type){e.duplicate();c=a=b.text;for(d=!1;!d;)0==b.compareEndPoints("StartToEnd",b)?d=!0:(b.moveEnd("character",-1),b.text==a?c+="\r\n":d=!0);b=[c.length,-1];break a}c=b.text.length;d=-1}}b=[c,d]}return b[0]}
function Yc(a){var b=a.ownerDocument||a.document,c=b.selection.createRange();"textarea"==a.type?(b=b.body.createTextRange(),b.moveToElementText(a)):b=a.createTextRange();return[b,c]}function Zc(a,b){"textarea"==a.type&&(b=a.value.substring(0,b).replace(/(\r\n|\r|\n)/g,"\n").length);return b}function Xc(a){try{return"number"==typeof a.selectionStart}catch(b){return!1}};function fd(a){O.call(this);this.Z=a;this.ka={}}x(fd,O);var gd=[];h=fd.prototype;h.o=function(a,b,c,d,e){r(b)||(gd[0]=b,b=gd);for(var f=0;f<b.length;f++){var g=R(a,b[f],c||this.handleEvent,d||!1,e||this.Z||this);if(!g)break;this.ka[g.key]=g}return this};h.s=function(a,b,c,d,e){if(r(b))for(var f=0;f<b.length;f++)this.s(a,b[f],c,d,e);else c=c||this.handleEvent,e=e||this.Z||this,c=Wb(c),d=!!d,b=Mb(a)?a.Y(b,c,d,e):a?(a=Xb(a))?a.Y(b,c,d,e):null:null,b&&(ac(b),delete this.ka[b.key]);return this};
h.na=function(){bb(this.ka,ac);this.ka={}};h.e=function(){fd.i.e.call(this);this.na()};h.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};function hd(a,b,c,d,e){if(!(D||F&&G("525")))return!0;if(B&&e)return id(a);if(e&&!d)return!1;da(b)&&(b=jd(b));if(!c&&(17==b||18==b||B&&91==b))return!1;if(F&&d&&c)switch(a){case 220:case 219:case 221:case 192:case 186:case 189:case 187:case 188:case 190:case 191:case 192:case 222:return!1}if(D&&d&&b==a)return!1;switch(a){case 13:return!(D&&D&&9<=H);case 27:return!F}return id(a)}
function id(a){if(48<=a&&57>=a||96<=a&&106>=a||65<=a&&90>=a||F&&0==a)return!0;switch(a){case 32:case 63:case 107:case 109:case 110:case 111:case 186:case 59:case 189:case 187:case 61:case 188:case 190:case 191:case 192:case 222:case 219:case 220:case 221:return!0;default:return!1}}function jd(a){if(E)a=kd(a);else if(B&&F)a:switch(a){case 93:a=91;break a}return a}
function kd(a){switch(a){case 61:return 187;case 59:return 186;case 173:return 189;case 224:return 91;case 0:return 224;default:return a}};function ld(a,b){X.call(this);a&&md(this,a,b)}x(ld,X);h=ld.prototype;h.b=null;h.ia=null;h.Aa=null;h.ja=null;h.m=-1;h.F=-1;h.sa=!1;
var nd={3:13,12:144,63232:38,63233:40,63234:37,63235:39,63236:112,63237:113,63238:114,63239:115,63240:116,63241:117,63242:118,63243:119,63244:120,63245:121,63246:122,63247:123,63248:44,63272:46,63273:36,63275:35,63276:33,63277:34,63289:144,63302:45},od={Up:38,Down:40,Left:37,Right:39,Enter:13,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,"U+007F":46,Home:36,End:35,PageUp:33,PageDown:34,Insert:45},pd=D||F&&G("525"),qd=B&&E;h=ld.prototype;
h.Eb=function(a){F&&(17==this.m&&!a.ctrlKey||18==this.m&&!a.altKey||B&&91==this.m&&!a.metaKey)&&(this.F=this.m=-1);-1==this.m&&(a.ctrlKey&&17!=a.keyCode?this.m=17:a.altKey&&18!=a.keyCode?this.m=18:a.metaKey&&91!=a.keyCode&&(this.m=91));pd&&!hd(a.keyCode,this.m,a.shiftKey,a.ctrlKey,a.altKey)?this.handleEvent(a):(this.F=jd(a.keyCode),qd&&(this.sa=a.altKey))};h.Gb=function(a){this.F=this.m=-1;this.sa=a.altKey};
h.handleEvent=function(a){var b=a.O,c,d,e=b.altKey;D&&"keypress"==a.type?(c=this.F,d=13!=c&&27!=c?b.keyCode:0):F&&"keypress"==a.type?(c=this.F,d=0<=b.charCode&&63232>b.charCode&&id(c)?b.charCode:0):C?(c=this.F,d=id(c)?b.keyCode:0):(c=b.keyCode||this.F,d=b.charCode||0,qd&&(e=this.sa),B&&63==d&&224==c&&(c=191));var f=c=jd(c),g=b.keyIdentifier;c?63232<=c&&c in nd?f=nd[c]:25==c&&a.shiftKey&&(f=9):g&&g in od&&(f=od[g]);a=f==this.m;this.m=f;b=new rd(f,d,a,b);b.altKey=e;this.dispatchEvent(b)};
function md(a,b,c){a.ja&&a.detach();a.b=b;a.ia=R(a.b,"keypress",a,c);a.Aa=R(a.b,"keydown",a.Eb,c,a);a.ja=R(a.b,"keyup",a.Gb,c,a)}h.detach=function(){this.ia&&(ac(this.ia),ac(this.Aa),ac(this.ja),this.ja=this.Aa=this.ia=null);this.b=null;this.F=this.m=-1};h.e=function(){ld.i.e.call(this);this.detach()};function rd(a,b,c,d){d&&Kb(this,d,void 0);this.type="key";this.keyCode=a;this.charCode=b;this.repeat=c}x(rd,Q);var sd,td;td=sd=!1;var ud=Ia();ud&&(-1!=ud.indexOf("Firefox")||-1!=ud.indexOf("Camino")||(-1!=ud.indexOf("iPhone")||-1!=ud.indexOf("iPod")?sd=!0:-1!=ud.indexOf("iPad")&&(td=!0)));var vd=sd,wd=td;function xd(a,b,c,d){O.call(this);d=d||150;this.S=null!=c?c:!0;this.ba=a||",;";this.yb=this.ba.substring(0,1);a=this.S?"[\\s"+this.ba+"]+":"[\\s]+";this.rb=RegExp("^"+a+"|"+a+"$","g");this.Ob=RegExp("\\s*["+this.ba+"]$");this.Za=b||"";this.Lb=this.S;this.f=0<d?new $c(d):null;this.h=new fd(this);this.qa=new fd(this);this.$=new ld;this.Xa=-1}x(xd,O);var yd=(vd||wd)&&!G("533.17.9");h=xd.prototype;h.Wb=!0;h.Bb=!0;h.sb=!1;h.Qb=!0;h.Pb=!0;h.ra=null;h.a=null;h.Ba="";h.H=!1;h.Ja=!1;h.Tb=!0;
h.ta=function(a){for(var b=0;b<arguments.length;b++){var c=arguments[b];fa(c)&&1==c.nodeType&&dd(c,"haspopup",!0);this.h.o(c,"focus",this.Ra);this.h.o(c,"blur",this.Db);if(!this.a&&(this.qa.o(c,"keydown",this.Kb),fa(c)&&1==c.nodeType)){var d;a:{var e=K(c);try{d=e&&e.activeElement;break a}catch(f){}d=null}d==c&&zd(this,c)}}};h.e=function(){xd.i.e.call(this);null!=this.ra&&window.clearTimeout(this.ra);this.h.B();delete this.h;this.qa.B();this.$.B();Hb(this.f)};
function Ad(a,b){switch(b.keyCode){case 40:if(a.d.p.t){a.sb?Tc(a.d):Sc(a.d);b.preventDefault();return}if(!a.S){a.update(!0);b.preventDefault();return}break;case 38:if(a.d.p.t){a.sb?Sc(a.d):Tc(a.d);b.preventDefault();return}break;case 9:if(a.d.p.t&&!b.shiftKey){if(a.update(),Pc(a.d)&&a.Lb){b.preventDefault();return}}else a.d.u();break;case 13:if(a.d.p.t){if(a.update(),Pc(a.d)){b.preventDefault();b.stopPropagation();return}}else a.d.u();break;case 27:if(a.d.p.t){a.d.u();b.preventDefault();b.stopPropagation();
return}break;case 229:if(!a.H){a.H||(a.h.o(a.a,"keyup",a.fb),a.h.o(a.a,"keypress",a.eb),a.H=!0);return}break;default:a.f&&!a.Tb&&(a.f.stop(),a.f.start())}Bd(a,b)}function Bd(a,b){var c=a.S&&b.charCode&&-1!=a.ba.indexOf(String.fromCharCode(b.charCode));a.Qb&&c&&a.update();a.Pb&&c&&Pc(a.d)&&b.preventDefault()}h.Fb=function(){return!1};h.Ra=function(a){zd(this,a.target||null)};
function zd(a,b){a.qa.na();a.d&&Qc(a.d);b!=a.a&&(a.a=b,a.f&&(a.f.start(),a.h.o(a.f,ad,a.ib)),a.Ba=a.a.value,md(a.$,a.a),a.h.o(a.$,"key",a.gb),a.h.o(a.a,"mousedown",a.hb),D&&a.h.o(a.a,"keypress",a.cb))}h.Db=function(){yd?this.ra=window.setTimeout(t(this.kb,this),0):this.kb()};
h.kb=function(){this.a&&(this.h.s(this.$,"key",this.gb),this.$.detach(),this.h.s(this.a,"keyup",this.Fb),this.h.s(this.a,"mousedown",this.hb),D&&this.h.s(this.a,"keypress",this.cb),this.H&&Cd(this),this.a=null,this.f&&(this.f.stop(),this.h.s(this.f,ad,this.ib)),this.d&&Rc(this.d))};h.ib=function(){this.update()};h.Kb=function(a){this.Ra(a)};h.gb=function(a){this.Xa=a.keyCode;this.d&&Ad(this,a)};h.eb=function(){this.H&&229!=this.Xa&&Cd(this)};
h.fb=function(a){this.H&&(13==a.keyCode||77==a.keyCode&&a.ctrlKey)&&Cd(this)};h.hb=function(){};function Cd(a){a.H&&(a.H=!1,a.h.s(a.a,"keypress",a.eb),a.h.s(a.a,"keyup",a.fb))}h.cb=function(a){Bd(this,a)};
h.update=function(a){if(this.a&&(a||this.a.value!=this.Ba)){if(a||!this.Ja){var b;a=Vc(this.a);b=this.a.value;a=Wc(this,b)[Uc(this,b,a)];b=this.rb?String(a).replace(this.rb,""):a;if(this.d&&(this.d.g=this.a,a=this.d,a.q!=b)){a.q=b;var c=a.R;b=a.q;var d=a.$a,e=t(a.Ib,a);if(c.Ub){var c=c.c,f=Gc(b,d,c);0==f.length&&(f=Hc(b,d,c));d=f}else d=Gc(b,d,c.c);e(b,d);Qc(a)}}this.Ba=this.a.value}this.Ja=!1};
function Uc(a,b,c){a=Wc(a,b);if(c==b.length)return a.length-1;for(var d=b=0,e=0;d<a.length&&e<=c;d++)e+=a[d].length,b=d;return b}function Wc(a,b){if(!a.S)return[b];for(var c=String(b).split(""),d=[],e=[],f=0,g=!1;f<c.length;f++)a.Za&&-1!=a.Za.indexOf(c[f])?(a.Bb&&!g&&(d.push(e.join("")),e.length=0),e.push(c[f]),g=!g):g||-1==a.ba.indexOf(c[f])?e.push(c[f]):(e.push(c[f]),d.push(e.join("")),e.length=0);d.push(e.join(""));return d};function Dd(){X.call(this);this.r=Ed;this.Pa=this.startTime=null}x(Dd,X);var Ed=0;Dd.prototype.L=function(){this.v("begin")};Dd.prototype.T=function(){this.v("end")};Dd.prototype.v=function(a){this.dispatchEvent(a)};function Fd(a,b,c){O.call(this);this.Da=a;this.Q=b||0;this.Z=c;this.xb=t(this.zb,this)}x(Fd,O);h=Fd.prototype;h.P=0;h.e=function(){Fd.i.e.call(this);this.stop();delete this.Da;delete this.Z};h.start=function(a){this.stop();var b=this.xb;a=void 0!==a?a:this.Q;if(!ea(b))if(b&&"function"==typeof b.handleEvent)b=t(b.handleEvent,b);else throw Error("Invalid listener argument");this.P=2147483647<a?-1:m.setTimeout(b,a||0)};h.stop=function(){0!=this.P&&m.clearTimeout(this.P);this.P=0};
h.zb=function(){this.P=0;this.Da&&this.Da.call(this.Z)};var db={},Gd=null;function Hd(a){a=ga(a);delete db[a];cb()&&Gd&&Gd.stop()}function Id(){Gd||(Gd=new Fd(function(){Jd()},20));var a=Gd;0!=a.P||a.start()}function Jd(){var a=w();bb(db,function(b){Kd(b,a)});cb()||Id()};function Ld(a,b,c,d){Dd.call(this);if(!r(a)||!r(b))throw Error("Start and end parameters must be arrays");if(a.length!=b.length)throw Error("Start and end points must be the same length");this.ca=a;this.Ab=b;this.duration=c;this.Ka=d;this.coords=[]}x(Ld,Dd);h=Ld.prototype;h.n=0;
h.play=function(a){if(a||this.r==Ed)this.n=0,this.coords=this.ca;else if(1==this.r)return!1;Hd(this);this.startTime=a=w();-1==this.r&&(this.startTime-=this.duration*this.n);this.Pa=this.startTime+this.duration;this.n||this.L();this.v("play");-1==this.r&&this.v("resume");this.r=1;var b=ga(this);b in db||(db[b]=this);Id();Kd(this,a);return!0};h.stop=function(a){Hd(this);this.r=Ed;a&&(this.n=1);Md(this,this.n);this.v("stop");this.T()};h.e=function(){this.r==Ed||this.stop(!1);this.v("destroy");Ld.i.e.call(this)};
function Kd(a,b){a.n=(b-a.startTime)/(a.Pa-a.startTime);1<=a.n&&(a.n=1);Md(a,a.n);1==a.n?(a.r=Ed,Hd(a),a.v("finish"),a.T()):1==a.r&&a.Ea()}function Md(a,b){ea(a.Ka)&&(b=a.Ka(b));a.coords=Array(a.ca.length);for(var c=0;c<a.ca.length;c++)a.coords[c]=(a.Ab[c]-a.ca[c])*b+a.ca[c]}h.Ea=function(){this.v("animate")};h.v=function(a){this.dispatchEvent(new Nd(a,this))};
function Nd(a,b){P.call(this,a);this.coords=b.coords;this.x=b.coords[0];this.y=b.coords[1];this.z=b.coords[2];this.duration=b.duration;this.n=b.n;this.state=b.r}x(Nd,P);function Y(a,b,c,d,e){Ld.call(this,b,c,d,e);this.element=a}x(Y,Ld);Y.prototype.pa=aa;Y.prototype.Ea=function(){this.pa();Y.i.Ea.call(this)};Y.prototype.T=function(){this.pa();Y.i.T.call(this)};Y.prototype.L=function(){this.pa();Y.i.L.call(this)};function Od(a,b,c,d,e){da(b)&&(b=[b]);da(c)&&(c=[c]);Y.call(this,a,b,c,d,e);if(1!=b.length||1!=c.length)throw Error("Start and end points must be 1D");}x(Od,Y);
Od.prototype.pa=function(){var a=this.coords[0],b=this.element.style;"opacity"in b?b.opacity=a:"MozOpacity"in b?b.MozOpacity=a:"filter"in b&&(b.filter=""===a?"":"alpha(opacity="+100*a+")")};Od.prototype.show=function(){this.element.style.display=""};function Pd(a,b,c){Od.call(this,a,1,0,b,c)}x(Pd,Od);Pd.prototype.L=function(){this.show();Pd.i.L.call(this)};Pd.prototype.T=function(){this.element.style.display="none";Pd.i.T.call(this)};function Qd(a,b,c){Od.call(this,a,0,1,b,c)}x(Qd,Od);
Qd.prototype.L=function(){this.show();Qd.i.L.call(this)};function Z(){}Z.wa=function(){return Z.Wa?Z.Wa:Z.Wa=new Z};Z.prototype.ab=0;Z.wa();function Rd(a,b,c,d){X.call(this);this.Ga=a||document.body;this.w=J(this.Ga);this.Mb=!a;this.b=null;this.q="";this.c=[];this.M=[];this.pb=this.ha=-1;this.t=!1;this.className="ac-renderer";this.Ia="ac-row";this.Ya="active";this.La="ac-active";this.Hb="ac-highlighted";this.fa=b||null;this.Vb=null!=d?d:!0;this.Jb=!0;this.xa=!1;this.Nb=!!c;this.oa=!1;this.la=0}x(Rd,X);h=Rd.prototype;h.Ha=function(a,b,c){this.q=b;this.c=a;this.ha=-1;this.pb=w();this.g=c;this.M=[];Sd(this)};
h.u=function(){this.g&&ed(this.g,null);this.t&&(this.t=!1,this.g&&dd(this.g,"haspopup",!1),0<this.la?(Hb(this.N),this.N=new Pd(this.b,this.la),this.N.play()):sc(this.b,!1))};h.show=function(){this.t||(this.t=!0,this.g&&(cd(this.g,"combobox"),dd(this.g,"autocomplete","list"),dd(this.g,"haspopup",!0)),0<this.la?(Hb(this.N),this.N=new Qd(this.b,this.la),this.N.play()):sc(this.b,!0))};
function Td(a,b){var c=0<=b&&b<a.c.length?a.c[b]:void 0,d=0<=b&&b<a.M.length?a.M[b]:void 0;if(a.dispatchEvent({type:"rowhilite",cc:d,V:c?c.data:null})&&(0<=a.ha&&jc(a.M[a.ha],[a.La,a.Ya]),a.ha=b,d)){hc(d,[a.La,a.Ya]);a.g&&ed(a.g,d);var c=a.b,e=W(d),f=W(c),g=zc(c),k=e.x-f.x-g.left,e=e.y-f.y-g.top,f=c.clientHeight-d.offsetHeight,g=c.scrollLeft,l=c.scrollTop,g=g+Math.min(k,Math.max(k-(c.clientWidth-d.offsetWidth),0)),l=l+Math.min(e,Math.max(e-f,0)),d=new I(g,l);c.scrollLeft=d.x;c.scrollTop=d.y}}
h.A=function(a){if(-1==a)Td(this,-1);else for(var b=0;b<this.c.length;b++)if(this.c[b].id==a){Td(this,b);break}};function Ud(a){if(!a.b){var b=a.w.Na("div",{style:"display:none"});a.b=b;hc(b,na(a.className).split(" "));cd(b,"listbox");b.id=":"+(Z.wa().ab++).toString(36);a.w.appendChild(a.Ga,b);R(b,"click",a.Qa,!1,a);R(b,"mousedown",a.Sa,!1,a);R(b,"mouseover",a.Ta,!1,a)}}
function Sd(a){Ud(a);a.oa&&(a.b.style.visibility="hidden");a.Xb&&(a.b.style.minWidth=a.Xb.clientWidth+"px");a.M.length=0;rb(a.b);if(!a.fa||!a.fa.ac){var b=null;A(a.c,function(a){var d=this.q,e=this.w.Na("div",{className:this.Ia,id:":"+(Z.wa().ab++).toString(36)});cd(e,"option");this.fa&&this.fa.bc||(e.innerHTML=oa(a.data.toString()));d&&this.Vb&&Vd(this,e,d);gc(e,this.Ia);this.M.push(e);a=e;this.oa?this.b.insertBefore(a,b):this.w.appendChild(this.b,a);b=a},a)}0==a.c.length?a.u():(a.show(),Wd(a),uc(a.b))}
function Wd(a){if(a.g&&a.Mb){var b,c=a.Nb?3:1;a.oa&&(c^=1);b=c;var d=a.vb||a.g,c=a.b,e=b^1,f,g;if(f=c.offsetParent){var k="HTML"==f.tagName||"BODY"==f.tagName;k&&"static"==V(f,"position")||(g=W(f),k||(k=(k=oc(f))&&E?-f.scrollLeft:!k||D&&G("8")||"visible"==V(f,"overflowX")?f.scrollLeft:f.scrollWidth-f.clientWidth-f.scrollLeft,g=$a(g,new I(k,f.scrollTop))))}f=g||new I;g=W(d);k=qc(d);g=new kc(g.x,g.y,k.width,k.height);if(k=nc(d)){var l=new kc(k.left,k.top,k.right-k.left,k.bottom-k.top),k=Math.max(g.left,
l.left),n=Math.min(g.left+g.width,l.left+l.width);if(k<=n){var p=Math.max(g.top,l.top),l=Math.min(g.top+g.height,l.top+l.height);p<=l&&(g.left=k,g.top=p,g.width=n-k,g.height=l-p)}}k=J(d);p=J(c);if(k.j!=p.j){var n=k.j.body,p=p.j.parentWindow||p.j.defaultView,l=new I(0,0),q=K(n)?K(n).parentWindow||K(n).defaultView:window,y=n;do{var u;if(q==p)u=W(y);else{u=y;var L=void 0;if(u.getBoundingClientRect)L=lc(u),L=new I(L.left,L.top);else var L=qb(J(u)),v=W(u),L=new I(v.x-L.x,v.y-L.y);v=void 0;if(E&&!G(12)){v=
void 0;v=void 0;D?v="-ms-transform":F?v="-webkit-transform":C?v="-o-transform":E&&(v="-moz-transform");var wa=void 0;v&&(wa=V(u,v));wa||(wa=V(u,"transform"));v=wa?(u=wa.match(Ec))?new I(parseFloat(u[1]),parseFloat(u[2])):new I(0,0):new I(0,0);v=new I(L.x+v.x,L.y+v.y)}else v=L;u=v}l.x+=u.x;l.y+=u.y}while(q&&q!=p&&(y=q.frameElement)&&(q=q.parent));n=$a(l,W(n));D&&!pb(k)&&(n=$a(n,qb(k)));g.left+=n.x;g.top+=n.y}b=(b&4&&oc(d)?b^2:b)&-5;b=new I(b&2?g.left+g.width:g.left,b&1?g.top+g.height:g.top);b=$a(b,
f);if(d=nc(c))d.top-=f.y,d.right-=f.x,d.bottom-=f.y,d.left-=f.x;f=b.X();g=(e&4&&oc(c)?e^2:e)&-5;b=qc(c);e=b.X();0!=g&&(g&2&&(f.x-=e.width+0),g&1&&(f.y-=e.height+0));d?(g=f,k=65,n=0,65==(k&65)&&(g.x<d.left||g.x>=d.right)&&(k&=-2),132==(k&132)&&(g.y<d.top||g.y>=d.bottom)&&(k&=-5),g.x<d.left&&k&1&&(g.x=d.left,n|=1),g.x<d.left&&g.x+e.width>d.right&&k&16&&(e.width=Math.max(e.width-(g.x+e.width-d.right),0),n|=4),g.x+e.width>d.right&&k&1&&(g.x=Math.max(d.right-e.width,d.left),n|=1),k&2&&(n=n|(g.x<d.left?
16:0)|(g.x+e.width>d.right?32:0)),g.y<d.top&&k&4&&(g.y=d.top,n|=2),g.y<=d.top&&g.y+e.height<d.bottom&&k&32&&(e.height=Math.max(e.height-(d.top-g.y),0),g.y=d.top,n|=8),g.y>=d.top&&g.y+e.height>d.bottom&&k&32&&(e.height=Math.max(e.height-(g.y+e.height-d.bottom),0),n|=8),g.y+e.height>d.bottom&&k&4&&(g.y=Math.max(d.bottom-e.height,d.top),n|=2),k&8&&(n=n|(g.y<d.top?64:0)|(g.y+e.height>d.bottom?128:0)),d=n):d=256;d&496||(g=f,f=E&&(B||Na)&&G("1.9"),g instanceof I?(d=g.x,g=g.y):(d=g,g=void 0),c.style.left=
pc(d,f),c.style.top=pc(g,f),b==e||b&&e&&b.width==e.width&&b.height==e.height||(d=pb(J(K(c))),!D||d&&G("8")?(c=c.style,E?c.MozBoxSizing="border-box":F?c.WebkitBoxSizing="border-box":c.boxSizing="border-box",c.width=Math.max(e.width,0)+"px",c.height=Math.max(e.height,0)+"px"):(b=c.style,d?(D?(d=wc(c,"paddingLeft"),f=wc(c,"paddingRight"),g=wc(c,"paddingTop"),k=wc(c,"paddingBottom"),d=new T(g,f,k,d)):(d=U(c,"paddingLeft"),f=U(c,"paddingRight"),g=U(c,"paddingTop"),k=U(c,"paddingBottom"),d=new T(parseFloat(g),
parseFloat(f),parseFloat(k),parseFloat(d))),c=zc(c),b.pixelWidth=e.width-c.left-d.left-d.right-c.right,b.pixelHeight=e.height-c.top-d.top-d.bottom-c.bottom):(b.pixelWidth=e.width,b.pixelHeight=e.height))));a.oa&&(a.b.style.visibility="visible")}}h.e=function(){this.b&&($b(this.b,"click",this.Qa,!1,this),$b(this.b,"mousedown",this.Sa,!1,this),$b(this.b,"mouseover",this.Ta,!1,this),this.w.removeNode(this.b),this.b=null,this.t=!1);Hb(this.N);this.Ga=null;Rd.i.e.call(this)};
function Vd(a,b,c){if(3==b.nodeType){var d=null;r(c)&&1<c.length&&!a.xa&&(d=Da(c,1));c=Xd(a,c);if(0!=c.length){var e=b.nodeValue,f=a.Jb?RegExp("\\b(?:"+c+")","gi"):RegExp(c,"gi");c=[];for(var g=0,k=f.exec(e),l=0;k;)l++,c.push(e.substring(g,k.index)),c.push(e.substring(k.index,f.lastIndex)),g=f.lastIndex,k=f.exec(e);c.push(e.substring(g));if(1<c.length){d=a.xa?l:1;for(e=0;e<d;e++)f=2*e,b.nodeValue=c[f],g=a.w.createElement("b"),g.className=a.Hb,a.w.appendChild(g,a.w.createTextNode(c[f+1])),g=b.parentNode.insertBefore(g,
b.nextSibling),b.parentNode.insertBefore(a.w.createTextNode(""),g.nextSibling),b=g.nextSibling;a=Da(c,2*d);b.nodeValue=a.join("")}else d&&Vd(a,b,d)}}else for(b=b.firstChild;b;)d=b.nextSibling,Vd(a,b,c),b=d}
function Xd(a,b){var c="";if(!b)return c;r(b)&&(b=xa(b,function(a){return!/^[\s\xa0]*$/.test(null==a?"":String(a))}));a.xa?r(b)?c=ya(b,ua).join("|"):(c=b.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,""),c=ua(c),c=c.replace(/ /g,"|")):r(b)?c=0<b.length?ua(b[0]):"":/^\W/.test(b)||(c=ua(b));return c}function Yd(a,b){for(;b&&b!=a.b&&!S(b,a.Ia);)b=b.parentNode;return b?va(a.M,b):-1}h.Qa=function(a){var b=Yd(this,a.target);0<=b&&this.dispatchEvent({type:Lc,V:this.c[b].id});a.stopPropagation()};
h.Sa=function(a){a.stopPropagation();a.preventDefault()};h.Ta=function(a){a=Yd(this,a.target);0<=a&&!(300>w()-this.pb)&&this.dispatchEvent({type:Kc,V:this.c[a].id})};function Zd(a,b){var c=new Fc(a),d=new Rd,e=new xd(null,null,!1),c=new Jc(c,d,e);e.d=c;e.ta(b);return c};/*
Copyright 2013 Jason Leyba
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
function $d(){var a=m.TYPES;ae(a);M("type-index")&&M("file-index")&&M("module-index")&&(be("file-index",a.files),ce("type-index",a.types),ce("module-index",a.modules,!0));de();setTimeout(la(ee,a),0);setTimeout(fe,0)}var ge=["init"],$=m;ge[0]in $||!$.execScript||$.execScript("var "+ge[0]);for(var he;ge.length&&(he=ge.shift());)ge.length||void 0===$d?$=$[he]?$[he]:$[he]={}:$[he]=$d;
var ie=function(){var a="./";za(document.getElementsByTagName("script"),function(b){b=b.src;var c=b.length;return"dossier.js"===b.substr(c-10)?(a=b.substr(0,c-10),!0):!1});return a}();
function ee(a){function b(){var a=c[e.value];a&&(window.location.href=ie+a)}var c={},d=Aa(ya(a.files,function(a){var b="file://"+a.name;c[b]=a.href;return b}),ya(a.types,function(a){c[a.name]=a.href;return a.name}));A(a.modules,function(a){c[a.name]=a.href;d=Aa(d,a.name,ya(a.types||[],function(b){var d=a.name+"."+b.name;c[d]=b.href;return d}))});a=M("searchbox");R(a,"submit",function(a){a.preventDefault();a.stopPropagation();b();return!1});var e=a.getElementsByTagName("input")[0];a=Zd(d,e);a.$a=15;
R(a,"update",b)}
function ae(a){function b(a,b,c,d){R(a,Ib,function(){b.style.height=pc(a.checked?c:0,!0);je(d,a)})}if(M("sidenav")){M("sidenav-overview").href=ie+"index.html";var c=M("sidenav-types-ctrl"),d=ce("sidenav-types",a.types),e=M("sidenav-modules-ctrl"),f=ce("sidenav-modules",a.modules),g=M("sidenav-files-ctrl");a=be("sidenav-files",a.files);var k=Dc(),l=qc(d).height/k+"rem",n=qc(a).height/k+"rem",k=qc(f).height/k+"rem";c.checked=ke("dossier.typesList");g.checked=ke("dossier.filesList");e.checked=ke("dossier.modulesList");
d.style.height=pc(c.checked?l:0,!0);a.style.height=pc(g.checked?n:0,!0);f.style.height=pc(e.checked?k:0,!0);b(c,d,l,"dossier.typesList");b(g,a,n,"dossier.filesList");b(e,f,k,"dossier.modulesList")}}function le(a,b){this.name=a;this.href=b||"";this.children=[]}
function me(a){function b(a){A(a.children,b);!a.href&&1===a.children.length&&a.children[0].children.length&&(a.name=(a.name?a.name+"/":"")+a.children[0].name,a.href=a.children[0].href,a.children=a.children[0].children)}var c=new le("");A(a,function(a){var b=a.name.split(/[\/\\]/),f=c;A(b,function(c,k){if(c)if(k===b.length-1)f.children.push(new le(c,a.href));else{var l=za(f.children,function(a){return a.name===c});l||(l=new le(c),f.children.push(l));f=l}})});b(c);return c}
function be(a,b){var c=M(a),d=c.querySelector("i");if(!b.length)return d;var e=me(b),e=ub(Cb,{file:e,I:ie});ob(d);c.appendChild(e);return e}function ce(a,b,c){a=M(a);var d=a.querySelector("i");return(b=ub(Bb,{types:b,I:ie,ya:!!c}))&&b.childNodes.length?(ob(d),a.appendChild(b),b):d}
function fe(){var a=document.getElementsByTagName("DETAILS");a.length&&!a[0].hasOwnProperty("open")&&A(a,function(a){function c(){(d=!d)?a.setAttribute("open",""):a.removeAttribute("open");A(a.childNodes,function(a){1===a.nodeType&&"SUMMARY"!==a.tagName.toUpperCase()&&sc(a,d)})}var d=!0;a.setAttribute("open","");R(a,"click",c);c()})}function je(a,b){window.localStorage&&(b.checked?window.localStorage.setItem(a,"1"):window.localStorage.removeItem(a))}
function ke(a){return window.localStorage?!!window.localStorage.getItem(a):!1}var ne="public",oe="protected",pe="private";function qe(a){return"dossier.visibility."+a}
function de(){function a(){var a=window.localStorage;a&&!a.getItem("dossier.visibility")&&(a.setItem("dossier.visibility","1"),a.setItem(qe(ne),"1"),a.removeItem(qe(oe)),a.removeItem(qe(pe)))}function b(a,b){var d=document.getElementById(a);if(d){var e=qe(b);d.checked=ke(e);c(d,b);R(d,Ib,function(){je(e,d);c(d,b)})}}function c(a,b){a.checked?gc(f,b):ic(f,b)}function d(a){function b(){for(var a=[],e=d=f=y=0,k=c.length;e<k;++e){var l=c.shift();if(l.tagName===Ya)break;a.push(l);S(l,"public")?(d++,g.mb++):
S(l,"protected")?(f++,g.lb++):S(l,"private")&&(y++,g.jb++)}return a}if(a){var c=Ba(a.querySelectorAll(".wrap-details, h3")),d=0,f=0,y=0;do A(b(),function(a){S(a,"public")&&d?(nb(e("public",d),a),d=0):S(a,"protected")&&f?(nb(e("protected",f),a),f=0):S(a,"private")&&y&&(nb(e("private",y),a),y=0)});while(c.length)}}function e(a,b){return ub(Ab,{visibility:a,count:b})}if(document.getElementById("show-public")){var f=document.getElementsByTagName("main")[0],g={mb:0,lb:0,jb:0};a();b("show-public",ne);b("show-protected",
oe);b("show-private",pe);d(document.getElementById("typedefs"));d(document.getElementById("instance-methods"));d(document.getElementById("instance-properties"));d(document.getElementById("static-functions"));d(document.getElementById("static-properties"));d(document.getElementById("compiler-constants"));sc(document.getElementById("visibility-controls"),g.mb||g.lb||g.jb)}};;init();})();

@ -0,0 +1,2 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>bot.ErrorCode</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum bot.ErrorCode</h1><a class="source" href="source/lib/atoms/error.js.src.html#l31">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></dl></header><section><p>Error codes from the WebDriver wire protocol:
http://code.google.com/p/selenium/wiki/JsonWireProtocol#Response_Status_Codes<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="bot.ErrorCode.ELEMENT_NOT_SELECTABLE">ELEMENT_NOT_SELECTABLE</a><dt><a class="enum member" name="bot.ErrorCode.ELEMENT_NOT_VISIBLE">ELEMENT_NOT_VISIBLE</a><dt><a class="enum member" name="bot.ErrorCode.IME_ENGINE_ACTIVATION_FAILED">IME_ENGINE_ACTIVATION_FAILED</a><dt><a class="enum member" name="bot.ErrorCode.IME_NOT_AVAILABLE">IME_NOT_AVAILABLE</a><dt><a class="enum member" name="bot.ErrorCode.INVALID_COOKIE_DOMAIN">INVALID_COOKIE_DOMAIN</a><dt><a class="enum member" name="bot.ErrorCode.INVALID_ELEMENT_COORDINATES">INVALID_ELEMENT_COORDINATES</a><dt><a class="enum member" name="bot.ErrorCode.INVALID_ELEMENT_STATE">INVALID_ELEMENT_STATE</a><dt><a class="enum member" name="bot.ErrorCode.INVALID_SELECTOR_ERROR">INVALID_SELECTOR_ERROR</a><dt><a class="enum member" name="bot.ErrorCode.INVALID_XPATH_SELECTOR">INVALID_XPATH_SELECTOR</a><dt><a class="enum member" name="bot.ErrorCode.INVALID_XPATH_SELECTOR_RETURN_TYPE">INVALID_XPATH_SELECTOR_RETURN_TYPE</a><dt><a class="enum member" name="bot.ErrorCode.JAVASCRIPT_ERROR">JAVASCRIPT_ERROR</a><dt><a class="enum member" name="bot.ErrorCode.METHOD_NOT_ALLOWED">METHOD_NOT_ALLOWED</a><dt><a class="enum member" name="bot.ErrorCode.MODAL_DIALOG_OPENED">MODAL_DIALOG_OPENED</a><dt><a class="enum member" name="bot.ErrorCode.MOVE_TARGET_OUT_OF_BOUNDS">MOVE_TARGET_OUT_OF_BOUNDS</a><dt><a class="enum member" name="bot.ErrorCode.NO_MODAL_DIALOG_OPEN">NO_MODAL_DIALOG_OPEN</a><dt><a class="enum member" name="bot.ErrorCode.NO_SUCH_ELEMENT">NO_SUCH_ELEMENT</a><dt><a class="enum member" name="bot.ErrorCode.NO_SUCH_FRAME">NO_SUCH_FRAME</a><dt><a class="enum member" name="bot.ErrorCode.NO_SUCH_WINDOW">NO_SUCH_WINDOW</a><dt><a class="enum member" name="bot.ErrorCode.SCRIPT_TIMEOUT">SCRIPT_TIMEOUT</a><dt><a class="enum member" name="bot.ErrorCode.SESSION_NOT_CREATED">SESSION_NOT_CREATED</a><dt><a class="enum member" name="bot.ErrorCode.SQL_DATABASE_ERROR">SQL_DATABASE_ERROR</a><dt><a class="enum member" name="bot.ErrorCode.STALE_ELEMENT_REFERENCE">STALE_ELEMENT_REFERENCE</a><dt><a class="enum member" name="bot.ErrorCode.SUCCESS">SUCCESS</a><dt><a class="enum member" name="bot.ErrorCode.TIMEOUT">TIMEOUT</a><dt><a class="enum member" name="bot.ErrorCode.UNABLE_TO_SET_COOKIE">UNABLE_TO_SET_COOKIE</a><dt><a class="enum member" name="bot.ErrorCode.UNKNOWN_COMMAND">UNKNOWN_COMMAND</a><dt><a class="enum member" name="bot.ErrorCode.UNKNOWN_ERROR">UNKNOWN_ERROR</a><dt><a class="enum member" name="bot.ErrorCode.UNSUPPORTED_OPERATION">UNSUPPORTED_OPERATION</a><dt><a class="enum member" name="bot.ErrorCode.XPATH_LOOKUP_ERROR">XPATH_LOOKUP_ERROR</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>bot.Error.State</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum bot.Error.State</h1><a class="source" href="source/lib/atoms/error.js.src.html#l123">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></dl></header><section><p>Status strings enumerated in the W3C WebDriver working draft.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="bot.Error.State.ELEMENT_NOT_SELECTABLE">ELEMENT_NOT_SELECTABLE</a><dt><a class="enum member" name="bot.Error.State.ELEMENT_NOT_VISIBLE">ELEMENT_NOT_VISIBLE</a><dt><a class="enum member" name="bot.Error.State.IME_ENGINE_ACTIVATION_FAILED">IME_ENGINE_ACTIVATION_FAILED</a><dt><a class="enum member" name="bot.Error.State.IME_NOT_AVAILABLE">IME_NOT_AVAILABLE</a><dt><a class="enum member" name="bot.Error.State.INVALID_COOKIE_DOMAIN">INVALID_COOKIE_DOMAIN</a><dt><a class="enum member" name="bot.Error.State.INVALID_ELEMENT_COORDINATES">INVALID_ELEMENT_COORDINATES</a><dt><a class="enum member" name="bot.Error.State.INVALID_ELEMENT_STATE">INVALID_ELEMENT_STATE</a><dt><a class="enum member" name="bot.Error.State.INVALID_SELECTOR">INVALID_SELECTOR</a><dt><a class="enum member" name="bot.Error.State.JAVASCRIPT_ERROR">JAVASCRIPT_ERROR</a><dt><a class="enum member" name="bot.Error.State.MOVE_TARGET_OUT_OF_BOUNDS">MOVE_TARGET_OUT_OF_BOUNDS</a><dt><a class="enum member" name="bot.Error.State.NO_SUCH_ALERT">NO_SUCH_ALERT</a><dt><a class="enum member" name="bot.Error.State.NO_SUCH_DOM">NO_SUCH_DOM</a><dt><a class="enum member" name="bot.Error.State.NO_SUCH_ELEMENT">NO_SUCH_ELEMENT</a><dt><a class="enum member" name="bot.Error.State.NO_SUCH_FRAME">NO_SUCH_FRAME</a><dt><a class="enum member" name="bot.Error.State.NO_SUCH_WINDOW">NO_SUCH_WINDOW</a><dt><a class="enum member" name="bot.Error.State.SCRIPT_TIMEOUT">SCRIPT_TIMEOUT</a><dt><a class="enum member" name="bot.Error.State.SESSION_NOT_CREATED">SESSION_NOT_CREATED</a><dt><a class="enum member" name="bot.Error.State.STALE_ELEMENT_REFERENCE">STALE_ELEMENT_REFERENCE</a><dt><a class="enum member" name="bot.Error.State.SUCCESS">SUCCESS</a><dt><a class="enum member" name="bot.Error.State.TIMEOUT">TIMEOUT</a><dt><a class="enum member" name="bot.Error.State.UNABLE_TO_SET_COOKIE">UNABLE_TO_SET_COOKIE</a><dt><a class="enum member" name="bot.Error.State.UNEXPECTED_ALERT_OPEN">UNEXPECTED_ALERT_OPEN</a><dt><a class="enum member" name="bot.Error.State.UNKNOWN_COMMAND">UNKNOWN_COMMAND</a><dt><a class="enum member" name="bot.Error.State.UNKNOWN_ERROR">UNKNOWN_ERROR</a><dt><a class="enum member" name="bot.Error.State.UNSUPPORTED_OPERATION">UNSUPPORTED_OPERATION</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,10 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.dom.NodeType</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum goog.dom.NodeType</h1><a class="source" href="source/lib/goog/dom/nodetype.js.src.html#l35">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></dl></header><section><p>Constants for the nodeType attribute in the Node interface.
These constants match those specified in the Node interface. These are
usually present on the Node object in recent browsers, but not in older
browsers (specifically, early IEs) and thus are given here.
In some browsers (early IEs), these are not defined on the Node object,
so they are provided here.
See http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1950641247<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="goog.dom.NodeType.ATTRIBUTE">ATTRIBUTE</a><dt><a class="enum member" name="goog.dom.NodeType.CDATA_SECTION">CDATA_SECTION</a><dt><a class="enum member" name="goog.dom.NodeType.COMMENT">COMMENT</a><dt><a class="enum member" name="goog.dom.NodeType.DOCUMENT">DOCUMENT</a><dt><a class="enum member" name="goog.dom.NodeType.DOCUMENT_FRAGMENT">DOCUMENT_FRAGMENT</a><dt><a class="enum member" name="goog.dom.NodeType.DOCUMENT_TYPE">DOCUMENT_TYPE</a><dt><a class="enum member" name="goog.dom.NodeType.ELEMENT">ELEMENT</a><dt><a class="enum member" name="goog.dom.NodeType.ENTITY">ENTITY</a><dt><a class="enum member" name="goog.dom.NodeType.ENTITY_REFERENCE">ENTITY_REFERENCE</a><dt><a class="enum member" name="goog.dom.NodeType.NOTATION">NOTATION</a><dt><a class="enum member" name="goog.dom.NodeType.PROCESSING_INSTRUCTION">PROCESSING_INSTRUCTION</a><dt><a class="enum member" name="goog.dom.NodeType.TEXT">TEXT</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,4 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.net.XmlHttp.OptionType</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum goog.net.XmlHttp.OptionType</h1><a class="source" href="source/lib/goog/net/xmlhttp.js.src.html#l77">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></dl></header><section><p>Type of options that an XmlHttp object can have.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="goog.net.XmlHttp.OptionType.LOCAL_REQUEST_ERROR">LOCAL_REQUEST_ERROR</a><dd>NOTE(user): In IE if send() errors on a *local* request the readystate
is still changed to COMPLETE. We need to ignore it and allow the
try/catch around send() to pick up the error.<dt><a class="enum member" name="goog.net.XmlHttp.OptionType.USE_NULL_FUNCTION">USE_NULL_FUNCTION</a><dd>Whether a goog.nullFunction should be used to clear the onreadystatechange
handler instead of null.</dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,3 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.net.XmlHttp.ReadyState</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum goog.net.XmlHttp.ReadyState</h1><a class="source" href="source/lib/goog/net/xmlhttp.js.src.html#l99">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></dl></header><section><p>Status constants for XMLHTTP, matches:
http://msdn.microsoft.com/library/default.asp?url=/library/
en-us/xmlsdk/html/0e6a34e4-f90c-489d-acff-cb44242fafc6.asp<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="goog.net.XmlHttp.ReadyState.COMPLETE">COMPLETE</a><dd>Constant for when xmlhttprequest.readyState is completed<dt><a class="enum member" name="goog.net.XmlHttp.ReadyState.INTERACTIVE">INTERACTIVE</a><dd>Constant for when xmlhttprequest.readyState is in an interactive state.<dt><a class="enum member" name="goog.net.XmlHttp.ReadyState.LOADED">LOADED</a><dd>Constant for when xmlhttprequest.readyState is loaded.<dt><a class="enum member" name="goog.net.XmlHttp.ReadyState.LOADING">LOADING</a><dd>Constant for when xmlhttprequest.readyState is loading.<dt><a class="enum member" name="goog.net.XmlHttp.ReadyState.UNINITIALIZED">UNINITIALIZED</a><dd>Constant for when xmlhttprequest.readyState is uninitialized</dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.string.Unicode</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum goog.string.Unicode</h1><a class="source" href="source/lib/goog/string/string.js.src.html#l38">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></dl></header><section><p>Common Unicode string characters.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="goog.string.Unicode.NBSP">NBSP</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.uri.utils.CharCode_</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum goog.uri.utils.CharCode_</h1><a class="source" href="source/lib/goog/uri/utils.js.src.html#l64">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></dl></header><section><p>Character codes inlined to avoid object allocations due to charCode.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="private"><dt><a class="enum member" name="goog.uri.utils.CharCode_.AMPERSAND">AMPERSAND</a><dt><a class="enum member" name="goog.uri.utils.CharCode_.EQUAL">EQUAL</a><dt><a class="enum member" name="goog.uri.utils.CharCode_.HASH">HASH</a><dt><a class="enum member" name="goog.uri.utils.CharCode_.QUESTION">QUESTION</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.uri.utils.ComponentIndex</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum goog.uri.utils.ComponentIndex</h1><a class="source" href="source/lib/goog/uri/utils.js.src.html#l212">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></dl></header><section><p>The index of each URI component in the return value of goog.uri.utils.split.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="goog.uri.utils.ComponentIndex.DOMAIN">DOMAIN</a><dt><a class="enum member" name="goog.uri.utils.ComponentIndex.FRAGMENT">FRAGMENT</a><dt><a class="enum member" name="goog.uri.utils.ComponentIndex.PATH">PATH</a><dt><a class="enum member" name="goog.uri.utils.ComponentIndex.PORT">PORT</a><dt><a class="enum member" name="goog.uri.utils.ComponentIndex.QUERY_DATA">QUERY_DATA</a><dt><a class="enum member" name="goog.uri.utils.ComponentIndex.SCHEME">SCHEME</a><dt><a class="enum member" name="goog.uri.utils.ComponentIndex.USER_INFO">USER_INFO</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>goog.uri.utils.StandardQueryParam</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum goog.uri.utils.StandardQueryParam</h1><a class="source" href="source/lib/goog/uri/utils.js.src.html#l1060">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></dl></header><section><p>Standard supported query parameters.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="goog.uri.utils.StandardQueryParam.RANDOM">RANDOM</a><dd>Unused parameter for unique-ifying.</dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.Browser</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum webdriver.Browser</h1><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l29">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></dl></header><section><p>Recognized browser names.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="webdriver.Browser.ANDROID">ANDROID</a><dt><a class="enum member" name="webdriver.Browser.CHROME">CHROME</a><dt><a class="enum member" name="webdriver.Browser.FIREFOX">FIREFOX</a><dt><a class="enum member" name="webdriver.Browser.HTMLUNIT">HTMLUNIT</a><dt><a class="enum member" name="webdriver.Browser.INTERNET_EXPLORER">INTERNET_EXPLORER</a><dt><a class="enum member" name="webdriver.Browser.IPAD">IPAD</a><dt><a class="enum member" name="webdriver.Browser.IPHONE">IPHONE</a><dt><a class="enum member" name="webdriver.Browser.OPERA">OPERA</a><dt><a class="enum member" name="webdriver.Browser.PHANTOM_JS">PHANTOM_JS</a><dt><a class="enum member" name="webdriver.Browser.SAFARI">SAFARI</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.Button</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum webdriver.Button</h1><a class="source" href="source/lib/webdriver/button.js.src.html#l23">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></code></dl></header><section><p>Enumeration of the buttons used in the advanced interactions API.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="webdriver.Button.LEFT">LEFT</a><dt><a class="enum member" name="webdriver.Button.MIDDLE">MIDDLE</a><dt><a class="enum member" name="webdriver.Button.RIGHT">RIGHT</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,14 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.Capability</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum webdriver.Capability</h1><a class="source" href="source/lib/webdriver/capabilities.js.src.html#l48">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></dl></header><section><p>Common webdriver capability keys.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="webdriver.Capability.ACCEPT_SSL_CERTS">ACCEPT_SSL_CERTS</a><dd>Indicates whether a driver should accept all SSL certs by default. This
capability only applies when requesting a new session. To query whether
a driver can handle insecure SSL certs, see
<code class="type"><a href="enum_webdriver_Capability.html#webdriver.Capability.SECURE_SSL">webdriver.Capability.SECURE_SSL</a></code>.<dt><a class="enum member" name="webdriver.Capability.BROWSER_NAME">BROWSER_NAME</a><dd>The browser name. Common browser names are defined in the
<code class="type"><a href="enum_webdriver_Browser.html">webdriver.Browser</a></code> enum.<dt><a class="enum member" name="webdriver.Capability.HANDLES_ALERTS">HANDLES_ALERTS</a><dd>Whether the driver is capable of handling modal alerts (e.g. alert,
confirm, prompt). To define how a driver <i>should</i> handle alerts,
use <code class="type"><a href="enum_webdriver_Capability.html#webdriver.Capability.UNEXPECTED_ALERT_BEHAVIOR">webdriver.Capability.UNEXPECTED_ALERT_BEHAVIOR</a></code>.<dt><a class="enum member" name="webdriver.Capability.LOGGING_PREFS">LOGGING_PREFS</a><dd>Key for the logging driver logging preferences.<dt><a class="enum member" name="webdriver.Capability.PLATFORM">PLATFORM</a><dd>Describes the platform the browser is running on. Will be one of
ANDROID, IOS, LINUX, MAC, UNIX, or WINDOWS. When <i>requesting</i> a
session, ANY may be used to indicate no platform preference (this is
semantically equivalent to omitting the platform capability).<dt><a class="enum member" name="webdriver.Capability.PROXY">PROXY</a><dd>Describes the proxy configuration to use for a new WebDriver session.<dt><a class="enum member" name="webdriver.Capability.ROTATABLE">ROTATABLE</a><dd>Whether the driver supports changing the brower's orientation.<dt><a class="enum member" name="webdriver.Capability.SECURE_SSL">SECURE_SSL</a><dd>Whether a driver is only capable of handling secure SSL certs. To request
that a driver accept insecure SSL certs by default, use
<code class="type"><a href="enum_webdriver_Capability.html#webdriver.Capability.ACCEPT_SSL_CERTS">webdriver.Capability.ACCEPT_SSL_CERTS</a></code>.<dt><a class="enum member" name="webdriver.Capability.SUPPORTS_APPLICATION_CACHE">SUPPORTS_APPLICATION_CACHE</a><dd>Whether the driver supports manipulating the app cache.<dt><a class="enum member" name="webdriver.Capability.SUPPORTS_BROWSER_CONNECTION">SUPPORTS_BROWSER_CONNECTION</a><dd>Whether the driver supports controlling the browser's internet
connectivity.<dt><a class="enum member" name="webdriver.Capability.SUPPORTS_CSS_SELECTORS">SUPPORTS_CSS_SELECTORS</a><dd>Whether the driver supports locating elements with CSS selectors.<dt><a class="enum member" name="webdriver.Capability.SUPPORTS_JAVASCRIPT">SUPPORTS_JAVASCRIPT</a><dd>Whether the browser supports JavaScript.<dt><a class="enum member" name="webdriver.Capability.SUPPORTS_LOCATION_CONTEXT">SUPPORTS_LOCATION_CONTEXT</a><dd>Whether the driver supports controlling the browser's location info.<dt><a class="enum member" name="webdriver.Capability.TAKES_SCREENSHOT">TAKES_SCREENSHOT</a><dd>Whether the driver supports taking screenshots.<dt><a class="enum member" name="webdriver.Capability.UNEXPECTED_ALERT_BEHAVIOR">UNEXPECTED_ALERT_BEHAVIOR</a><dd>Defines how the driver should handle unexpected alerts. The value should
be one of "accept", "dismiss", or "ignore.<dt><a class="enum member" name="webdriver.Capability.VERSION">VERSION</a><dd>Defines the browser version.</dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.FirefoxDomExecutor.Attribute_</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum webdriver.FirefoxDomExecutor.Attribute_</h1><a class="source" href="source/lib/webdriver/firefoxdomexecutor.js.src.html#l65">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></dl></header><section><p>Attributes used to communicate with the FirefoxDriver extension.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="private"><dt><a class="enum member" name="webdriver.FirefoxDomExecutor.Attribute_.COMMAND">COMMAND</a><dt><a class="enum member" name="webdriver.FirefoxDomExecutor.Attribute_.RESPONSE">RESPONSE</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.FirefoxDomExecutor.EventType_</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum webdriver.FirefoxDomExecutor.EventType_</h1><a class="source" href="source/lib/webdriver/firefoxdomexecutor.js.src.html#l76">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></dl></header><section><p>Events used to communicate with the FirefoxDriver extension.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="private"><dt><a class="enum member" name="webdriver.FirefoxDomExecutor.EventType_.COMMAND">COMMAND</a><dt><a class="enum member" name="webdriver.FirefoxDomExecutor.EventType_.RESPONSE">RESPONSE</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1,9 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.Key</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum webdriver.Key</h1><a class="source" href="source/lib/webdriver/key.js.src.html#l25">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></dl></header><section><p>Representations of pressable keys that aren't text. These are stored in
the Unicode PUA (Private Use Area) code points, 0xE000-0xF8FF. Refer to
http://www.google.com.au/search?&q=unicode+pua&btnG=Search<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="webdriver.Key.ADD">ADD</a><dt><a class="enum member" name="webdriver.Key.ALT">ALT</a><dt><a class="enum member" name="webdriver.Key.ARROW_DOWN">ARROW_DOWN</a><dt><a class="enum member" name="webdriver.Key.ARROW_LEFT">ARROW_LEFT</a><dt><a class="enum member" name="webdriver.Key.ARROW_RIGHT">ARROW_RIGHT</a><dt><a class="enum member" name="webdriver.Key.ARROW_UP">ARROW_UP</a><dt><a class="enum member" name="webdriver.Key.BACK_SPACE">BACK_SPACE</a><dt><a class="enum member" name="webdriver.Key.CANCEL">CANCEL</a><dt><a class="enum member" name="webdriver.Key.CLEAR">CLEAR</a><dt><a class="enum member" name="webdriver.Key.COMMAND">COMMAND</a><dt><a class="enum member" name="webdriver.Key.CONTROL">CONTROL</a><dt><a class="enum member" name="webdriver.Key.DECIMAL">DECIMAL</a><dt><a class="enum member" name="webdriver.Key.DELETE">DELETE</a><dt><a class="enum member" name="webdriver.Key.DIVIDE">DIVIDE</a><dt><a class="enum member" name="webdriver.Key.DOWN">DOWN</a><dt><a class="enum member" name="webdriver.Key.END">END</a><dt><a class="enum member" name="webdriver.Key.ENTER">ENTER</a><dt><a class="enum member" name="webdriver.Key.EQUALS">EQUALS</a><dt><a class="enum member" name="webdriver.Key.ESCAPE">ESCAPE</a><dt><a class="enum member" name="webdriver.Key.F1">F1</a><dt><a class="enum member" name="webdriver.Key.F10">F10</a><dt><a class="enum member" name="webdriver.Key.F11">F11</a><dt><a class="enum member" name="webdriver.Key.F12">F12</a><dt><a class="enum member" name="webdriver.Key.F2">F2</a><dt><a class="enum member" name="webdriver.Key.F3">F3</a><dt><a class="enum member" name="webdriver.Key.F4">F4</a><dt><a class="enum member" name="webdriver.Key.F5">F5</a><dt><a class="enum member" name="webdriver.Key.F6">F6</a><dt><a class="enum member" name="webdriver.Key.F7">F7</a><dt><a class="enum member" name="webdriver.Key.F8">F8</a><dt><a class="enum member" name="webdriver.Key.F9">F9</a><dt><a class="enum member" name="webdriver.Key.HELP">HELP</a><dt><a class="enum member" name="webdriver.Key.HOME">HOME</a><dt><a class="enum member" name="webdriver.Key.INSERT">INSERT</a><dt><a class="enum member" name="webdriver.Key.LEFT">LEFT</a><dt><a class="enum member" name="webdriver.Key.META">META</a><dt><a class="enum member" name="webdriver.Key.MULTIPLY">MULTIPLY</a><dt><a class="enum member" name="webdriver.Key.NULL">NULL</a><dt><a class="enum member" name="webdriver.Key.NUMPAD0">NUMPAD0</a><dt><a class="enum member" name="webdriver.Key.NUMPAD1">NUMPAD1</a><dt><a class="enum member" name="webdriver.Key.NUMPAD2">NUMPAD2</a><dt><a class="enum member" name="webdriver.Key.NUMPAD3">NUMPAD3</a><dt><a class="enum member" name="webdriver.Key.NUMPAD4">NUMPAD4</a><dt><a class="enum member" name="webdriver.Key.NUMPAD5">NUMPAD5</a><dt><a class="enum member" name="webdriver.Key.NUMPAD6">NUMPAD6</a><dt><a class="enum member" name="webdriver.Key.NUMPAD7">NUMPAD7</a><dt><a class="enum member" name="webdriver.Key.NUMPAD8">NUMPAD8</a><dt><a class="enum member" name="webdriver.Key.NUMPAD9">NUMPAD9</a><dt><a class="enum member" name="webdriver.Key.PAGE_DOWN">PAGE_DOWN</a><dt><a class="enum member" name="webdriver.Key.PAGE_UP">PAGE_UP</a><dt><a class="enum member" name="webdriver.Key.PAUSE">PAUSE</a><dt><a class="enum member" name="webdriver.Key.RETURN">RETURN</a><dt><a class="enum member" name="webdriver.Key.RIGHT">RIGHT</a><dt><a class="enum member" name="webdriver.Key.SEMICOLON">SEMICOLON</a><dt><a class="enum member" name="webdriver.Key.SEPARATOR">SEPARATOR</a><dt><a class="enum member" name="webdriver.Key.SHIFT">SHIFT</a><dt><a class="enum member" name="webdriver.Key.SPACE">SPACE</a><dt><a class="enum member" name="webdriver.Key.SUBTRACT">SUBTRACT</a><dt><a class="enum member" name="webdriver.Key.TAB">TAB</a><dt><a class="enum member" name="webdriver.Key.UP">UP</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div><section id="static-functions"><h2>Global Functions</h2><div class="wrap-details public"><div><details class="function"><summary><div><a class="source" href="source/lib/webdriver/webdriver.js.src.html#l1476">code &raquo;</a><span class="member"><a name="webdriver.Key.chord">webdriver.Key.chord</a> <span class="args">( var_args )</span> &rArr; <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></span></div><p>Simulate pressing many keys at once in a "chord". Takes a sequence of
<code class="type"><a href="enum_webdriver_Key.html">webdriver.Key</a></code>s or strings, appends each of the values to a string,
and adds the chord termination key (<code class="type"><a href="enum_webdriver_Key.html#webdriver.Key.NULL">webdriver.Key.NULL</a></code>) and returns
the resultant string.
Note: when the low-level webdriver key handlers see Keys.NULL, active
modifier keys (CTRL/ALT/SHIFT/etc) release via a keyup event.</summary><div class="info"><table><tbody><tr><th>Parameters<tr><td><dl><dt>var_args: <code class="type">...<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code><dd>The key sequence to concatenate.</dl><tr><th>Returns<tr><td><dl>The null-terminated key sequence.</dl></table></div></details></div></div></section></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.logging.Level</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum webdriver.logging.Level</h1><a class="source" href="source/lib/webdriver/logging.js.src.html#l40">code &raquo;</a><dl><dt>Type: <code class="type">{value: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a>, name: <a href="enum_webdriver_logging_LevelName.html">webdriver.logging.LevelName</a>}</code></dl></header><section><p>Logging levels.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="webdriver.logging.Level.ALL">ALL</a><dt><a class="enum member" name="webdriver.logging.Level.DEBUG">DEBUG</a><dt><a class="enum member" name="webdriver.logging.Level.INFO">INFO</a><dt><a class="enum member" name="webdriver.logging.Level.OFF">OFF</a><dt><a class="enum member" name="webdriver.logging.Level.SEVERE">SEVERE</a><dt><a class="enum member" name="webdriver.logging.Level.WARNING">WARNING</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.logging.LevelName</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum webdriver.logging.LevelName</h1><a class="source" href="source/lib/webdriver/logging.js.src.html#l26">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></dl></header><section><p>Log level names from WebDriver's JSON wire protocol.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="webdriver.logging.LevelName.ALL">ALL</a><dt><a class="enum member" name="webdriver.logging.LevelName.DEBUG">DEBUG</a><dt><a class="enum member" name="webdriver.logging.LevelName.INFO">INFO</a><dt><a class="enum member" name="webdriver.logging.LevelName.OFF">OFF</a><dt><a class="enum member" name="webdriver.logging.LevelName.SEVERE">SEVERE</a><dt><a class="enum member" name="webdriver.logging.LevelName.WARNING">WARNING</a></dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

@ -0,0 +1 @@
<!DOCTYPE html><meta charset="UTF-8"><meta http-equiv="Content-Language" content="en" /><title>webdriver.logging.Type</title><link href="dossier.css" rel="stylesheet" type="text/css"><div id="main-wrapper"><input type="checkbox" id="sidenav-toggle" /><main><header><h1>Enum webdriver.logging.Type</h1><a class="source" href="source/lib/webdriver/logging.js.src.html#l72">code &raquo;</a><dl><dt>Type: <code class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">string</a></code></dl></header><section><p>Common log types.<h2>Values and Descriptions</h2><div class="type-summary"><dl class="public"><dt><a class="enum member" name="webdriver.logging.Type.BROWSER">BROWSER</a><dd>Logs originating from the browser.<dt><a class="enum member" name="webdriver.logging.Type.CLIENT">CLIENT</a><dd>Logs from a WebDriver client.<dt><a class="enum member" name="webdriver.logging.Type.DRIVER">DRIVER</a><dd>Logs from a WebDriver implementation.<dt><a class="enum member" name="webdriver.logging.Type.PERFORMANCE">PERFORMANCE</a><dd>Logs related to performance.<dt><a class="enum member" name="webdriver.logging.Type.SERVER">SERVER</a><dd>Logs from the remote server.</dl></div></section><div id="visibility-controls"><b>Show:</b><label for="show-public"><span><input type="checkbox" id="show-public" checked/></span>Public</label><label for="show-protected"><span><input type="checkbox" id="show-protected"/></span>Protected</label><label for="show-private"><span><input type="checkbox" id="show-private"/></span>Private</label></div></main><nav id="topnav"><div><div id="menubutton"><label for="sidenav-toggle">Menu</label></div><form id="searchbox"><div><input type="search" placeholder="Search" tabindex="1"></div></form></div></nav><nav id="sidenav"><input type="checkbox" id="sidenav-types-ctrl" /><input type="checkbox" id="sidenav-files-ctrl" /><input type="checkbox" id="sidenav-modules-ctrl" /><a id="sidenav-overview"><div><h4>Overview</h4></div></a><div id="sidenav-types"><label for="sidenav-types-ctrl"><h4>Types</h4></label><i>No data</i></div><div id="sidenav-modules"><label for="sidenav-modules-ctrl"><h4>Modules</h4></label><i>No data</i></div><div id="sidenav-files"><label for="sidenav-files-ctrl"><h4>Files</h4></label><i>No data</i></div><a href="license.html"><div><h4>License</h4></div></a></nav><div id="push-footer"></div></div><footer><a href="https://github.com/jleyba/js-dossier">Generated by dossier</a></footer><script src="types.js"></script><script src="dossier.js"></script>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save