Bug 1276630 - initialize member variables |frame|, |layer| and removed default-initialization for |paintFlags| and |compositionOp|. r?dbaron
MozReview-Commit-ID: 1T1FHQp3S8t
--- a/layout/base/nsCSSRendering.cpp
+++ b/layout/base/nsCSSRendering.cpp
@@ -1647,21 +1647,18 @@ nsCSSRendering::PaintBGParams::ForAllLay
nsRenderingContext& aRenderingCtx,
const nsRect& aDirtyRect,
const nsRect& aBorderArea,
nsIFrame *aFrame,
uint32_t aPaintFlags)
{
MOZ_ASSERT(aFrame);
- PaintBGParams result(aPresCtx, aRenderingCtx, aDirtyRect, aBorderArea);
-
- result.frame = aFrame;
- result.paintFlags = aPaintFlags;
- result.layer = -1;
+ PaintBGParams result(aPresCtx, aRenderingCtx, aDirtyRect, aBorderArea, aFrame,
+ aPaintFlags, -1, CompositionOp::OP_OVER);
return result;
}
/* static */
nsCSSRendering::PaintBGParams
nsCSSRendering::PaintBGParams::ForSingleLayer(nsPresContext& aPresCtx,
nsRenderingContext& aRenderingCtx,
@@ -1669,23 +1666,18 @@ nsCSSRendering::PaintBGParams::ForSingle
const nsRect& aBorderArea,
nsIFrame *aFrame,
uint32_t aPaintFlags,
int32_t aLayer,
CompositionOp aCompositionOp)
{
MOZ_ASSERT(aFrame && (aLayer != -1));
- PaintBGParams result(aPresCtx, aRenderingCtx, aDirtyRect, aBorderArea);
-
- result.frame = aFrame;
- result.paintFlags = aPaintFlags;
-
- result.layer = aLayer;
- result.compositionOp = aCompositionOp;
+ PaintBGParams result(aPresCtx, aRenderingCtx, aDirtyRect, aBorderArea, aFrame,
+ aPaintFlags, aLayer, aCompositionOp);
return result;
}
DrawResult
nsCSSRendering::PaintBackground(const PaintBGParams& aParams)
{
PROFILER_LABEL("nsCSSRendering", "PaintBackground",
--- a/layout/base/nsCSSRendering.h
+++ b/layout/base/nsCSSRendering.h
@@ -598,22 +598,22 @@ struct nsCSSRendering {
};
struct PaintBGParams {
nsPresContext& presCtx;
nsRenderingContext& renderingCtx;
nsRect dirtyRect;
nsRect borderArea;
nsIFrame* frame;
- uint32_t paintFlags = 0;
+ uint32_t paintFlags;
nsRect* bgClipRect = nullptr;
int32_t layer; // -1 means painting all layers; other
// value means painting one specific
// layer only.
- CompositionOp compositionOp = CompositionOp::OP_OVER;
+ CompositionOp compositionOp;
static PaintBGParams ForAllLayers(nsPresContext& aPresCtx,
nsRenderingContext& aRenderingCtx,
const nsRect& aDirtyRect,
const nsRect& aBorderArea,
nsIFrame *aFrame,
uint32_t aPaintFlags);
static PaintBGParams ForSingleLayer(nsPresContext& aPresCtx,
@@ -624,21 +624,29 @@ struct nsCSSRendering {
uint32_t aPaintFlags,
int32_t aLayer,
CompositionOp aCompositionOp = CompositionOp::OP_OVER);
private:
PaintBGParams(nsPresContext& aPresCtx,
nsRenderingContext& aRenderingCtx,
const nsRect& aDirtyRect,
- const nsRect& aBorderArea)
+ const nsRect& aBorderArea,
+ nsIFrame* aFrame,
+ uint32_t aPaintFlags,
+ int32_t aLayer,
+ CompositionOp aCompositionOp)
: presCtx(aPresCtx),
renderingCtx(aRenderingCtx),
dirtyRect(aDirtyRect),
- borderArea(aBorderArea) { }
+ borderArea(aBorderArea),
+ frame(aFrame),
+ paintFlags(aPaintFlags),
+ layer(aLayer),
+ compositionOp(aCompositionOp) {}
};
static DrawResult PaintBackground(const PaintBGParams& aParams);
/**
* Same as |PaintBackground|, except using the provided style structs.
* This short-circuits the code that ensures that the root element's