Index: Source/core/layout/LayoutTable.cpp |
diff --git a/Source/core/layout/LayoutTable.cpp b/Source/core/layout/LayoutTable.cpp |
index 384d0926083ac2e31f860e38e95242e0beb75f70..07f8f818b5fe9d15da21e9a434e60bfa403f96bf 100644 |
--- a/Source/core/layout/LayoutTable.cpp |
+++ b/Source/core/layout/LayoutTable.cpp |
@@ -445,6 +445,7 @@ void LayoutTable::layout() |
LayoutUnit oldLogicalHeight = logicalHeight(); |
setLogicalHeight(0); |
+ recalcLogicalWidthAfterLayoutChildren: |
updateLogicalWidth(); |
if (logicalWidth() != oldLogicalWidth) { |
@@ -488,6 +489,12 @@ void LayoutTable::layout() |
} |
} |
+ if (needsRecalcLogicalWidthAfterLayoutChildren()) { |
+ clearNeedsRecalcLogicalWidthAfterLayoutChildren(); |
+ setPreferredLogicalWidthsDirty(MarkOnlyThis); |
+ goto recalcLogicalWidthAfterLayoutChildren; |
+ } |
+ |
// FIXME: Collapse caption margin. |
if (!m_captions.isEmpty()) { |
for (unsigned i = 0; i < m_captions.size(); i++) { |