March 2017


Commented on bug 1338397 regarding a socket timeout seen running WPT on Windows.

Reviewed PR 124 to selenium-docs.

Filed issue 1123 on ReSpec about the WebDriver specification occasionally not rendering correctly when loading the document.

Submitted PR 822 to the WebDriver specification.

Commented on issue 503 to geckodriver.

Closed issue 497 as it appears to have resolved itself.

Closed issue 499 in geckodriver.

Closed issue 485 to geckodriver.

Closed issue 484 on geckodriver about tarballs and directory naming.

Closed issue 473 in geckodriver as it is no longer possible to install unsigned addons through a profile in Firefox.

Work on PR 478 to prepare geckodriver for import and building in mozilla-central. In conjunction with this, I also worked on bug 1340637 to import geckodriver into testing/geckodriver and enable building of it alongside Firefox. I suspect I will need to write a much dreaded RFC for this.

Commented on issue 504 in geckodriver. Need more information to reproduce.

Closed issue 468 in geckodriver due to lack of needinfo.

Triaged issue 465.

Reviewed PR 76 to webdriver-rust, which fixes pointer move origin.

Provided needinfo on bug 1328298.

Attended weekly Marionette meeting.

Filed bug sr on mozreview regarding 500 status codes when pushing from git.

Submitted patches for bug 1340637, to build geckodriver on mozilla-central. Had to add a new configure option so that we could identify Linux hazard builds. Thanks to sfink and ted!


Closed issue 453 and issue 506 in geckodriver as a duplicates of issue 285.

Closed PR 478 as we decided not to provide two-way synchronisation between the geckodriver GitHub repository and mozilla-central. This means all future development of geckodriver will happen in mozilla-central in testing/geckodriver.

Fixed up bug 1340637 which imports geckodriver into mozilla-central. A lot of useful feedback from ted!

Closed PR 461 in geckodriver because I applied it to the changeset in bug 1340637.

Closed PR 455 to geckodriver because we hope that PR 461 and bug 1337743 will fix it.


Commented on bug 1330348 to provide some information on how the Back/Forward commands are meant to work with framesets, which might disappear when the top-most document changes.

Submitted PR 78 to webdriver-rust.

Commented on PR 15764 to Servo.

Reviewed PR 67 to webdriver-rust.

Provided needinfo on bug 1296628.

Reviewed PR 714 to the WebDriver specification regarding using the JS atom from Selenium for the Get Element Text command.

Discussion with simonstewart and jgraham about whether we should ignore arbitrary additional keys in the JSON body of WebDriver HTTP request bodies. The conclusion was to to allow them at the top-level, but to explicitly barf at unknown keys for the timeouts- and proxy objects.

Commented on bug 1344267 regarding XUL support files being included in official builds of Firefox, and requested needinfos.

Closed bug 1344299 as a duplicate of issue 475 in geckodriver. It doesn’t really help to report issues multiple times.

Wrote an intent-to-implement email about moving all geckodriver development into mozilla-central.

Commented on bug 1344268.


Closed issue 508 in geckodriver.

Submitted PR 845 to the WebDriver specification to improve the definition of browser chrome.


Closed issue 467 in geckodriver because setting a timeout duration to a negative number does not make any sense. The duration should be an unsigned integer.

Triaged issue 511 to geckodriver and filed issue 3607 with Selenium as a result. It appears all client bindings are sending the incorrect data structure.

Commented on issue 510Closed issue 503 to geckodriver due to lack of reproducible steps.

Filed issue 849 on the WebDriver specification proposing to return an injected script’s return value’s toJSON own property if it is a function.

Commented on issue 512 on geckodriver.

Commented on issue 480 on geckodriver.

Commented on issue 847 on the WebDriver standard.

Reviewed PR 846 to the WebDriver specification.

Commented on issue 508 on geckodriver.

Commented on bug 1344684 about navigating to the same ImageDocument twice.

Provided needinfo on bug 1296628.

Commented on bug 1344267 about not packaging .xul files under ENABLE_TESTS in testing/marionette/

Closed issue 513 because it is not reproducible.

Commented on issue 339 on geckodriver.

Filed and worked on bug 1344748 about putting automation preferences inside the Marionette server.


Locked issue 513 in geckodriver.

Closed issue 514 in geckodriver due to lack of reproducible steps.

Commented on issue 509. Someone actually provided a trace log!

Commented on issue 510 in geckodriver. What a troll.

Commented on issue 515 on geckodriver regarding another issue with permission denied errors.

Reviewed and provided needinfo on bug 1330348.

Reviewed PR 79 to webdriver-rust.

