December 2016

2016-12-01

Reviewed PR 374 in geckodriver.

Attended European offices meeting.

Provided needinfo on bug 1321517.

Addressed code review issues in bug 1321278.

Provided needinfo on bug 1321408.

Requested uplift of bug 1279203, which makes Get Page Source WebDriver conformant, to Aurora and Beta.

Investigated try failures with port forwarding on the Android emulator for bug 1320643.

Filed bug 1321539 as a follow-up to bug 1320629 because an argument is passed to the wrong object.

Reviewed bug 1320389 about dispatching actions rather thoroughly.

Commented on bug 1294423.

2016-12-02

Cleared needinfo on bug 1321278 about conflicts with an uplift.

Reviewed bug 1321775.

Prepped bug 1103196 (TLS certificate management) for uplift to Aurora, but it didn’t apply cleanly. Rebased and request uplift of bug 1317462 as a dependency.

Reviewed bug 1320919 which removes deprecated commands from Marionette.

Rebased PR 268 to geckodriver.

Reviewed bug 1143071 which changes the root/start node when retreiving anonymous elements in Marionette.

Work on bug 1320643. We found out that we were forwarding a port from the host to the emulator, which obviously has the HTTPD already bound to it. mozdevice has pretty terrible exceptions and it should report the error printed by adb instead of a non-generic “computer says no” message. Anyway, I ended up implementing an API to reverse-forward ports from the emulator to the host. This wasn’t available when I worked on OperaDriver for Mobile years ago. I’m glad to see I wasn’t wrong that this was such a crazy need back then.

Reviewed bug https://github.com/mozilla/webdriver-rust/pull/53>PR 53 which implements the actions API for the webdriver-rust library.

2016-12-05

Travel day to Hawaii.

Closed issue 378 in geckodriver because it does not have enough information in it to be reproducable.

2016-12-06

All-hands in Hawaii.

Addressed code review issues in bug 1320643, which fixes HTTPD fixture server bindings for Fennec.

Reviewed bug 1316975 which corrects function definition styles throughout the Marionette codebase.

2016-12-07

All-hands in Hawaii.

Addressed more code review issues with bug 1320643.

Reviewed PR 53 to webdriver-rust.

Reviewed bug 1321228 which marks a few functions in Marionette as generator functions.

Commented on issue 292 in geckodriver about generating checksums.

Reviewed PR 383 to geckodriver which improves the issue template.

2016-12-08

Submitted PR 386 to geckodriver which describes the WebDriver capabilities supported by Marionette.

Reviewed PR 385 to geckodriver that adds dispatching of the new action API commands.

Reviewed PR 368 to geckodriver which improves the contributor information.

Commented on issue 384 in geckodriver.

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

Commented on issue 292 about signing of the geckodriver releases.

Closed issue 384 in geckodriver due to no reproducible steps.

Commented on issue 258 about retracting the 0.8.0 from crates.io.

Closed issue 380 due to lack of reproducible steps.

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

Closed issue 381 in geckodriver as a duplicate of issue 348, about generating the right DOM events when typing keys into Marionette.

Closed issue 372 in geckodriver because no actionable and reproducible steps have been added.

Closed issue 376 in geckodriver because it is very likely not a geckodriver issue.

Closed issue 373 in geckodriver because it is not actionable.

Commented on issue 270 in geckodriver.

Commented on issue 324 about <select> interaction in geckodriver, requesting more information as support for this was added in bug 1255955.

Commented on issue 243.

2016-12-09

Reviewed and merged PR 91 to selenium-docs.

Investigated issue 350/a> in geckodriver about loading image documents, filed and patched bug 1322772.

Commented on bug 1189749 regarding making the fullscreen command patch to Marionete synchronous.

Investigated issue 389 in geckodriver about a PermissionError when trying to execute a script. It appears this is because the sandbox’ unloadHandler is being access from content.

Resolved bug 1322227 as a duplicate of bug 1322772.

2016-12-10

Reviewed PR 98, PR 97, and PR 95 to the Selenium documentation.

Merged PR 96 to the new Selenium documentation.

Patched bug 1322862 which resolves some issues inspecting callbacks assigned in chrome space to the sandboxes used for script execution in content.

Rebased and fixed issues with bug 1320629. Resolved bug 1321539 as invalid.

