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..eeb63c9d7d65fd90b3da2dbac905066ef8f1c25f 100644 |
| --- a/Source/core/rendering/RenderObject.h |
| +++ b/Source/core/rendering/RenderObject.h |
| @@ -995,6 +995,7 @@ public: |
| bool shouldDoFullRepaintAfterLayout() const { return m_bitfields.shouldDoFullRepaintAfterLayout(); } |
| void setShouldDoFullRepaintAfterLayout(bool b) { m_bitfields.setShouldDoFullRepaintAfterLayout(b); } |
| + |
|
leviw_travelin_and_unemployed
2014/05/05 18:52:32
Nit: empty line.
Julien - ping for review
2014/05/05 19:02:35
Unneeded space.
dsinclair
2014/05/05 19:38:26
Done.
dsinclair
2014/05/05 19:38:26
Done.
|
| bool shouldRepaintOverflow() const { return m_bitfields.shouldRepaintOverflow(); } |
| bool shouldDoFullRepaintIfSelfPaintingLayer() const { return m_bitfields.shouldDoFullRepaintIfSelfPaintingLayer(); } |
| @@ -1010,6 +1011,21 @@ public: |
| bool layoutDidGetCalled() { return m_bitfields.layoutDidGetCalled(); } |
| void setLayoutDidGetCalled(bool b) { m_bitfields.setLayoutDidGetCalled(b); } |
| + bool mayNeedInvalidation() { return m_bitfields.mayNeedInvalidation(); } |
| + void setMayNeedInvalidation(bool b) |
| + { |
| + m_bitfields.setMayNeedInvalidation(b); |
| + |
| + // Make sure our parent is marked as needing invalidation. |
|
Julien - ping for review
2014/05/05 19:02:35
Interesting, the needs layout logic walks up the t
dsinclair
2014/05/05 19:38:26
Not sure what I need to do for this? We mark our p
|
| + if (b && parent() && !parent()->mayNeedInvalidation()) |
| + parent()->setMayNeedInvalidation(b); |
| + } |
| + |
| + bool shouldCheckForInvalidations() |
|
Julien - ping for review
2014/05/05 19:02:35
I may be better to use shouldCheckForInvalidationA
dsinclair
2014/05/05 19:38:26
Done.
|
| + { |
| + return layoutDidGetCalled() || mayNeedInvalidation(); |
| + } |
| + |
| bool shouldDisableLayoutState() const { return hasColumns() || hasTransform() || hasReflection() || style()->isFlippedBlocksWritingMode(); } |
| void setNeedsOverflowRecalcAfterStyleChange(); |
| @@ -1125,6 +1141,7 @@ private: |
| , m_shouldDoFullRepaintAfterLayout(false) |
| , m_shouldRepaintOverflow(false) |
| , m_shouldDoFullRepaintIfSelfPaintingLayer(false) |
| + , m_mayNeedInvalidation(false) |
|
Julien - ping for review
2014/05/05 19:02:35
I think we should have a FIXME to remove this bool
dsinclair
2014/05/05 19:38:26
Done.
|
| , m_onlyNeededPositionedMovementLayout(false) |
| , m_needsPositionedMovementLayout(false) |
| , m_normalChildNeedsLayout(false) |
| @@ -1159,11 +1176,12 @@ private: |
| { |
| } |
| - // 32 bits have been used in the first word, and 5 in the second. |
| + // 32 bits have been used in the first word, and 6 in the second. |
| ADD_BOOLEAN_BITFIELD(selfNeedsLayout, SelfNeedsLayout); |
| ADD_BOOLEAN_BITFIELD(shouldDoFullRepaintAfterLayout, ShouldDoFullRepaintAfterLayout); |
| ADD_BOOLEAN_BITFIELD(shouldRepaintOverflow, ShouldRepaintOverflow); |
| ADD_BOOLEAN_BITFIELD(shouldDoFullRepaintIfSelfPaintingLayer, ShouldDoFullRepaintIfSelfPaintingLayer); |
| + ADD_BOOLEAN_BITFIELD(mayNeedInvalidation, MayNeedInvalidation); |
| ADD_BOOLEAN_BITFIELD(onlyNeededPositionedMovementLayout, OnlyNeededPositionedMovementLayout); |
| ADD_BOOLEAN_BITFIELD(needsPositionedMovementLayout, NeedsPositionedMovementLayout); |
| ADD_BOOLEAN_BITFIELD(normalChildNeedsLayout, NormalChildNeedsLayout); |