Bug 739679 - Part 3: BasicTiledThebesLayer. r=mwoodrow,roc

This commit is contained in:
Benoit Girard
2012-04-16 19:02:45 -04:00
parent b3f494f3e8
commit 81014f7423
4 changed files with 457 additions and 4 deletions

View File

@@ -49,6 +49,7 @@
#include "BasicLayers.h"
#include "BasicImplData.h"
#include "BasicTiledThebesLayer.h"
#include "ImageLayers.h"
#include "RenderTrace.h"
@@ -3126,10 +3127,23 @@ already_AddRefed<ThebesLayer>
BasicShadowLayerManager::CreateThebesLayer()
{
NS_ASSERTION(InConstruction(), "Only allowed in construction phase");
nsRefPtr<BasicShadowableThebesLayer> layer =
new BasicShadowableThebesLayer(this);
MAYBE_CREATE_SHADOW(Thebes);
return layer.forget();
#ifdef FORCE_BASICTILEDTHEBESLAYER
if (HasShadowManager()) {
// BasicTiledThebesLayer doesn't support main
// thread compositing so only return this layer
// type if we have a shadow manager.
nsRefPtr<BasicTiledThebesLayer> layer =
new BasicTiledThebesLayer(this);
MAYBE_CREATE_SHADOW(Thebes);
return layer.forget();
} else
#endif
{
nsRefPtr<BasicShadowableThebesLayer> layer =
new BasicShadowableThebesLayer(this);
MAYBE_CREATE_SHADOW(Thebes);
return layer.forget();
}
}
already_AddRefed<ContainerLayer>