Open Bug 1594421 Opened 2 months ago Updated 2 months ago

Fix usage of nsIDocShellTreeItem in nsDocShellEnumerator

Categories

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

defect

Tracking

()

Fission Milestone M6

People

(Reporter: djvj, Unassigned)

References

(Blocks 1 open bug)

Details

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

The short-term change to this is just to move tree traversal entirely over to using BrowsingContext, and have the iterator skip over any out-of-process nodes when iterating children.

Long-term, this whole iterator is probably worthwhile to replace with some iterator over BrowsingContext that doesn't skip over any children at all, and leaves it up to the user to determine what to do when process boundaries are crossed.

As it stands, this iterator is very limited in functionality: it will act as if the tree terminates at process boundaries, and force the caller to use a side-path to check that property. At that point, it's better design just to have the caller use an enumerator protocol that walks the entire tree (in-process or not) via BrowsingContext, and handle the process-boundary switches in-line with the iteration.

Tentatively moving all bugs whose summaries mention "Fission" (or other Fission-related keywords) but are not assigned to a Fission Milestone to the "?" triage milestone.

This will generate a lot of bugmail, so you can filter your bugmail for the following UUID and delete them en masse:

0ee3c76a-bc79-4eb2-8d12-05dc0b68e732

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