summaryrefslogtreecommitdiffstats
path: root/layout/tables/nsTableRowFrame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'layout/tables/nsTableRowFrame.cpp')
-rw-r--r--layout/tables/nsTableRowFrame.cpp58
1 files changed, 2 insertions, 56 deletions
diff --git a/layout/tables/nsTableRowFrame.cpp b/layout/tables/nsTableRowFrame.cpp
index 18f11f876..02b85a141 100644
--- a/layout/tables/nsTableRowFrame.cpp
+++ b/layout/tables/nsTableRowFrame.cpp
@@ -549,66 +549,12 @@ nsTableRowFrame::CalcBSize(const ReflowInput& aReflowInput)
return GetInitialBSize();
}
-void nsTableRowFrame::PaintCellBackgroundsForFrame(
- nsIFrame* aFrame, nsDisplayListBuilder* aBuilder,
- const nsDisplayListSet& aLists, const nsPoint& aOffset) {
- // Compute background rect by iterating all cell frame.
- const nsPoint toReferenceFrame = aBuilder->ToReferenceFrame(aFrame);
- for (nsTableCellFrame* cell = GetFirstCell(); cell;
- cell = cell->GetNextCell()) {
- if (!cell->ShouldPaintBackground(aBuilder)) {
- continue;
- }
-
- auto cellRect =
- cell->GetRectRelativeToSelf() + cell->GetNormalPosition() + aOffset;
- if (!aBuilder->GetDirtyRect().Intersects(cellRect)) {
- continue;
- }
- cellRect += toReferenceFrame;
- nsDisplayBackgroundImage::AppendBackgroundItemsToTop(
- aBuilder, aFrame, cellRect, aLists.BorderBackground(), true, nullptr,
- aFrame->GetRectRelativeToSelf() + toReferenceFrame, cell);
- }
-}
-
void
nsTableRowFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
+ const nsRect& aDirtyRect,
const nsDisplayListSet& aLists)
{
- if (IsVisibleForPainting(aBuilder)) {
- // XXXbz should box-shadow for rows/rowgroups/columns/colgroups get painted
- // just because we're visible? Or should it depend on the cell visibility
- // when we're not the whole table?
-
- // Paint the outset box-shadows for the table frames
- if (StyleEffects()->mBoxShadow) {
- aLists.BorderBackground()->AppendNewToTop(
- new (aBuilder) nsDisplayBoxShadowOuter
- (aBuilder, this));
- }
- }
-
- PaintCellBackgroundsForFrame(this, aBuilder, aLists);
-
- if (IsVisibleForPainting(aBuilder)) {
- // XXXbz should box-shadow for rows/rowgroups/columns/colgroups get painted
- // just because we're visible? Or should it depend on the cell visibility
- // when we're not the whole table?
-
- // Paint the inset box-shadows for the table frames
- if (StyleEffects()->mBoxShadow) {
- aLists.BorderBackground()->AppendNewToTop(
- new (aBuilder) nsDisplayBoxShadowInner
- (aBuilder, this));
- }
- }
-
- DisplayOutline(aBuilder, aLists);
-
- for (nsIFrame* kid : PrincipalChildList()) {
- BuildDisplayListForChild(aBuilder, kid, aLists);
- }
+ nsTableFrame::DisplayGenericTablePart(aBuilder, this, aDirtyRect, aLists);
}
nsIFrame::LogicalSides