Closed Bug 1597482 Opened 1 year ago Closed 9 months ago

Fix uses of GetProfileTimelineSubDocShells in layout/base/nsRefreshDriver.cpp

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla75
Fission Milestone M6
Tracking Status
firefox75 --- fixed

People

(Reporter: djvj, Assigned: smacleod)

References

(Blocks 1 open bug)

Details

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

Attachments

(1 file)

In file layout/base/nsRefreshDriver.cpp

Uses DocShellEnumerator

Called only by RefreshDriver::Tick - performance sensitive

  • No IPC!

Related to profiling code - returns all descendant docshells that are visible and recording profile markers.

Calls “AddMarkerForDocShell” on all enumerated docshells, adding “Paint” marker.

Possible fix:

  • Change to use BrowsingContext tree
  • For in-process nodes, call “AddMarkerForDocShell” as now.
  • For out-of-process child nodes, accumulate them in a vector.
  • Issue single IPC call to chrome to dispatch marker additions to children.
  • This is a complicated fix that GFX and Devtools team will have to figure out.

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

Fission Milestone: --- → M6
Priority: -- → P3
Assignee: nobody → smacleod
Status: NEW → ASSIGNED

GetProfileTimelineSubDocShells was using nsiDocShellTreeItem to walk the
DocShells that are visible and recording profile markers. This change switches
to using BrowsingContext for the walk, and ignores OOP iframes as they aren't
painting in the current process.

Attachment #9128628 - Attachment description: Bug 1597482 - Replace nsiDocShellTreeItem with BrowsingContext in GetProfileTimelineSubDocShells. r=smaug → Bug 1597482 - Replace nsIDocShellTreeItem with BrowsingContext in GetProfileTimelineSubDocShells. r=smaug
Pushed by smacleod@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/cee80d6cbacb
Replace nsIDocShellTreeItem with BrowsingContext in GetProfileTimelineSubDocShells. r=mstange
Status: ASSIGNED → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75
You need to log in before you can comment on or make changes to this bug.