Bug 986359 part 3 - Add AutoResolveRefLayers before calling TransformShadowTree; r=mattwoodrow
authorBrian Birtles <birtles@gmail.com>
Sat, 22 Mar 2014 05:59:57 +0800
changeset 193366 479c13ebde1424c8c1e7056cc49112919cfb367f
parent 193365 ede022840eedaacd866654cab76ab6cc9c81103c
child 193367 a380efaa88d564ad6b36631ab7835c8ae956532e
push id3624
push userasasaki@mozilla.com
push dateMon, 09 Jun 2014 21:49:01 +0000
treeherdermozilla-beta@b1a5da15899a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmattwoodrow
bugs986359
milestone31.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 986359 part 3 - Add AutoResolveRefLayers before calling TransformShadowTree; r=mattwoodrow
gfx/layers/ipc/CompositorParent.cpp
--- a/gfx/layers/ipc/CompositorParent.cpp
+++ b/gfx/layers/ipc/CompositorParent.cpp
@@ -756,16 +756,17 @@ CompositorParent::ShadowLayersUpdated(La
     ScheduleComposition();
     // When testing we synchronously update the shadow tree with the animated
     // values to avoid race conditions when calling GetAnimationTransform etc.
     // (since the above SetShadowProperties will remove animation effects).
     // However, we only do this update when a composite operation is already
     // scheduled in order to better match the behavior under regular sampling
     // conditions.
     if (mIsTesting && root && mCurrentCompositeTask) {
+      AutoResolveRefLayers resolve(mCompositionManager);
       bool requestNextFrame =
         mCompositionManager->TransformShadowTree(mTestTime);
       if (!requestNextFrame) {
         CancelCurrentCompositeTask();
       }
     }
   }
   mLayerManager->NotifyShadowTreeTransaction();
@@ -785,16 +786,17 @@ CompositorParent::SetTestSampleTime(Laye
     return false;
   }
 
   mIsTesting = true;
   mTestTime = aTime;
 
   // Update but only if we were already scheduled to animate
   if (mCompositionManager && mCurrentCompositeTask) {
+    AutoResolveRefLayers resolve(mCompositionManager);
     bool requestNextFrame = mCompositionManager->TransformShadowTree(aTime);
     if (!requestNextFrame) {
       CancelCurrentCompositeTask();
     }
   }
 
   return true;
 }