Index: Source/core/rendering/RenderTable.cpp |
diff --git a/Source/core/rendering/RenderTable.cpp b/Source/core/rendering/RenderTable.cpp |
index 66693df406b693996b4b0ac6bfb586cefcc758cc..35e637c762c95f2644494cf56c9ad43bd0f994c6 100644 |
--- a/Source/core/rendering/RenderTable.cpp |
+++ b/Source/core/rendering/RenderTable.cpp |
@@ -419,6 +419,7 @@ void RenderTable::layout() |
{ |
LayoutState state(*this, locationOffset()); |
+ LayoutUnit oldLogicalHeight = logicalHeight(); |
setLogicalHeight(0); |
LayoutUnit oldLogicalWidth = logicalWidth(); |
@@ -552,6 +553,11 @@ void RenderTable::layout() |
invalidateCollapsedBorders(); |
computeOverflow(clientLogicalBottom()); |
+ |
+ // This is needed after we optimized size-style-change not to always fully invalidate. |
+ // FIXME: It would be better to let the changed cells invalidate themselves. |
dsinclair
2014/07/23 16:57:29
crbug?
Do you have an idea of how hard this would
Xianzhu
2014/07/23 17:31:48
Filed crbug.com/396674.
|
+ if (selfNeedsLayout() && (oldLogicalWidth != logicalWidth() || oldLogicalHeight != logicalHeight())) |
+ setShouldDoFullPaintInvalidation(true); |
} |
// FIXME: This value isn't the intrinsic content logical height, but we need |