November 2016


Work on bug 1103196 to introduce TLS certificate control support to Marionette. Pushed to try to see if the HTTPD patches needed to test TLS works on all OSes.

Removed atom generation code for Marionette from the Selenium project.

Submitted PR 437 which renames acceptSslCerts to acceptInsecureCerts in accordance with a resolution from the WebDriver F2F in Lisbon.


Continued work on bug 1103196 to add TLS certificate support to Marionette. Made some progress, but need to find out how to unregister an XPCOM component.

1:1 with dburns.


Commented on issue 438 in WebDriver about the ongoing discussion about implicit wait conditions for element interaction commands.

Continued work on bug 1103196, and I finally have a working prototype where self-signed TLS certificates are ignored when using Marionette.


Commented on issue 321 in geckodriver.


Continued work on bug 1103196 about providing the ability to ignore invalid TLS certificates in Marionette. I think I have mostly finished the implementation now.


Investigated issue 321 in geckodriver which could have something to do with reverse DNS lookup issues on the user’s local system. Perhaps localhost isn’t mapped correctly?

Closed bug 1315633 as the log interface is not part of the WebDriver specification.

Reviewed bug which enables the accessibility service in chrome before it does in content, as it apparently works differently then.

Provided needinfo on bug 1313593 about the relationship between tests for the Marionette client- and harness.

Provided needinfo on bug 1306848 which still seems to happen even after bug 1302707 has landed.

Resolved bug 1314671 as it was a duplicate of bug 1255955, which added support for interaction with <code> elements.

Closed issue 323 as it is more of a question than an issue.

Closed bug 1314101 about testing/marionette/test_action.js not working as I cannot reproduce it.

Submitted patches for bug 1103196 to support ignoring invalid TLS certificates in Marionette. Quite proud of this patch.

Triaged bug 1315747.

Provided needinfo on bug 1309231 which seems to be about implicitly waiting for a page load on clicking an element that causes navigation to occur.

Commented on bug 1315760 regarding Marionette support for Ubuntu 16.04.


Commented on bug 1315760 about Linux testing and distribution versions.

Addressed review issues and rebased bug 1313865 that provides centralised type assertions in Marionette.

Reviewed bug 1308902 which adds a l10n module to Marionette.

Closed issue 113 in geckodriver about implementing the Set Window Position command.

Started work on addressing review issues for bug 1103196 that adds support for TLS certificates to Marionette. Also requested additional review from mconley and dkeeler.


Closed issue 325 in geckodriver as a duplicate of issue 2301 in Selenium about attribute/property conflation.

Commented on issue 168.


Closed issue 319 in geckodriver as I’m unable to reproduce it locally.

Provided needinfo on bug 1308902 about l20n and l10n.

Patched bug 1311116 to reduce logging verbosity when using Marionette on debug builds.

Fixed code review issues for bug 1313865 about centralising asserts in Marionette.

Responded to code review issues for bug 1103196 about TLS certificate management.

Filed bug 1316622 to implement the Get Timeotus command from WebDriver in Marionette.

Reviewed PR 49 to webdriver-rust which adds the new Status command.

Closed issue 330 in geckodriver as the log interface isn’t defined by the WebDriver specification.

Closed issue 332 in geckodriver as it seems completely unrelated.

Submitted patches for bug 1316622 to implement the Get Timeouts command in Marionette.

Submitted PR 50 to webdriver-rust which also adds the Get Timeouts command there.

Submitted PR 333 to geckodriver to make use of the new ? operator in Rust.


Provided needinfo on bug 1308902 regarding l10n and l20n naming in Marionette.

Responded to the conversation about TLS certificate management in Marionette in bug 1308902. Requested needinfos from keeler and jryans.


Submitted PR 14185 to Servo that upgrades the webdriver library dependecy to 0.15.


Filed bug 1317330 about increasing the Marionette log level verbosity on try builds specifically after bug 1311116 reduces it for local builds. Submitted bug 1311116 to the autoland queue.

