Closed Bug 1770731 Opened 2 years ago Closed 1 year ago

Add support for serialization of platform objects of type Node

Categories

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

task
Points:
5

Tracking

(firefox109 fixed)

RESOLVED FIXED
109 Branch
Tracking Status
firefox109 --- fixed

People

(Reporter: whimboo, Assigned: whimboo)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [webdriver:m5], [wptsync upstream], [webdriver:relnote] )

Attachments

(2 files)

Once bug 1692468 is fixed web elements from WebDriver classic could be also shared by WebDriver BiDi. To get this implemented we have to follow the BiDi specification around serialization of platform objects of type node:

https://w3c.github.io/webdriver-bidi/#ref-for-boundary-point-node

The following restrictions will apply to this bug so that we can better split the work into several bugs:

  1. Start with the object itself and do not care about child nodes (maxDepth argument)
  2. Do not add support for node details (will be done by bug 1770733)
  3. Support the sharedId property
Blocks: 1770733
Blocks: 1770420
Priority: P1 → P2
Whiteboard: [webdriver:m4] → [webdriver:backlog:blocked]
No longer blocks: 1770420
Blocks: 1790361
Priority: P2 → P1
Whiteboard: [webdriver:backlog:blocked] → [webdriver:m5:blocked]
No longer blocks: 1770733

I've started the work on this bug today and got existing serialization tests to pass. As noticed there is no notion of a node details flag anymore in the BiDi spec. As such there is no such basic support anymore, and I'm going ahead and will implement the complete serialization.

Note that sharing elements and shadow roots between Marionette and WebDriver BiDi will be done via bug 1770733. For now clients can request ownership and get a handle included to reference back the remote value.

Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Summary: Add basic support for serialization of platform objects of type node (WebElement) → Add support for serialization of platform objects of type Node (WebElement)
Whiteboard: [webdriver:m5:blocked] → [webdriver:m5]

(In reply to Henrik Skupin (:whimboo) [⌚️UTC+2] from comment #1)

Note that sharing elements and shadow roots between Marionette and WebDriver BiDi will be done via bug 1770733. For now clients can request ownership and get a handle included to reference back the remote value.

Because of that this bug is no longer blocked on bug 1692468.

No longer depends on: 1692468

Right now we actually do not differentiate between platform objects of type Node and Element specifically.

Summary: Add support for serialization of platform objects of type Node (WebElement) → Add support for serialization of platform objects of type Node

I filed bug 1802137 which moves out the serialization of Shadow DOM related scenarios.

Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4d7899fd983b
[remote] Add support for serialization of platform objects of type Node. r=webdriver-reviewers,jdescottes,jgraham
https://hg.mozilla.org/integration/autoland/rev/17958bffdfcf
[wdspec] Improve tests for serialization of platform objects of type Node. r=webdriver-reviewers,jdescottes,jgraham
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/37397 for changes under testing/web-platform/tests
Whiteboard: [webdriver:m5] → [webdriver:m5], [wptsync upstream]
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch
Upstream PR merged by jgraham
Whiteboard: [webdriver:m5], [wptsync upstream] → [webdriver:m5], [wptsync upstream], [webdriver:relnote]
You need to log in before you can comment on or make changes to this bug.