WebDriver/RemoteProtocol/Meetings/2019/07/23
Contents
Agenda
- Brief update from security review meeting (ato)
- Puppeteer client workarounds and changes (ato)
- Gutenberg update (jdescottes)
- Current work/coming up next
- Other announcements?
Roster
- Present
- mmucci, jdescottes, ochameau, ato
- Regrets
- AutomatedTester
Minutes
Puppeteer client workarounds and changes
The extent of the changes we’ve made to the Puppeteer client so far are limited to the necessary workarounds for getting the tests barely running with Firefox. The changes are almost exclusively limited to the lib/Launcher.js file, which deals with finding the browser binary, profile/user-data-dir
tweaks, and starting it as a subprocess.
Beyond this we’re expecting the Firefox CDP implementation not to diverge on the interface level from Chrome. For certain domains—such as console- and network logging—we may see the server return messages with varying content, but the interaction from the client’s point of view should remain 1:1 comparable with Chrome.
Maintaining a single client, with abstractions for Chrome’s and Firefox’ launcher code, would likely be beneficial. We may however have to maintain a fork of Puppeteer until we have something more tangible to upstream, since we don’t want to block upstream Puppeteer from releasing newer versions. We should however work in such a way that we maintain Chrome support in the fork, rather than replacing it.
Brief update from security review meeting
The security testing meeting went fine, and we answered some questions. Not heard back after this, but we expect sec-review to not be a problem.
Gutenberg progress
See spreadsheet for currently failing Gutenberg tests.
Many Gutenberg tests failing because of unexpected console logs. Unlike WebDriver, Puppeteer/CDP does not have classes or variant types of errors, which means tests typically rely on parsing the error message string.
Since we can’t change the messages for these errors without risking web compat problems for the web platform, we must find a way to work around this in order to pass more Gutenberg tests. One particular worry is that Gutenberg is not an isolated case, and that other test suites in the wild do the same thing.
Ideally, it was argued in the meeting, the different non-platform errors, for example from the CSS parser, would be uniquely identifiable and defined in a web standard. This would enable users of Puppeteer to work with console errors in a more reliable way across browsers. It is worth airing this idea with other vendors at a future point, but does not offer any practical, immediate solution.
Other alternatives are to hide messages on the server side, or the push the responsibility on to the test writer. The conclusion from the meeting was to do the latter, which likely means in this case that we will have to upstream some patches to the WordPress project to include a couple of Firefox-specifc error ignores in order for us to pass more tests.
Current work/coming up next
- ato still working on fixing up Puppeteer-tests-on-try patches to address code review issues raised by build peers
- ochameau has ceased work on the remote agent until new developers from Interop are joining, in order to maximise value of knowledge transfer
- jdescottes has one patch that still needs review, dealing with JavaScript dialogues, but expects to transition now to work on Fission in DevTools
Changelog
a5bfdec7f135 Bug 1563690 - Make Target class save a list of Connection rather than Session. r=remote-protocol-reviewers,jdescottes 41ea918cba7b Bug 1563689 - Release DOM event listeners set on top level windows. r=remote-protocol-reviewers,jdescottes a2d64139bc3a Bug 1563689 - Ensure removing listeners set by TabObserver. r=remote-protocol-reviewers,jdescottes 9ad3e9566815 Bug 1563689 - Revamp how targets are watched and reported. r=remote-protocol-reviewers,ato,jdescottes 750855e5306c Bug 1562740 - Add test for race condition when using dispatchKeyEvent r=remote-protocol-reviewers,ato,ochameau c197ac200e28 Bug 1562740 - Simplify dispatchKeyEvent test and stop waiting for content events in the test r=remote-protocol-reviewers,ochameau 2a4c52051dda Bug 1562740 - Input:dispatchKeyEvent should wait for events in content process r=remote-protocol-reviewers,ochameau ebfd74ef21a2 Bug 1562740 - Allow Domains managed by a TabSession to call executeInChild r=remote-protocol-reviewers,ochameau 99157498883c Bug 1566182: Annotate mochitests that fail with Fission enabled. r=mccr8 a81691851fed Bug 1544458 - Document the remote agent architecture. r=remote-protocol-reviewers,ato,jdescottes b0534d7027da Bug 1563692 - Move all CDP's JSON packet handling to Connection. r=remote-protocol-reviewers,jdescottes,ato d8de74d62d0b Bug 1563687 - Rename Targets.disconnect to destructor to better match project's conventions. r=remote-protocol-reviewers,jdescottes,ato 252c9480be43 Bug 1564360 - Ignore iframes for Page.frameNavigated r=remote-protocol-reviewers,ochameau 5cf550848175 Bug 1563685 - Rename WebSocketDebuggerTransport class to match its JSM file name. r=remote-protocol-reviewers,jdescottes,ato 588b98519ea0 Bug 1563685 - Rename WebSocket.jsm and drop unused accept method. r=remote-protocol-reviewers,jdescottes,ato aee8bb4227e5 Backed out 2 changesets (bug 1563685) for causing bc perma failures in browser/base/content/test/static/browser_all_files_referenced.js CLOSED TREE 8e6217eb2e00 Bug 1563685 - Rename WebSocketDebuggerTransport class to match its JSM file name. r=remote-protocol-reviewers,jdescottes,ato 2a0ba0745a2e Bug 1563685 - Rename WebSocket.jsm and drop unused accept method. r=remote-protocol-reviewers,jdescottes,ato 2aac30d92a71 Bug 1563687 - Renamed ContentProcessSession.destroy to destructor in order to match this project's conventions. r=remote-protocol-reviewers,jdescottes 33c2ce668cf2 Bug 1563621 - Fix browser_main_target.js product assertion when running in headless mode: take new Prettier style into account. a=eslint-fix CLOSED TREE 4b0070ca6864 Bug 1563621 - Fix browser_main_target.js product assertion when running in headless mode r=remote-protocol-reviewers,ato ac188018507a Bug 1561435 - Format remote/, a=automatic-formatting f75cc6ff012d Bug 1560301 - Implement very minimal support of browser context. r=remote-protocol-reviewers,ato
Work
- Current milestone
- MVP dependency tree
- General overview
- Puppeteer dependency tree
- All ze boogs
- Velocity tracking
- Project tracking dashboard
- All project work currently in development
- Available MVP project work
- Completed MVP project work
PTO (☀️)
- ochameau away Friday 26 July