Provided needinfo on bug 1317121 about an intermittent timeout error on element retrieval on try.

Filed and patched bug 1317344 to remove unused mozharness suite definitions for the Marionette try harness.

Patched bug 1317330 by increasing the Mn log verbosity on all mozharness configurations.

Commented on issue 229 about a further discussion on the matter in the Selenium issue tracker.

Commented on issue 27 about an unactionable bug report.

Commented on issue 336 regarding a JavaScript injection timeout that we need more information to reproduce.

Commented on issue 335 about Set Window Position potentially not working on Windows.

Closed issue 331 in geckodriver as getting an element’s coordinates works to the extent of my knowledge.

Closed issue 338 in geckodriver as a duplicate of issue 233 regarding implementing the W3C action API.

Commented on issue 322 in geckodriver questioning what is wrong so we can filed a Marionette bug.

Submitted PR 440 to the WebDriver specification, specifying the correct arguments to call scrollIntoView with.

Submitted PR 441 to the WebDriver specification which corrects a bug in cases where the DOMRect sequence of an element is 0, which can happen if the display style property is "none".

Investigated issue 425 about calculating the in-view centre point of an element for the WebDriver specification, and the math seems correct.

Patched bug 1317386 which implements a spec compatible element interactability algorithm and makes scrolling elements into view do that at the bottom of the viewport. This should fix a bunch of element clicking problems we have had in Marionette, and primes us for switching to the spec-conformant pointer interactability tests.

Provided needinfo on bug 1317462 regarding the duplication of the browserVersion and version capabilities.

Provided needinfo on bug 1308902.

Patched bug 1317462 which removes a bunch of unused and superfluous capabilities from Marionette.

Cleared needinfo on bug 1287904 as I’m not going to get around to it anytime soon.

Checked try run reports for bug 1317330 which increases Marionette logging level. I believe with structured logging and the Gecko logs as a separate gecko.log file, we are in a good position to merge the patch.

Commented on bug 1298025 about moving the addon installation code to Marionette.


Provided needinfo on bug 1308902 about what changes needs to be made in Selenium and geckodriver to expose the l10n commands to consumers.

Cleared needinfo from bug 1287904… again.

Addressed code review issues for patches to bug 1317462 which removes a few unused Marionette capabilities.

Addressed code review issues for patches to bug 1317386 about scrolling an element into the bottom of the viewport and implementing a spec conformant idea of pointer interactability.

Submitted PR 442 to WebDriver which corrects the math used to find the in-view centre point of an element in the WebDriver specification. Thanks to Aleksey from Yandex for pointing this out!

Requested feedback from dustin on bug 1317330 to increase the logging verbosity of Marionette on all builds on try.

Addressed code review issues with bug 1317344 that removes unused Marionette configs from mozharness.

Rebased bug 1298025 which moves the addon installation from the Marionette Python client to the Marionette server.

Addressed code review issues with bug 1316622 which implements the Get Timeouts command in Marionette.

Patched bug 1275273 to remove the getElementAttribute and isElementSelected Selenium atoms from Marionette.

Unassigned myself from bug 1207125.

Resolved bug 964738 about upgrading the Selenium atoms as invalid as we want to remove them in their entirety instead.

Resolved bug 1167567.

Resolved bug 1149640 as WONTFIX.

Filed and patched bug 1317733 to avoid packaging specialpowers in Marionette.

Commented on bug 1313338 about the progress.


Closed issue 342 in geckodriver as it is not reproducible.

Closed bug 1317823 as it is not reproducible.

Triaged issue 343 in geckodriver about setting the URL prefix.

Rebased and merged PR 442 to the WebDriver specification which fixes the math surrounding pointer-interactability’s in-view centre point.

Closed issue 340 as it is not reproducible.

Closed issue 341 in geckodriver about the onchange DOM event not firing on uploading a file using Marionette. I believe this was resolved by bug 1280947, which is available in Firefox 50 onwards.

