May 2017


Reviewed bug 1357634.

Reviewed PR 711 to geckodriver about exposing the addon install/uninstall endpoints.

Cleared needinfo on bug 1358665.

Filed bug 1361712 to list environment variables in Firefox’ about:support page.

Rebased and commented on bug 1355888.

Closed issue 707 to geckodriver as it is an issue with the Ruby implementation of Selenium.

Commented on issue 659>/a> to geckodriver.

Commented on issue 613 and issue 672 to geckodriver.

Closed issue 712 to geckodriver as it cannot be reproduced.

Closed issue 706 to geckodriver as it is not related to neither geckodriver or Marionette.

Commented on issue 684 to geckodriver. Still unable to reproduce.

Closed issue 708 to geckodriver as the ‘element not visible’ error recently changed to ‘element not interactable’.

Commented on issue 564 to geckodriver.

Commented on issue 695 to geckodriver. Not able to reproduce yet.

Commented on issue 688 to geckodriver.

Commented on issue 511 to geckodriver.

Closed issue 705 as it’s not a geckodriver issue.

Commented on issue 3943 on Selenium regrading capabilities matching in geckodriver.

Reviewed PR 901 to the WebDriver specification.

Commented on issue 617 to geckodriver. We have not started work on the unhandledPromptBehavior capability yet.

Commented on issue 692 to geckodriver. Probably a case of an outdated Firefox version.

Closed issue 710 to geckodriver as Firefox 47.0.1 is not supported.

Commented on issue 690.

Closed issue 703 to geckodriver as it was a duplicate of issue 643.

Closed issue 657 to geckodriver as it is not reproducible.

Commented on issue 668 to geckodriver. It is indeed a Marionette problem that we do not return an error when trying to interact with an element that is disabled.

Commented on issue 669 to geckodriver.

Triaged bug 1361329 about calling Element Send Keys for <input type=file> elements failing. This is issue 644 to geckodriver, which I looked at earlier.

Commented on issue 713 about persistent connections over HTTP and geckodriver’s failure to handle keep-alive. Not convinced this is something we need to take seriously right now.

Closed issue 714 to geckodriver because the value-wrapping changes are expected changes.

Provided needinfo on bug 1054740 regarding a Marionette outage after a patch to clean up some session restore code in Firefox.

Commented on issue 1456 on Nightwatch, which does not support W3C WebDriver.


Reviewed PR 908 to the WebDriver specification.

Triaged issue 703 to geckodriver about the Maximize Window command. It appears my recent changes does not take into account a manually resized window.


Commented on issue 708 to geckodriver.

Commented on issue 540 to geckodriver.

Commented on issue 659 to geckodriver.

Reviewed bug 1362051.

Reviewed bug 1361987 about fixing some return statements from generator functions in Marionette. However, the patches in their current state change how the returned objects are wrapped, and this would cause problems with backwards compatibility for Firefox UI tests and geckodriver.

Did another pass at reviewing bug 1189749 to add the Fullscreen Window command to Marionette.

Commented on issue 888 to the WebDriver specification.

Closed issue 684 to geckodriver for lack of response and because we have reports from other users that it is working with Selenium 3.4.0 and geckodriver 0.16.1.

Reviewed bug 1362528.

Commented on bug 1334729.


Replied to an email about running wptrunner standalone.

Reviewed bug 1189749.

Reviewed bug 1361983.

Provided needinfo on bug 1352132, that the Switch To Window command should not wait for the document to finish loading.

Closed issue 719 to geckodriver as it appears to be a programming error with the Selenium Python client.

Filed and patched bug 1362992 about encoding Marionette implementation errors as ‘unknown error’ rather than ‘webdriver error’.

Closed issue 717 to geckodriver as a duplicate of issue 666 regarding Linux 32-bit builds.

Commented on issue 669. Still not able to reproduce.

Commented on issue 721 to geckodriver. Requested more information from the reporter, as I’m unable to reproduce it.

Commented on issue 670 to geckodriver regarding spinning up the HTTP server on port 0 to have the system allocate a free port. The problem is communicating said port back to the parent process when you don’t have access to Unix domain sockets.

Submitted PR 96 to webdriver-rust and PR 722 to geckodriver, to avoid use of ← and → as they do not appear in Windows command prompts.

Commented on issue 715 to geckodriver.

Commented on issue 285 to geckodriver.

Commented on issue 713 to geckodriver about various performance problems. Notably persistent HTTP connections is being discussed.

