| Index: Source/core/rendering/compositing/RenderLayerCompositor.cpp
|
| diff --git a/Source/core/rendering/compositing/RenderLayerCompositor.cpp b/Source/core/rendering/compositing/RenderLayerCompositor.cpp
|
| index 2f51e2187c133b40a6f2b37a06e06a82269c48e9..a2579ecff8a0dfdf0aaebc010e585b958f6dcf3e 100644
|
| --- a/Source/core/rendering/compositing/RenderLayerCompositor.cpp
|
| +++ b/Source/core/rendering/compositing/RenderLayerCompositor.cpp
|
| @@ -35,6 +35,7 @@
|
| #include "core/html/HTMLIFrameElement.h"
|
| #include "core/inspector/InspectorInstrumentation.h"
|
| #include "core/inspector/InspectorNodeIds.h"
|
| +#include "core/loader/FrameLoaderClient.h"
|
| #include "core/page/Chrome.h"
|
| #include "core/page/ChromeClient.h"
|
| #include "core/page/Page.h"
|
| @@ -224,7 +225,7 @@ void RenderLayerCompositor::setNeedsCompositingUpdate(CompositingUpdateType upda
|
| {
|
| ASSERT(updateType != CompositingUpdateNone);
|
| m_pendingUpdateType = std::max(m_pendingUpdateType, updateType);
|
| - page()->animator().scheduleVisualUpdate();
|
| + page()->animator().scheduleVisualUpdate(m_renderView.frame());
|
| lifecycle().ensureStateAtMost(DocumentLifecycle::LayoutClean);
|
| }
|
|
|
| @@ -1077,25 +1078,25 @@ void RenderLayerCompositor::attachRootLayer(RootLayerAttachment attachment)
|
| return;
|
|
|
| switch (attachment) {
|
| - case RootLayerUnattached:
|
| - ASSERT_NOT_REACHED();
|
| - break;
|
| - case RootLayerAttachedViaChromeClient: {
|
| - LocalFrame& frame = m_renderView.frameView()->frame();
|
| - Page* page = frame.page();
|
| - if (!page)
|
| - return;
|
| - page->chrome().client().attachRootGraphicsLayer(rootGraphicsLayer());
|
| - break;
|
| - }
|
| - case RootLayerAttachedViaEnclosingFrame: {
|
| - HTMLFrameOwnerElement* ownerElement = m_renderView.document().ownerElement();
|
| - ASSERT(ownerElement);
|
| - // The layer will get hooked up via CompositedLayerMapping::updateGraphicsLayerConfiguration()
|
| - // for the frame's renderer in the parent document.
|
| - ownerElement->setNeedsCompositingUpdate();
|
| - break;
|
| - }
|
| + case RootLayerUnattached:
|
| + ASSERT_NOT_REACHED();
|
| + break;
|
| + case RootLayerAttachedViaChromeClient: {
|
| + LocalFrame& frame = m_renderView.frameView()->frame();
|
| + Page* page = frame.page();
|
| + if (!page)
|
| + return;
|
| + page->chrome().client().attachRootGraphicsLayer(rootGraphicsLayer(), &frame);
|
| + break;
|
| + }
|
| + case RootLayerAttachedViaEnclosingFrame: {
|
| + HTMLFrameOwnerElement* ownerElement = m_renderView.document().ownerElement();
|
| + ASSERT(ownerElement);
|
| + // The layer will get hooked up via CompositedLayerMapping::updateGraphicsLayerConfiguration()
|
| + // for the frame's renderer in the parent document.
|
| + ownerElement->setNeedsCompositingUpdate();
|
| + break;
|
| + }
|
| }
|
|
|
| m_rootLayerAttachment = attachment;
|
| @@ -1124,9 +1125,9 @@ void RenderLayerCompositor::detachRootLayer()
|
| Page* page = frame.page();
|
| if (!page)
|
| return;
|
| - page->chrome().client().attachRootGraphicsLayer(0);
|
| + page->chrome().client().attachRootGraphicsLayer(0, &frame);
|
| + break;
|
| }
|
| - break;
|
| case RootLayerUnattached:
|
| break;
|
| }
|
|
|