Open Bug 1597466 Opened 2 months ago Updated 28 days ago

Fix uses of nsDocumentViewer::SetIsPrintingInDocShellTree 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

https://searchfox.org/mozilla-central/rev/2a10f4812f3f7c7645d253a4fe52f26bf58e20e8/layout/base/nsDocumentViewer.cpp#3881

Finds the same-type root (using explicit loop), to call SetIsPrinting() on it.

Recursively calls itself on all descendant DocShells in tree.

Generaly called during coarse-grained situations like starting, stopping, and checking print timings.

Sync IPC should be fine here.

Async is possible - the print logic is mostly asynchronous just a few call levels up.

  • Architecture of printing code (caller code and above) is already in terms of issuing some commands and then looping on a timer to check on them.
  • Should be possible to issue async “SetIsPrint” to chrome process and loop on timer waiting for result, like with everything else.

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.