Index: Source/core/rendering/RenderTable.cpp |
diff --git a/Source/core/rendering/RenderTable.cpp b/Source/core/rendering/RenderTable.cpp |
index 66693df406b693996b4b0ac6bfb586cefcc758cc..9f8bbb938c9afcae10bee265e3464a610e7bbb81 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 invalidate the changed part only. crbug.com/396674. |
Julien - ping for review
2014/07/28 17:23:19
We talked and I would rather disable the optimizat
|
+ if (selfNeedsLayout() && (oldLogicalWidth != logicalWidth() || oldLogicalHeight != logicalHeight())) |
+ setShouldDoFullPaintInvalidation(true); |
} |
// FIXME: This value isn't the intrinsic content logical height, but we need |