summaryrefslogtreecommitdiffstats
path: root/layout/tables
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-11-03 15:12:34 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-11-03 15:12:34 +0100
commitdb98e3efff6087b690805358e6f4fda118ec9627 (patch)
tree6c0478110100bdf85f1fa088a86b206905a25f96 /layout/tables
parent0de40040f006c493feeff7d688c169b904b8a22e (diff)
downloadUXP-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.cpp8
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);
}
}
}