diff --git a/layout/painting/nsDisplayList.cpp b/layout/painting/nsDisplayList.cpp index dc9dfa54c611..2bf964d4e93e 100644 --- a/layout/painting/nsDisplayList.cpp +++ b/layout/painting/nsDisplayList.cpp @@ -6261,13 +6261,6 @@ nsDisplayTransform::ShouldPrerenderTransformedContent(nsDisplayListBuilder* aBui return NoPrerender; } - // If the incoming dirty rect already contains the entire overflow area, - // we are already rendering the entire content. - nsRect overflow = aFrame->GetVisualOverflowRectRelativeToSelf(); - if (aDirtyRect->Contains(overflow)) { - return FullPrerender; - } - float viewportRatioX = gfxPrefs::AnimationPrerenderViewportRatioLimitX(); float viewportRatioY = gfxPrefs::AnimationPrerenderViewportRatioLimitY(); uint32_t absoluteLimitX = gfxPrefs::AnimationPrerenderAbsoluteLimitX(); @@ -6282,6 +6275,7 @@ nsDisplayTransform::ShouldPrerenderTransformedContent(nsDisplayListBuilder* aBui aFrame->PresContext()->DevPixelsToAppUnits(absoluteLimitY)); nsSize maxSize = Min(relativeLimit, absoluteLimit); gfxSize scale = nsLayoutUtils::GetTransformToAncestorScale(aFrame); + nsRect overflow = aFrame->GetVisualOverflowRectRelativeToSelf(); nsSize frameSize = nsSize(overflow.Size().width * scale.width, overflow.Size().height * scale.height); if (frameSize <= maxSize) {