January 2017


Closed issues 410 and 411 in geckodriver as they cannot be reproduced.


Rebased bug 1326534. Also fixed a test failure whereby the existing timeout durations were not taken into consideration when setting timeouts.

Provided needinfo on bug 1297983 to start using {once: true} for event listeners throughout Marionette.

Merged PR 114 to the Selenium docs.

Rebased bug 1320389 which implements dispatching of actions so that it makes it into Aurora.

Provided needinfo on bug 1325509 regarding daemonic processes and Python thread pools. Eww.

Commented on issue 415 in geckodriver regarding flag to set the log file.

Rebased and requested review of bug 1325079 again, which removes test_certificates.py.

Reviewed PR 56 to webdriver-rust which fixes a typo in a serialisation.

Commented on issue 414 in geckodriver about adding a capability to control writing the output to a log file.

Closed PR 333 to geckodriver because of bitrot.

Filed and patched bug 1328298 to unbreak some WebDriver WPT tests.

Updated deliverables for Q4 2016.

Addressed code review issues for bug 1213875 to provide an argument for disabling scrolling an element into view when taking a screenshot with Marionette.

Fixed a test failure in bug 1326534.

Addressed intermittent test failures in bug 1322862 about fixing the permissions issue when inspecting chrome-scope functions that are exposed to a sandbox.

Released geckodriver 0.12.0.

Closed issue 417 in geckodriver as it is still not reproducible…

Closed issue 412 in geckodriver as it does not contain sufficient information.

Closed issue 409 in geckodriver as it is not reproducible.

Closed issue 400 in geckodriver as no new information was provided.

Commented on issue 403 in geckodriver about setting the window position on Windows.

Closed issue 350 in geckodriver as bug 1322772 was fixed.

Commented on issue 343 in geckodriver about adding support for path prefixes. I need to understand the use case.

Commented on issue 337 in geckodriver about failing to find an element by link text.

Closed issue 20 in geckodriver as it got fixed ages ago.

Closed issue 48 in geckodriver as it is an issue in Selenium.

Closed issue 88 in geckodriver as I’m unable to reproduce.

Closed issue 91 in geckodriver as I believe it has been addressed in Selenium.

Closed issue 93 regarding TLS certificate handling in geckodriver as it has now been fixed in Gecko and also uplifted to Aurora, which is going to be the next ESR.

Closed issue 147 in geckodriver as a duplicate of issue 389, which is about permission denied issues trying to interact with arguments in injected scripts in Marionette.

Closed issue 258 regarding publishing geckodriver to crates.io.

Commented on issue 159 in geckodriver with the status of the action API in Marionette, geckodriver, and webdriver-rust.

Commented on issue 171 in geckodriver regarding unknown capabilities entries, which will get fixed by bug 1326534.


Commented on issue 394 in geckodriver about the input field losing focus when navigating to a website. I still cannot reproduce this.

Commented on issue 245 in geckodriver and gave it a better description.

Closed issue 169 in geckodriver as a duplicate of .

Gave issue 348 in geckodriver a better description. It is about not firing the correct DOM events when sending keys to an element using Marionette.

Closed issue 209 in geckodriver as most Selenium client bindings now have some support for moz:firefoxOptions.

Closed issue 207 in geckodriver as it was tracking a fixed issue in Selenium.

Commented on issue 243 in geckodriver.

Triaged and commented on issue 320 in geckodriver regarding clicking a button that causes the top-level browsing context to close using Marionette.

Tried to reason about issue 317 regarding forking and process lifetimes with geckodriver.

Commented on PR 2752 that I sent to WPT ages ago. Now that we have geckodriver and Wd in central, I’m likely going to try resurrecting it and land it through central.

Reviewed PR 40 to FoxPuppet, whatever that is.

Provided needinfo on bug 1316813.

Commented on issue 414 regarding writing log files from geckodriver.

Commented on issue 97 regarding some user problems to configure proxies in Marionette.

