diff --git a/layout/painting/nsImageRenderer.cpp b/layout/painting/nsImageRenderer.cpp index 7ddc4f7e259272e7b905f44aff7316c1ba540c22..277a92e5d10e6a04b12373854ffe6791d562215e 100644 --- a/layout/painting/nsImageRenderer.cpp +++ b/layout/painting/nsImageRenderer.cpp @@ -95,7 +95,7 @@ static already_AddRefed GetSymbolicIconImage(nsAtom* aName, if (NS_WARN_IF(!XRE_IsParentProcess())) { return nullptr; } - const auto fg = aFrame->StyleText()->mColor.ToColor(); + const auto fg = aFrame->StyleText()->mColor.ToColor(aFrame); auto key = std::make_tuple(aName, aScale, fg); auto* cache = aFrame->GetOrCreateDeletableProperty(SymbolicImageCacheProp()); auto lookup = cache->Lookup(key); @@ -580,7 +580,7 @@ ImgDrawResult nsImageRenderer::Draw(nsPresContext* aPresContext, } case StyleImage::Tag::Gradient: { nsCSSGradientRenderer renderer = nsCSSGradientRenderer::Create( - aPresContext, mForFrame->Style(), *mGradientData, mSize); + aPresContext, mForFrame->Style(), mForFrame, *mGradientData, mSize); renderer.Paint(*ctx, aDest, aFill, aRepeatSize, aSrc, aDirtyRect, aOpacity); @@ -657,7 +657,7 @@ ImgDrawResult nsImageRenderer::BuildWebRenderDisplayItems( switch (mType) { case StyleImage::Tag::Gradient: { nsCSSGradientRenderer renderer = nsCSSGradientRenderer::Create( - aPresContext, mForFrame->Style(), *mGradientData, mSize); + aPresContext, mForFrame->Style(), mForFrame, *mGradientData, mSize); renderer.BuildWebRenderDisplayItems(aBuilder, aSc, aDest, aFill, aRepeatSize, aSrc, @@ -679,6 +679,8 @@ ImgDrawResult nsImageRenderer::BuildWebRenderDisplayItems( } SVGImageContext svgContext(Some(CSSSize::FromAppUnits(aDest.Size()))); + SVGImageContext::MaybeStoreZenBoosts(svgContext, + *mForFrame->PresContext()); Maybe region; const int32_t appUnitsPerDevPixel = aPresContext->AppUnitsPerDevPixel(); @@ -1098,7 +1100,7 @@ ImgDrawResult nsImageRenderer::DrawShapeImage(nsPresContext* aPresContext, if (mImage->IsGradient()) { nsCSSGradientRenderer renderer = nsCSSGradientRenderer::Create( - aPresContext, mForFrame->Style(), *mGradientData, mSize); + aPresContext, mForFrame->Style(), mForFrame, *mGradientData, mSize); nsRect dest(nsPoint(0, 0), mSize); renderer.Paint(aRenderingContext, dest, dest, mSize, CSSIntRect::FromAppUnitsRounded(dest), dest, 1.0);