diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-02-26 20:51:22 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-02-26 20:51:22 +0100 |
commit | 793da7dd6238ce156e29c71304e24b2c05edc11d (patch) | |
tree | 89aaa5542c8930a139a76d6b82959d70500556e5 /layout/tables/nsTableRowFrame.cpp | |
parent | 16abf27e653d0a845abeb542d611984a629160d2 (diff) | |
download | UXP-793da7dd6238ce156e29c71304e24b2c05edc11d.tar UXP-793da7dd6238ce156e29c71304e24b2c05edc11d.tar.gz UXP-793da7dd6238ce156e29c71304e24b2c05edc11d.tar.lz UXP-793da7dd6238ce156e29c71304e24b2c05edc11d.tar.xz UXP-793da7dd6238ce156e29c71304e24b2c05edc11d.zip |
Revert "Issue #1355 - Better way to create display items for column backgrounds"
This reverts commit 44c47c50388f526c2d134e16d5debebe94a0faf8.
Diffstat (limited to 'layout/tables/nsTableRowFrame.cpp')
-rw-r--r-- | layout/tables/nsTableRowFrame.cpp | 58 |
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 |