Bug 453641. Make box-shadow work on tables and table parts. r+sr=roc

This commit is contained in:
Michael Ventnor 2008-12-03 14:20:21 +13:00
Родитель 5bfa5aac90
Коммит d826334eb6
2 изменённых файлов: 14 добавлений и 0 удалений

Просмотреть файл

@ -446,6 +446,12 @@ nsTableCellFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
currentItem->UpdateForFrameBackground(this);
}
if (GetStyleBorder()->mBoxShadow) {
nsDisplayItem* item = new (aBuilder) nsDisplayBoxShadow(this);
nsresult rv = aLists.BorderBackground()->AppendNewToTop(item);
NS_ENSURE_SUCCESS(rv, rv);
}
// display background if we need to.
if (aBuilder->IsForEventDelivery() ||
(((!tableFrame->IsBorderCollapse() || isRoot) &&

Просмотреть файл

@ -1383,6 +1383,14 @@ nsTableFrame::DisplayGenericTablePart(nsDisplayListBuilder* aBuilder,
NS_ASSERTION(currentItem, "No current table item!");
currentItem->UpdateForFrameBackground(aFrame);
// Paint the box-shadow for the table frames
if (aFrame->IsVisibleForPainting(aBuilder) &&
aFrame->GetStyleBorder()->mBoxShadow) {
nsDisplayItem* item = new (aBuilder) nsDisplayBoxShadow(aFrame);
nsresult rv = lists->BorderBackground()->AppendNewToTop(item);
NS_ENSURE_SUCCESS(rv, rv);
}
// Create dedicated background display items per-frame when we're
// handling events.
// XXX how to handle collapsed borders?