Closed issue 723 to geckodriver as addon component errors do not affect geckodriver or Marionette in any noteworthy way.

Reviewed bug 1362990 which adds the ‘invalid cookie domain’ error.

Commented no issue 710 to geckodriver. Still unable to reproduce.

Closed issue 724 to geckodriver. It appears that the Selenium Java client is sending the message body for Execute Script to the Set Window Rect endpoint.

Filed and patched bug 1363053 about calling JSON.stringify on the returned value from the Execute Script and Execute Async Script commands.

Commented on issue 695 to geckodriver. Still not reproducible, but the general problems with using geckodriver on sites using Angular should have been fixed with bug 1353074.

Submitted PR 910 to the WebDriver standard, fixing issue 886.

Submitted PR 911 to the WebDriver standard.

Reviewed bug 1352132.


Commented on issue 702.

Provided needinfo on bug 937659 about removing the wait-for-navigation-to-complete check from Marionette’s Switch To Frame command.

Closed issue 726 to geckodriver as we don’t support Firefox 45 ESR.

Fixed test failures with patches for bug 1363053.

Reviewed bug 1318351 which removes a lot of B2G related code from Marionette.

Commented on issue 549 to geckodriver.

Proposed uplift of bug 1353074 to beta.

Closed issue 727 to geckodriver as it’s a Selenium client issue.

Commented on bug 1363418 about support for refreshes caused by <meta http-equiv=refresh> in Marionette.

Linearised and imported geckodriver to a hg repository using gps’ advice from bug 1340637. Now awaiting final approval from gps before I import the geckodriver git history to mozilla-central.

Commented on issue 912 to the WebDriver standard regarding the behaviour of the user prompt handler.

Commented on issue 728 to geckodriver.


Closed issue 731 to geckodriver.

Commented on issue 715 to geckodriver.

Commented on issue 729 to geckodriver regarding slow encoding of web elements. It’s also interesting to note that the performance gets worse the more time you call it.

Commented on issue 510 to geckodriver.

Reviewed bug 1318351.

Reviewed bug 937659.

Commented on issue 613 to geckodriver.

Requested needinfo from gps on bug 1340637 regarding the linearised and overlayed geckodriver history.


Birthday PTO.


Reviewed bug 1364245.

Continued work on bug 1340637 but it is very hard to land it in a timely manner on mozilla-inbound due to race conditions with patches from other people. I will likely need to enable the Mercurial rebase extension and figure out how to use it…

Fixed a test failure and addressed a code review issue with bug 1363053, to return toJSON when encountered on an object when evaluating a script in Marionette.

Rebased bug 1362992.

Attended Marionette meeting.

Work on incorporating suggestions from Gijs for bug 1355890 to add the visual UX cue to Firefox when Marionette is enabled. Getting closer now.

Reviewed bug 1363428 which implements a reftest harness inside of Marionette.

Commented on issue 703 to geckodriver.

Commented on issue 643 to geckodriver.

Commented on issue 682 to geckodriver.

Submitted PR 917 fixing PR 916 to the WebDriver specification.

Submitted PR 918 to the WebDriver specification to make the navigator.webdriver attribute unforgeable, which I didn’t know was a thing until today.


Commented on issue 737 to geckodriver.

Investigated test failures with bug 1355890. I think the failures are the cause of XPCOM interface changes, so I triggered a clobber. Found that new XPCOM interfaces are added to .xpt files and that these must be included in the packaging script.

Closed bug 1362335.

Reviewed bug 1364594.

Commented on issue 738 to geckodriver.

Commented on issue 736 to geckodriver.

Commented on issue 697 to geckodriver.

Closed issue 669 to geckodriver.

Commented on issue 733 to geckodriver.

Commented on issue 707 to geckodriver.

Commented on issue 684 to geckodriver.

Provided needinfo on bug 1363368 regarding window tracking and maintaining internal cache state in Marionette. There are multiple related issues here.

Fixed code review issues and test failures with bug 1355890 to add a visual UX cue when the remote protocol is active.

Requested needinfo from gps on bug 1340637 about landing the geckodriver import patches on inbound.

Requested uplift of bug 1353074.


Provided needinfo on bug 1364245. Patch still looks fine to me.

Addressed code review issues and test failures with bug 1355890.

Commented on issue 438 to geckodriver.

Closed issue 738 because WebDriver is not meant to make it possible to interact with the context menu.

Reviewed bug 1361837.

Spent most of the day investigating how to improve the tracking of <xul:browser>>s in Marionette.


