From 70681911f9caa35b6d67cd1a0dfd808e8792d87e Mon Sep 17 00:00:00 2001 From: Robert O'Callahan Date: Fri, 7 Dec 2012 12:58:12 +1300 Subject: [PATCH] Bug 663776. Part 1: When determining whether the scale factors hav changed, we need to use GetBaseTransform for the old scale factors, because that's what stores the old transform that we computed scale factors from. r=mattwoodrow --- layout/base/FrameLayerBuilder.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/layout/base/FrameLayerBuilder.cpp b/layout/base/FrameLayerBuilder.cpp index 52122e712644..097a419ca3cf 100644 --- a/layout/base/FrameLayerBuilder.cpp +++ b/layout/base/FrameLayerBuilder.cpp @@ -2783,10 +2783,11 @@ ChooseScaleAndSetTransform(FrameLayerBuilder* aLayerBuilder, // or it was previously unscaled. bool clamp = true; gfxMatrix oldFrameTransform2d; - if (aLayer->GetTransform().Is2D(&oldFrameTransform2d)) { + if (aLayer->GetBaseTransform().Is2D(&oldFrameTransform2d)) { gfxSize oldScale = oldFrameTransform2d.ScaleFactors(true); - if (oldScale == scale || oldScale == gfxSize(1.0, 1.0)) + if (oldScale == scale || oldScale == gfxSize(1.0, 1.0)) { clamp = false; + } } if (clamp) { scale.width = gfxUtils::ClampToScaleFactor(scale.width);