Commented on issue 312 to say that we accept patches that make cross compilation from Linux to FreeBSD work on our Travis CI setup.

Addressed code review issues and test failures in bug 1316622 which implements the Get Timeouts command in Marionette and changes the Python client API.

Commented on issue 344 about providing reproducible steps.

Addressed try failures for the patches to bug 1275273.

Cleared needinfo on bug 1290966.

Closed issue 339 in geckodriver as a duplicate of issue 210.

Patched bug to remove error numbers from the Marionette Python client.

Resolved bug 1150528 as WONTFIX.

Filed bug 1318040 about link woes on mozreview.

Closed issue 345 in geckodriver as it really has nothing to do with geckodriver.

Rebased and addressed some more code review issues with the patches for bug 1103196 about managing TLS certificates in Marionette.


Closed issue 347 in geckodriver as it is unrelated.

Reviewed bug 1316707 which removes more B2G related code from Marionette.

Fixed try errors for patches to bug 1150527 which removes numeric error codes from the Marionette Python client.

Fixed test errors for patches to bug 1275273 which pushes the non-conflated property vs. attribute behaviour to chrome context in Marionette. Content context has had this for a while.

Addressed review issues for bug 1316622.

Addressed review comments for bug 1317344.

Rebased patches for bug 1317462.

Rebased patches for bug 1317386.

Addressed code review issues and try failures in patches for bug 1103196, which introduces TLS certificate management to Marionette.

Addressed review issues and test failures for bug 1275273 which removes the attribute vs. property conflation in chrome context in Marionette.

Commented on issue 339 in geckodriver.

Commented on issue 340 in geckodriver and reproducing issues.

Closed issue 344 because it is not reproducible.

Commented on bug 1318098 about a possible Marionette bug to do with the visibilityChange event.

Triaged issue 348 in geckodriver about Marionette not focussing the text field before typing text into it. The expected change and blur events are not being dispatched.


Fixed more test failures in patches for bug 1275273.

Addressed code review issues for bug 1317386 and added some more tests.

Addressed more code review issues for patches to bug 1316622.

Reviewed PR 352 to geckodriver which introduces an issue template.


Rebased and sent bug 1317462 off to autoland.

Sent bug 1317733 to autoland.

Rebased, addressed code review issues, and sent bug 1150527 to autoland.

Rebased and addressed code review issues in the patch for bug 1317344 which removes various unused Marionette mozharness configs.

Rebased patches for bug 1316622 and commented on the last remaining code issue. Triggered a new try run.

Rebased bug 1103196.

Commented on PR 2752 to WPT about a stale PR.

Closed bug 1318408 as it’s a duplicate of issue 159 about implementing the actions API in geckodriver.

Commented on bug 1318098.

Commented on bug 1277090.


Submitted PR 355 to geckodriver which updates the default log level.

Commented on issue 350 in geckodriver.

Commented on issue 168 in geckodriver with regards to the inability to upload files using Marionette.

Submitted PR 220 to wptrunner to improve the UX when the --webdriver-binary flag is missing.

Submitted PR 221 to update the default geckodriver binary in wptrunner to not be wires.

Filed issue 51 in webdriver-rust about supporting HTTP HEAD requests.

Provided needinfo on bug 1316018.

Filed and patched bug 1319237 which makes the Set Window Size and Set Window Position commands synchronous in Marionette.


Commented on bug 1307690 about what happens when Marionette reaches an error page. I would perhaps suggest this is a wptrunner or wptserve issue.

Provided needinfo on bug 1299414 regarding test state and when we should reset timeouts in the Marionette test harness that is internal to Mozilla.

Commented on issue 356 in geckodriver.

Reviewed PR 52 about allowing the Status command to be called without having started a session in webdriver-rust.

Commented on PR 357 in geckodriver regarding adding the Get Timeouts command.

Commented on PR 358 in geckodriver which passes the extension routes by borrow. Missing a webdriver-rust upgrade?

