retained display lists don't check process types consistently

RESOLVED FIXED in Firefox 58

Status

()

enhancement
RESOLVED FIXED
2 years ago
9 months ago

People

(Reporter: bkelly, Assigned: miko)

Tracking

unspecified
mozilla58
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox58 fixed)

Details

Attachments

(1 attachment)

It seems currently some retained display list work is skipped here based on process type:

https://searchfox.org/mozilla-central/source/layout/generic/nsFrame.cpp#974

This is to avoid running the display list logic in the parent process in e10s mode.  It also, though, disables the logic for all frames in non-e10s mode.

Meanwhile other retained display list logic runs regardless of process type in other places:

https://searchfox.org/mozilla-central/source/layout/base/nsLayoutUtils.cpp#3659

The feature should probably be uniformly disabled in the same processes throughout.

Also, it would be very nice if we could use this feature in fennec which runs in non-e10s mode.  To do that and still avoid the parent process in e10s mode you can do something like this:

  if (BrowserTabsRemoteAutostart() && !XRE_IsContentProcess()) {
    return
  }

Basically, only check the process type if e10s is enabled.
Thank you for the report. I think we can avoid doing some unnecessary display port related bookkeeping with this.
Assignee: nobody → mikokm
Status: NEW → ASSIGNED
See Also: → android-rdl
Comment on attachment 8924366 [details]
Bug 1413526 - Only create retained display list builder for content processes

https://reviewboard.mozilla.org/r/195620/#review200770
Attachment #8924366 - Flags: review?(matt.woodrow) → review+
Pushed by mikokm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/c40a09c9790e
Only create retained display list builder for content processes r=mattwoodrow
https://hg.mozilla.org/mozilla-central/rev/c40a09c9790e
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
See Also: android-rdl
You need to log in before you can comment on or make changes to this bug.