| Index: Source/core/rendering/RenderObject.h
|
| diff --git a/Source/core/rendering/RenderObject.h b/Source/core/rendering/RenderObject.h
|
| index 3e34a29288e5ed8a067062f2c7e538790825cbff..59e5555f06a44446397082e25c79a5c000f0cc56 100644
|
| --- a/Source/core/rendering/RenderObject.h
|
| +++ b/Source/core/rendering/RenderObject.h
|
| @@ -566,6 +566,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(); }
|
| @@ -635,7 +639,6 @@ public:
|
| void clearNeedsLayout();
|
| void setChildNeedsLayout(MarkingBehavior = MarkContainingBlockChain, SubtreeLayoutScope* = 0);
|
| void setNeedsPositionedMovementLayout();
|
| - void setNeedsSimplifiedNormalFlowLayout();
|
| void setPreferredLogicalWidthsDirty(MarkingBehavior = MarkContainingBlockChain);
|
| void clearPreferredLogicalWidthsDirty();
|
| void invalidateContainerPreferredLogicalWidths();
|
| @@ -1012,6 +1015,9 @@ public:
|
|
|
| bool shouldDisableLayoutState() const { return hasColumns() || hasTransform() || hasReflection() || style()->isFlippedBlocksWritingMode(); }
|
|
|
| + void setNeedsOverflowRecalcAfterStyleChange();
|
| + void markContainingBlocksForOverflowRecalc();
|
| +
|
| protected:
|
| inline bool layerCreationAllowedForSubtree() const;
|
|
|
| @@ -1129,6 +1135,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)
|
| @@ -1166,6 +1174,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);
|
| @@ -1234,6 +1244,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
|
| @@ -1335,18 +1347,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())
|
|
|