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

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

Issue 2430313004: Paint collapsed borders of a table as one display item (Closed)
Patch Set: Rebaseline on mac and win 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/TableSectionPainter.cpp
diff --git a/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp b/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
index 058af6bf3f89243b63c3ff2dcc480fc9950742fa..0d17d0af4289bd5809e7e42ae69a0679e3f89e99 100644
--- a/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
+++ b/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
@@ -148,24 +148,27 @@ static inline bool compareCellPositionsWithOverflowingCells(
return elem1->absoluteColumnIndex() < elem2->absoluteColumnIndex();
}
-void TableSectionPainter::paintCollapsedBorders(
+PaintResult TableSectionPainter::paintCollapsedBorders(
const PaintInfo& paintInfo,
const LayoutPoint& paintOffset,
const CollapsedBorderValue& currentBorderValue) {
- paintCollapsedSectionBorders(paintInfo, paintOffset, currentBorderValue);
+ PaintResult result =
+ paintCollapsedSectionBorders(paintInfo, paintOffset, currentBorderValue);
LayoutTable* table = m_layoutTableSection.table();
- if (table->header() == m_layoutTableSection)
+ if (table->header() == m_layoutTableSection) {
paintRepeatingHeaderGroup(paintInfo, paintOffset, currentBorderValue,
PaintCollapsedBorders);
+ }
+ return result;
}
-void TableSectionPainter::paintCollapsedSectionBorders(
+PaintResult TableSectionPainter::paintCollapsedSectionBorders(
const PaintInfo& paintInfo,
const LayoutPoint& paintOffset,
const CollapsedBorderValue& currentBorderValue) {
if (!m_layoutTableSection.numRows() ||
!m_layoutTableSection.table()->effectiveColumns().size())
- return;
+ return FullyPainted;
LayoutPoint adjustedPaintOffset =
paintOffset + m_layoutTableSection.location();
@@ -184,7 +187,7 @@ void TableSectionPainter::paintCollapsedSectionBorders(
m_layoutTableSection.dirtiedEffectiveColumns(tableAlignedRect);
if (dirtiedColumns.start() >= dirtiedColumns.end())
- return;
+ return MayBeClippedByPaintDirtyRect;
// Collapsed borders are painted from the bottom right to the top left so that
// precedence due to cell position is respected.
@@ -206,6 +209,11 @@ void TableSectionPainter::paintCollapsedSectionBorders(
currentBorderValue);
}
}
+
+ if (dirtiedRows == m_layoutTableSection.fullTableRowSpan() &&
+ dirtiedColumns == m_layoutTableSection.fullTableEffectiveColumnSpan())
+ return FullyPainted;
+ return MayBeClippedByPaintDirtyRect;
}
void TableSectionPainter::paintObject(const PaintInfo& paintInfo,

Powered by Google App Engine
This is Rietveld 408576698