diff --git a/mozilla/layout/generic/nsContainerFrame.cpp b/mozilla/layout/generic/nsContainerFrame.cpp index f0b5e910ea2..fdd097de3aa 100644 --- a/mozilla/layout/generic/nsContainerFrame.cpp +++ b/mozilla/layout/generic/nsContainerFrame.cpp @@ -212,13 +212,12 @@ nsContainerFrame::PaintChild(nsIPresContext* aPresContext, // coordinate system. damageArea.x -= kidRect.x; damageArea.y -= kidRect.y; - aRenderingContext.PushState(); aRenderingContext.Translate(kidRect.x, kidRect.y); // Paint the kid aFrame->Paint(aPresContext, aRenderingContext, damageArea, aWhichLayer); - PRBool clipState; - aRenderingContext.PopState(clipState); + // don't use PushState and PopState, because they're slow + aRenderingContext.Translate(-kidRect.x, -kidRect.y); #ifdef NS_DEBUG // Draw a border around the child diff --git a/mozilla/layout/html/base/src/nsContainerFrame.cpp b/mozilla/layout/html/base/src/nsContainerFrame.cpp index f0b5e910ea2..fdd097de3aa 100644 --- a/mozilla/layout/html/base/src/nsContainerFrame.cpp +++ b/mozilla/layout/html/base/src/nsContainerFrame.cpp @@ -212,13 +212,12 @@ nsContainerFrame::PaintChild(nsIPresContext* aPresContext, // coordinate system. damageArea.x -= kidRect.x; damageArea.y -= kidRect.y; - aRenderingContext.PushState(); aRenderingContext.Translate(kidRect.x, kidRect.y); // Paint the kid aFrame->Paint(aPresContext, aRenderingContext, damageArea, aWhichLayer); - PRBool clipState; - aRenderingContext.PopState(clipState); + // don't use PushState and PopState, because they're slow + aRenderingContext.Translate(-kidRect.x, -kidRect.y); #ifdef NS_DEBUG // Draw a border around the child