Commit 5c649087 authored by chrishtr@chromium.org's avatar chrishtr@chromium.org

Only have drawsContent() be true for graphics layers if not paintsIntoCompositedAncestor.

BUG=409593

Review URL: https://codereview.chromium.org/568903002

git-svn-id: svn://svn.chromium.org/blink/trunk@181943 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 7a61ba57
...@@ -1136,7 +1136,7 @@ void CompositedLayerMapping::updateScrollingBlockSelection() ...@@ -1136,7 +1136,7 @@ void CompositedLayerMapping::updateScrollingBlockSelection()
const IntRect blockSelectionGapsBounds = m_owningLayer.blockSelectionGapsBounds(); const IntRect blockSelectionGapsBounds = m_owningLayer.blockSelectionGapsBounds();
const bool shouldDrawContent = !blockSelectionGapsBounds.isEmpty(); const bool shouldDrawContent = !blockSelectionGapsBounds.isEmpty();
m_scrollingBlockSelectionLayer->setDrawsContent(shouldDrawContent); m_scrollingBlockSelectionLayer->setDrawsContent(!paintsIntoCompositedAncestor() && shouldDrawContent);
if (!shouldDrawContent) if (!shouldDrawContent)
return; return;
...@@ -1158,7 +1158,7 @@ void CompositedLayerMapping::updateDrawsContent() ...@@ -1158,7 +1158,7 @@ void CompositedLayerMapping::updateDrawsContent()
// m_scrollingLayer never has backing store. // m_scrollingLayer never has backing store.
// m_scrollingContentsLayer only needs backing store if the scrolled contents need to paint. // m_scrollingContentsLayer only needs backing store if the scrolled contents need to paint.
m_scrollingContentsAreEmpty = !m_owningLayer.hasVisibleContent() || !(renderer()->hasBackground() || paintsChildren()); m_scrollingContentsAreEmpty = !m_owningLayer.hasVisibleContent() || !(renderer()->hasBackground() || paintsChildren());
m_scrollingContentsLayer->setDrawsContent(!m_scrollingContentsAreEmpty); m_scrollingContentsLayer->setDrawsContent(!paintsIntoCompositedAncestor() && !m_scrollingContentsAreEmpty);
updateScrollingBlockSelection(); updateScrollingBlockSelection();
} }
...@@ -1181,6 +1181,12 @@ void CompositedLayerMapping::updateDrawsContent() ...@@ -1181,6 +1181,12 @@ void CompositedLayerMapping::updateDrawsContent()
if (m_backgroundLayer) if (m_backgroundLayer)
m_backgroundLayer->setDrawsContent(hasPaintedContent); m_backgroundLayer->setDrawsContent(hasPaintedContent);
if (m_maskLayer)
m_maskLayer->setDrawsContent(!paintsIntoCompositedAncestor());
if (m_childClippingMaskLayer)
m_childClippingMaskLayer->setDrawsContent(!paintsIntoCompositedAncestor());
} }
void CompositedLayerMapping::updateChildrenTransform() void CompositedLayerMapping::updateChildrenTransform()
...@@ -1457,7 +1463,6 @@ bool CompositedLayerMapping::updateForegroundLayer(bool needsForegroundLayer) ...@@ -1457,7 +1463,6 @@ bool CompositedLayerMapping::updateForegroundLayer(bool needsForegroundLayer)
if (needsForegroundLayer) { if (needsForegroundLayer) {
if (!m_foregroundLayer) { if (!m_foregroundLayer) {
m_foregroundLayer = createGraphicsLayer(CompositingReasonLayerForForeground); m_foregroundLayer = createGraphicsLayer(CompositingReasonLayerForForeground);
m_foregroundLayer->setDrawsContent(true);
m_foregroundLayer->setPaintingPhase(GraphicsLayerPaintForeground); m_foregroundLayer->setPaintingPhase(GraphicsLayerPaintForeground);
layerChanged = true; layerChanged = true;
} }
...@@ -1476,7 +1481,6 @@ bool CompositedLayerMapping::updateBackgroundLayer(bool needsBackgroundLayer) ...@@ -1476,7 +1481,6 @@ bool CompositedLayerMapping::updateBackgroundLayer(bool needsBackgroundLayer)
if (needsBackgroundLayer) { if (needsBackgroundLayer) {
if (!m_backgroundLayer) { if (!m_backgroundLayer) {
m_backgroundLayer = createGraphicsLayer(CompositingReasonLayerForBackground); m_backgroundLayer = createGraphicsLayer(CompositingReasonLayerForBackground);
m_backgroundLayer->setDrawsContent(true);
m_backgroundLayer->setTransformOrigin(FloatPoint3D()); m_backgroundLayer->setTransformOrigin(FloatPoint3D());
m_backgroundLayer->setPaintingPhase(GraphicsLayerPaintBackground); m_backgroundLayer->setPaintingPhase(GraphicsLayerPaintBackground);
#if !OS(ANDROID) #if !OS(ANDROID)
...@@ -1508,7 +1512,6 @@ bool CompositedLayerMapping::updateMaskLayer(bool needsMaskLayer) ...@@ -1508,7 +1512,6 @@ bool CompositedLayerMapping::updateMaskLayer(bool needsMaskLayer)
if (needsMaskLayer) { if (needsMaskLayer) {
if (!m_maskLayer) { if (!m_maskLayer) {
m_maskLayer = createGraphicsLayer(CompositingReasonLayerForMask); m_maskLayer = createGraphicsLayer(CompositingReasonLayerForMask);
m_maskLayer->setDrawsContent(true);
m_maskLayer->setPaintingPhase(GraphicsLayerPaintMask); m_maskLayer->setPaintingPhase(GraphicsLayerPaintMask);
layerChanged = true; layerChanged = true;
} }
...@@ -1526,7 +1529,6 @@ bool CompositedLayerMapping::updateClippingMaskLayers(bool needsChildClippingMas ...@@ -1526,7 +1529,6 @@ bool CompositedLayerMapping::updateClippingMaskLayers(bool needsChildClippingMas
if (needsChildClippingMaskLayer) { if (needsChildClippingMaskLayer) {
if (!m_childClippingMaskLayer) { if (!m_childClippingMaskLayer) {
m_childClippingMaskLayer = createGraphicsLayer(CompositingReasonLayerForClippingMask); m_childClippingMaskLayer = createGraphicsLayer(CompositingReasonLayerForClippingMask);
m_childClippingMaskLayer->setDrawsContent(true);
m_childClippingMaskLayer->setPaintingPhase(GraphicsLayerPaintChildClippingMask); m_childClippingMaskLayer->setPaintingPhase(GraphicsLayerPaintChildClippingMask);
layerChanged = true; layerChanged = true;
} }
...@@ -1551,7 +1553,6 @@ bool CompositedLayerMapping::updateScrollingLayers(bool needsScrollingLayers) ...@@ -1551,7 +1553,6 @@ bool CompositedLayerMapping::updateScrollingLayers(bool needsScrollingLayers)
// Inner layer which renders the content that scrolls. // Inner layer which renders the content that scrolls.
m_scrollingContentsLayer = createGraphicsLayer(CompositingReasonLayerForScrollingContents); m_scrollingContentsLayer = createGraphicsLayer(CompositingReasonLayerForScrollingContents);
m_scrollingContentsLayer->setDrawsContent(true);
m_scrollingLayer->addChild(m_scrollingContentsLayer.get()); m_scrollingLayer->addChild(m_scrollingContentsLayer.get());
m_scrollingBlockSelectionLayer = createGraphicsLayer(CompositingReasonLayerForScrollingBlockSelection); m_scrollingBlockSelectionLayer = createGraphicsLayer(CompositingReasonLayerForScrollingBlockSelection);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment