Bug 1413526 - Only create retained display list builder for content processes
MozReview-Commit-ID: 3ipMgKgnhjH
--- a/layout/base/nsLayoutUtils.cpp
+++ b/layout/base/nsLayoutUtils.cpp
@@ -3651,17 +3651,21 @@ nsLayoutUtils::PaintFrame(gfxContext* aR
Maybe<nsDisplayListBuilder> nonRetainedBuilder;
Maybe<nsDisplayList> nonRetainedList;
nsDisplayListBuilder* builderPtr = nullptr;
nsDisplayList* listPtr = nullptr;
RetainedDisplayListBuilder* retainedBuilder = nullptr;
const bool buildCaret = !(aFlags & PaintFrameFlags::PAINT_HIDE_CARET);
- const bool retainDisplayList = gfxPrefs::LayoutRetainDisplayList();
+
+ // Enable display list retaining if the pref is set and if we are in a
+ // content process.
+ const bool retainDisplayList =
+ gfxPrefs::LayoutRetainDisplayList() && XRE_IsContentProcess();
if (retainDisplayList &&
aBuilderMode == nsDisplayListBuilderMode::PAINTING &&
(aFlags & PaintFrameFlags::PAINT_WIDGET_LAYERS)) {
retainedBuilder = aFrame->GetProperty(RetainedDisplayListBuilder::Cached());
if (!retainedBuilder) {
retainedBuilder =