Enabled synthetic events mouse clicks to work even if the click triggers alerts.
Fixing up .NET tests.
Implementing support for List<WebElement> in AjaxElementLocator
(On behalf of JensHausherr) Fixing Context-Type header in responses returned by HubStatusServlet, ProxyStatusServlet and TestSessionStatusServlet
Implementing an option in SauceDriver to allow setting requireWindowFocus capability
Fixing auto-release of modifier keys when using element.SendKeys with requireWindowFocus capability.
Properly passing requireWindowFocus capability when set in .NET bindings.

Previously, this capability could be set in InternetExplorerOptions, but
it was not being passed through to the driver session.
Only adding environment variables for Firefox process if they do not
already exist.
Correcting reversed logic in port assignment for .NET SafariDriver's
WebSocket server

Fixes issue #5141.
Fixing 1px precision of visibility calculation for a child of an element
with overflow hidden. Fixes issue 5140
Fixing ByteBuffer to byte array conversion to get rid of trailing null
bytes.
JariBakken: Alert#text should raise on closed alert.
Fixing a test that opens a new window: switch to this window, close it and
switch back to the original window. Otherwise IE changes "default window
size" and all the following tests run in a small window.
Ignoring a test for HtmlUnit (window switching is not implemented)
Code linting (removed unused imports, local variables, fields, debug
messages). No functional changes.
Deleting duplicated content of a test page
Adding more diagnostics for failed HTTP requests in .NET bindings

This is an attempt to help diagnose the root cause of issue #3719. Please
note that it makes no effort whatsoever to "fix" the issue. This is simply
hoping to provide more information for those who have run into that issue,
and see if all occurrances have the same root cause.
Read files using an api from guava libraries to let us delete some code.
Add some function definitions required for Selenium emulation.
Update WebDriverJS to support parallel flows. Documentation to follow in a future
update to the WebDriverJs wiki page.

This change renames several low-level classes and functions in the promise module:

  promise.Application                                 -> promise.ControlFlow
    #schedule(string, function)                       ->   #execute(function, [string])
    #scheduleTimeout(string, number)                  ->   #timeout(number, [string])
    #scheduleWait(string, function, number, [string]) ->   #wait(function, number, [string])

The old schedule* functions are still present, but will print a warning message if called.
They will be removed in 2.31.

This change also renames the //javascript/node:webdriver target to
//javascript/node:selenium-webdriver. We will soon publish the module to npm as
"selenium-webdriver".

Fixes issue 4640.