Issue #1308 - Create nsDisplayTableBackgroundColor to avoid display

list collisions when processing the background color of a table.

This is effectively #146 Part 3c to go along with the other 2 there.

This resolves #1308.
This commit is contained in:
wolfbeast 2019-12-01 06:20:05 +01:00 committed by Roy Tam
commit 75d291480c
2 changed files with 37 additions and 3 deletions

View file

@ -2703,9 +2703,22 @@ nsDisplayBackgroundImage::AppendBackgroundItemsToTop(nsDisplayListBuilder* aBuil
bg->BottomLayer(), bgRect,
useWillPaintBorderOptimization);
}
bgItemList.AppendNewToTop(
new (aBuilder) nsDisplayBackgroundColor(aBuilder, aFrame, bgRect, bg,
drawBackgroundColor ? color : NS_RGBA(0, 0, 0, 0)));
if (aSecondaryReferenceFrame) {
bgItemList.AppendNewToTop(
new (aBuilder) nsDisplayTableBackgroundColor(aBuilder,
aSecondaryReferenceFrame,
bgRect,
bg,
drawBackgroundColor ? color : NS_RGBA(0, 0, 0, 0),
aFrame));
} else {
bgItemList.AppendNewToTop(
new (aBuilder) nsDisplayBackgroundColor(aBuilder,
aFrame,
bgRect,
bg,
drawBackgroundColor ? color : NS_RGBA(0, 0, 0, 0)));
}
}
if (isThemed) {