It seems that FF32 does not support hidden property in XUL. Fixes issue 7824
Making webdriver.WebElementPromise public for higher level frameworks to use;
e.g. Protractror.
Explicitly goog.require a used dependency
Implementing driver implementation autodetect in IE driver server
Improving cross-platform compatibility of webdriver-server C++ code.

This commit makes the common webdriver-server C++ code more easily
cross-platform. It does this mainly by removing use of std::tr1::regex,
which has issues compiling under gcc. In its place, we now use a custom
URL matching algorithm for matching URLs in the WebDriver JSON Wire
Protocol. While this matching algorithm may be a source of future errors,
a nice side effect of it is a 3% performance increase in server execution
times over using regular expressions.

Additionally, this commit includes an alias for snprintf, which throws
buffer overrun warnings when used with Visual Studio. It also contains
some header #include rearranging and linting of the C++ code.
Updating third-party C++ library dependencies

This resolves compiler warnings when compiling Civetweb and JsonCpp
under Visual Studio.
Updating IE driver binary prebuilts
no-op cleanup; pass the parameter over.
On behalf of clever robots that always analyse code.
Deflake a test.
I don't think, by contract, page MUST be loaded after
driver.executeScript("window.open(url, 'newWindow')");
driver.switchTo().window("newWindow");
returns. This has been flaky with Chrome on Windows XP, specifically.
Change "HTML5 not supported" conditions to exclude IE8 *and lower*, instead of just IE8.
(And similarly for other browsers, for the sake of consistency.)
This makes sure the tests are excluded even in compatibility mode, where IE8 advertises itself as IE7, but still exposes APIs for certain features, even though those features are broken, because ... IE8, ladies and gentlemen.
On behalf of juangj.
Fix ie_driver tests to assert that isInParentOverflow returns a particular value. It doesn't return a boolean, so passing it directly to assertTrue/assertFalse was an error.
On behalf of juangj.
No-op code cleanups in safari-driver.
(Following adding templating to HTML5 MessageEvent extern.)
Fix stacktrace parsing to work on IE 11.
On behalf of jleyba.
Bump js version to 2.43.0
JS: Address flakiness with setting copying a Firefox profile

The third-party package used to copy a template Firefox profile would
somtimes fail to copy all of the files in a directory. This would yield
an incomplete profile causing the FirefoxDriver to fail to initialize
properly (up to 10% failrue rate on OS X 10.9.4 with node 0.10.x). This
change removes the problematic dependency infavor of a simple,
synchronous, recursive copy. At some point I will revisit this change to
support fully asynchronous copying.
Update js docs for 2.43.1
Bump JS version to 2.43.4.  For versions 2.43.1-3, the npm registry was
recording an incorrect shasum which causes subsequent npm installs to fail on
those versions. npm requires a unique version for each published version, and
it supports semantic versioning 2.0 (http://semver.org/), which is why we are
now on 2.43.4.

An issue has been filed with npm about the incorrect shasum:
https://github.com/npm/npm/issues/6179

Fixes issue 7890.