Chromium Code Reviews| Index: Source/core/rendering/RenderObject.h |
| diff --git a/Source/core/rendering/RenderObject.h b/Source/core/rendering/RenderObject.h |
| index bd27cc85d31a91811bfb79949d3c105b1ab14e10..b3da13ed7cd4a29e857f3acf24fbf51f0bcd6fa7 100644 |
| --- a/Source/core/rendering/RenderObject.h |
| +++ b/Source/core/rendering/RenderObject.h |
| @@ -633,6 +633,7 @@ public: |
| Element* offsetParent() const; |
| void markContainingBlocksForLayout(bool scheduleRelayout = true, RenderObject* newRoot = 0, SubtreeLayoutScope* = 0); |
| + void setNeedsLayoutWithoutForcingFullRepaint(MarkingBehavior = MarkContainingBlockChain, SubtreeLayoutScope* = 0); |
|
Julien - ping for review
2014/05/12 15:08:46
This function is not used outside RenderObject so
Xianzhu
2014/05/12 21:31:51
We will need this function (in new opting-in-repai
|
| void setNeedsLayout(MarkingBehavior = MarkContainingBlockChain, SubtreeLayoutScope* = 0); |
| void clearNeedsLayout(); |
| void setChildNeedsLayout(MarkingBehavior = MarkContainingBlockChain, SubtreeLayoutScope* = 0); |
| @@ -646,6 +647,11 @@ public: |
| setNeedsLayout(); |
| setPreferredLogicalWidthsDirty(); |
| } |
| + void setNeedsLayoutAndPrefWidthsRecalcWithoutForcingFullRepaint() |
|
Julien - ping for review
2014/05/12 15:08:46
I think we should make this the default, not an op
Xianzhu
2014/05/12 21:31:51
Done.
|
| + { |
| + setNeedsLayoutWithoutForcingFullRepaint(); |
| + setPreferredLogicalWidthsDirty(); |
| + } |
| void setPositionState(EPosition position) |
| { |
| @@ -1294,7 +1300,7 @@ inline bool RenderObject::isBeforeOrAfterContent() const |
| return isBeforeContent() || isAfterContent(); |
| } |
| -inline void RenderObject::setNeedsLayout(MarkingBehavior markParents, SubtreeLayoutScope* layouter) |
| +inline void RenderObject::setNeedsLayoutWithoutForcingFullRepaint(MarkingBehavior markParents, SubtreeLayoutScope* layouter) |
| { |
| ASSERT(!isSetNeedsLayoutForbidden()); |
| bool alreadyNeededLayout = m_bitfields.selfNeedsLayout(); |
| @@ -1305,10 +1311,14 @@ inline void RenderObject::setNeedsLayout(MarkingBehavior markParents, SubtreeLay |
| } |
| } |
| +inline void RenderObject::setNeedsLayout(MarkingBehavior markParents, SubtreeLayoutScope* layouter) |
| +{ |
| + setNeedsLayoutWithoutForcingFullRepaint(markParents, layouter); |
| + setShouldDoFullRepaintAfterLayout(true); |
| +} |
|
Julien - ping for review
2014/05/07 00:24:32
For me, this bit is total madness: we *don't* want
Xianzhu
2014/05/07 00:39:22
Could you give more details about how this CL chan
Julien - ping for review
2014/05/08 21:03:49
We have 2 ways to generate invalidations: incremen
Xianzhu
2014/05/08 21:52:55
Incremental invalidation is only possible when the
Julien - ping for review
2014/05/12 15:08:46
OK, I see your point. It makes an assumption in th
|
| + |
| inline void RenderObject::clearNeedsLayout() |
| { |
| - if (!shouldDoFullRepaintAfterLayout()) |
| - setShouldDoFullRepaintAfterLayout(selfNeedsLayout()); |
| if (needsPositionedMovementLayoutOnly()) |
| setOnlyNeededPositionedMovementLayout(true); |
| setLayoutDidGetCalled(true); |