May 2015


May Day is a working day in the UK, although I'm catching a flight to Oslo.

Requested check in of bug 1159674 sinece all the tests appear to be passing after the rebase.


Submitted PR 35 to WebDriver to harmonise some command titles related to operations on elements.

Submitted PR 36 that fixes the example tied to the Get command, and two cases of incorrect punctuation.

Submitted PR 37 that specifies the Get Title command.

Submitted PR 38 that fixes references to current top-level browsing context (with hyphen).


Reviewed bug 1141050.

Rebased and landed bug 1060300 on inbound.

Requested more info from dmose in order to complete bug 1094246.

Rebased bug 1155703 and did a new try run. Redid try run with just the first part.


Submitted PR's 40, 41, 42, 43, and 44. to WebDriver.

1:1 cancelled.


Fixed a syntax error in Rust documentation.

Filed bug 1162516 and bug 1162515 about removing the FrameSendFailureError and FrameNotInitializedError's from Marionette.

Submitted patch for bug 1162516.

Provided feedback on bug 1149640.

Pushed bug 1155703 to inbound.

Patched bug 1162515, carrying forward r+ from davehunt from bug 1155703.

Made another pass at reviewing PR 34.

Submitted PR 45 to the WebDriver specification.


Set up SSL with SHA-2 certificate for this server.

Requested feedback from dburns for bug 965291 about returning the correct platformName capability.

Made changes to PR 44 that significantly improves the web element data model in WebDriver.


Looked briefly at bug 1154432, but I suspect the Gecko in use is quite old and doesn’t have my patch to GeckoDriver#multiAction in it.

Worked on bug 1153822.


Caught up on email and travelled to the UK.


Spent most of the day setting up my new computer and organising the Rust 1.0 celebration party on Friday.

Also moved desk, to one closer to the window.


1:1 cancelled.

Got instructions on how to test r/4979 by jgraham, which implements a Servo WebDriver implementation in wptrunner.

Reviewed r/4979.

Reported issue 87 to critic about unicode problems for comments.

Work on bug 1153822 about adjusting the Marionette protocol to match the WebDriver protocol.

Added native build notifications for Servo on Mac OS in PR 6039.


Continued to work on bug 1153822. Changed how everything not returning a flat value is returned, with the exception of executeScript and executeAsyncScript. Triggered try run.


Spent some time preparing for the Rust 1.0 Celebration that jgraham and I are hosting tonight.


On Friday I discovered that the B2G desktop browser crashes on startup, regardless if you specify the -profile argument. jgriffin was able to reproduce this and pointed out that there’s probably some inconsistency in the mozconfig that buildbot uses to build it. Looking into this further.

Filed and patched C++ bug 1165940 about a missing override in dom/media/CanvasCaptureMediaStream.cpp. This is related to getting B2G desktop building with clang.

The other compilation problem I found is related to c374b2c0429c which also fails to compile on clang with this error. Asked mh for some input on this since he made the patch. Will possibly file a bug later.


Sorted out receipts from the Rust meetup last week and explained some things in bug 1161655.

Submitted PRs 48, 49, 50, 51, and 52. to the WebDriver specification.

Merged a Selenium IDE (!) patch in Selenium.

Continued work on bug 1153822.

Work on defining Get Element Rect command for WebDriver, but it turned out to involve a fair amount of element infrastructure work.


1:1 with dburns.

Submitted PR 53 to WebDriver which defines the Get Element Rect command as well as some web element infrastructure.

Pushed bug 1153822 to review rb/9139, and did a try run.


Fixed up some inconsistencies in rb/9139 for bug 1153822.

Submitted PR 57 to WebDriver which gets rid of the build step mention in the README.

Pushed a fixup to PR 53 that adds an additional layer of abstraction called is stale that simplifies checking for stale element references in WebDriver.

Filed bug 1167172 about allowing try syntax without a "try: " prefix in Treeherder’s “request a try push” button.

Attended first-ever “Brantina”.

Work on adapting the marionette-js-client to bug 1153822.


Some work to get the marionette-js-client tests passing on Mac. Amongst other things I filed bug 1167567 and patched it. Discovered a different problem on Linux, for which I suspect Debian and Python 3 is at fault.

The Linux problems were mostly to do with my local environment on Debian sid, which is unstable. Having sorted those out I submitted PR 140 to remove the need to run make test-integration with sudo.

Observations about Travis, npm, and make:

  1. Node.js projects on Travis always runs npm install and npm test:
  2. npm test can be overridden in the scripts section of package.json.
  3. If your test targets depend on a target to populate the node_modules dependency directory, npm install will have populated this for you and your target will not run.
  4. There is as far as I can tell no way to disable Travis from running npm test.
  5. If you use a third-party package to test your current package, there is – somewhat surprisingly – no way to have it pick up your active, development source directory without symlinking it into node_modules manually.

Filed and patched bug 1167613 to normalise some file paths in the marionette-mocha program.

Submitted PR 58 on WebDriver to rename web element’s document element to web element node.


Submitted PR 59, PR 60, PR 61, PR 62 PR 63, PR 64, and PR 65 to WebDriver.


Reviewed r/5100.

Welcomed Emily, new person working on the iOS project, to the office.

Discussion on IRC and in email thread about Heroku, AWS, and GCE.

Submitted PR 141 to marionette-js-client which removes the default action to print a screenshot when a script timeout occurs.

Sent abstract of talk for the Selenium meetup in Belfast for 2 July.


Spent some time looking through recent changes to the WebDriver specification, and they look mostl good. For navigation I wonder though if we should use a switch statement to deal with the different page loading strategies.

Filed bug 1168396 for adjusting the marionette-js-client to match the new Marionette protocol in bug 1153822. Worked on this.


Continued work on bug 1168396.