Bug 900133 - Make sure we always call OnTransaction when we might recreate textures. r=nical
☠☠ backed out by 5695cebb5c12 ☠ ☠
authorMatt Woodrow <mwoodrow@mozilla.com>
Fri, 02 Aug 2013 22:59:56 -0400
changeset 153568 036780fccc893db9b35d08b78b6621ceb00d736d
parent 153567 b8db58f5e209bc5cee999f827c07fff31cc3875a
child 153569 49632bc14e27b72322a2f62453bd27cf1f5de7c5
push id2859
push userakeybl@mozilla.com
push dateMon, 16 Sep 2013 19:14:59 +0000
treeherdermozilla-beta@87d3c51cd2bf [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnical
bugs900133
milestone25.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 900133 - Make sure we always call OnTransaction when we might recreate textures. r=nical
gfx/layers/client/ClientCanvasLayer.cpp
gfx/layers/client/ClientImageLayer.cpp
--- a/gfx/layers/client/ClientCanvasLayer.cpp
+++ b/gfx/layers/client/ClientCanvasLayer.cpp
@@ -107,16 +107,17 @@ ClientCanvasLayer::RenderLayer()
   
   FirePreTransactionCallback();
   mCanvasClient->Update(gfx::IntSize(mBounds.width, mBounds.height), this);
 
   FireDidTransactionCallback();
 
   ClientManager()->Hold(this);
   mCanvasClient->Updated();
+  mCanvasClient->OnTransaction();
 }
 
 already_AddRefed<CanvasLayer>
 ClientLayerManager::CreateCanvasLayer()
 {
   NS_ASSERTION(InConstruction(), "Only allowed in construction phase");
   nsRefPtr<ClientCanvasLayer> layer =
     new ClientCanvasLayer(this);
--- a/gfx/layers/client/ClientImageLayer.cpp
+++ b/gfx/layers/client/ClientImageLayer.cpp
@@ -140,16 +140,19 @@ ClientImageLayer::RenderLayer()
     if (HasShadow() && !mContainer->IsAsync()) {
       mImageClient->Connect();
       ClientManager()->Attach(mImageClient, this);
     }
     if (!mImageClient->UpdateImage(mContainer, GetContentFlags())) {
       return;
     }
   }
+  if (mImageClient) {
+    mImageClient->OnTransaction();
+  }
   ClientManager()->Hold(this);
 }
 
 already_AddRefed<ImageLayer>
 ClientLayerManager::CreateImageLayer()
 {
   NS_ASSERTION(InConstruction(), "Only allowed in construction phase");
   nsRefPtr<ClientImageLayer> layer =