Reviewed bug 1315611.


Reviewed bug 1345274.

Filed bug 1321408 about having mach test SOURCEFILE pick up the right test dependencies for SOURCEFILE, which it can get from mach file-info test-deps SOURCEFILE, which I learned about from jgraham. It produces surprisingly relevant results!

Reviewed bug 1330348.

Continued work on bug 1344748 and made Marionette respect the marionette.enabled preference. When it is toggled, Marionette now starts/stops.

Updated the release notes for v0.15.0 of geckodriver.

Filed issue 3634 on Selenium about missing links for the 3.3 release.

Closed issue 523 in geckodriver because users must upgrade to Selenium 3.3 to use the latest geckodriver 0.15.0 release.

Closed issue 519 as a duplicate of issue 273 about geckodriver not supporting navigation to basic auth URLs.

Reopened issue 420 as people are clearly having issues with ignoring insecure TLS certificates starting with Firefox 52.

Closed issue 516 in geckodriver.

Closed issue 521 in geckodriver because it is inactionable.

Commented on issue 413 to the WebDriver specification.


Reviewed bug 1346772.

Helped whimboo figure out proxy.js and the message channel classes in Marionette. They are unfortunately a bit convoluted since sendToServer in listener.js constructs a new AsyncMessageChannel for every call so that it can be used for both proxied- and old style messages.

Resolved bug 1297983 as a duplicate of bug 1291320.

Work on rebasing bug 1344748.


Reviewed bug 1346775 which fixes wdclient’s pointer move type argument.

Addressed review issues and rebased bug 1344748 about putting automation preferences inside Marionette.

Rebased and requested landing of bug 1340775.

Fixed review issues and rebased bug 1333014.

Fixed review issues and rebased bug 1337743 .

Commented on issue 540 in geckodriver regarding incorrect mapping of the HTTP code for the unknown error type.


Reviewed bug 1291320.

Closed PR 547 because we are already following the specification.










Commented on bug 1322383.

Met with sphilp, who’s my department’s new manager after the most recent reorganisation.

1:1 with dburns.

Marionette chitchat with whimboo, maja_zf, and dburns.

Cleared needinfo on bug 1333014, rebased it, and pushed it to autoland.

Closed issue 530 in geckodriver as a duplicate of issue 308.

Closed issue 555 in geckodriver.

Requested more information on issue 557 about a possible threading issue in geckodriver.

Commented on issue 318 in geckodriver.

Closed issue 554 as it is not reproducible.

Commented on issue 243 regarding the expected behaviour of clicking on an obscured element in geckodriver.

Closed issue 541 as it is not actionable.

Closed issue 420 as it is working in Firefox Nightly.

Closed issue 550 in geckodriver as it is not actionable.

Closed issue 549 as geckodriver does not support the Selenium log API.

Commented on issue 547 on geckodriver with a link to the WebDriver standard.

Closed issue 548 as I cannot reproduce it.

Closed issue 560 about providing an ARMv6 build of geckodriver.

Triaged issue 527 in geckodriver about moving a pointer by a negative offset, which seems to be a relevant bug.

Closed issue 563 in geckodriver.

Closed issue 561 in geckodriver.

Triaged issue 529 about geckodriver returning the wrong data format for the New Session response. This is quite bad, and the culprit is the WebDriver Rust library.

Reviewed PR 238 to wptrunner.


Commented on issue 550 regarding a port binding issue with geckodriver and the Selenium server. Explained the relationship between remote ends, in particular intermediary nodes.

Commented on issue 563 in geckodriver regarding the acceptInsecureCerts capability not being passed as part of the capabilities.

Closed issue 564 because Firefox 45 isn’t supported.

Closed issue 559 as Basic Auth user prompts are not supported by geckodriver.

Commented on issue 220 regarding an odd-looking selector expression in geckodriver.

Requested review from jgraham on PR 545 to geckodriver, which allegedly fixes the problem of copying empty files from a profile.

Made secondary (third? fourth?) review pass on bug 1291320 about making the Refresh command in Marionette synchronous.

Reviewed bug 1347589 which implements the Get Window Rect and Set Window Rect commands in Marionette.

Reviewed bug 1348782 which makes the Send Element Keys command in Marionette conform to the WebDriver standard.

Requested uplift of bug 1333014.

Closed issue 565 in geckodriver as it is not reproducible.

Closed issue 566 as it is definitely not a geckodriver bug.

Closed issue 562 to geckodriver.

Closed issue 558 about double click support in action chains for Marionette as a duplicate of issue 159.

Also closed issue 556 as a duplicate of issue 159.

Commented on issue 535 in geckodriver about profiles and geckodriver.

