| Index: third_party/WebKit/Source/core/layout/LayoutTable.cpp | 
| diff --git a/third_party/WebKit/Source/core/layout/LayoutTable.cpp b/third_party/WebKit/Source/core/layout/LayoutTable.cpp | 
| index c792917d29ab20c6786f14e074ef0461765cda50..c852e53bf8dcbdff4d0517b193c6d08e65c8d1a0 100644 | 
| --- a/third_party/WebKit/Source/core/layout/LayoutTable.cpp | 
| +++ b/third_party/WebKit/Source/core/layout/LayoutTable.cpp | 
| @@ -292,7 +292,13 @@ void LayoutTable::updateLogicalWidth() | 
| availableContentLogicalWidth = shrinkLogicalWidthToAvoidFloats(marginStart, marginEnd, toLayoutBlockFlow(cb)); | 
|  | 
| // Ensure we aren't bigger than our available width. | 
| -        setLogicalWidth(LayoutUnit(std::min(availableContentLogicalWidth, maxPreferredLogicalWidth()).floor())); | 
| +        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(LayoutUnit(std::min(availableContentLogicalWidth, maxWidth).floor())); | 
| } | 
|  | 
| // Ensure we aren't bigger than our max-width style. | 
|  |