diff --git a/gfx/layers/wr/StackingContextHelper.cpp b/gfx/layers/wr/StackingContextHelper.cpp index 78c663dea082..fb900957ef67 100644 --- a/gfx/layers/wr/StackingContextHelper.cpp +++ b/gfx/layers/wr/StackingContextHelper.cpp @@ -92,16 +92,16 @@ StackingContextHelper::StackingContextHelper(const StackingContextHelper& aParen mTransform = *aTransformPtr; } + // Apply the inherited scale from parent + mTransform.PostScale(aParentSC.mXScale, aParentSC.mYScale, 1.0); + mTransform.NudgeToIntegersFixedEpsilon(); + bool is2d = !aTransformPtr || (aTransformPtr->Is2D() && !aPerspectivePtr); if (is2d) { nsRect itemBounds = aDisplayList->GetClippedBoundsWithRespectToASR(aDisplayListBuilder, aItem->GetActiveScrolledRoot()); nsRect childrenVisible = aItem->GetVisibleRectForChildren(); visibleRect = itemBounds.Intersect(childrenVisible); - // Apply the inherited scale from parent - mTransform.PostScale(aParentSC.mXScale, aParentSC.mYScale, 1.0); - mTransform.NudgeToIntegersFixedEpsilon(); - gfx::Size scale = mTransform.As2D().ScaleFactors(true); // Restore the scale to default if the scale is too small