Responded to code review issues in bug 1143071.

Provided needinfo on bug 1322277 regarding socket timeouts and page load timeouts related to navigation in Marionette and the new WebDriver default of 300 seconds (five minutes):

2016-12-11

Travel day to London.

Submitted PR 390 to geckodriver which fixes the CI build for i686-unknown-linux-musl.

2016-12-12

Travel day.

2016-12-13

Merged PR 99 and PR 100 to the Selenium documentation.

Commented on issue 362 in geckodriver about stdout redirection.

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

Closed issue 392 in geckodriver about a missing ktmw32.dll file on Windows XP 32-bit.

Commented on PR 368 in geckodriver.

Submitted PR 396 to make various incremental updates to the geckodriver README. Most prominently, pointing out that we do not support Windows XP.

Filed and patched bug 1323217 which fixes ./mach marionette-test. Had it uplifted directly to central.

Fixed test failures for patch to bug 1322862 to make __webDriverComplete et al. content-safe.

Investigated issue 328 regarding a recursion returning window.performance.timing but was unable to reproduce it using Firefox Nightly.

Landed the patch for bug 1316975 to update the Marionette function style.

Filed and submitted patch for bug 1323253 which enabels unsafe CPOW checks in Marionette.

Filed bug 1323290 to centralise which Marionette preferences that are needed and required in automation.

Submitted PR 397 to geckodriver to synchronise the preferences used in Mozilla automation.

Submitted a number of incremental improvements to the Selenium documentation project.

Filed issue 447, issue 488, issue 449, issue 450, issue 451, issue 452, issue 453, issue 454, issue 455, issue 456, issue 458, issue 459, issue 460, and issue 461 to the WebDriver standard.

Reviewed PR 462 to the WebDriver standard.

2016-12-14

Commented on issue 362 in geckodriver.

Commented on bug 1323387 about a possible regression from bug 1320643 regarding port forwarding to Android. I doubt it is a regression as the code path remains unchanged, apart from the fact that I removed an abstraction.

Commented on issue 97 regarding proxy support in Marionette. Proxy configuration currently only works if it is set as a required capability.

Filed bug 1323450 about configuration session timeouts when receiving a timeouts configuration object as part of the capabilities when creating a new session.

Reviewed bug 1277090 again about not conflating properties and attributes in chrome space for Marionette.

Reviewed bug 1143071 which changes the default start node when retrieving anonymous elements.

Reviewed bug 1322609 which attempts to get rid of content-targetable usage in tabbrowser.xml. This caused some issues with Marionette because of the crazy browser registration code that we have in GeckoDriver#registerBrowser.

Reviewed bug 1311657 which switches to top-most frame before closing chrome window in Marionette, fixing a number of chrome-related tests.

Reviewed bug 1243415 which employs the Marionette screen capture code also in chrome space. Excellent work by whimboo.

2016-12-15

Reviewed bug 1321408 which removes all references to Marionette from B2G.

Continued review of bug 1143071.

Provided needinfo on bug 1322277 regarding the socket options used in the Marionette Python client.

Provided needinfo on bug 1275243.

Provided needinfo on bug 1322383.

Reviewed bug 1323451.

Closed issue 395 as a duplicate of issue 210.

Closed issue 398 as it isn’t reproducible.

2016-12-16

Commented on bug 1323044 regarding test linting.

Commented on bug 1323537 regarding providing the element screenshot command in geckodriver by reusing GeckoDriver#takeScreenshot.

Worked on rewriting the Marionette navigation algorithm.

2016-12-17

Continued work on rewriting the Marionette navigation algorithm.

2016-12-19

Commented on issue 313 regarding building geckodriver on FreeBSD.

Patched bug 1323982 to remove the web progress listener only once.

Reviewed bug 1320389.

Provided needinfo on bug 1103196. I don’t think it’s worth spending the time uplifting this changeset to beta.

Rebased patches for bug 1321278 to apply cleanly on top of Aurora so that we can have the moz:processID and moz:profile changes in our next Firefox ESR release.

Fixed some test failures in bug 1321516 which enables the new pointer-interactable checks. Also provided a needinfo.

Provided needinfo on bug 1321516.

Commented on bug 1103196.

Rebased and merged PR 396 to geckodriver.

Filed and patched bug 1324467 to avoid mutating the session capabilities, or generally any data sent to the listener, in Marionette.