Commented on issue 418 in geckodriver requesting more information.

Addressed code review issues for patches to bug 1326534 about rewriting the capabilities parsing in Marionette.

Addressed code review issues for patches to bug 1322862 which attempts to make __webDriverArguments et al. content-safe.

Closed issue 415 in geckodriver as it does not seem like a high toll to expect consumers to capture stdout + stderr, especially considering the output from the program is no different to what would be produced if we did have a log flag for redirecting it.

Closed issue 419 as it is not reproducible.

Explained the lifetimes of the different processes involved in using Firefox, Marionette, and geckodriver in issue 317 in geckodriver.

Commented on review for bug 1286312.

Filed and patched bug 1328676 after examining issue 394 in geckodriver more closely. It turns out the web content frame (the <xul:browser> element) is not in focus when new Marionette sessions are created.

Investigated bug 1202246 to use permanentKey, but unfortunately the browser store and lookup tables in Marionette make absolutely no sense whatsoever. It looks like we have a table that does store permanentKey, but it links it to the browser’s outerWindowID, which is pointless since it changes when a remoteness change occurs.

Closed issue 420 as the Firefox used is too old to use the acceptInsecureCerts capability with.


Commented on issue 3055 in Selenium regarding correctness checks of the moz:firefoxOptions dictionary. The only correct place to do checks of this is in geckodriver.

Provided needinfo on bug 1322383.

Reviewed bug 1326047.


Closed issue 422 in geckodriver as the proxy capability currently needs to be set as part of the required capabilities.

Commented on PR 4 about changing the priority of where geckodriver looks for Firefox, by looking at the PATH environmental variable first.

Commented on PR 423 in geckodriver which changes some details about how default prferences for Marionette are written if the user provides a custom profile.

Requested uplift of bug 1328676 and bug 1213875.

Fixed a test failure and code review issues in patches for bug 1326534.

Replied to a code review issue in bug 1328298.

Submitted PR 57 to webdriver-rust to add the insecure certificate error.

dburns alerted me that acceptInsecureCerts isn’t working with geckodriver or in Selenium. I discovered we haven’t added the insecure certificate error to geckodriver, and that Marionette incorrectly only looks at the top-level capabilities dictionary. The latter will be fixed by 1326534, but I suspect we might want to do another release of geckodriver.

Addressed code review issue in bug 1322862.

Reviewed bug 1326047 again.

Reviewed bug 1328726 which writes a few actions tests for the WebDriver WPT tests.

Commented on bug 1329213. What are ‘QR builds’?

Provided needinfo on bug 1311350 regarding making the close window commands in Marionette synchronous, and about the relationship between geckodriver and Marionette when it comes to shutting down the Firefox process.

Resolved bug 1328914 as a duplicate of webdriver-actions.


Provided needinfo on bug 1282970 about implementing Get Named Cookie from the WebDriver specification in Marionette.

Provided needinfo and closed bug 1329559 because the client is sending invalid data to the Set Timeouts command in Marionette.

Provided needinfo and triaged bug 1329556 about navigating after switching to an <iframe>.

Provided needinfo and asked a few questions on bug 1323701.

Commented on issue 1271 in webcompat.com regarding some geckodriver issues.

Commented on bug 1328960 which Service Desk filed for me about the fact that I cannot seem to post to the tools@ mailing list.

Commented on bug 1326397 regarding browser name matching in desired capabilities for Marionette. It’s not clear to me that an unrecognised browser name given in a desired capabilities object should be silently ignored by us.

Rebased and sent bug 1322862 off to autoland.

Provided needinfo on bug 1311350 regarding the Close Window command behaviour.

Commented on issue 420 about the Ruby bindings sending "any" as the platformVersion capability.

Filed issue 3345 in Selenium about the Ruby bindings and their use of "any".

Commented on bug 1322277 regarding the use of a socket timeout in the Marionette Python client. I’m against.

Reviewed PR 472 to the WebDriver specification.

