Closed Bug 1607562 Opened 11 months ago Closed 8 months ago

Implement DOM.resolveNode

Categories

(Remote Protocol :: DOM, task, P1)

Tracking

(firefox76 fixed)

RESOLVED FIXED
Firefox 76
Tracking Status
firefox76 --- fixed

People

(Reporter: whimboo, Assigned: whimboo)

References

(Depends on 1 open bug, Blocks 3 open bugs, )

Details

(Whiteboard: [puppeteer-beta-mvp])

Attachments

(2 files, 1 obsolete file)

Before we get this API implemented bug 1607560 is required because Puppeteer depends on it's returned backendNodeId.

Priority: P2 → P3

Yes, and as noted on bug 1607560, the implementation of resolveNode also depends on writing an element store.

Whiteboard: [puppeteer-beta-reserve] → [puppeteer-beta-reserve][puppeteer-high-priority]

This needs to be kept as P2 given that it has a very high usage, which is identical to DOM.describeNode (bug 1607560). I will swap out bug 1612538 into reserve.

Priority: P3 → P2
Whiteboard: [puppeteer-beta-reserve][puppeteer-high-priority] → [puppeteer-beta-mvp][puppeteer-high-priority]

I cannot get the Puppeteer unit tests to correctly work with my additions for DOM.describeNode. So I will include this API and will push everything at once at the end.

Assignee: nobody → hskupin
Status: NEW → ASSIGNED
Priority: P2 → P1
Depends on: 1623297

As discussed with Joel yesterday via Matrix, the object as returned is always a copy of the original object as referenced by the same nodeId/backgroundNodeId. As such we the method has to look for an existing DOM node in any of the known execution contexts, and create a new object inside the specified execution context.

That means DOM nodes are uniquely tracked across contexts, but objects will always be duplicated.

Blocks: 1625417
Attachment #9137090 - Attachment is obsolete: true
Attachment #9136455 - Attachment description: Bug 1607562 - [remote] Implement DOM.resolveNode. → Bug 1607562 - [remote] Basic implementation for DOM.resolveNode.
Pushed by hskupin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b87ac5f5e1d6
[remote] Basic implementation for DOM.resolveNode. r=remote-protocol-reviewers,maja_zf
https://hg.mozilla.org/integration/autoland/rev/051cb91bd7aa
[remote] Update puppeteer unit tests and expectation data. r=remote-protocol-reviewers,maja_zf
Status: ASSIGNED → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 76
Whiteboard: [puppeteer-beta-mvp][puppeteer-high-priority] → [puppeteer-beta-mvp]
You need to log in before you can comment on or make changes to this bug.