| 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 69bd9737d3e2b5fd2c46642cac48506225f2dc2f..12791e85a2df6af7757d660ce585d7ed064d0d26 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutObject.h
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutObject.h
|
| @@ -88,6 +88,7 @@ enum HitTestFilter {
|
| enum MarkingBehavior {
|
| MarkOnlyThis,
|
| MarkContainerChain,
|
| + MarkContainerChainInLayout,
|
| };
|
|
|
| enum MapCoordinatesMode {
|
| @@ -810,8 +811,7 @@ public:
|
|
|
| Element* offsetParent() const;
|
|
|
| - void markContainerChainForLayout(bool scheduleRelayout = true);
|
| - void markContainerChainForLayout(SubtreeLayoutScope*);
|
| + void markContainerChainForLayout(bool scheduleRelayout = true, SubtreeLayoutScope* = nullptr);
|
| void setNeedsLayout(LayoutInvalidationReasonForTracing, MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = nullptr);
|
| void setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReasonForTracing, MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = nullptr);
|
| void clearNeedsLayout();
|
| @@ -1607,8 +1607,6 @@ 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 markAncestorsForOverflowRecalcIfNeeded();
|
| @@ -2017,8 +2015,8 @@ inline void LayoutObject::setNeedsLayout(LayoutInvalidationReasonForTracing reas
|
| TRACE_EVENT_SCOPE_THREAD,
|
| "data",
|
| InspectorLayoutInvalidationTrackingEvent::data(this, reason));
|
| - if (markParents == MarkContainerChain && (!layouter || layouter->root() != this))
|
| - markContainerChainForLayout(layouter);
|
| + if (markParents != MarkOnlyThis && (!layouter || layouter->root() != this))
|
| + markContainerChainForLayout(!layouter && markParents == MarkContainerChain, layouter);
|
| }
|
| }
|
|
|
| @@ -2054,8 +2052,8 @@ inline void LayoutObject::setChildNeedsLayout(MarkingBehavior markParents, Subtr
|
| bool alreadyNeededLayout = normalChildNeedsLayout();
|
| 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(layouter);
|
| + if (!alreadyNeededLayout && markParents != MarkOnlyThis && (!layouter || layouter->root() != this))
|
| + markContainerChainForLayout(!layouter && markParents == MarkContainerChain, layouter);
|
| }
|
|
|
| inline void LayoutObject::setNeedsPositionedMovementLayout()
|
|
|