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

Unified Diff: third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp

Issue 2507893002: Fix painting background for composited table cells in a non-composited row. (Closed)
Patch Set: Add test expectations. Created 4 years, 1 month 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: third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp
diff --git a/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp b/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp
index 83b770615fdf4e52e4ad12b30e70ad62e6f4f394..6df57982c14b80664cc92c39cbaf33e60582b1ca 100644
--- a/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp
+++ b/third_party/WebKit/Source/core/paint/TablePaintInvalidator.cpp
@@ -80,10 +80,18 @@ PaintInvalidationReason TablePaintInvalidator::invalidatePaintIfNeeded() {
}
}
if ((!invalidated || row->hasSelfPaintingLayer()) &&
- row->backgroundChangedSinceLastPaintInvalidation())
- ObjectPaintInvalidator(*row)
+ row->backgroundChangedSinceLastPaintInvalidation()) {
+ ObjectPaintInvalidator invalidator(*row);
+ invalidator
.slowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient(
*cell, PaintInvalidationStyleChange);
+ if (cell->usesCompositedCellDisplayItemClients()) {
+ cell->createCompositedCellDisplayItemClients();
wkorman 2016/11/16 20:15:46 I've punted on using mutable or getMutableForPaint
Xianzhu 2016/11/16 20:39:03 This can be simplified if you have LayoutTableCell
wkorman 2016/11/16 21:42:45 Done.
+ invalidator.invalidateDisplayItemClient(
+ *cell->rowBackgroundDisplayItemClient(),
+ PaintInvalidationStyleChange);
+ }
+ }
}
}
}

Powered by Google App Engine
This is Rietveld 408576698