[meta] Audit uses of GetPrivate(Parent|Root)
Categories
(Core :: DOM: Core & HTML, task, P3)
Tracking
()
Fission Milestone | M7a |
People
(Reporter: kmag, Assigned: hsivonen)
References
(Blocks 1 open bug)
Details
(Keywords: meta)
+++ This bug was initially created as a clone of Bug #1642433 +++
Similar to uses of nsIDocShellTreeItem, many/most of the callers of these methods will probably do the wrong thing under Fission with remote frames.
Reporter | ||
Updated•5 years ago
|
Comment 1•4 years ago
|
||
Don't know how this missed our triage till now :(
Comment 3•4 years ago
|
||
Andreas, can you please pick this up after session storage work?
Comment 4•4 years ago
|
||
Henri said he can help out with this one so assigning to him.
Assignee | ||
Comment 5•4 years ago
|
||
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/dom/base/nsWindowRoot.cpp#276
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/dom/base/nsWindowRoot.cpp#345
Copypaste dispatch works on the high level, which suggest these only uses of GetPrivateParent
are OK.
Assignee | ||
Comment 6•4 years ago
|
||
GetPrivateRoot
:
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/dom/base/nsGlobalWindowOuter.cpp#2111
This attaches scrolling and copypaste key listeners. These functions seems to work, so assuming this is OK.
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/dom/base/nsGlobalWindowOuter.cpp#4044
This is a layout flush for bug 25117 purposes. This being process-scoped seems reasonable enough.
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/dom/base/nsGlobalWindowOuter.cpp#5662
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/layout/base/PresShell.cpp#6558
These open up a new thing to audit: GetTopWindowRoot
and nsPresShell::GetRootWindow
.
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/dom/base/nsGlobalWindowOuter.cpp#6536
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/dom/events/KeyEventHandler.cpp#297
Copypaste generally works, which suggests these are OK.
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/dom/base/nsGlobalWindowOuter.cpp#6763
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/dom/base/nsGlobalWindowOuter.cpp#3004
Focus ring painting generally works, which suggests these are OK.
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/docshell/base/nsDocShellTreeOwner.cpp#76
This seems central enough that if this was broken, thing should be very visibly bad, but needinfoing smaug to confirm that this is OK.
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/dom/base/nsFocusManager.cpp#444
This seems to raise the puppet widget as appropriate, and the result is generally OK to the extent the concept of raising the puppet widget makes sense.
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/layout/printing/nsPrintJob.cpp#2416
If printing works, this has to be OK.
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/layout/xul/nsXULPopupManager.cpp#448
I believe this is now parent-only code and doesn't involve Fission issues.
Assignee | ||
Comment 7•4 years ago
|
||
GetTopWindowRoot
:
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/docshell/base/nsDocShell.cpp#12550
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/base/nsGlobalWindowOuter.cpp#6527
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/commandhandler/nsCommandManager.cpp#234
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/events/KeyEventHandler.cpp#270
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/editor/libeditor/EditorEventListener.cpp#68
Copypaste generally works, which suggests these are OK.
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/base/Document.cpp#13461
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/layout/base/nsDocumentViewer.cpp#2698
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/layout/xul/nsMenuPopupFrame.cpp#992
XUL pop-ups only, which are now parent-only.
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/base/nsContentUtils.cpp#8191
Usage looks either parent-only or Fission-specific (so presumably Fission-compatible).
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/base/nsGlobalWindowInner.cpp#3806
Used for deciding to show focus ring, which seems to work.
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/ipc/BrowserParent.cpp#562
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/ipc/BrowserParent.cpp#577
Fission-specific and, therefore, presumably Fission-compatible.
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/webauthn/WebAuthnManagerBase.cpp#88
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/webauthn/WebAuthnManagerBase.cpp#112
WebAuthN seems to work with Fission, so probably OK, but I haven't really examined if WebAuthN works from OOP iframes.
Assignee | ||
Comment 8•4 years ago
|
||
PresShell::GetRootWindow
:
This seems to be used for event targeting, so I think the task of auditing this one is a duplicate of bug 1541589, which is FIXED.
Assignee | ||
Comment 9•4 years ago
|
||
(In reply to Henri Sivonen (:hsivonen) from comment #6)
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/layout/printing/nsPrintJob.cpp#2416
If printing works, this has to be OK.
Possibly related bug already on file: bug 1700379.
Assignee | ||
Comment 10•4 years ago
|
||
(In reply to Henri Sivonen (:hsivonen) from comment #7)
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/webauthn/WebAuthnManagerBase.cpp#88
https://searchfox.org/mozilla-central/rev/185ab5e4f4e01341e009cd4633d1275ffe4d4c8b/dom/webauthn/WebAuthnManagerBase.cpp#112
WebAuthN seems to work with Fission, so probably OK, but I haven't really examined if WebAuthN works from OOP iframes.
Bug 1402114 indicates that WebAuthN isn't supposed to work in iframe without opt-in. The opt-in is bug 1460986, which isn't fixed for non-Fission, either.
Assignee | ||
Comment 11•4 years ago
|
||
(In reply to Henri Sivonen (:hsivonen) from comment #6)
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/docshell/base/nsDocShellTreeOwner.cpp#76
This seems central enough that if this was broken, thing should be very visibly bad, but needinfoing smaug to confirm that this is OK.
This is for handling drag&drop and for handling tooltips. I'll check those.
Assignee | ||
Comment 12•4 years ago
|
||
(In reply to Henri Sivonen (:hsivonen) from comment #11)
(In reply to Henri Sivonen (:hsivonen) from comment #6)
https://searchfox.org/mozilla-central/rev/083983b7f09b00cdfe4f70396e39ea4f8a1735e1/docshell/base/nsDocShellTreeOwner.cpp#76
This seems central enough that if this was broken, thing should be very visibly bad, but needinfoing smaug to confirm that this is OK.This is for handling drag&drop and for handling tooltips. I'll check those.
Tooltips works. Dragging works. Dropping works.
Apart possibly from the more precise bugs already on file, this stuff looks OK, so marking WFM.
Description
•