Backed out changeset b8598fc84f34 (bug 1351426) for memory leaks
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Mon, 10 Apr 2017 15:16:06 +0200
changeset 560202 1b0e449993d4bc7391cdd2c39452ed0834cdfa24
parent 560201 e27bd932966daccb4f76649c46c5fee3c72db99d
child 560203 ee9bd670aadfa43dea7ad6030a94886eee730479
push id53365
push userjichen@mozilla.com
push dateTue, 11 Apr 2017 08:35:12 +0000
bugs1351426
milestone55.0a1
backs outb8598fc84f34d17a5f9dc52f1d7c6b0b9fd91a53
Backed out changeset b8598fc84f34 (bug 1351426) for memory leaks
gfx/layers/composite/ContainerLayerComposite.cpp
--- a/gfx/layers/composite/ContainerLayerComposite.cpp
+++ b/gfx/layers/composite/ContainerLayerComposite.cpp
@@ -157,18 +157,18 @@ static gfx::IntRect ContainerVisibleRect
 }
 
 
 /* all of the per-layer prepared data we need to maintain */
 struct PreparedLayer
 {
   PreparedLayer(LayerComposite *aLayer,
                 RenderTargetIntRect aClipRect,
-                Maybe<gfx::Polygon>&& aGeometry)
-  : mLayer(aLayer), mClipRect(aClipRect), mGeometry(Move(aGeometry)) {}
+                const Maybe<gfx::Polygon>& aGeometry)
+  : mLayer(aLayer), mClipRect(aClipRect), mGeometry(aGeometry) {}
 
   LayerComposite* mLayer;
   RenderTargetIntRect mClipRect;
   Maybe<Polygon> mGeometry;
 };
 
 /* all of the prepared data that we need in RenderLayer() */
 struct PreparedData
@@ -187,20 +187,20 @@ ContainerPrepare(ContainerT* aContainer,
   aContainer->mPrepared = MakeUnique<PreparedData>();
   aContainer->mPrepared->mNeedsSurfaceCopy = false;
 
   const ContainerLayerComposite::SortMode sortMode =
     aManager->GetCompositor()->SupportsLayerGeometry()
     ? ContainerLayerComposite::SortMode::WITH_GEOMETRY
     : ContainerLayerComposite::SortMode::WITHOUT_GEOMETRY;
 
-  nsTArray<LayerPolygon> polygons =
+  const nsTArray<LayerPolygon> polygons =
     aContainer->SortChildrenBy3DZOrder(sortMode);
 
-  for (LayerPolygon& layer : polygons) {
+  for (const LayerPolygon& layer : polygons) {
     LayerComposite* layerToRender =
       static_cast<LayerComposite*>(layer.layer->ImplData());
 
     RenderTargetIntRect clipRect =
       layerToRender->GetLayer()->CalculateScissorRect(aClipRect);
 
     if (layerToRender->GetLayer()->IsBackfaceHidden()) {
       continue;
@@ -219,18 +219,17 @@ ContainerPrepare(ContainerT* aContainer,
         CULLING_LOG("Sublayer %p has an empty world clip rect\n", layerToRender->GetLayer());
         continue;
       }
     }
 
     CULLING_LOG("Preparing sublayer %p\n", layerToRender->GetLayer());
 
     layerToRender->Prepare(clipRect);
-    aContainer->mPrepared->mLayers.AppendElement(PreparedLayer(layerToRender, clipRect,
-                                                               Move(layer.geometry)));
+    aContainer->mPrepared->mLayers.AppendElement(PreparedLayer(layerToRender, clipRect, layer.geometry));
   }
 
   CULLING_LOG("Preparing container layer %p\n", aContainer->GetLayer());
 
   /**
    * Setup our temporary surface for rendering the contents of this container.
    */