diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-11-03 15:12:34 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-11-03 15:12:34 +0100 |
commit | db98e3efff6087b690805358e6f4fda118ec9627 (patch) | |
tree | 6c0478110100bdf85f1fa088a86b206905a25f96 /layout/tables | |
parent | 0de40040f006c493feeff7d688c169b904b8a22e (diff) | |
download | UXP-db98e3efff6087b690805358e6f4fda118ec9627.tar UXP-db98e3efff6087b690805358e6f4fda118ec9627.tar.gz UXP-db98e3efff6087b690805358e6f4fda118ec9627.tar.lz UXP-db98e3efff6087b690805358e6f4fda118ec9627.tar.xz UXP-db98e3efff6087b690805358e6f4fda118ec9627.zip |
Issue #146 - Part 3: Create nsDisplayTableFixedPosition to avoid display
list collisions when processing the background image of a table.
Diffstat (limited to 'layout/tables')
-rw-r--r-- | layout/tables/nsTableFrame.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/layout/tables/nsTableFrame.cpp b/layout/tables/nsTableFrame.cpp index 06a05292f..890d050fd 100644 --- a/layout/tables/nsTableFrame.cpp +++ b/layout/tables/nsTableFrame.cpp @@ -1194,13 +1194,14 @@ PaintRowBackground(nsTableRowFrame* aRow, const nsDisplayListSet& aLists, const nsPoint& aOffset = nsPoint()) { - // Compute background rect by iterating all cell frame. + // Compute background rect by iterating over all cell frames. for (nsTableCellFrame* cell = aRow->GetFirstCell(); cell; cell = cell->GetNextCell()) { auto cellRect = cell->GetRectRelativeToSelf() + cell->GetNormalPosition() + aOffset; nsDisplayBackgroundImage::AppendBackgroundItemsToTop(aBuilder, aFrame, cellRect, aLists.BorderBackground(), true, nullptr, - aFrame->GetRectRelativeToSelf()); + aFrame->GetRectRelativeToSelf(), + cell); } } @@ -1232,7 +1233,8 @@ PaintRowGroupBackgroundByColIdx(nsTableRowGroupFrame* aRowGroup, nsDisplayBackgroundImage::AppendBackgroundItemsToTop(aBuilder, aFrame, cellRect, aLists.BorderBackground(), true, nullptr, - aFrame->GetRectRelativeToSelf()); + aFrame->GetRectRelativeToSelf(), + cell); } } } |