Index: Source/core/layout/LayoutObject.h |
diff --git a/Source/core/layout/LayoutObject.h b/Source/core/layout/LayoutObject.h |
index 89bc6dcc4e991f9e3f987381e63c16546707dc03..54e1cba8f41a2123c4c506d03d938979ee77a2e2 100644 |
--- a/Source/core/layout/LayoutObject.h |
+++ b/Source/core/layout/LayoutObject.h |
@@ -441,7 +441,7 @@ public: |
{ |
m_bitfields.setAncestorLineBoxDirty(value); |
if (value) |
- setNeedsLayoutAndFullPaintInvalidation(); |
+ setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReason::LineBoxesChanged); |
} |
enum FlowThreadState { |
@@ -660,8 +660,8 @@ public: |
Element* offsetParent() const; |
void markContainerChainForLayout(bool scheduleRelayout = true, LayoutObject* newRoot = 0, SubtreeLayoutScope* = 0); |
- void setNeedsLayout(MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = 0); |
- void setNeedsLayoutAndFullPaintInvalidation(MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = 0); |
+ void setNeedsLayout(LayoutInvalidationReasonForTracing, MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = 0); |
+ void setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReasonForTracing, MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = 0); |
void clearNeedsLayout(); |
void setChildNeedsLayout(MarkingBehavior = MarkContainerChain, SubtreeLayoutScope* = 0); |
void setNeedsPositionedMovementLayout(); |
@@ -669,14 +669,14 @@ public: |
void clearPreferredLogicalWidthsDirty(); |
void invalidateContainerPreferredLogicalWidths(); |
- void setNeedsLayoutAndPrefWidthsRecalc() |
+ void setNeedsLayoutAndPrefWidthsRecalc(LayoutInvalidationReasonForTracing reason) |
{ |
- setNeedsLayout(); |
+ setNeedsLayout(reason); |
setPreferredLogicalWidthsDirty(); |
} |
- void setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation() |
+ void setNeedsLayoutAndPrefWidthsRecalcAndFullPaintInvalidation(LayoutInvalidationReasonForTracing reason) |
{ |
- setNeedsLayoutAndFullPaintInvalidation(); |
+ setNeedsLayoutAndFullPaintInvalidation(reason); |
setPreferredLogicalWidthsDirty(); |
} |
@@ -1496,13 +1496,13 @@ inline bool LayoutObject::isBeforeOrAfterContent() const |
// setNeedsLayout() won't cause full paint invalidations as |
// setNeedsLayoutAndFullPaintInvalidation() does. Otherwise the two methods are identical. |
-inline void LayoutObject::setNeedsLayout(MarkingBehavior markParents, SubtreeLayoutScope* layouter) |
+inline void LayoutObject::setNeedsLayout(LayoutInvalidationReasonForTracing reason, MarkingBehavior markParents, SubtreeLayoutScope* layouter) |
{ |
TRACE_EVENT_INSTANT1( |
TRACE_DISABLED_BY_DEFAULT("devtools.timeline.invalidationTracking"), |
"LayoutInvalidationTracking", |
"data", |
- InspectorLayoutInvalidationTrackingEvent::data(this)); |
+ InspectorLayoutInvalidationTrackingEvent::data(this, reason)); |
ASSERT(!isSetNeedsLayoutForbidden()); |
bool alreadyNeededLayout = m_bitfields.selfNeedsLayout(); |
setSelfNeedsLayout(true); |
@@ -1512,9 +1512,9 @@ inline void LayoutObject::setNeedsLayout(MarkingBehavior markParents, SubtreeLay |
} |
} |
-inline void LayoutObject::setNeedsLayoutAndFullPaintInvalidation(MarkingBehavior markParents, SubtreeLayoutScope* layouter) |
+inline void LayoutObject::setNeedsLayoutAndFullPaintInvalidation(LayoutInvalidationReasonForTracing reason, MarkingBehavior markParents, SubtreeLayoutScope* layouter) |
{ |
- setNeedsLayout(markParents, layouter); |
+ setNeedsLayout(reason, markParents, layouter); |
setShouldDoFullPaintInvalidation(); |
} |