Reviewed PR 359 in geckodriver which implements the Status command.

Reviewed PR 358, PR 359, and PR 360 to geckodriver.

Commented on bug 1319525 regarding administrator privileges for binding to ports on Windows.


Provided needinfo on bug 1319731 regarding and if it belongs in the client package at all. Made the point that we should probably encode more of the preferences into the Marionette server itself.

Commented on bug 1279203 regarding implementation of the Get Page Source command.

Rebased PR 268 to geckodriver which uses clap’s alias functionality to implement the --webdriver-port alias.

Rebased and addressed test failures with patches for bug 1316622 which implements the Get Timeouts command and introduces a new Marionette Python client API. Also did some testing with the fallback solution with Firefox 50.

Filed bug 1319793 to not swallow stdout from pytest when running the Marionette harness tests.

Addressed some try failures in the patches for bug which adds TLS certificate management to Marionette. Specifically the test failures were to do with a bug in the HTTPD fixtures rewrite. Had to add some tests for this.

Addressed try failures and code review issues in patches for bug 1319237 that corrects the WPT WebDriver window position- and window size tests.


Commented on and closed issue 362 in geckodriver.

Commented on bug 1320073 regarding renaming the Marionette Python packages.

Rebased and addressed code review issues in patches for bug 1103196.

Provided needinfo on bug 1316622.

Rebased bug 1319237.


Reviewed bug 1320099 and bug 1319692.

Provided needinfo on bug 1299414.

The patches for bug 1103196 were backed out of central because of test failures on Windows. I suspect this is because does not map to a public interface on that system. I’ve resurrected the patches, rebased them, and addressed the issue by binding to the loopback interfaceh for the time being.

Commented on bug 1312674 regarding errors navigating to about:blank in Marionette.

Patched bug 1297551 where a setTimeout call in the document is cancelled by a call to Execute Script because the script timeout’s ID is being passed to the script sandbox’s clearTimeout instead of the clearTimeout belonging to the frame script.

Commented on bug 1310628.

Reviewed bug 1312674.


Provided needinfo on bug 1320643 regarding binding to a public interface by default for the HTTPD fixture servers in the Marionette harness.

Investigated and patched bug 1320629 which is a fallout from bug 1297551.

Provided needinfo on bug 1320642.

Reviewed bug 1320389 which adds dispatching of action chains to Marionette.

Closed issue 444 against the WebDriver specification as it is related to the Selenium project.

Reviewed bug 1299414 which removes calls to resetting timeouts from the Marionette harness.

Reviewed bug 1279203 which makes Marionette WebDriver conformant for the Get Page Source command.

Attempted to patch bug 1320643 by binding the HTTPD fixtures to a loopback interface again and by forwarding the server ports to the Fennec Android emulator.




Provided needinfo on bug 1320919 about removing some deprecated Marionette commands. We can likely also remove those marked as Selenium 2 compat commands, as we have geckodriver as a shim.

Submitted bug 1279203 to mozreview and triggered a try run. It is about making the Get Page Source command WebDriver conformant.

Addressed code review issue with patch for bug 1320629.

Commented on issue 366 in geckodriver.

Commented on issue 367 in geckodriver.

Commented on issue 373 in geckodriver.

Commented on issue 334 in geckodriver about returning the profile and the PID when starting a new session.

1:1 with dburns. I will roughly be working on these things, in order:

  1. October OKR pick
  2. TLS patch uplift to Aurora (because ESR)
  3. Implicit wait for navigation on interaction/refresh
  4. Window handle changes when a remoteness change occurs
  5. Handle process termination of Firefox from geckodriver on closing last window

Addressed code review issues with patches for bug 1320643.

Commented on bug 1202246 regarding different element UUIDs when switching between remote frames.

Closed issue 286 in geckodriver.

Commented on issue 372 in geckodriver about Windows 64-bit problems.

Commented on bug 1317713 about navigating my fragment in data URI page intermittent.

Commented on bug 1310628.