Bug 1413546 - Fix e10s logic in nsLayoutUtils::AreRetainedDisplayListsEnabled() and set layout.display-list.retain.chrome to true r=mattwoodrow
authorMiko Mynttinen <mikokm@gmail.com>
Tue, 04 Sep 2018 14:53:18 +0000
changeset 434580 716d49302a28f9231c628a1dca5a744437403948
parent 434579 873f58fff17d0551455eeb36614b91d197c47dbc
child 434581 fa675bfd7efe5d0182e286b3f45cb2558348b206
push id34572
push userbtara@mozilla.com
push dateTue, 04 Sep 2018 22:54:11 +0000
treeherdermozilla-central@c3734e0f634e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmattwoodrow
bugs1413546
milestone63.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1413546 - Fix e10s logic in nsLayoutUtils::AreRetainedDisplayListsEnabled() and set layout.display-list.retain.chrome to true r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D2953
layout/base/nsLayoutUtils.cpp
modules/libpref/init/all.js
--- a/layout/base/nsLayoutUtils.cpp
+++ b/layout/base/nsLayoutUtils.cpp
@@ -464,19 +464,24 @@ nsLayoutUtils::IsAnimationLoggingEnabled
   return sShouldLog;
 }
 
 bool
 nsLayoutUtils::AreRetainedDisplayListsEnabled()
 {
   if (XRE_IsContentProcess()) {
     return gfxPrefs::LayoutRetainDisplayList();
-  } else {
+  }
+
+  if (XRE_IsE10sParentProcess()) {
     return gfxPrefs::LayoutRetainDisplayListChrome();
   }
+
+  // Retained display lists require e10s.
+  return false;
 }
 
 bool
 nsLayoutUtils::GPUImageScalingEnabled()
 {
   static bool sGPUImageScalingEnabled;
   static bool sGPUImageScalingPrefInitialised = false;
 
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -3110,20 +3110,20 @@ pref("layout.frame_rate", -1);
 // pref to dump the display list to the log. Useful for debugging drawing.
 pref("layout.display-list.dump", false);
 pref("layout.display-list.dump-content", false);
 pref("layout.display-list.dump-parent", false);
 
 // Toggle retaining display lists between paints
 #if !defined(ANDROID)
 pref("layout.display-list.retain", true);
+pref("layout.display-list.retain.chrome", true);
 #else
 pref("layout.display-list.retain", false);
 #endif
-pref("layout.display-list.retain.chrome", false);
 
 // Set the maximum amount of modified frames allowed before doing a full
 // display list rebuild.
 pref("layout.display-list.rebuild-frame-limit", 500);
 
 // pref to control whether layout warnings that are hit quite often are enabled
 pref("layout.spammy_warnings.enabled", false);