Open Bug 1587402 Opened 5 years ago Updated 2 years ago

Audit usage of nsIDocShellTreeItem in nsContentUtils::FlushLayoutForTree

Categories

(Core :: DOM: Navigation, task, P2)

task

Tracking

()

Fission Milestone Future

People

(Reporter: djvj, Unassigned)

References

(Blocks 1 open bug)

Details

(Whiteboard: [rm-docshell-tree-item:hard])

https://searchfox.org/mozilla-central/rev/7cc0f0e89cb40e43bf5c96906f13d44705401042/dom/base/nsContentUtils.cpp#6056

This code recursively traverses all children of the current doc-shell tree item, and calls FlushPendingNotifications on it. This does not seem like something that can be synchronized in cross-process state.

Fixing this requires IPC, but probably best implemented by the caller - finding all process-local root documents under the given document (using BrowsingContext) and calling the existing (in-process-only) method.

Whiteboard: [rm-docshell-tree-item:hard]
Fission Milestone: --- → M5
Priority: -- → P2
Fission Milestone: M5 → Future

Kannan says replacing nsIDocShellTreeItem calls should block enabling Fission in Nightly (M6).

Fission Milestone: Future → M6
Summary: Fix usage of nsIDocShellTreeItem in nsContentUtils::FlushLayoutForTree → Audit usage of nsIDocShellTreeItem in nsContentUtils::FlushLayoutForTree

Auditing whether this use of nsIDocShellTreeItem breaks when Fission is enabled blocks Fission Nightly.

Fission Milestone: M6 → M6b
Type: defect → task
Fission Milestone: M6b → Future
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.