зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1258843 - Don't build SVG display items if their visibility is hidden. r=dholbert
--HG-- extra : rebase_source : 733e628c70e6a0d73d4bb722c587b65752cef9bc
This commit is contained in:
Родитель
d376f9f82e
Коммит
855dbe76b2
|
@ -3250,6 +3250,10 @@ SVGTextFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
|||
// painting.
|
||||
return;
|
||||
}
|
||||
if (!IsVisibleForPainting(aBuilder) &&
|
||||
aBuilder->IsForPainting()) {
|
||||
return;
|
||||
}
|
||||
aLists.Content()->AppendNewToTop(
|
||||
new (aBuilder) nsDisplaySVGText(aBuilder, this));
|
||||
}
|
||||
|
|
|
@ -746,7 +746,7 @@ nsSVGOuterSVGFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
|||
nsDisplayListSet set(contentList, contentList, contentList,
|
||||
contentList, contentList, contentList);
|
||||
BuildDisplayListForNonBlockChildren(aBuilder, aDirtyRect, set);
|
||||
} else {
|
||||
} else if (IsVisibleForPainting(aBuilder) || !aBuilder->IsForPainting()) {
|
||||
aLists.Content()->AppendNewToTop(
|
||||
new (aBuilder) nsDisplayOuterSVG(aBuilder, this));
|
||||
}
|
||||
|
|
|
@ -231,7 +231,8 @@ nsSVGPathGeometryFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
|
|||
const nsRect& aDirtyRect,
|
||||
const nsDisplayListSet& aLists)
|
||||
{
|
||||
if (!static_cast<const nsSVGElement*>(mContent)->HasValidDimensions()) {
|
||||
if (!static_cast<const nsSVGElement*>(mContent)->HasValidDimensions() ||
|
||||
(!IsVisibleForPainting(aBuilder) && aBuilder->IsForPainting())) {
|
||||
return;
|
||||
}
|
||||
aLists.Content()->AppendNewToTop(
|
||||
|
|
Загрузка…
Ссылка в новой задаче