Bug 1350835 - Part 1. Pass sync decode flag to nsLayoutUtils::PaintFrame.
MozReview-Commit-ID: 7IBQMwQgeTn
--- a/layout/svg/nsSVGForeignObjectFrame.cpp
+++ b/layout/svg/nsSVGForeignObjectFrame.cpp
@@ -275,21 +275,25 @@ nsSVGForeignObjectFrame::PaintSVG(gfxCon
aContext.Multiply(canvasTMForChildren);
using PaintFrameFlags = nsLayoutUtils::PaintFrameFlags;
PaintFrameFlags flags = PaintFrameFlags::PAINT_IN_TRANSFORM;
if (SVGAutoRenderState::IsPaintingToWindow(aContext.GetDrawTarget())) {
flags |= PaintFrameFlags::PAINT_TO_WINDOW;
}
+ if (aFlags & imgIContainer::FLAG_SYNC_DECODE) {
+ flags |= PaintFrameFlags::PAINT_SYNC_DECODE_IMAGES;
+ }
nsRenderingContext rendCtx(&aContext);
- nsresult rv = nsLayoutUtils::PaintFrame(&rendCtx, kid, nsRegion(kidDirtyRect),
- NS_RGBA(0,0,0,0),
- nsDisplayListBuilderMode::PAINTING,
- flags);
+ nsresult rv = nsLayoutUtils::PaintFrame(&rendCtx, kid,
+ nsRegion(kidDirtyRect),
+ NS_RGBA(0,0,0,0),
+ nsDisplayListBuilderMode::PAINTING,
+ flags);
aContext.Restore();
return NS_FAILED(rv) ? DrawResult::BAD_ARGS : DrawResult::SUCCESS;
}
nsIFrame*
nsSVGForeignObjectFrame::GetFrameForPoint(const gfxPoint& aPoint)