Closed Bug 1770733 Opened 2 years ago Closed 1 year ago

Share Element and ShadowRoot references (NodeCache) between Marionette and WebDriver BiDi

Categories

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

task
Points:
5

Tracking

(firefox112 fixed)

RESOLVED FIXED
112 Branch
Tracking Status
firefox112 --- fixed

People

(Reporter: whimboo, Assigned: whimboo)

References

(Blocks 4 open bugs, )

Details

(Whiteboard: [webdriver:m6][wptsync upstream][webdriver:relnote])

Attachments

(3 files)

Once bug 1692468 is fixed the element cache from Marionette has to be shared with WebDriver BiDi. That means that known nodes will have an identical sharedId and as such can be used by both protocols.

Before starting on this bug we have to wait until https://github.com/w3c/webdriver-bidi/pull/180 has been landed.

Also we should find an agreement if we want to share Element and ShadowRoot types only or all Node's, and just make the latter not accessible by Marionette.

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]
Points: 5 → ---
Depends on: 1692468
No longer depends on: 1770731
Summary: Add support for "node details" when serializing platform objects of type node (WebElement) → Share element cache between Marionette and WebDriver BiDi
Whiteboard: [webdriver:m5:blocked] → [webdriver:m5:blocked][webdriver:triage]
Priority: P1 → --
Whiteboard: [webdriver:m5:blocked][webdriver:triage] → [webdriver:triage]

We want to have a single cache for both Element and ShadowRoot. Lets wait for the PR to be merged before continuing here.

Points: --- → 5
Priority: -- → P2
Whiteboard: [webdriver:triage] → [webdriver:backlog]

Note that the caches for elements and ShadowRoot objects have been merged together to a node cache.

Summary: Share element cache between Marionette and WebDriver BiDi → Share node cache between Marionette and WebDriver BiDi

The WebDriver BiDi PR still hasn't been merged. Lets see what we can do to finalize it. Note that Maksim is most likely away now for a couple of weeks.

Summary: Share node cache between Marionette and WebDriver BiDi → Share Element and ShadowRoot references (NodeCache) between Marionette and WebDriver BiDi

Somehow we forgot to add this bug to milestone 6. It's blocking some of our planned work.

Priority: P2 → P1
Whiteboard: [webdriver:backlog] → [webdriver:m6]

FYI the referenced pull request got merged.

Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Depends on: 1819120
Attachment #9317096 - Attachment description: WIP: Bug 1770733 - [bidi] Serialize objects of type Node with sharedId field. → Bug 1770733 - [bidi] Serialize and deserialize objects of type Node with sharedId field.
Attachment #9317097 - Attachment description: WIP: Bug 1770733 - [wdspec] Fix order of arguments for Element constructor. → Bug 1770733 - [wdspec] Fix order of arguments for Element constructor.
Attachment #9317098 - Attachment description: WIP: Bug 1770733 - [wdspec] Add tests for serializing Nodes with sharedId. → Bug 1770733 - [wdspec] Add tests for serializing and deserializing objects of type Node with sharedId.
Depends on: 1818159
Attachment #9317097 - Attachment description: Bug 1770733 - [wdspec] Fix order of arguments for Element constructor. → Bug 1770733 - [webdriver-client] Fix order of arguments for Element constructor and add "no such node" error..
Duplicate of this bug: 1816662
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/54b4cdf88966
[bidi] Serialize and deserialize objects of type Node with sharedId field. r=webdriver-reviewers,Sasha,jdescottes
https://hg.mozilla.org/integration/autoland/rev/fd150a3ecbde
[webdriver-client] Fix order of arguments for Element constructor and add "no such node" error.. r=webdriver-reviewers,Sasha,jdescottes
https://hg.mozilla.org/integration/autoland/rev/a1534b2a931f
[wdspec] Add tests for serializing and deserializing objects of type Node with sharedId. r=webdriver-reviewers,Sasha,jdescottes
Failed to create upstream wpt PR due to merge conflicts. This requires fixup from a wpt sync admin.
Whiteboard: [webdriver:m6] → [webdriver:m6], [wptsync upstream error]
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 112 Branch
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/38910 for changes under testing/web-platform/tests
Whiteboard: [webdriver:m6], [wptsync upstream error] → [webdriver:m6], [wptsync upstream]
Upstream PR merged by jgraham
Whiteboard: [webdriver:m6], [wptsync upstream] → [webdriver:m6][wptsync upstream][webdriver:relnote]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: