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

Unified Diff: third_party/WebKit/Source/core/layout/LayoutObject.h

Issue 1768493002: Fix SubtreeLayoutScope not to schedule relayout (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2661
Patch Set: Created 4 years, 10 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: third_party/WebKit/Source/core/layout/LayoutObject.h
diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.h b/third_party/WebKit/Source/core/layout/LayoutObject.h
index 548954a6b1ca13c4c5fe62f70042c972386f0340..4076df3de6063993573cbab0dd9752abb94e674f 100644
--- a/third_party/WebKit/Source/core/layout/LayoutObject.h
+++ b/third_party/WebKit/Source/core/layout/LayoutObject.h
@@ -798,7 +798,8 @@ public:
Element* offsetParent() const;
- void markContainerChainForLayout(bool scheduleRelayout = true, SubtreeLayoutScope* = nullptr);
+ void markContainerChainForLayout(bool scheduleRelayout = true);
+ void markContainerChainForLayout(SubtreeLayoutScope*);
void setNeedsLayout(LayoutInvalidationReasonForTracing, MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = nullptr);
void setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReasonForTracing, MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = nullptr);
void clearNeedsLayout();
@@ -1560,6 +1561,8 @@ private:
void setNeedsOverflowRecalcAfterStyleChange();
+ void markContainerChainForLayout(bool scheduleRelayout, SubtreeLayoutScope*);
+
// FIXME: This should be 'markContaingBoxChainForOverflowRecalc when we make LayoutBox
// recomputeOverflow-capable. crbug.com/437012 and crbug.com/434700.
inline void markContainingBlocksForOverflowRecalc();
@@ -1967,7 +1970,7 @@ inline void LayoutObject::setNeedsLayout(LayoutInvalidationReasonForTracing reas
"data",
InspectorLayoutInvalidationTrackingEvent::data(this, reason));
if (markParents == MarkContainerChain && (!layouter || layouter->root() != this))
- markContainerChainForLayout(true, layouter);
+ markContainerChainForLayout(layouter);
}
}
@@ -2004,7 +2007,7 @@ inline void LayoutObject::setChildNeedsLayout(MarkingBehavior markParents, Subtr
setNormalChildNeedsLayout(true);
// FIXME: Replace MarkOnlyThis with the SubtreeLayoutScope code path and remove the MarkingBehavior argument entirely.
if (!alreadyNeededLayout && markParents == MarkContainerChain && (!layouter || layouter->root() != this))
- markContainerChainForLayout(true, layouter);
+ markContainerChainForLayout(layouter);
}
inline void LayoutObject::setNeedsPositionedMovementLayout()

Powered by Google App Engine
This is Rietveld 408576698