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

Unified Diff: third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp

Issue 2615203002: Remove multicol special-cases from invalidation and the pre-paint tree walk (Closed)
Patch Set: Cleanup comment Created 3 years, 11 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
« no previous file with comments | « third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
« no previous file with comments | « third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698