Index: Source/core/rendering/RenderLayerBacking.cpp |
diff --git a/Source/core/rendering/RenderLayerBacking.cpp b/Source/core/rendering/RenderLayerBacking.cpp |
index 12bf7e5536f670a28bf7f82c7ea08027a02ebf11..7423b135b4a0d022eb141a62b2df1e6a896f805d 100644 |
--- a/Source/core/rendering/RenderLayerBacking.cpp |
+++ b/Source/core/rendering/RenderLayerBacking.cpp |
@@ -192,12 +192,8 @@ void RenderLayerBacking::createPrimaryGraphicsLayer() |
m_graphicsLayer = createGraphicsLayer(layerName); |
- if (m_isMainFrameRenderViewLayer) { |
+ if (m_isMainFrameRenderViewLayer) |
m_graphicsLayer->setContentsOpaque(true); |
-#if !OS(ANDROID) |
- m_graphicsLayer->contentLayer()->setDrawCheckerboardForMissingTiles(true); |
-#endif |
- } |
updateOpacity(renderer()->style()); |
updateTransform(renderer()->style()); |
@@ -373,7 +369,7 @@ void RenderLayerBacking::updateAfterLayout(UpdateAfterLayoutFlags flags) |
} |
} |
- if (flags & NeedsFullRepaint && !paintsIntoCompositedAncestor()) |
+ if (flags & NeedsFullRepaint && !paintsIntoWindow() && !paintsIntoCompositedAncestor()) |
setContentsNeedDisplay(); |
} |
@@ -1322,7 +1318,7 @@ bool RenderLayerBacking::hasVisibleNonCompositingDescendantLayers() const |
bool RenderLayerBacking::containsPaintedContent() const |
{ |
- if (isSimpleContainerCompositingLayer() || paintsIntoCompositedAncestor() || m_artificiallyInflatedBounds || m_owningLayer->isReflection()) |
+ if (isSimpleContainerCompositingLayer() || paintsIntoWindow() || paintsIntoCompositedAncestor() || m_artificiallyInflatedBounds || m_owningLayer->isReflection()) |
return false; |
if (isDirectlyCompositedImage()) |
@@ -1505,6 +1501,15 @@ GraphicsLayer* RenderLayerBacking::childForSuperlayers() const |
return m_graphicsLayer.get(); |
} |
+bool RenderLayerBacking::paintsIntoWindow() const |
+{ |
+ if (m_owningLayer->isRootLayer()) { |
+ return compositor()->rootLayerAttachment() != RenderLayerCompositor::RootLayerAttachedViaEnclosingFrame; |
+ } |
+ |
+ return false; |
+} |
+ |
void RenderLayerBacking::setRequiresOwnBackingStore(bool requiresOwnBacking) |
{ |
if (requiresOwnBacking == m_requiresOwnBackingStore) |
@@ -1585,7 +1590,7 @@ void RenderLayerBacking::paintIntoLayer(const GraphicsLayer* graphicsLayer, Grap |
const IntRect& paintDirtyRect, // In the coords of rootLayer. |
PaintBehavior paintBehavior, GraphicsLayerPaintingPhase paintingPhase) |
{ |
- if (paintsIntoCompositedAncestor()) { |
+ if (paintsIntoWindow() || paintsIntoCompositedAncestor()) { |
ASSERT_NOT_REACHED(); |
return; |
} |