Closed issue 533 in geckodriver as a duplicate of issue 495.

Commented on bug 1118309.

Submitted PR 83 to the WebDriver Rust library which implements the Get Window Rect and Set Window Rect commands.

Addressed more code review issues and rebased bug 1344748 about setting automation preferences in Marionette at runtime.

Reviewed PR 82, removing some unused endpoints from webdriver-rust.

Reviewed PR 67 to webdriver-rust which implements the new New Session command behaviour.

Commented on issue 554 in geckodriver about move_to_element not working correctly when using the Selenium Python bindings.

Commented on issue 555 regarding an issue parsing the New Session response from geckodriver in the Selenium Node.js bindings. It is likely a duplicate of issue 529.

Commented on issue 528 in geckodriver about setting the window’s position to a negative coordinate.

Closed issue 534 in geckodriver as it is not reproducible.

Rebased and added a client backwards compatibility fix for bug 1342162.

Responded to code review comments on bug 1342162.

Closed bug 1293640 as it works for me.


Reviewed bug 1318724, which increases the timeout of the HTTP connection used in wdclient when running WebDriver WPT tests on try.

Reviewed a fixup to a fallout from landing bug 1291320.

Reviewed bug 1348872.

Fixed up code review issues for bug 1342162.

Rebased and triggered more tests for bug 1344748.

Filed issue 3710 with Selenium to get the different language bindings to use the new window rect commands.

Filed bug 1350358 to make the Wd contexts tests use the new window rect commands.

Addressed code review issues and rebased PR 83 to webdriver-rust which adds the Get Element Rect and Set Element Rect commands.

Reviewed a port of mozversion in Rust.

Reviewed PR 568 to geckodriver which implements the new session negotiation.


Reviewed bug 1347589, bug 1348782, and bug 1348872.

Filed bug 1350862 to follow up on the remaining issue in bug 1337743.

Fixed up remaining code review issues for bug 1337743.

Filed and patched bug 1350887 to fix a fallout from bug 1344748 related to failing to pick up deprecated Marionette preferences.

Filed bug 1350897 to expose the quit cause from Marionette in the Python client.

Requested uplift of bug 1342162 and bug 1344748.

Had a second cursory look at the mozversion port to Rust.

Closed issue 527 in geckodriver per maja_zf’s comment.

Continued review of PR 568 to geckodriver.

Meeting with jgriffin.

Commented on PR 571 with an outline of how to specify an existing profile for geckodriver.


Reviewed and merged PR 553 which makes the Send Element Keys and Set Alert Text commands accept strings, rather than arrays of strings, to geckodriver.

Reviewed bug 1348872.

Reviewed bug 1291320.

Closed issue 577 to geckodriver because it is not actionable.

Closed issue 576 to geckodriver.

Commented on issue 574 in geckodriver and requested more information to be able to reproduce.

Commented on issue 559 regarding Basic Auth support in geckodriver.

Triaged issue 570 about exposing an endpoint to capture a full document screenshot in geckodriver.

Commented on issue 3710 about making Selenium use the window rect commands.

Reviewed PR 578 to geckodriver.

Closed PR 575 to geckodriver as it was superseded by PR 578.

Addressed test failures with patches for bug 1350887.

Filed and patched bug 1351371 to disable the recommended automation prefs for the Mn (and related) test jobs in CI.

Filed and patched bug 1351422 so that the browser.startup.homepage_override.mstone preference is set as part of the recommended automation prefs in Marionette.

Submitted PR 580 to geckodriver which removes a lot of preferences to write to the profile and makes the tests in compile.

Reviewed bug 1299626.


Reviewed bug 1351335 which addresses a regression in the Firefox update tests.

Fixed up bug 1350887.

Closed bug 1255909 about navigating to plain text documents with Marionette.

Requested uplift of bug 1351371.

Filed issue 871 on the WebDriver specification about looking at the readiness target of the wrong browsing context when interacting with a link that has a target attribute set to one of _blank, _parent, or _top.

Requested uplift of bug 1337743, which was about not appending eAttemptQuit unconditionally when the quitApplication command was being called in Marionette.

Commented on issue 872 on the WebDriver specification regarding including a header for all HTTP requests made when WebDriver is active.

Attended Marionette meeting.

Filed and patched bug 1351738 to write some more Get Title tests.


Another attempt at fixing the fallout of fallback preferences not being picked up in Marionette bug 1350887.

Reviewed bug 1301781 which provides the skeleton for a testing harness for the Telemetry ping server.

Closed issue 588 in geckodriver as it is not reproducible.

