Bug 1276630 - initialize member variables |frame|, |layer| and removed default-initialization for |paintFlags| and |compositionOp|. r?dbaron draft
authorAndi-Bogdan Postelnicu <bogdan.postelnicu@softvision.ro>
Tue, 31 May 2016 11:07:00 +0300
changeset 373165 a4371a434dc733b8e844d612a9a4584f85b35660
parent 372838 cad514ad49c199e823a92e8c8d27e16c22c3cac7
child 522337 c2019b7c52bea078c658a28fd61b91949e86f4c0
push id19692
push userBogdan.Postelnicu@softvision.ro
push dateTue, 31 May 2016 08:07:55 +0000
reviewersdbaron
bugs1276630
milestone49.0a1
Bug 1276630 - initialize member variables |frame|, |layer| and removed default-initialization for |paintFlags| and |compositionOp|. r?dbaron MozReview-Commit-ID: 1T1FHQp3S8t
layout/base/nsCSSRendering.cpp
layout/base/nsCSSRendering.h
--- 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