Bug 717521 - Limit pre-rendering to max 4096 x 4096 pixels (post-transform) to avoid hang. r=tnikkel

This commit is contained in:
Mats Palmgren 2012-03-01 13:34:20 +01:00
parent 4055535431
commit 79c30ea840

View File

@ -2602,7 +2602,14 @@ nsDisplayTransform::ShouldPrerenderTransformedContent(nsDisplayListBuilder* aBui
// reference frame size (~viewport), allowing a 1/8th fuzz factor
// for shadows, borders, etc.
refSize += nsSize(refSize.width / 8, refSize.height / 8);
return aFrame->GetVisualOverflowRectRelativeToSelf().Size() <= refSize;
if (aFrame->GetVisualOverflowRectRelativeToSelf().Size() <= refSize) {
// Bug 717521 - pre-render max 4096 x 4096 device pixels.
nscoord max = aFrame->PresContext()->DevPixelsToAppUnits(4096);
nsRect visual = aFrame->GetVisualOverflowRect();
if (visual.width <= max && visual.height <= max) {
return true;
}
}
}
return false;
}