Bug 1417306 - Fix leaking pipelines of Tabs r=nical
authorsotaro <sotaro.ikeda.g@gmail.com>
Thu, 16 Nov 2017 09:47:55 +0900
changeset 436602 393eddd4e496e2f067eab91262359c5aa959a9e5
parent 436601 5b1914b0d83e37f6c513a50451fb7d227be52b6c
child 436603 609829a7c75e3bd6a4fa3e46e1f384487fb5cb63
push id117
push userfmarier@mozilla.com
push dateTue, 28 Nov 2017 20:17:16 +0000
reviewersnical
bugs1417306
milestone59.0a1
Bug 1417306 - Fix leaking pipelines of Tabs r=nical
gfx/layers/wr/WebRenderBridgeParent.cpp
--- a/gfx/layers/wr/WebRenderBridgeParent.cpp
+++ b/gfx/layers/wr/WebRenderBridgeParent.cpp
@@ -1378,16 +1378,17 @@ WebRenderBridgeParent::ClearResources()
     wr::PipelineId pipelineId = wr::AsPipelineId(iter.Key());
     RefPtr<WebRenderImageHost> host = iter.Data();
     host->ClearWrBridge();
     mAsyncImageManager->RemoveAsyncImagePipeline(pipelineId);
   }
   mAsyncCompositables.Clear();
 
   mAsyncImageManager->RemovePipeline(mPipelineId, wr::NewEpoch(wrEpoch));
+  mApi->RemovePipeline(mPipelineId);
 
   for (std::unordered_set<uint64_t>::iterator iter = mActiveAnimations.begin(); iter != mActiveAnimations.end(); iter++) {
     mAnimStorage->ClearById(*iter);
   }
   mActiveAnimations.clear();
 
   if (mWidget) {
     mCompositorScheduler->Destroy();