Submitted PR 60 to webdriver-rust to rename GetCookie to GetNamedCookie.

Closed issue 394 about focus of the browser content when starting a new Marionette session. It was resolved by bug 1328676.

Commented on bug 1329703 after having made fixups to bug 1328298, which tries to unbreak the WPT tests. However, they require geckodriver 0.13.0.

Reviewed PR 473, PR 474, PR 475, and PR 476 to the WebDriver spec.

Attended EngProd fortnightly meeting.

Commented on the review of bug 1328726.

Reviewed bug 1329683.

Commented on issue 477 on the WebDriver spec.


Reviewed PR 486 to the WebDriver spec.

Did a lot more things, but forgot to write it down.


Reviewed PR 494, PR 496, PR 497, PR 498, PR 499, and PR 489 to the WebDriver spec.

Commented on issue 438 in WebDriver.

Commented on issue 285 in geckodriver about the CloseWindow command not actually closing the window. hskupin has made some changes in Marionette so that it now returns “a fake” empty array when there is only one tab/window left. geckodriver needs to look at this and terminate the Firefox process.

Resolved issue 428 as a duplicate of issue 93 in geckodriver.

Commented on PR 61 to webdriver-rust which upgrades the regex crate. However, I cannot seem to get it building locally.

Rebased PR 60 to webdriver-rust.

Commented on bug 1311350 that I don’t think it’s important to fix the Fennec failures before landing the patches on central.

Reviewed bug 1330323.

Filed bug 1330348 about making the Back and Forward command in Marionette synchronous. This came out of the discussion in bug 1322862 regarding supposed intermittents. We also have bug 1322862 to fix waiting for the document load event to fire when using the Refresh command, but this is a separate issue altogether.


Commented on issue 417 on the WebDriver specification.

Closed issue 432 in geckodriver about failing to bind to a port.

Closed issue 436 about taking full-document screenshots in geckodriver.

Closed issue 435 in geckodriver because it’s an issue about chromedriver!

Commented on issue 240 in geckodriver.

Deleted a comment and commented on issue 348 in geckodriver about “me too” comments.

Closed issue 433 in geckodriver because they tried using Chrome (!).

Commented on issue 75 in geckodriver.

Triaged issue 431. It is likely that executing a script that raises an alert fails to return.

Locked issue 387 in geckodriver because it is a duplicate.

Closed issue 430 in geckodriver about connecting to an existing Firefox session.

Commented on issue 343 about spinning up geckodriver on a custom URL path prefix.

Commented on issue 420 in geckodriver.

Locked issue 375 in geckodriver.

Commented on issue 322 in geckodriver about why click does not work.

Reviewed PR 560 to the WebDriver spec about waiting for navigation, and found it is totally wrong.

Filed issue 561 about unspecified DOM input events for key interaction in the WebDriver specification.

Reviewed PR 559 to error on non-existing files when attempting to upload them via the Element Send Keys command in the WebDriver specification.

Commented on issue 558 and filed issue 562 as a follow-up to un-minimise and un-fullscreen a window when the Set Window Rect command is called in the WebDriver specification.

Reviewed bug 1331037.

Reviewed bug 1323185 which adds window and tab management to Fennec in Marionette.

Commented on issue 285 in geckodriver.

Commented on issue 328 in geckodriver regarding returning complex JS objects over the WebDriver protocol.

Commented on issue 565 in the WebDriver specification regarding a definition of “browser chrome”.

Commented on issue 564 in the WebDriver specification regarding the use of “UI element” and “UX element”.

Reopened issue 551 regarding the definition of URL path segments in the WebDriver specification.

Filed and patched issue 566 on the WebDriver specification about excluding URL encoding set characters from the allowed characters for extension command paths.

Submitted PR 568 to the WebDriver specification which updates the issue widget.

Reviewed PR 563 regarding formalising the definition of SOCKS in the WebDriver specification.

Closed issue 119 to the Selenium docs regarding moving to “Jekyll”.

