| Index: Source/core/rendering/RenderObject.h
|
| diff --git a/Source/core/rendering/RenderObject.h b/Source/core/rendering/RenderObject.h
|
| index 119d63f31bb090cc6f6ffa1b3fa2d37072383c75..3a415d14744545c2cb8ce074089a99ac07e36cb9 100644
|
| --- a/Source/core/rendering/RenderObject.h
|
| +++ b/Source/core/rendering/RenderObject.h
|
| @@ -548,6 +548,10 @@ public:
|
|
|
| bool preferredLogicalWidthsDirty() const { return m_bitfields.preferredLogicalWidthsDirty(); }
|
|
|
| + bool needsOverflowRecalcAfterStyleChange() const { return m_bitfields.selfNeedsOverflowRecalcAfterStyleChange() || m_bitfields.childNeedsOverflowRecalcAfterStyleChange(); }
|
| + bool selfNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.selfNeedsOverflowRecalcAfterStyleChange(); }
|
| + bool childNeedsOverflowRecalcAfterStyleChange() const { return m_bitfields.childNeedsOverflowRecalcAfterStyleChange(); }
|
| +
|
| bool isSelectionBorder() const;
|
|
|
| bool hasClip() const { return isOutOfFlowPositioned() && style()->hasClip(); }
|
| @@ -616,7 +620,6 @@ public:
|
| void clearNeedsLayout();
|
| void setChildNeedsLayout(MarkingBehavior = MarkContainingBlockChain, SubtreeLayoutScope* = 0);
|
| void setNeedsPositionedMovementLayout();
|
| - void setNeedsSimplifiedNormalFlowLayout();
|
| void setPreferredLogicalWidthsDirty(MarkingBehavior = MarkContainingBlockChain);
|
| void clearPreferredLogicalWidthsDirty();
|
| void invalidateContainerPreferredLogicalWidths();
|
| @@ -995,6 +998,9 @@ public:
|
|
|
| bool shouldDisableLayoutState() const { return hasColumns() || hasTransform() || hasReflection() || style()->isFlippedBlocksWritingMode(); }
|
|
|
| + void setNeedsOverflowRecalcAfterStyleChange();
|
| + void markContainingBlocksForOverflowRecalc();
|
| +
|
| protected:
|
| inline bool layerCreationAllowedForSubtree() const;
|
|
|
| @@ -1110,6 +1116,8 @@ private:
|
| , m_needsSimplifiedNormalFlowLayout(false)
|
| , m_preferredLogicalWidthsDirty(false)
|
| , m_floating(false)
|
| + , m_selfNeedsOverflowRecalcAfterStyleChange(false)
|
| + , m_childNeedsOverflowRecalcAfterStyleChange(false)
|
| , m_isAnonymous(!node)
|
| , m_isText(false)
|
| , m_isBox(false)
|
| @@ -1147,6 +1155,8 @@ private:
|
| ADD_BOOLEAN_BITFIELD(needsSimplifiedNormalFlowLayout, NeedsSimplifiedNormalFlowLayout);
|
| ADD_BOOLEAN_BITFIELD(preferredLogicalWidthsDirty, PreferredLogicalWidthsDirty);
|
| ADD_BOOLEAN_BITFIELD(floating, Floating);
|
| + ADD_BOOLEAN_BITFIELD(selfNeedsOverflowRecalcAfterStyleChange, SelfNeedsOverflowRecalcAfterStyleChange);
|
| + ADD_BOOLEAN_BITFIELD(childNeedsOverflowRecalcAfterStyleChange, ChildNeedsOverflowRecalcAfterStyleChange);
|
|
|
| ADD_BOOLEAN_BITFIELD(isAnonymous, IsAnonymous);
|
| ADD_BOOLEAN_BITFIELD(isText, IsText);
|
| @@ -1215,6 +1225,8 @@ private:
|
| void setIsDragging(bool b) { m_bitfields.setIsDragging(b); }
|
| void setEverHadLayout(bool b) { m_bitfields.setEverHadLayout(b); }
|
| void setShouldRepaintOverflow(bool b) { m_bitfields.setShouldRepaintOverflow(b); }
|
| + void setSelfNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setSelfNeedsOverflowRecalcAfterStyleChange(b); }
|
| + void setChildNeedsOverflowRecalcAfterStyleChange(bool b) { m_bitfields.setChildNeedsOverflowRecalcAfterStyleChange(b); }
|
|
|
| private:
|
| // Store state between styleWillChange and styleDidChange
|
| @@ -1311,18 +1323,6 @@ inline void RenderObject::setNeedsPositionedMovementLayout()
|
| }
|
| }
|
|
|
| -inline void RenderObject::setNeedsSimplifiedNormalFlowLayout()
|
| -{
|
| - bool alreadyNeededLayout = needsSimplifiedNormalFlowLayout();
|
| - setNeedsSimplifiedNormalFlowLayout(true);
|
| - ASSERT(!isSetNeedsLayoutForbidden());
|
| - if (!alreadyNeededLayout) {
|
| - markContainingBlocksForLayout();
|
| - if (hasLayer())
|
| - setLayerNeedsFullRepaint();
|
| - }
|
| -}
|
| -
|
| inline bool RenderObject::preservesNewline() const
|
| {
|
| if (isSVGInlineText())
|
|
|