Open Bug 1597511 Opened 5 years ago Updated 2 years ago

Audit nsIDocShellTreeItem usage in mozilla::AppWindow::Initialize in xpfe/appshell/AppWindow.cpp

Categories

(Core :: Window Management, defect, P3)

defect

Tracking

()

Fission Milestone Future

People

(Reporter: djvj, Unassigned)

References

(Blocks 1 open bug)

Details

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

In file xpfe/appshell/AppWindow.cpp

Just sets the TreeOwner for a DocShell.

Later: checks the itemType of a DocShell, which can be changed to check ItemType of associated BrowsingContext.

Marker bug - this should go away when the docshell tree goes away.

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

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

Moving to Window Management component.

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 → Window Management
Priority: P3 → --
Summary: Fix uses of mozilla::AppWindow::Initialize in xpfe/appshell/AppWindow.cpp → Audit nsIDocShellTreeItem usage in mozilla::AppWindow::Initialize in xpfe/appshell/AppWindow.cpp

Neil, someone with appshell experience will need to triage this bug and audit this code for Fission.

Flags: needinfo?(enndeakin)

AppWindow is only created in the parent process as far as I know. In fact, the code in AppWindow::Initialize assumes it is a chrome window.

Fission Milestone: M6 → Future
Flags: needinfo?(enndeakin)
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.