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

Unified Diff: Source/core/layout/LayoutTableCell.cpp

Issue 1306433002: Let collapsed border drawings be cacheable (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 4 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/layout/LayoutTableCell.cpp
diff --git a/Source/core/layout/LayoutTableCell.cpp b/Source/core/layout/LayoutTableCell.cpp
index 728eeee67f0a61ee250cf049db2a9d85109fa518..9a8e4481d00bad32a33127785e37d93eef08260f 100644
--- a/Source/core/layout/LayoutTableCell.cpp
+++ b/Source/core/layout/LayoutTableCell.cpp
@@ -951,10 +951,15 @@ void LayoutTableCell::collectBorderValues(LayoutTable::CollapsedBorderValues& bo
CollapsedBorderValue beforeBorder = computeCollapsedBeforeBorder();
CollapsedBorderValue afterBorder = computeCollapsedAfterBorder();
LayoutTableSection* section = this->section();
- section->setCachedCollapsedBorder(this, CBSStart, startBorder);
- section->setCachedCollapsedBorder(this, CBSEnd, endBorder);
- section->setCachedCollapsedBorder(this, CBSBefore, beforeBorder);
- section->setCachedCollapsedBorder(this, CBSAfter, afterBorder);
+ bool changed = section->setCachedCollapsedBorder(this, CBSStart, startBorder);
+ changed |= section->setCachedCollapsedBorder(this, CBSEnd, endBorder);
+ changed |= section->setCachedCollapsedBorder(this, CBSBefore, beforeBorder);
+ changed |= section->setCachedCollapsedBorder(this, CBSAfter, afterBorder);
+
+ // In slimming paint mode, we need to invalidate all cells with collapsed border changed.
+ // FIXME: Need a way to invalidate/repaint the borders only. crbug.com/451090#c5.
+ if (changed && RuntimeEnabledFeatures::slimmingPaintEnabled())
+ invalidateDisplayItemClient(*this);
addBorderStyle(borderValues, startBorder);
addBorderStyle(borderValues, endBorder);

Powered by Google App Engine
This is Rietveld 408576698