Bug 1341703 - Part 3. Change the latest parameter of CreateBorderImageRenderer from 'DrawResult *' to 'DrawResult &'.
MozReview-Commit-ID: FAb6f4sQ3Pm
--- a/layout/painting/nsCSSRendering.cpp
+++ b/layout/painting/nsCSSRendering.cpp
@@ -826,17 +826,17 @@ nsCSSRendering::PaintBorderWithStyleBord
uint32_t irFlags = 0;
if (aFlags & PaintBorderFlags::SYNC_DECODE_IMAGES) {
irFlags |= nsImageRenderer::FLAG_SYNC_DECODE_IMAGES;
}
Maybe<nsCSSBorderImageRenderer> renderer =
nsCSSBorderImageRenderer::CreateBorderImageRenderer(aPresContext, aForFrame, aBorderArea,
aStyleBorder, aDirtyRect, aSkipSides,
- irFlags, &result);
+ irFlags, result);
if (!renderer) {
return result;
}
return renderer->DrawBorderImage(aPresContext, aRenderingContext,
aForFrame, aDirtyRect);
}
--- a/layout/painting/nsCSSRenderingBorders.cpp
+++ b/layout/painting/nsCSSRenderingBorders.cpp
@@ -3578,44 +3578,43 @@ nsCSSBorderRenderer::CreateWebRenderComm
/* static */Maybe<nsCSSBorderImageRenderer>
nsCSSBorderImageRenderer::CreateBorderImageRenderer(nsPresContext* aPresContext,
nsIFrame* aForFrame,
const nsRect& aBorderArea,
const nsStyleBorder& aStyleBorder,
const nsRect& aDirtyRect,
Sides aSkipSides,
uint32_t aFlags,
- DrawResult* aDrawResult)
+ DrawResult& aDrawResult)
{
NS_PRECONDITION(aStyleBorder.IsBorderImageLoaded(),
"drawing border image that isn't successfully loaded");
- MOZ_ASSERT(aDrawResult);
if (aDirtyRect.IsEmpty()) {
- *aDrawResult = DrawResult::SUCCESS;
+ aDrawResult = DrawResult::SUCCESS;
return Nothing();
}
nsImageRenderer imgRenderer(aForFrame, &aStyleBorder.mBorderImageSource, aFlags);
if (!imgRenderer.PrepareImage()) {
- *aDrawResult = imgRenderer.PrepareResult();
+ aDrawResult = imgRenderer.PrepareResult();
return Nothing();
}
// Ensure we get invalidated for loads and animations of the image.
// We need to do this here because this might be the only code that
// knows about the association of the style data with the frame.
// XXX We shouldn't really... since if anybody is passing in a
// different style, they'll potentially have the wrong size for the
// border too.
aForFrame->AssociateImage(aStyleBorder.mBorderImageSource, aPresContext);
nsCSSBorderImageRenderer renderer(aForFrame, aBorderArea,
aStyleBorder, aSkipSides, imgRenderer);
- *aDrawResult = DrawResult::SUCCESS;
+ aDrawResult = DrawResult::SUCCESS;
return Some(renderer);
}
DrawResult
nsCSSBorderImageRenderer::DrawBorderImage(nsPresContext* aPresContext,
nsRenderingContext& aRenderingContext,
nsIFrame* aForFrame,
const nsRect& aDirtyRect)
--- a/layout/painting/nsCSSRenderingBorders.h
+++ b/layout/painting/nsCSSRenderingBorders.h
@@ -286,17 +286,17 @@ public:
static mozilla::Maybe<nsCSSBorderImageRenderer>
CreateBorderImageRenderer(nsPresContext* aPresContext,
nsIFrame* aForFrame,
const nsRect& aBorderArea,
const nsStyleBorder& aStyleBorder,
const nsRect& aDirtyRect,
nsIFrame::Sides aSkipSides,
uint32_t aFlags,
- mozilla::image::DrawResult* aDrawResult);
+ mozilla::image::DrawResult& aDrawResult);
mozilla::image::DrawResult
DrawBorderImage(nsPresContext* aPresContext,
nsRenderingContext& aRenderingContext,
nsIFrame* aForFrame,
const nsRect& aDirtyRect);
nsCSSBorderImageRenderer(const nsCSSBorderImageRenderer& aRhs);
--- a/layout/painting/nsDisplayList.cpp
+++ b/layout/painting/nsDisplayList.cpp
@@ -4640,26 +4640,26 @@ nsDisplayBorder::GetLayerState(nsDisplay
return LAYER_NONE;
}
uint32_t flags = 0;
if (aBuilder->ShouldSyncDecodeImages()) {
flags |= nsImageRenderer::FLAG_SYNC_DECODE_IMAGES;
}
- image::DrawResult result;
+ image::DrawResult result = DrawResult::SUCCESS;
mBorderImageRenderer =
nsCSSBorderImageRenderer::CreateBorderImageRenderer(mFrame->PresContext(),
mFrame,
nsRect(offset, mFrame->GetSize()),
*(mFrame->StyleContext()->StyleBorder()),
mVisibleRect,
mFrame->GetSkipSides(),
flags,
- &result);
+ result);
if (!mBorderImageRenderer) {
return LAYER_NONE;
}
if (!mBorderImageRenderer->mImageRenderer.IsImageContainerAvailable(aManager, flags)) {
return LAYER_NONE;
}