Closed issue 587 and issue 552 as duplicates of issue 285 about being unable to close the browser from geckodriver.

Submitted PR 589 to geckodriver which fixes failing tests, and replaces PR 580 because I think it is probably unwise to remove so many default preferences from geckodriver just now.

Submitted PR 590 to geckodriver to disable the Flash plugin. This should hopefully address some of the problems geckodriver is having when quitting.

Commented on issue 285 regarding the Aborting on channel error problem. I believe we have solved it with , to not unconditionally append eAttemptQuit when quitting Firefox from Marionette.

Closed issue 517 and issue 583 in geckodriver as duplicates of both issue 285 and issue 225.

Closed issue 586 in geckodriver as it is not reproducible.

Closed issue 584 because you can’t use the actions API to interact with <option> elements since they are not interactable. Magic is involved in selecting them.

Closed issue 582 in geckodriver as it doesn’t explain what’s wrong.

Closed issue 581 because Windows XP is not supported by geckodriver.

Triaged er/issues/585>issue 585 about an error creating a new session using the new-New Session approach that recently landed in geckodriver.

Submitted PR 85 to webdriver-rust to align error types- and codes with the WebDriver standard. Fixes issue 579 reported on geckodriver.

Closed issue 585 on geckodriver after spending hours investigating it, only to find that it is doing what it is expected to do. My conclusion is that he’s probably using a Firefox that is too old, e.g. Firefoxen before 52 do not support acceptInsecureCerts. geckodriver checks which version of Firefox it is trying to use and returns an error whenever that capability can be provided.

Filed issue 591 as a follow-up to issue 585 because the error messages returned are terrible when the New Session negotiation fails to match the capabilities provided.

Commented on issue 233 about the status of our actions API implementation.

Commented on regarding setting the proxy object in geckodriver.

Filed issue 86 in webdriver-rust about making the proxyType value case-insensitive.


Commented on PR 870 to the WebDriver specification regarding making the proxyType value case insensitive. Why can’t this be fixed in the language bindings?

Commented on issue 835 on the WebDriver specification, related to the discussion above.

Reviewed PR 873 to the WebDriver specification regarding some imprecise language related to user prompt handlers and switch statements.

Commented on issue 585 that geckodriver won’t automatically pick up the location of Firefox Nightly.

Closed issue 567 to geckodriver because it’s not reproducible.

Commented on issue 586 to geckodriver.

Closed issue 572 to geckodriver.

Commented on issue 469 in geckodriver that navigating to “static resources”, meaning ImageDocuments, should work in Firefox 52 onwards, and that it is not the same issue as navigating to the file: protocol.

Commented on issue 3607 that Marionette is now following the specification with regards to the pageLoad key for the Set Timeouts/Get Timeouts commands.

Commented on issue 511 in geckodriver related to the same matter: that following bug 1342162, Firefox 53 onwards is aligned with the specification for the Set Timeouts and Get Timeouts commands.

Closed issue 462 in geckodriver since Firefox 31.4.0 (!) is not supported.

Closed issue 529 in geckodriver as we have now upgraded to webdriver 0.24.0, which implements the new-New Session negotiation. It also fixes the returned JSON Object to carry a capabilities key instead of value.

Closed issue 557 in geckodriver since no reproducible steps have been added.

Closed issue 148 in geckodriver as bug 1288863 about lowercasing firefox in the browserName capability got fixed in Firefox 49.

Commented on issue 159 in geckodriver regarding the status of our actions implementation.

Closed issue 170 in geckodriver as we appear to return the correct Content-Type header.

Closed issue 171 in geckodriver.

Closed issue 206 in geckodriver.

Commented on issue 211 that bug 1298025, exposing commands to install and uninstall addons in Marionette, is available in Firefox 52, but that we still need to add a vendor-prefixed endpoint to geckodriver.

Triaged issue 232, issue 273, and issue 451 in geckodriver.

Commented on issue 440 in geckodriver regarding a missing key attribute in the DOM event when typing.

Reviewed bug 1352351 to enable --run-by-dir for WPT tests.

Closed bug 1348282 as a duplicate of bug 1123506.

Submitted PR 874 to the WebDriver specification to make use of a match statement for the JSON deserialize definition.

Submitted PR 875 to the WebDriver specification making the JSON clone algorithm shorter.

Submitted PR 876 to make the clone an object algorithm in WebDriver use better language and referencs.

Submitted PR 877 with some editorial changes to reference getting a property correctly throughout the WebDriver specification.

Filed and patched bug 1352463 to let WPT test timeouts be defined on the test type level, so that the wdspec tests can have different timeouts than those of reftest and testharness.