Filed and patched bug 1324529 which renames the raisesAccessibilityExceptions capability to moz:accessibilityChecks to be conform with the extension capability naming scheme as laid out by the WebDriver specification.

Filed issue 1 with slog-envlogger.

Submitted PR 402 that fixes issue issue 401 regarding synchronous logging to geckodriver.

Closed issue 168 regarding file uploads and geckodriver.

2016-12-20

Reviewed bug 1324373.

Responded to review comments in bug 1324529 about renaming raisesAccessiblityExceptions.

Responded to review for bug 1320389.

Closed bug 1001318 as WONTFIX because the B2G project has been shut down.

Patched bug 1213875 which adds an argument to control scroll behaviour when taking screen captures of elements in Marionette.

2016-12-21

Closed bug 1238095, which was the tracking bug for enabling unsafe CPOW checks in Marionette.

Worked mostly on bug 1323450 which involves a rewrite of processing capabilities.

Rebased patch associated with bug 1324467 for Aurora and Beta so that it can be uplifted.

Rebased and pushed the patches for bug 1322772 up for review. Found that text/plain documents are parsed as HTML documents and not affected by this issue.

Rebased bug 1323982.

Commented on bug 1323450, that I am likely to fix timeout configuration on creating a new session in the patches for bug 1282873.

2016-12-27

Closed issue 406 in geckodriver as Control + T is not meant to let you open a new tab. Doing so would be a security escalation issue as it would allow you to escape from content- to chrome scope.

2016-12-29

Closed issue 1 in slog-rs/envlogger in favour of issue 32, on which I commented that the link in the main repo now works.

Closed issue 407 in geckodriver as the actions API isn’t implemented by Marionette yet.

Closed issue 408 in geckodriver due to lack of sufficient information.

Commented on issue 405 regarding floating point/decimal numbers for scaled high-DPI displays.

Submitted PR 55 to webdriver-rust to allow window position responses to hold negative coordinates.

Commented on issue 403 in geckodriver about not being able to reposition the Firefox window using Marionette. I cannot reproduce this on Linux, but it may very well be a Windows thing.

Closed issue 394 in geckodriver as I cannot reproduce it.

Rebased and started try testing of bug 1322862 as it was backed out from central for Windows 8 breakage. I cannot see what in the patch caused the failure, however.

Reopened issue 398 after reproducible code was added. It seems we fail to handle closing a window using DOM controls, such as a button.

Patched bug 1325079 through removing test_certificates.py which had accidentally been committed to central. The TLS certificate navigation functionality is sufficiently tested by test_navigation.py.

Commented on bug 1103196 and attached a screenshot of Marionette navigation to a site with an expired TLS certificate.

Rebased Aurora patch for bug 1324467 as the last one was backed out for test failures. The last patch was a faulty rebase.

Provided needinfo on bug 1322383 regarding checking for the current window.

Commented on bug https://bugzilla.mozilla.org/show_bug.cgi?id=1326192

Filed bug 1326227 as test_screenshot.py fails on Linux.

Rebased and addressed code review comments for bug 1213875 which adds scrolling override functionality for Marionette when taking screenshots.

Rebased and addressed code review comments for bug 1322772 which allows Marionette to navigate to ImageDocuments.

Reviewed bug 1326174 which returns unsupported operation errors in Marionette wherever applicable.

Commented on bug 1326126 regarding running tests on try with safe mode enabled.

Requested uplift of bug 1320389 which implements dispatching of actions in Marionette.

Additional review of bug 1326174.

Reviewed PR 465 to the WebDriver specification with a typo fix.

Did a lot of useful work on rewriting capabilities, ensuring the proxy configuration object and the session timeouts object are properly configured, and much more on bug 1282873.

2016-12-30

Continued work on bug 1282873. Also got a lot done today. I thought I would be able to finish it in this anno Domini, but I suspect I need to return to it first thing in 2017.

2016-12-31

Commented on bug 1326516 regarding claims that using Marionette inherently “introduces more noise and test instability”.

Filed bug 1326534 as a ‘super bug’ to replace bug 1282873 and bug 1323450 which will implement (mostly) WebDriver conforming capabilities parsing in Marionette. Submitted patches from bug 1282873 after some more work on tests.

Commented on bug webdriver-actions.