| Index: Source/core/rendering/RenderObject.h
|
| diff --git a/Source/core/rendering/RenderObject.h b/Source/core/rendering/RenderObject.h
|
| index 0acf4962c6c281f4ef9f01bebe56e798d2a47bff..c2f0b2529f918a74d73fa1cdd499cd81315ae069 100644
|
| --- a/Source/core/rendering/RenderObject.h
|
| +++ b/Source/core/rendering/RenderObject.h
|
| @@ -246,27 +246,6 @@ public:
|
| renderer->assertRendererLaidOut();
|
| }
|
|
|
| - void assertRendererClearedPaintInvalidationState() const
|
| - {
|
| - if (paintInvalidationStateIsDirty()) {
|
| - showRenderTreeForThis();
|
| - ASSERT_NOT_REACHED();
|
| - }
|
| - }
|
| -
|
| - void assertSubtreeClearedPaintInvalidationState() const
|
| - {
|
| - for (const RenderObject* renderer = this; renderer; renderer = renderer->nextInPreOrder()) {
|
| - renderer->assertRendererClearedPaintInvalidationState();
|
| -
|
| - // Currently we skip some SVG containers for performance (see RenderSVGModelObject::invalidateTreeAfterLayout)
|
| - // so we just skip the underlying subtree. This is not strictly the condition in the previous function but
|
| - // it makes little sense to cover SVG subtrees if we know they are skipped anyway.
|
| - if (renderer->isSVGContainer())
|
| - return;
|
| - }
|
| - }
|
| -
|
| #endif
|
|
|
| bool skipInvalidationWhenLaidOutChildren() const;
|
| @@ -1016,14 +995,7 @@ public:
|
| void setPreviousPositionFromPaintInvalidationContainer(const LayoutPoint& location) { m_previousPositionFromPaintInvalidationContainer = location; }
|
|
|
| bool shouldDoFullPaintInvalidationAfterLayout() const { return m_bitfields.shouldDoFullPaintInvalidationAfterLayout(); }
|
| - void setShouldDoFullPaintInvalidationAfterLayout(bool b, MarkingBehavior markBehavior = MarkContainingBlockChain)
|
| - {
|
| - m_bitfields.setShouldDoFullPaintInvalidationAfterLayout(b);
|
| -
|
| - if (markBehavior == MarkContainingBlockChain && b)
|
| - markContainingBlockChainForPaintInvalidation();
|
| - }
|
| -
|
| + void setShouldDoFullPaintInvalidationAfterLayout(bool b) { m_bitfields.setShouldDoFullPaintInvalidationAfterLayout(b); }
|
| bool shouldInvalidateOverflowForPaint() const { return m_bitfields.shouldInvalidateOverflowForPaint(); }
|
|
|
| bool shouldDoFullPaintInvalidationIfSelfPaintingLayer() const { return m_bitfields.shouldDoFullPaintInvalidationIfSelfPaintingLayer(); }
|
| @@ -1036,17 +1008,17 @@ public:
|
|
|
| // layoutDidGetCalled indicates whether this render object was re-laid-out
|
| // since the last call to setLayoutDidGetCalled(false) on this object.
|
| - bool layoutDidGetCalled() const { return m_bitfields.layoutDidGetCalled(); }
|
| + bool layoutDidGetCalled() { return m_bitfields.layoutDidGetCalled(); }
|
| void setLayoutDidGetCalled(bool b) { m_bitfields.setLayoutDidGetCalled(b); }
|
|
|
| - bool mayNeedPaintInvalidation() const { return m_bitfields.mayNeedPaintInvalidation(); }
|
| + bool mayNeedPaintInvalidation() { return m_bitfields.mayNeedPaintInvalidation(); }
|
| void setMayNeedPaintInvalidation(bool b)
|
| {
|
| m_bitfields.setMayNeedPaintInvalidation(b);
|
|
|
| // Make sure our parent is marked as needing invalidation.
|
| - if (b)
|
| - markContainingBlockChainForPaintInvalidation();
|
| + if (b && parent() && !parent()->mayNeedPaintInvalidation())
|
| + parent()->setMayNeedPaintInvalidation(b);
|
| }
|
|
|
| bool neededLayoutBecauseOfChildren() const { return m_bitfields.neededLayoutBecauseOfChildren(); }
|
| @@ -1054,7 +1026,7 @@ public:
|
|
|
| bool shouldCheckForPaintInvalidationAfterLayout()
|
| {
|
| - return layoutDidGetCalled() || mayNeedPaintInvalidation() || shouldDoFullPaintInvalidationAfterLayout();
|
| + return layoutDidGetCalled() || mayNeedPaintInvalidation();
|
| }
|
|
|
| bool supportsLayoutStateCachedOffsets() const { return !hasColumns() && !hasTransform() && !hasReflection() && !style()->isFlippedBlocksWritingMode(); }
|
| @@ -1140,21 +1112,9 @@ private:
|
|
|
| #ifndef NDEBUG
|
| void checkBlockPositionedObjectsNeedLayout();
|
| -
|
| - bool paintInvalidationStateIsDirty() const
|
| - {
|
| - return layoutDidGetCalled() || shouldDoFullPaintInvalidationAfterLayout() || shouldDoFullPaintInvalidationIfSelfPaintingLayer()
|
| - || onlyNeededPositionedMovementLayout() || neededLayoutBecauseOfChildren() || mayNeedPaintInvalidation();
|
| - }
|
| #endif
|
| const char* invalidationReasonToString(InvalidationReason) const;
|
|
|
| - void markContainingBlockChainForPaintInvalidation()
|
| - {
|
| - for (RenderObject* container = this->container(); container && !container->shouldCheckForPaintInvalidationAfterLayout(); container = container->container())
|
| - container->setMayNeedPaintInvalidation(true);
|
| - }
|
| -
|
| static bool isAllowedToModifyRenderTreeStructure(Document&);
|
|
|
| RefPtr<RenderStyle> m_style;
|
|
|