Closed Bug 1777951 Opened 2 years ago Closed 2 years ago

Enable partially implemented WebDriver BIDi features on Nightly channel only

Categories

(Remote Protocol :: WebDriver BiDi, task, P1)

task
Points:
2

Tracking

(firefox103 fixed, firefox104 fixed)

RESOLVED FIXED
104 Branch
Tracking Status
firefox103 --- fixed
firefox104 --- fixed

People

(Reporter: whimboo, Assigned: Sasha)

References

Details

(Whiteboard: [webdriver:m4])

Attachments

(2 files, 1 obsolete file)

As discussed in last week's WebDriver meeting we want to only allow clients to use ready to ship features of the WebDriver BiDi protocol. As such we will have to disallow their usage in beta and release builds of Firefox.

Therefore a preference like remote.bidi.allow-incomplete-api could be used which is true only on the nightly channel and false for releases. Whereby users are free to also switch the value on release builds as well but on their own risk.

There can be a blacklist of commands and events which would have to be checked against whenever a command needs to be run. If present in this list and the pref not set we should return a unknown command error. In case of events we most likely have to handle a separate list per module to only return available events that are ready to ship.

We should get this added to M4 and most likely have to uplift to 103 due to the already landed partial implementation for script.evaluate.

Blocks: webdriver:m4
Points: --- → 2
Priority: -- → P1
Whiteboard: [webdriver:m4]

I think we should consider a name that doesn't imply that we never enable "incomplete" APIs (e.g. we don't want to imply that we won't support script evalutation until we support browsing contexts, sandboxes, workers, etc.). So maybe remote.bidi.enable-experimental or something.

Agreed that the implementation can be based on a blocklist of commands that should not be enabled and events that should not be sent, unless the pref is set.

(In reply to James Graham [:jgraham] from comment #1)

I think we should consider a name that doesn't imply that we never enable "incomplete" APIs (e.g. we don't want to imply that we won't support script evalutation until we support browsing contexts, sandboxes, workers, etc.). So maybe remote.bidi.enable-experimental or something.

"experimental" sounds good and often comes up for similar flags.

Great, so after more thinking about it my proposal would then be a boolean preference with the name: remote.bidi.experimental.enabled. Later we could add more preferences if needed under the remote.bidi.experimental branch.

Assignee: nobody → aborovova
Status: NEW → ASSIGNED
Attachment #9284675 - Attachment description: WIP: Bug 1777951 - Enable partially implemented WebDriver BIDi features on Nightly channel only. → Bug 1777951 - Enable partially implemented WebDriver BIDi features on Nightly channel only.
Pushed by aborovova@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/cab01ee2a9ef
Enable partially implemented WebDriver BIDi features on Nightly channel only. r=webdriver-reviewers,whimboo,jdescottes
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 104 Branch

Comment on attachment 9284675 [details]
Bug 1777951 - Enable partially implemented WebDriver BIDi features on Nightly channel only.

Beta/Release Uplift Approval Request

  • User impact if declined: The clients could start using not fully implemented commands "script.evaluate" and "script.callFunction" and might face unexpected errors.
  • 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: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The patch in bug 1777951 only puts the existing commands "script.evaluate" and "script.callFunction" behind the remote.experimental.enabled preference and enables them only in Nightly.
  • String changes made/needed:
  • Is Android affected?: Yes
Attachment #9284675 - Flags: approval-mozilla-beta?

:Sasha there are several conflicts between this patch and beta. Could you attach a patch that will graft cleanly to beta?

Flags: needinfo?(aborovova)
Comment on attachment 9285307 [details]
Bug 1777951 - Enable partially implemented WebDriver BIDi features on Nightly channel only.

>https://hg.mozilla.org/try/rev/9cc807346699d45e35cf80e96c36625714d8e783
Attachment #9285307 - Attachment is obsolete: true

The patch rebased on top of beta

Flags: needinfo?(aborovova)

Comment on attachment 9284675 [details]
Bug 1777951 - Enable partially implemented WebDriver BIDi features on Nightly channel only.

Approved for 103.0b9, thanks for attaching a patch that grafts cleanly

Attachment #9284675 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: