Open Bug 1597498 Opened 2 months ago Updated 2 months ago

Fix uses of nsWebBrowserFind::FindNext in toolkit/components/find/nsWebBrowserFind.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 toolkit/components/find/nsWebBrowserFind.cpp

Called from Window.find() script API (non-standard script API).

Uses DocShellEnumerator (link to bug).

Iterates over each document starting from root doc.

Reaches deep into document at each tree item, windows, principals, and inner elements.

No way to turn this into a synched-state operation.

The usage of each Item is mostly contained in SearchInFrame:

Fix for this likely involves adding serialization support to nsWebBrowserFind, changing the enumeration code to using a BrowsingContext enumerator instead of a DocShell enumerator, and issuing IPC at every step.

This most likely does not need to be fast.

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.