diff options
Diffstat (limited to 'Source/WebCore/rendering/RenderTable.cpp')
-rw-r--r-- | Source/WebCore/rendering/RenderTable.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/WebCore/rendering/RenderTable.cpp b/Source/WebCore/rendering/RenderTable.cpp index 05325314a..b3be2de98 100644 --- a/Source/WebCore/rendering/RenderTable.cpp +++ b/Source/WebCore/rendering/RenderTable.cpp @@ -300,6 +300,13 @@ void RenderTable::updateLogicalWidth() // Ensure we aren't bigger than our available width. setLogicalWidth(std::min(availableContentLogicalWidth, maxPreferredLogicalWidth())); + LayoutUnit maxWidth = maxPreferredLogicalWidth(); + // scaledWidthFromPercentColumns depends on m_layoutStruct in TableLayoutAlgorithmAuto, which + // maxPreferredLogicalWidth fills in. So scaledWidthFromPercentColumns has to be called after + // maxPreferredLogicalWidth. + LayoutUnit scaledWidth = m_tableLayout->scaledWidthFromPercentColumns() + bordersPaddingAndSpacingInRowDirection(); + maxWidth = std::max(scaledWidth, maxWidth); + setLogicalWidth(std::min(availableContentLogicalWidth, maxWidth)); } // Ensure we aren't smaller than our min preferred width. |