Index: third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp b/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
index fdea498252671b72546b129a55cfe06b66c71a88..9eb113c271eb2b5925b3f1b47ab2827c34e0d924 100644 |
--- a/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
+++ b/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
@@ -102,25 +102,6 @@ bool PrePaintTreeWalk::walk(const LayoutObject& object, |
const PrePaintTreeWalkContext& parentContext) { |
PrePaintTreeWalkContext context(parentContext); |
- // TODO(pdr): Ensure multi column works with incremental property tree |
- // construction. |
- if (object.isLayoutMultiColumnSpannerPlaceholder()) { |
- // Walk multi-column spanner as if it replaces the placeholder. |
- // Set the flag so that the tree builder can specially handle out-of-flow |
- // positioned descendants if their containers are between the multi-column |
- // container and the spanner. See PaintPropertyTreeBuilder for details. |
- context.treeBuilderContext.isUnderMultiColumnSpanner = true; |
- const auto& placeholder = toLayoutMultiColumnSpannerPlaceholder(object); |
- bool descendantsFullyUpdated = |
- walk(*placeholder.layoutObjectInFlowThread(), context); |
- if (descendantsFullyUpdated) { |
- // If descendants were not fully updated, do not clear flags. During the |
- // next PrePaintTreeWalk, these flags will be used again. |
- object.getMutableForPainting().clearPaintFlags(); |
- } |
- return descendantsFullyUpdated; |
- } |
- |
// This must happen before updateContextForBoxPosition, because the |
// latter reads some of the state computed uere. |
updateAuxiliaryObjectProperties(object, context); |
@@ -154,9 +135,10 @@ bool PrePaintTreeWalk::walk(const LayoutObject& object, |
bool descendantsFullyUpdated = true; |
for (const LayoutObject* child = object.slowFirstChild(); child; |
child = child->nextSibling()) { |
- // Column spanners are walked through their placeholders. See above. |
- if (child->isColumnSpanAll()) |
+ if (child->isLayoutMultiColumnSpannerPlaceholder()) { |
+ child->getMutableForPainting().clearPaintFlags(); |
continue; |
+ } |
bool childFullyUpdated = walk(*child, context); |
if (!childFullyUpdated) |
descendantsFullyUpdated = false; |