Open Bug 1597469 Opened 2 months ago Updated 2 months ago

Fix uses of nsDocumentViewer::PermitUnloadInternal in layout/base/nsDocumentViewer.cpp

Categories

(Core :: DOM: Navigation, defect, P3)

defect

Tracking

()

Fission Milestone M6

People

(Reporter: djvj, Unassigned)

References

(Blocks 1 open bug)

Details

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

In file layout/base/nsDocumentViewer.cpp

Called from nsIContentViewer::permitUnload XPCOM API

Used for firing beforeUnload handlers for unloading docs.

Iterates over all children of existing DocShell, finding child ContentViewers for each child doc.

Calls PermitUnloadInternal on them.

PermitUnload is a pretty involved method that can run script, dispatch events, etc. on the child document.

beforeUnload handling is special and does not care too much about performance.

IPC should be fine here when children cross process boundaries.

Sync IPC is easiest to do because this is conceptually a synchronous action (traverse entire tree and fire any necessary beforeUnload events).

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

Fission Milestone: --- → M6
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.