Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1483)

Unified Diff: Source/core/paint/DeprecatedPaintLayer.cpp

Issue 1188363002: Compute the normal flow list on the fly (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix reverse iterator (OOPS). Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/paint/DeprecatedPaintLayer.cpp
diff --git a/Source/core/paint/DeprecatedPaintLayer.cpp b/Source/core/paint/DeprecatedPaintLayer.cpp
index b76ef401ce7d5e81619862e1ec501a8019b035d5..beca696c76f5b90321c8731d05c1434d46e5dc37 100644
--- a/Source/core/paint/DeprecatedPaintLayer.cpp
+++ b/Source/core/paint/DeprecatedPaintLayer.cpp
@@ -1140,8 +1140,10 @@ void DeprecatedPaintLayer::addChild(DeprecatedPaintLayer* child, DeprecatedPaint
setNeedsCompositingInputsUpdate();
- if (!child->stackingNode()->isTreatedAsStackingContextForPainting())
- m_stackingNode->dirtyNormalFlowList();
+ if (!child->stackingNode()->isTreatedAsStackingContextForPainting()) {
dsinclair 2015/06/24 15:22:41 Any reason to not have this as a single if stateme
Julien - ping for review 2015/06/24 16:51:57 None really.
+ if (!layoutObject()->documentBeingDestroyed())
+ compositor()->setNeedsCompositingUpdate(CompositingUpdateRebuildTree);
+ }
if (child->stackingNode()->isTreatedAsStackingContextForPainting() || child->firstChild()) {
// Dirty the z-order list in which we are contained. The ancestorStackingContextNode() can be null in the
@@ -1168,8 +1170,11 @@ DeprecatedPaintLayer* DeprecatedPaintLayer::removeChild(DeprecatedPaintLayer* ol
if (m_last == oldChild)
m_last = oldChild->previousSibling();
- if (!oldChild->stackingNode()->isTreatedAsStackingContextForPainting())
- m_stackingNode->dirtyNormalFlowList();
+ if (!oldChild->stackingNode()->isTreatedAsStackingContextForPainting()) {
+ if (!layoutObject()->documentBeingDestroyed())
+ compositor()->setNeedsCompositingUpdate(CompositingUpdateRebuildTree);
+ }
+
if (oldChild->stackingNode()->isTreatedAsStackingContextForPainting() || oldChild->firstChild()) {
// Dirty the z-order list in which we are contained. When called via the
// reattachment process in removeOnlyThisLayer, the layer may already be disconnected
@@ -2419,7 +2424,7 @@ bool DeprecatedPaintLayer::backgroundIsKnownToBeOpaqueInRect(const LayoutRect& l
// FIXME: Remove this check.
// This function should not be called when layer-lists are dirty.
// It is somehow getting triggered during style update.
- if (m_stackingNode->zOrderListsDirty() || m_stackingNode->normalFlowListDirty())
+ if (m_stackingNode->zOrderListsDirty())
return false;
// FIXME: We currently only check the immediate layoutObject,

Powered by Google App Engine
This is Rietveld 408576698