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

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

Issue 1637143002: Layers that have a backdrop-filter should paints contents (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Another test Created 4 years, 11 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: 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 5ce413aa595144c78daf873394eb91b2d6451122..8ec773f7d1405f719aed85cc7ef956451270dbf6 100644
--- a/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
+++ b/third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
@@ -195,20 +195,20 @@ void TableSectionPainter::paintCell(const LayoutTableCell& cell, PaintPhase orig
// the stack, since we have already opened a transparency layer (potentially) for the table row group.
// Note that we deliberately ignore whether or not the cell has a layer, since these backgrounds paint "behind" the
// cell.
- if (columnGroup && columnGroup->hasBackground())
+ if (columnGroup && (columnGroup->hasBackground() || columnGroup->styleRef().hasBackdropFilter()))
tableCellPainter.paintBackgroundsBehindCell(paintInfoForCells, cellPoint, columnGroup, DisplayItem::TableCellBackgroundFromColumnGroup);
- if (column && column->hasBackground())
+ if (column && (column->hasBackground() || column->styleRef().hasBackdropFilter()))
tableCellPainter.paintBackgroundsBehindCell(paintInfoForCells, cellPoint, column, DisplayItem::TableCellBackgroundFromColumn);
// Paint the row group next.
- if (m_layoutTableSection.hasBackground())
+ if (m_layoutTableSection.hasBackground() || m_layoutTableSection.styleRef().hasBackdropFilter())
tableCellPainter.paintBackgroundsBehindCell(paintInfoForCells, cellPoint, &m_layoutTableSection, DisplayItem::TableCellBackgroundFromSection);
}
if (shouldPaintDescendantBlockBackgrounds(originalPaintPhase)) {
// Paint the row next, but only if it doesn't have a layer. If a row has a layer, it will be responsible for
// painting the row background for the cell.
- if (row->hasBackground() && !row->hasSelfPaintingLayer())
+ if ((row->hasBackground() || row->styleRef().hasBackdropFilter()) && !row->hasSelfPaintingLayer())
pdr. 2016/02/03 04:20:28 Can you add a test for this that fails without the
TableCellPainter(cell).paintBackgroundsBehindCell(paintInfoForCells, cellPoint, row, DisplayItem::TableCellBackgroundFromRow);
}

Powered by Google App Engine
This is Rietveld 408576698