Closed bug 1355891 as the PR to AMO has been merged.

Reviewed bug 1364228.

1:1 with dburns.

Attended Marionette meeting.


Commented on issue 659 to geckodriver.

Continued work on the new window tracking system for Marionette.


Provided needinfo on bug 1340637 regarding the transition of geckodriver from GitHub to mozilla-central.

Spent the majority of the day setting up my new CPU machine,

Commented on bug 1353670 regarding Marionette support for the ‘shadow-piercing descendant combinator’.

Cleared needinfo on bug 1366199.

Provided needinfo on bug 1359053, and requested it be uplifted to beta.

Provided needinfo on bug 1366188 regarding supporting <input type=date> and <input type=time> in Marionette. These will become advanced form controls once the dom.forms.datetime preference is flipped in Nightly.

Closed issue 746 because it does not appear to be a geckodriver issue.

Provided, but also requested, needinfo on bug 1341493. I don’t think we should enable MOZ_HEADLESS for the Mn jobs on try yet.

Commented on bug 1366035 regarding navigation to a document with an unknown MIME type.

Commented on bug 1364762 regarding a spike in intermittents when taking a screenshot of the full chrome area.

Commented on issue 322 to geckodriver.

Closed issue 695 to geckodriver because I’m unable to reproduce.

Closed issue 275 to geckodriver as it was fixed with the 0.16.0 release.

Commented on bug 1366289 about… not really sure what about.

Commented on issue 747 on geckodriver.

Provided needinfo on bug 1366366 about removing the animation from the robot GIF, now used to show that Marionette is controlling the browser instance.


Commented on issue 922 to the WebDriver standard, about why the navigator.webdriver attribute is marked as [Unforgeable].

Commented on issue 510 regarding returning the geckodriver version number as part of the capabilities.

Spent most day configuring my new computer, tristan.


Filed and patched bug 1367032 to bootstrap the libxss-dev package on Debian.

Patched bug 1366366 that provides a PNG copy of the robot icon that does not roll its eyes.

Reviewed PR 127 to the new Selenium documentation.

Provided needinfo on bug 1365308.

Provided needinfo on bug 1366188.

Provided needinfo on bug 1363368.

Commented on issue 745 to geckodriver about a occurring when using geckodriver. I have no good guesses what might cause this from just reading the attached log.

Commented on bug 1366988.

Filed bug 1367084 about the update download pausing when opening the About dialogue in Firefox.

Reviewed PR 97 which fixes the spelling of the unhandledPromptBehavior capability in webdriver-rust.

Provided needinfo on bug 1367089 regarding a fallout with the Browser screenshot QA project from the visual UX cue changes I made recently.

Published What is libexec?.

Work on bug 1340637.

Commented on issue 924 on the WebDriver specification.


Commented on issue 925 regarding the behaviour of the user prompt handler in the WebDriver specification. It appears user prompts are always handled, e.g. always either dismissed or accepted. I share the sentiment that there needs to be a way of opting out of this behaviour.

Provided needinfo on bug 1365886 about implementing the actions API for chrome context in Marionette. I think it’s not an easy task.

Commented on bug 1341493.

Locked issue 723 to geckodriver.

Commented on bug 1223277.

Requested needinfo on bug 1366289 about a cleanup of the datareporting.* prefs branch.

Commented on issue 750 to geckodriver.

Did a cursory review of PR 5275 to land the Get Title command tests in WPT.

Filed issue 132 on sccache, a Rust replacement for ccache, written by my colleague Ted. It is missing a SCCACHE_CC_PREFIX output variable to make it possible to distribute C and C++ compile jobs to an icecc distributed compilation cluster.

Triaged and commented on issue 732, which appears to be about the Delete Session command returning a 500 Internal Server Error after calling Close Window implicitly ended the session. I think a specification clarification is needed.

Commented on bug 1367089.

Attended Marionette meeting.

Closed issue 747 to geckodriver.

Provided needinfo on bug 1349859.

Reviewed bug 1367415.

Reviewed bug 1366188.

Commented on issue 729 about the performance of Marionette’s known web element store. Also commented on bug 1367325, which is the tracking Marionette bug.

Driveby review of bug 1364349.

Fixed a code review issue with bug 1366366.

Filed bug 1367519 about fixing the geckodriver build for Linux i686.

Fixups to bug 1340637.


Filed bug 1367736 about fixing the geckodriver build on macOS.