Commented on bug 1331967 regarding navigating to a .xpi resource, opening a doorhanger to install an addon, as well as navigating the content to about:blank.

Closed Issue 437 in geckodriver as a duplicate of issue 233.


Reviewed PR 572, PR 570, PR 569, PR 549, PR 560, PR 559, PR 575, PR 574, PR 580, PR 586, and PR 571 to the WebDriver specification.

Provided input on issue 397 about checking for the current browsing context for certain interaction and DOM related commands in the WebDriver specification.

Commented on issue 561 on the WebDriver specification.

Commented on issue 558 about restoring a maximised window to its original state on the WebDriver specification.

Commented on issue 533 in the WebDriver specification.

Submitted PR 576 and PR 577 to the WebDriver specification.

Reviewed bug 1323185 again.

Filed issue 587 and issue 588 on the WebDriver specifcation regarding the new window rect definition.

Submitted PR 589 to the WebDriver specification which addresses some minor issues with the new window rect definition.

Commented on PR 585 to the WebDriver specification.

Commented on issue 362 in geckodriver.


Reviewed PR 592, PR 591, PR 590, PR 593, PR 594, PR 580, PR 578, PR 606, PR 607, and PR 549 to the WebDriver specification.

Removed issue 581 from being a level 1 milestone to the WebDriver specification.

Submitted PR 596 to the WebDriver specification, which passes the document element when fullscreening the window.

Commented on issue 482 regarding the new definition of something being keyboard-interactive in the WebDriver specification.

Commented on issue 513 in the WebDriver specification about the various aciton dispatch functions accept the same arguments.

Closed issue 508 as fixed by PR 574 in the WebDriver specification.

Commented on issue 506 about whether we can drop the concept of processing keys in the WebDriver spec.

Initial triage of issue 440 in geckodriver regarding the key property not being correctly set for DOM events in Marionette.

Submitted PR 597 to the WebDriver specification, fixing some typos in the actions chapter.

Submitted PR 598 fixing some table headers in the actions chapter for the WebDriver specification.

Submitted assorted PRs 599, PR 601, and 600 to the WebDriver specification.

Reviewed PR 536 which is an attempt at providing an introductory chapter to the WebDriver specification.

Closed issue 438 in geckodriver about executing return document.readyState causing an error in Marionette. Unable to reproduce.

Commented on issue 243 in geckodriver about inability to click buttons obsecured by other elements. We don’t really have a good reproducible test case for this yet.

Requested needinfo from bug filer on bug 1332279 regarding the validity of the bug.

Commented on PR 604 regarding the definition of browser chrome in the WebDriver specifiation.


Closed issue 439 in geckodriver because it’s a waste of my time.


Closed issue 442 in geckodriver because I’m unable to reproduce.

Triaged issue 243 in geckodriver and it looks like the main issue here isn’t that Marionette isn’t erroring when trying to click an obscured element, but that it doesn’t return the element click intercepted error that was recently added to the WebDriver specification.

Submitted PR 613 to the WebDriver specification to run the element intercepted test before the pointer-interactability test when clicking an element.

Submitted PR 614 to the WebDriver specification, fixing the description of the element click intercepted error and reordering the errors lexicographically.

Commented on a proposal to “advertise UA automation” regarding the security model in WebDriver on WICG.

Submitted PR 616 which changes and improves the element interactability algorithm in the WebDriver specification.


Commented on issue 617 in relation to what it means for an element to be “non-transparent” on the WebDriver specification.

Made an extensive review of bug 1328726 which introduces WebDriver action tests to WPT.

Reviewed latest additions to the patches for bug 1323185 again.

Addressed code review comments for PR 616 to fix element clicking in the WebDriver specification.

Commented on PR 605 to the WebDriver specification.

Submitted PR 621 to the WebDriver specification to remove the empty Introduction chapter and to simplify the headers in Design Notes.

Submitted PR 622 which removes an issue from the Nodes chapter.

