Bug 799956 - Mark BasicLayerManagers that don't retain content as supporting component alpha layers. r=roc
authorMatt Woodrow <mwoodrow@mozilla.com>
Mon, 15 Oct 2012 17:53:37 +1300
changeset 110382 65652fcb58dcb1417f6cefc7191ce54a6676639d
parent 110381 1bca31fd0e58c29bfdfb713321f55a4078ae489b
child 110383 9edabc0ddc99d86d18378cdccf9c7fc0bb3b34e4
push id93
push usernmatsakis@mozilla.com
push dateWed, 31 Oct 2012 21:26:57 +0000
reviewersroc
bugs799956
milestone19.0a1
Bug 799956 - Mark BasicLayerManagers that don't retain content as supporting component alpha layers. r=roc
gfx/layers/basic/BasicLayers.h
--- a/gfx/layers/basic/BasicLayers.h
+++ b/gfx/layers/basic/BasicLayers.h
@@ -88,17 +88,17 @@ public:
   virtual bool IsWidgetLayerManager() { return mWidget != nullptr; }
 
   virtual void BeginTransaction();
   virtual void BeginTransactionWithTarget(gfxContext* aTarget);
   virtual bool EndEmptyTransaction(EndTransactionFlags aFlags = END_DEFAULT);
   virtual void EndTransaction(DrawThebesLayerCallback aCallback,
                               void* aCallbackData,
                               EndTransactionFlags aFlags = END_DEFAULT);
-  virtual bool AreComponentAlphaLayersEnabled() { return HasShadowManager(); }
+  virtual bool AreComponentAlphaLayersEnabled() { return HasShadowManager() || !IsWidgetLayerManager(); }
 
   void AbortTransaction();
 
   virtual void SetRoot(Layer* aLayer);
 
   virtual already_AddRefed<ThebesLayer> CreateThebesLayer();
   virtual already_AddRefed<ContainerLayer> CreateContainerLayer();
   virtual already_AddRefed<ImageLayer> CreateImageLayer();