Index: Source/core/layout/LayoutBlockFlow.cpp |
diff --git a/Source/core/layout/LayoutBlockFlow.cpp b/Source/core/layout/LayoutBlockFlow.cpp |
index 40f01f81436b7517574d9b64912f659e33c9ac2b..e2ca2692600deec076a2d774a94e620d4165b38b 100644 |
--- a/Source/core/layout/LayoutBlockFlow.cpp |
+++ b/Source/core/layout/LayoutBlockFlow.cpp |
@@ -391,6 +391,7 @@ void LayoutBlockFlow::layoutBlock(bool relayoutChildren) |
inline bool LayoutBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit &pageLogicalHeight, SubtreeLayoutScope& layoutScope) |
{ |
LayoutUnit oldLeft = logicalLeft(); |
+recalcLogicalWidthAfterLayoutChildren: |
bool logicalWidthChanged = updateLogicalWidthAndColumnWidth(); |
relayoutChildren |= logicalWidthChanged; |
@@ -438,6 +439,12 @@ inline bool LayoutBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit & |
else |
layoutBlockChildren(relayoutChildren, layoutScope, beforeEdge, afterEdge); |
+ if (needsRecalcLogicalWidthAfterLayoutChildren()) { |
+ clearNeedsRecalcLogicalWidthAfterLayoutChildren(); |
+ setPreferredLogicalWidthsDirty(MarkOnlyThis); |
+ goto recalcLogicalWidthAfterLayoutChildren; |
esprehn
2015/05/21 01:52:54
I think you can just return false here instead, th
kojii
2015/05/23 00:22:47
Done.
|
+ } |
+ |
// Expand our intrinsic height to encompass floats. |
if (lowestFloatLogicalBottom() > (logicalHeight() - afterEdge) && createsNewFormattingContext()) |
setLogicalHeight(lowestFloatLogicalBottom() + afterEdge); |