Submitted PR 623 to avoid capitalisation of definitions in the Nodes chapter in the WebDriver specification.

Filed issue 624 on the WebDriver specification about what it means to wait for an element to become pointer-interactable.

Submitted PR 625>/a> and PR 626 to fix some terminology inconsistencies in the WebDriver specification.

Reviewed PR 629 and PR 628 to the WebDriver specification.

Submitted PR 630 to the WebDriver specification which addresses many small typographical nitpicks.

Commented on issue 443 in geckodriver regarding the use of the --profile flag when using it with the Tor Browser Bundle.

Commented on issue 442 in geckodriver. Still not enough information to reproduce…

Commented on issue 627 on the WebDriver specification.

Commented on issue 410 in the WebDriver specification on whether Element Click is now feature complete. I think we’re still missing a step to spin the event loop, which if I remember correctly can be done through a call to window.requestAnimationFrame.

Commented on PR 560 to the WebDriver specification.

Responded to and reviewed bug 1322277.

Commented on bug 1333458 regarding finding a more generalised solution for detecting which document types we are expecting load events from.

Resolved bug 1333458 due to lack of reproducible steps.

Reviewed PR 62 to webdriver-rust which corrects the response headers.

Commented on bug 1323185 regarding remoteness changes.

Filed issue 632 about the unexpectedPromptBehaviour capability in the WebDriver specification that I would like renamed.

Filed issue 633 that we should remove the paragraph under capabilities processing about drivers optionally supporting TLS certificate management. As far as I’m aware it’s not an option not to support TLS certificate management in the WebDriver specification.

Filed issue 634 on the WebDriver specification that we need a JSON deserialisation for the pageLoadStrategies capability.

Filed issue 635 about deserialising the proxy configuration object when creating a new session in the WebDriver specification.

Similarly, I filed issue 636 regarding JSON deserialisation of timeout configuration objects in the WebDriver specification.

Filed issue 637, issue 638, issue 642, issue 643, issue 644, issue 645, issue 646, issue 647, issue 648, issue 649, issue 650, issue 651, issue 652, issue 653, issue 654, issue 655, and issue 639 regarding using the ‘trying’ definition in WebDriver.

Filed issue 641 regarding lowercasing the mention of “JSON Deserialization” in the WebDriver specification.

Filed issue 656, issue 658, issue 659, and issue 657 on WebDriver regarding spelling.

Filed issue 660 on the WebDriver specification that the Element Displayedness appendix should be the isDisplayed atom from Selenium.

Filed issue 661 on the WebDriver specification.

Filed issue 662 on the WebDriver specification regardiong <meta> tag redirects.

Filed issue 663 and issue 664 regarding the lack of implementation steps for the Element Click command in the WebDriver specification.

Filed issue 665 about dropping the introduction sub-chapter under the User Prompt chapter in the WebDriver specification.

Filed issue 666 on the WebDriver specification for something… special.


Filed bug 1333718 to remove the sessionId parameter that can override a new Marionette session’s ID. There is no provision in WebDriver that lets you set a new session’s ID.

Commented on bug 1322277.

Replied to the conversation about advertising UA automation on WICG.

Commented on issue 285 with what steps need to be taken for the Close Window command to be fully implemented in geckodriver.

Commented on bug 1333718 about Marionette session state. I think the idea that session state should be maintained across sessions is wrong, and the restart() function in the client, if it expects capabilities to persist to the next session, should take this into account.

Submitted PR 445 to upgrade the webdriver libary to version 0.19 in geckodriver.

Attended Marionette “chit chat” meeting with hskupin and maja_zf.

Submitted PR 64 to the webdriver-rust library to delete the session when the last window is closed.

Reviewed PR 668 and PR 667 to the WebDriver specification.

Submitted PR 669 to WebDriver specification to define click steps using the action primitives.

Submitted PR 670 to drop the empty Introduction section in the User Prompt chapter of the WebDriver specification.

Submitted PR 672 to use US American spelling in the WebDriver specification’s Dependencies chapter.

