Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(942)

Unified Diff: Source/core/rendering/RenderTable.cpp

Issue 403723004: Add several repaint tests in case of table resize (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698