Bug 1143575. LayerManagerComposite can't get END_NO_COMPOSITE. r=mattwoodrow draft
authorRobert O'Callahan <robert@ocallahan.org>
Fri, 15 May 2015 18:33:20 +1200
changeset 275564 1c67c9e9a17806fdaf8b394e91964b377f728655
parent 275563 e60e5c72e0edcaccfe24dfd66ccfdbc2433a5bf3
child 275565 5e34aee5440a2989b1bf48d092fdc16de7aa2d05
push id3189
push userrocallahan@mozilla.com
push dateFri, 03 Jul 2015 11:12:01 +0000
reviewersmattwoodrow
bugs1143575
milestone42.0a1
Bug 1143575. LayerManagerComposite can't get END_NO_COMPOSITE. r=mattwoodrow
gfx/layers/composite/LayerManagerComposite.cpp
--- a/gfx/layers/composite/LayerManagerComposite.cpp
+++ b/gfx/layers/composite/LayerManagerComposite.cpp
@@ -264,16 +264,18 @@ LayerManagerComposite::EndEmptyTransacti
 
 void
 LayerManagerComposite::EndTransaction(DrawPaintedLayerCallback aCallback,
                                       void* aCallbackData,
                                       EndTransactionFlags aFlags)
 {
   NS_ASSERTION(mInTransaction, "Didn't call BeginTransaction?");
   NS_ASSERTION(!aCallback && !aCallbackData, "Not expecting callbacks here");
+  NS_ASSERTION(!(aFlags & END_NO_COMPOSITE),
+               "Shouldn't get END_NO_COMPOSITE here");
   mInTransaction = false;
 
   if (!mIsCompositorReady) {
     return;
   }
   mIsCompositorReady = false;
 
 #ifdef MOZ_LAYERS_HAVE_LOG
@@ -293,22 +295,16 @@ LayerManagerComposite::EndTransaction(Dr
     mClonedLayerTreeProperties = nullptr;
 
     mInvalidRegion.Or(mInvalidRegion, invalid);
   } else if (!mTarget) {
     mInvalidRegion.Or(mInvalidRegion, mRenderBounds);
   }
 
   if (mRoot && !(aFlags & END_NO_IMMEDIATE_REDRAW)) {
-    if (aFlags & END_NO_COMPOSITE) {
-      // Apply pending tree updates before recomputing effective
-      // properties.
-      mRoot->ApplyPendingUpdatesToSubtree();
-    }
-
     // The results of our drawing always go directly into a pixel buffer,
     // so we don't need to pass any global transform here.
     mRoot->ComputeEffectiveTransforms(gfx::Matrix4x4());
 
     nsIntRegion opaque;
     ApplyOcclusionCulling(mRoot, opaque);
 
     Render();