Open Bug 1597472 Opened 1 year ago Updated 2 months ago

Audit nsIDocShellTreeItem usage in nsDocumentViewer::SetDocumentInternal in layout/base/nsDocumentViewer.cpp

Categories

(Core :: Layout, defect, P5)

defect

Tracking

()

Fission Milestone Future

People

(Reporter: djvj, Unassigned)

References

(Blocks 1 open bug)

Details

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

In file layout/base/nsDocumentViewer.cpp

Just removes all children from the parent in the DocShell tree.

Cannot remove as long as DocShell tree is still in codebase. This logic be removed once all uses of the docshell tree are eliminated.

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

Fission Milestone: --- → M6
Priority: -- → P3

Moving to Layout triage.

Please audit this use of the nsIDocShellTreeItem interface. With Fission enabled, Documents and nsDocShells for related frames, such as subframes and parent documents, may not be available within the current process and the corresponding nsIDocShellTreeItem methods will return null

If this code works as-is with Fission, we don't need to remove this usage of nsIDocShellTreeItem until when we remove nsIDocShellTreeItem entirely (bug 1607591) after we ship Fission MVP.

Fission documentation about replacing nsIDocShellTree Item:
https://wiki.mozilla.org/Project_Fission/DocShell_Tree_Replace

:farre's presentation with examples of replacing nsIDocShellTreeItem with BrowsingContext, WindowContext, SyncedContexts, and BrowsingContextGroup:
https://docs.google.com/presentation/d/1K4j6ngty64TZjJNS5qH-MBoOm3TI2dJedVsbH8jUhKE/edit#slide=id.g6e35225e5d_1_264

Component: DOM: Navigation → Layout
Priority: P3 → --
Whiteboard: [rm-docshell-tree-item:validate] → [rm-docshell-tree-item:validate][layout:triage-discuss]
Summary: Fix uses of nsDocumentViewer::SetDocumentInternal in layout/base/nsDocumentViewer.cpp → Audit nsIDocShellTreeItem usage in nsDocumentViewer::SetDocumentInternal in layout/base/nsDocumentViewer.cpp

The priority flag is not set for this bug.
:jwatt, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jwatt)

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

Fission Milestone: M6 → M6c

This is an internal implementation detail of how nsIDocShellTreeItem manages its children list, and so doesn't need to be changed as part of fission.

Fission Milestone: M6c → Future
Flags: needinfo?(jwatt)
Priority: -- → P5
Whiteboard: [rm-docshell-tree-item:validate][layout:triage-discuss] → [rm-docshell-tree-item:validate]
You need to log in before you can comment on or make changes to this bug.