| Index: Source/core/rendering/compositing/CompositingReasonFinder.cpp
|
| diff --git a/Source/core/rendering/compositing/CompositingReasonFinder.cpp b/Source/core/rendering/compositing/CompositingReasonFinder.cpp
|
| index b0ecb32a2b5f900abed73e086c34a4d824dd8994..66447ea40cc0e322a6dd6b4de8fbd9416fce5cab 100644
|
| --- a/Source/core/rendering/compositing/CompositingReasonFinder.cpp
|
| +++ b/Source/core/rendering/compositing/CompositingReasonFinder.cpp
|
| @@ -205,7 +205,7 @@ bool CompositingReasonFinder::requiresCompositingForScrollBlocksOn(const RenderO
|
| // Optimizing this fully would avoid layer explosion in pathological cases like '*' rules.
|
| // We could consider tracking the current state in CompositingRequirementsUpdater::update.
|
|
|
| - // Ensure iframes don't get composited when they require no more blocking than the root.
|
| + // Ensure iframes don't get composited when they require no more blocking than their parent.
|
| if (renderer->isRenderView()) {
|
| if (const FrameView* parentFrame = toRenderView(renderer)->frameView()->parentFrameView()) {
|
| if (const RenderView* parentRenderer = parentFrame->renderView()) {
|
| @@ -213,6 +213,11 @@ bool CompositingReasonFinder::requiresCompositingForScrollBlocksOn(const RenderO
|
| if (!(style->scrollBlocksOn() & ~parentRenderer->style()->scrollBlocksOn()))
|
| return false;
|
| }
|
| + } else {
|
| + // The root frame will either always already be composited, or compositing will be disabled.
|
| + // Either way, we don't need to require compositing for scroll blocks on. This avoids
|
| + // enabling compositing by default, and avoids cluttering the root layers compositing reasons.
|
| + return false;
|
| }
|
| }
|
|
|
|
|