Filed issue 673 to use terminology from the URI Templates standard when talking about command endpoint parameters in the WebDriver specification.

Reopened issue 632 about defining how to deserialise the unexpectedAlertBehaviour capability in the WebDriver specification.

Closed issue 632 in the WebDriver specification as invalid.

Closed issue 649 as fixed by PR 616 in WebDriver.

Submitted PR 674 which uses the trying macro throughout the WebDriver specification, thereby addressing a lot of open issues.

Submitted PR 675 which fixes a bunch of proxy object references to the WebDriver specification.

Submitted PR 676 to provide a definition of what it means for an element to be ‘transparent’ to the WebDriver specification.

Commented on bug 1322862 regarding its progress. Unfortunately I have neglected that bug, and I should get back to fixing it soon.


Reviewed PR 679 and PR 677 to the WebDriver specification.

Provided needinfo on bug 1323185.

Rebased and fixed issues with patches for 1328298 which attempts to unbreak the WebDriver navigation tests in WPT.

Closed issue 446 as a duplicate of issue 389 in geckodriver.

Closed PR 4573 as it looks like a duplicate of PR 4570 to WPT.

Reviewed PR 4574 which submits a few element retrieval tests to the WebDriver WPT tests. Unfortunately it is based on the old test harness, and I had to reject it.

Filed issue 582 on min-vid about a CSP error I get when a policy preventing the use of eval is in place.

Submitted PR 15245 and PR 15246 to Servo to address some issues with session state and timeouts in the WebDriver implementation.

Filed issue 1289 on the rustfmt project about reordering symbols in one-line use statements.

Also filed issue 1290 on rustfmt regarding the ability to format line selections by stdin.

Submitted PR 65 to webdriver-rust which exposes a backtrace for errors originating from Rust to put in the stacktrace field that the WebDriver standard expects for error responses.


Commented on review for bug 1328298.

Reviewed PR 686, PR 687, and rebased PR 674 to the WebDriver specification.


Reviewed PR 231 to wptrunner which exposes --host and --external-host flags.

Commented on PR 225 adding Safari support to wptrunner.

Commented on issue 66 to implement the pointerCancel action in the WebDriver Rust library. I believe that it is already there?

Reviewed PR 3 to wdclient.

Released v0.20.0 of the WebDriver Rust libary.

Submitted PR 15302 to Servo which upgrades the webdriver dependency to 0.20.0 and backtrace to 0.3, because it is needed by webdriver.

Submitted PR 448 to geckodriver to upgrade to webdriver 0.20.

Closed PR 445 as it was superseded by PR 448.

Reviewed bug 1124604.

Reviewed PR 2 to wdclient which adds a send_raw_command method.

Updated my own website.

Commented on issue 381 regarding supporting promises in the Execute Script command and how I see this as scope creep.


Commented on issue 381 with regards to scope creep and breaking changes supoprting promises in the Execute Script command.

Commented on issue 680 on the WebDriver specification regarding use of the terminology ‘parameters’.

Tried to get eslint integration working for Marionette, but my version of Node.js is too old and I ended up having to upgrade the OS.

Provided some more feedback on patches for bug 1124604.

Commented on PR 423 to change the behaviour of prefs::DEFAULT in geckodriver and trying to find a path forward.

Released geckodriver v0.14.0.

Filed bug 1335472 to implement promises-based Execute Script and Execute Async Script commands in Marionette following the decision to include issue 381 in level 1 of the WebDriver specification.

Reviewed PR 696 to the WebDriver specification.

Closed issue 355 in the WebDriver specification, since the pointerDown action takes a duration argument.

Rebased and fixed PR 670 to the WebDriver specification.

Commented on issue 418 in the WebDriver specification regarding returning a dialogue’s text when returning with an unexpected alert open error.

Submitted PR 697 to the WebDriver specification removing some ambigeous language surrounding the generating of web element references.

Closed issue 449 as it can not be reproduced in geckodriver.