Fix uses of mozilla::PresShell::GetPrimaryContentDocument in layout/base/PresShell.cpp
Categories
(Core :: DOM: Navigation, defect, P3)
Tracking
()
Fission Milestone | M6 |
People
(Reporter: djvj, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [rm-docshell-tree-item:hard])
In file layout/base/PresShell.cpp
Gets the DocShell for the context, gets the TreeOwner, and returns the Document from the PrimaryContent DocShell associated with that.
Used for retargeting events (needs IPC as above).
Used by PresShell::Paint to get URI from Document (and then URL).
The use by PresShell::Paint is simply to pass around the URL to the layer managers, which sometimes bundle it up in various places for reporting purposes as the transaction URL (e.g. in the profiler).
- Talked to :mstange, and he said that it's OK to pass some relevant URL.
- For example, passing the URL associated with the most ancestral in-process document, not exactly the root, should be ok.
The reporting is all crash reporting and info reporting, not performance sensitive at all.
IIRC, the whole point of electrolysis was that paint was on independent content processes.
Proposed fix:
- Change retargeting uses to invoke IPC, use BrowsingContext to discover out-of-process tree-owner.
- Change paint use by passing around a different URL - talk to graphics folks (mstange) to decide on specific URI to pass around.
Comment 1•5 years ago
|
||
Kannan says replacing nsIDocShellTreeItem calls should block enabling Fission in Nightly (M6).
Updated•5 years ago
|
Comment 2•5 years ago
|
||
The uses of this method appear to be either
a) android-only (https://searchfox.org/mozilla-central/rev/96f1457323cc598a36f5701f8e67aedaf97acfcf/layout/base/PresShell.cpp#7061-7069, https://searchfox.org/mozilla-central/rev/96f1457323cc598a36f5701f8e67aedaf97acfcf/gfx/layers/apz/util/APZCCallbackHelper.cpp#637-650), or
b) only used for the profiler (https://searchfox.org/mozilla-central/rev/96f1457323cc598a36f5701f8e67aedaf97acfcf/layout/base/PresShell.cpp#5890-5897)
I think we can get away with not fixing this method as part of the initial nsIDocShellTreeItem push.
Updated•5 years ago
|
Description
•