Enable WebDriver BiDi on release channels
Categories
(Remote Protocol :: WebDriver BiDi, enhancement, P2)
Tracking
(relnote-firefox 101+, firefox101 fixed, firefox102 fixed)
People
(Reporter: whimboo, Assigned: jdescottes)
References
(Blocks 1 open bug, )
Details
(Whiteboard: [bidi-m3-mvp])
Attachments
(3 files, 1 obsolete file)
48 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
|
Details | Review |
Right now the WebDriver BiDi protocol as handled by the Remote Agent is only enabled for Nightly and pref'ed off on release channels:
Over the last half year we've made good progress on the project and implemented the framework and on-top the first commands and events. Any code addition and change is covered by the wdspec tests.
Given that we would like to enable the WebDriver BiDi protocol on release channels. At the same time this is also required in our current Milestone 3 to get Selenium support added (bug 1753991). Their requirement is to have the protocol officially enabled in such builds.
Freddy, is there a need for an additional security review here? The WebDriver BiDi protocol uses like CDP the Remote Agent's code base including the handling of WebSockets for clients to connect, and all is enabled on release for quite some time. The only difference here is the protocol implementation, means handling of command and events.
Reporter | ||
Updated•3 years ago
|
Comment 1•3 years ago
|
||
Redirecting to Dan, who's taking care of security reviews. Happy to join the session though.
Reporter | ||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Reporter | ||
Updated•3 years ago
|
Reporter | ||
Comment 2•3 years ago
|
||
Dan, if you could find the time to send us the final email covering all the aspects of the security review meeting that would be kinda appreciated! Thanks a lot.
Reporter | ||
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Reporter | ||
Comment 3•3 years ago
|
||
Beside getting bug 1719505 fixed, there is only a single item left to do before we can enable the WebDriver Bidi protocol on release channels. And this is related to our documentation, which should clearly express that the used WebSocket connections aren't using TLS and as such the payload of packages can be observed. We will do this update together with necessary patches to enable BiDi on beta and release.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 4•3 years ago
|
||
Assignee | ||
Comment 5•3 years ago
|
||
Depends on D144846
Assignee | ||
Comment 6•3 years ago
|
||
Depends on D144847
Assignee | ||
Comment 7•3 years ago
|
||
Depends on D144850
Assignee | ||
Comment 8•3 years ago
|
||
I put all the patches to enable WebDriver BiDi on release in changes planned given we're still waiting for Bug 1719505 before we can land that.
But for now the changes include:
- flip the preference + update a related mention in the docs
- enable all wdspec tests on release & beta
- update infoText for the remote-allow-* command line arguments
- update the documentation at https://firefox-source-docs.mozilla.org/remote/Security.html
If there's something else to take into account here, let me know.
Updated•3 years ago
|
Assignee | ||
Comment 9•3 years ago
|
||
Although it should be safe to land, the last dependency landed really close to merge day.
I prefer to wait after merge day to land and ask for an uplift afterwards.
Assignee | ||
Comment 10•3 years ago
|
||
Started two beta-simulations:
Comment 11•3 years ago
|
||
Comment 12•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/92db533a91b5
https://hg.mozilla.org/mozilla-central/rev/c16a2b89b66a
https://hg.mozilla.org/mozilla-central/rev/b822baacbb16
Reporter | ||
Comment 13•3 years ago
|
||
As discussed we should wait with any uplift request until the regression bug 1767387 has been fixed.
Assignee | ||
Comment 14•3 years ago
|
||
Comment on attachment 9274080 [details]
Bug 1753997 - [remote] Enable WebDriver BiDi on all channels
Beta/Release Uplift Approval Request
- User impact if declined: Selenium would like to start using WebDriver BiDi for Firefox to give access to console logs. Since they rely on the release channel, we want to enable WebDriver BiDi on the release channel to avoid blocking them here. Otherwise they would have to fallback to our partial CDP implementation which we want to phase out.
We should also uplift the followup Bug 1767387, which contains improvements to the initialization of WebDriver BiDi.
Bug 1753997 should be uplifted first and Bug 1767387 second to avoid conflicts.
The patches seem to rebase fine on the current beta (pushed to try at https://treeherder.mozilla.org/jobs?repo=try&revision=b58d5720792e6c6e8db94917f3fde19e1aa53948 for reference)
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: Bug 1767387
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): The patches in bug 1753997 are mostly configuration change. We are updating the preference
remote.active-protocols
to have the same value on all channels (now set to 3 everywhere). This effectively means that the WebDriver BiDi protocol will be started when --remote-debugging-port is passed to Firefox. We are also updating the manifests for all the related tests to make sure they also run on beta and release, as well as the documentation.
Bug 1767387 improves the stability of the startup of Remote Agent by making sure to use events available on all platforms. While this is more impactful than the patches on Bug 1753997, we are mostly moving the startup of the remote protocol during the initialization of the browser.
All the relevant code is heavily tested via xpcshell tests, browser mochitests and wdspec tests.
Most importantly, those patches only impact users passing --remote-debugging-port
to start Firefox and should have no effect for regular users.
- String changes made/needed:
- Is Android affected?: Yes
Assignee | ||
Updated•3 years ago
|
Comment 15•3 years ago
|
||
Comment on attachment 9274080 [details]
Bug 1753997 - [remote] Enable WebDriver BiDi on all channels
Approved for 101.0b3.
Updated•3 years ago
|
Updated•3 years ago
|
Comment 16•3 years ago
|
||
bugherder uplift |
https://hg.mozilla.org/releases/mozilla-beta/rev/6d5c82f2064f
https://hg.mozilla.org/releases/mozilla-beta/rev/231751a9ce08
https://hg.mozilla.org/releases/mozilla-beta/rev/6c6ea44fcc96
Comment 17•3 years ago
|
||
WebDriver BiDi was enabled on all channels in Firefox 101 (see also spec for more details about the protocol [1]). Thanks to this, third party tools such as Selenium will now be able to use WebDriver BiDi to control / interact with Firefox.
Description
•