Fix a typo
On behalf of velma911: Fixing infinite read from socket. Fixes issue 7814
Log formatter should be able to work with empty keys array. Fixes issue 7357

Signed-off-by: Alexei Barantsev <barancev@gmail.com>
Updating to gecko 32
updating prebuilts for linux
Re-add the rubyzip jar
Updating prebuilt libs for windows
Working around limitations in subpixel precision event handling.

The bug/limitation where browser supports subpixel precision for elements but not for dispatched events was found in both modern Chrome (http://crbug.com/396380) and Firefox (?) browsers.
(IE doesn't seem to be affected: before and including IE9 - no subpixel for elements and events; from ie10 - subpixel is supported for both elements and events).

This test was lucky so far (mostly?) and didn't hit this issue, until Chrome 37 that enabled subpixel text scaling by default.

This change makes *sure* elements have subpixel coordinates (if only browser supports'em) and then it makes sure this test doesn't fail because of that (while still testing selenium atoms).

While there, I moved asserts from event handlers into the normal test flow so jsunit can properly attribute assertion failures to specific test methods.
Get org.openqa.selenium.SmallTests building with Buck.

Note: this includes a buck version bump in order to make things work.
Run the ignored tests printer with Buck.
Run htmlunit-driver tests with Buck.

This will still shell out to CrazyFun at points, but the tests run and
pass.
Bump timeout for tests since a suite is also a test.
Run FirefoxDriver tests with Buck.

Complete with Yet Another Buck Version Bump.
Deprecate the original RC interface in Selenium.

As part of Selenium 3.0, we shall be moving the original RC interface to a
legacy JAR that will be available as a separate download. As the first step
in this process, the original "Selenium" interface is being marked as
deprecated.
IEDriver crashes in WaitUntilElementFocused() because of null pointer.

Added required null check after document->get_activeElement() call
(see MSDN documentation for more information).

Fixes issue #7577

Signed-off-by: Simon Stewart <simon.m.stewart@gmail.com>
Handle the case where executeScript returns an HTMLDocument.

The W3C spec says that if we return a document element, we should,
instead, return document.documentElement.
Allow subclasses of HttpCommandExecutor to extend it at runtime.

This is useful for projects such as Selendroid, which currently
have to jump through some ugly hoops in order to do this.
Integrating the Microsoft Internet Explorer driver implementation

This commit optionally allows the user to use the Microsoft-supplied
implementation of WebDriver for IE 11 and above. To use the Microsoft
implementation, the user must have the August 2014 updates to Internet
Explorer installed through Windows Update, and must install the IE Web
Driver Tool for Internet Explorer 11 download from Microsoft
(http://www.microsoft.com/en-us/download/details.aspx?id=44069).

Once those prerequisites are installed, the user can use the
InternetExplorerDriverService object in the language bindings to set the
implementation to be used.

By default, the driver will continue to use the driver implementation
developed by the open-source project. Over time as the Microsoft
implementation matures, this will be switched to use that implementation,
first by default, then exclusively.
Handle the case where a proxied element from PageFactory causes a FluentWait to timeout.

It's common for an ExpectedCondition to include a message containing the output
of "element.toString" in the friendly error message. In the case of a proxied
element created by the PageFactory, this will cause a NoSuchElementException to
be thrown, whereas we expect some string or another to be returned.

Handle this case.
Fix an error propagation bug when a command fails from bad inputs.

This fixes a bug where commands that had rejected promises as inputs
could not catch errors from those inputs. One example is trying to
catch a NoSuchElementError through a chained call to click:

driver.findElement(By.id('not-there')).click().thenCatch(function(e) {
if (e.code === NO_SUCH_ELEMENT) {
    // Handle element not found
}
});