Skip to content

Commit a8fa257

Browse files
committed
Updating IE driver binary prebuilts
1 parent 1a0b1d0 commit a8fa257

File tree

4 files changed

+37
-4
lines changed

4 files changed

+37
-4
lines changed

cpp/iedriverserver/CHANGELOG

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,39 @@ available via the project downloads page. Changes in "revision" field indicate
99
private releases checked into the prebuilts directory of the source tree, but
1010
not made generally available on the downloads page.
1111

12+
v3.12.0.4
13+
=========
14+
* Updates to JavaScript automation atoms.
15+
* Use elementFromPoint for IE driver in determining obscured elements. This
16+
is in direct violation of the algorithm specified in the W3C WebDriver
17+
Specification, but it fixes a class of IE-specific bugs that present
18+
themselves when using elementsFromPoint. This is used to shortcut the use
19+
of elementsFromPoint if it is not necessary.
20+
* Added additional logging to IE driver for setting window focus.
21+
* Updated IE driver to use SendInput for a single input at a time. The IE
22+
driver uses the Windows `SendInput` API when a session is initiated with
23+
the `requireWindowFocus` capability. This is a low-level user input
24+
simulation API, and very closely mimics the use of a physical mouse and
25+
keyboard. One of the guarantees of the API is that when one sends an array
26+
of `INPUT` structures, then no input messages can be inserted into the
27+
middle of the input stream. However, it appears that there are cases where
28+
sending multiple input structures that IE does not process all of them.
29+
This leads to truncated or missing keys when using the Selenium sendKeys
30+
method. This change makes the driver use SendInput, but only passing a
31+
single INPUT structure at a time. This is dangerous, in that it allows
32+
other inputs to potentially be slipped into the input stream. This change
33+
makes the driver prefer one form of instability (potentially unwanted
34+
input events) over another (input events not processed by the browser).
35+
36+
Additionally, this change introduces an additional method for forcing the
37+
IE window into focus before sending input. This additional method uses the
38+
Windows UI Automation accessibility API to do this. The potential down
39+
side to using this (apparently) more reliable mechanism is that it may
40+
introduce a slight performance penalty, as the UI Automation API is
41+
notoriously slow. In practice, this performance penalty is observed to be
42+
on the order of milliseconds, so the trade-off here is deemed worth the
43+
risk, and there is no way to disable this new check.
44+
1245
v3.12.0.3
1346
=========
1447
* Refactored IE waiting for page load on click. This commit restores some

cpp/iedriverserver/IEDriverServer.rc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ END
5050
//
5151

5252
VS_VERSION_INFO VERSIONINFO
53-
FILEVERSION 3,12,0,3
54-
PRODUCTVERSION 3,12,0,3
53+
FILEVERSION 3,12,0,4
54+
PRODUCTVERSION 3,12,0,4
5555
FILEFLAGSMASK 0x3fL
5656
#ifdef _DEBUG
5757
FILEFLAGS 0x1L
@@ -68,12 +68,12 @@ BEGIN
6868
BEGIN
6969
VALUE "CompanyName", "Software Freedom Conservancy"
7070
VALUE "FileDescription", "Command line server for the IE driver"
71-
VALUE "FileVersion", "3.12.0.3"
71+
VALUE "FileVersion", "3.12.0.4"
7272
VALUE "InternalName", "IEDriverServer.exe"
7373
VALUE "LegalCopyright", "Copyright (C) 2017"
7474
VALUE "OriginalFilename", "IEDriverServer.exe"
7575
VALUE "ProductName", "Selenium WebDriver"
76-
VALUE "ProductVersion", "3.12.0.3"
76+
VALUE "ProductVersion", "3.12.0.4"
7777
END
7878
END
7979
BLOCK "VarFileInfo"
2.5 KB
Binary file not shown.
2.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)