Continued work on bug 1340637 to enable building of geckodriver in mozilla-central. TaskCluster configuration and/or geckodriver may have changed since the last time I worked on these patches, because I’m having a hard time getting it to build successfully on all platforms.

Filed and patched bug 1367741 about my libexec issues calling mach try with git-cinnabar.

Commented on issue 755 to geckodriver about being unable to start a video.

Closed issue 753 to geckodriver as addons must be signed now.

Commented on issue 431 to geckodriver.

Closed issue 754 to geckodriver.

Commented on issue 729 to geckodriver. Very pleasantly surprised that the reporter went ahead and fixed the problem based on my theory. Offered to mentor him.

Fixed build failures with bug 1340637, and ended up pushing it to autoland. Let’s hope it sticks.


Commented on bug 1340637 and filed bug 1368035 to follow up on adding an --enable-geckodriver flag to configure.

Provided needinfo on bug 1303346 about getting the current URL directly in chrome context in Marionette, instead of delegating it to the content frame script.

Commented on issue 419 to geckodriver.

Provided needinfo on bug 1367995 regarding a fallout building Gecko after I landed geckodriver compilation in m-c. Something about cl.exe being missing, but I suspect this is a setup issue.

Closed issue 739 to geckodriver.

Reviewed PR 128 to selenium-docs.

Reopened and commented on issue 753 regarding a potential issue installing addons on Windows.

Commented on issue 756 to geckodriver.

Reviewed bug 1358020.

Reviewed bug 1368068.

I had to temporarily disable geckodriver compilation in m-c in bug 1368084 because it was reported in bug 1367995 that building locally on Windows was broken because of a missing cl.exe binary. This normally ships with Visual Studio, but the current working theory is that mach is not setting up the environment correctly.

Commented on bug 1340637.

Reviewed bug 1366188.

Commented on issue 729 to geckodriver.

Commented on bug 1368170.

Commented on issue 684 to geckodriver.


Reviewed bug 1368101.

Reviewed bug 1367227.

Closed bug 1367032 as I’m not able to reproduce.

Closed issue 757 to geckodriver.

Commented on issue 702 to geckodriver.

Reopened bug 1367995 to track failures to build geckodriver on local Windows machines.

Patched bug 1368035 to enable conditional building of geckodriver in mozilla-central. My patch introduces a --enable-geckodriver configure flag that acts as an override.

Patched bug 1368195 to fix an issue where Marionette tries to serialise Services.appinfo which implements QueryInterface and proposes banning serialisation of all XPCOM objects in Marionette.

Filed bug 1368264 to copy the resulting geckodriver binary to the objdir/dist/bin directory.

Filed bug 1368265 to import and build the webdriver crate in mozilla-central.


Closed issue 759 to geckodriver as it is a Selenium issue.

Commented on issue 758 to geckodriver about why WebDriver endpoint nodes do not expose their current session ID.


Commented on bug 1368265 regarding the target location of the webdriver create once imported into mozilla-central.

Commented on bug 1368101 about interdependency between commands.


Commented on issue 758 to geckodriver regardin revealing the session ID in error messages.

Commented on bug 1368265.

Provided needinfo on bug 1368492.

Commented on bug 1363373.

Drive-by review of bug 1368034.

Provided needinfo on bug 1368439.

Provided needinfo on bug 1368434.

Provided needinfo on bug 1368227.

Commented on bug 1368648.

Provided needinfo on bug 1275273.

Commented on bug 1280300.

Filed bug 1368668.

Addressed code review issues with bug 1368035.

Reviewed bug 1368648 which removes the otherwise execllent import script functionality that I wrote for Marionette years ago. I suppose all good things must come to an end…

Reviewed bug 1368526.


Reviewed bug 1367227.

Provided needinfo on bug 1368668.

1:1 with dburns.

Attended weekly Marionette meeting.

Filed bug 1369102 to remove the Marionette log adapter.

Reviewed bug 1363428.

Commented on bug 1369086.

Commented on issue 760 to geckodriver.

Submitted PR 926 to the WebDriver specification to clarify that we only try to close those sessions that are active. Commented on issue 732 in geckodriver in relation to this.

Commented on bug 1368965.

Commented on bug 1363368.

Reviewed PR 6098 that introduces Get Active Element command tests to the WPT WebDriver test suite.

Commented on issue 761 to geckodriver about the wrong response when getting a single named cookie.

Filed issue 98 on webdriver-rust about not exposing the current session ID when a request is made using an invalid session ID. I also commented on issue 758 to geckodriver.

Commented on bug 1364319.

Reviewed bug 1368492.