Index: Source/core/rendering/RenderBlock.cpp |
diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp |
index 12cafdaa56f8943801582a3edb9593e32939745e..81165a8d462f9a06db8fd12f40644178dd9f6d1c 100644 |
--- a/Source/core/rendering/RenderBlock.cpp |
+++ b/Source/core/rendering/RenderBlock.cpp |
@@ -285,7 +285,7 @@ void RenderBlock::styleWillChange(StyleDifference diff, const RenderStyle& newSt |
setReplaced(newStyle.isDisplayInlineType()); |
- if (oldStyle && parent() && diff == StyleDifferenceLayout && oldStyle->position() != newStyle.position()) { |
+ if (oldStyle && parent() && diff.needsFullLayout() && oldStyle->position() != newStyle.position()) { |
if (newStyle.position() == StaticPosition) |
// Clear our positioned objects list. Our absolutely positioned descendants will be |
// inserted into our containing block's positioned objects list during layout. |
@@ -348,7 +348,7 @@ void RenderBlock::styleDidChange(StyleDifference diff, const RenderStyle* oldSty |
// It's possible for our border/padding to change, but for the overall logical width of the block to |
// end up being the same. We keep track of this change so in layoutBlock, we can know to set relayoutChildren=true. |
- m_hasBorderOrPaddingLogicalWidthChanged = oldStyle && diff == StyleDifferenceLayout && needsLayout() && borderOrPaddingLogicalWidthChanged(oldStyle, newStyle); |
+ m_hasBorderOrPaddingLogicalWidthChanged = oldStyle && diff.needsFullLayout() && needsLayout() && borderOrPaddingLogicalWidthChanged(oldStyle, newStyle); |
// If the style has unloaded images, want to notify the ResourceLoadPriorityOptimizer so that |
// network priorities can be set. |