WebDriver/RemoteProtocol/Meetings/2019/07/23: Difference between revisions

m
Whimboo moved page Remote/Meetings/2019/07/23 to WebDriver/RemoteProtocol/Meetings/2019/07/23: Reorganization for WebDriver BiDi project documenation
m (Whimboo moved page Remote/Meetings/2019/07/23 to WebDriver/RemoteProtocol/Meetings/2019/07/23: Reorganization for WebDriver BiDi project documenation)
 
(6 intermediate revisions by 2 users not shown)
Line 3: Line 3:
* Brief update from security review meeting (ato)
* Brief update from security review meeting (ato)
* Puppeteer client workarounds and changes (ato)
* Puppeteer client workarounds and changes (ato)
** Should we track what changes we need?
* Gutenberg update (jdescottes)
** How do we see the scope of these changes in the long-term?
* Current work/coming up next
* Current work/coming up next
** Spreadsheet for currently failing Gutenberg tests is https://docs.google.com/spreadsheets/d/1rCKRDW4WNZXs2f9-Bm9CMuV9EAUXoHGHbD3GHYY6zdo/edit#gid=15969737 (julian)
** Many gutenberg tests failing because of unexpected logs, opinions on the strategy to adopt: hide messages on our side or push the responsibility to the test writer? (julian)
* Other announcements?
* Other announcements?


Line 13: Line 10:


; Present
; Present
: mmucci, jdescottes, ochameau, ato
; Regrets
; Regrets
: AutomatedTester


== Minutes ==
== 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/<code>user-data-dir</code> 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 [https://docs.google.com/spreadsheets/d/1rCKRDW4WNZXs2f9-Bm9CMuV9EAUXoHGHbD3GHYY6zdo/edit#gid=15969737 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 ==
== Changelog ==


<pre>
<pre>
TBA
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
</pre>
</pre>


Line 37: Line 88:


== PTO (☀️) ==
== PTO (☀️) ==
* ochameau away Friday 26 July
canmove, Confirmed users, Bureaucrats and Sysops emeriti
4,747

edits