Index: third_party/WebKit/Source/core/paint/PaintLayer.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
index 69b4f09c12fbe2783e0f2dacbb400bba0cb26054..f60dc43c72226d520595bbbe3533dd8dc2f76350 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
@@ -139,7 +139,6 @@ PaintLayer::PaintLayer(LayoutBoxModelObject* layoutObject) |
, m_hasVisibleContent(false) |
, m_visibleDescendantStatusDirty(false) |
, m_hasVisibleDescendant(false) |
- , m_hasVisibleNonLayerContent(false) |
#if ENABLE(ASSERT) |
, m_needsPositionUpdate(true) |
#endif |
@@ -150,7 +149,7 @@ PaintLayer::PaintLayer(LayoutBoxModelObject* layoutObject) |
, m_needsDescendantDependentCompositingInputsUpdate(true) |
, m_childNeedsCompositingInputsUpdate(true) |
, m_hasCompositingDescendant(false) |
- , m_hasNonCompositedChild(false) |
+ , m_isAllScrollingContentComposited(false) |
, m_shouldIsolateCompositedDescendants(false) |
, m_lostGroupedMapping(false) |
, m_needsRepaint(false) |
@@ -634,18 +633,22 @@ void PaintLayer::dirtyAncestorChainVisibleDescendantStatus() |
void PaintLayer::updateScrollingStateAfterCompositingChange() |
{ |
TRACE_EVENT0("blink", "PaintLayer::updateScrollingStateAfterCompositingChange"); |
- m_hasVisibleNonLayerContent = false; |
+ m_isAllScrollingContentComposited = true; |
for (LayoutObject* r = layoutObject()->slowFirstChild(); r; r = r->nextSibling()) { |
if (!r->hasLayer()) { |
- m_hasVisibleNonLayerContent = true; |
- break; |
+ m_isAllScrollingContentComposited = false; |
+ return; |
} |
} |
- m_hasNonCompositedChild = false; |
for (PaintLayer* child = firstChild(); child; child = child->nextSibling()) { |
if (child->compositingState() == NotComposited) { |
- m_hasNonCompositedChild = true; |
+ m_isAllScrollingContentComposited = false; |
+ return; |
+ } else if (!child->stackingNode()->isStackingContext()) { |
+ // If the child is composited, but not a stacking context, it may paint |
+ // negative z-index descendants into an ancestor's GraphicsLayer. |
chrishtr
2016/06/28 22:33:06
Couldn't this happen for positive z-index also? Wh
skobes
2016/06/28 22:55:52
The child's normal flow and positive z-index conte
|
+ m_isAllScrollingContentComposited = false; |
return; |
} |
} |