Bug 648484, part D: Allow PuppetWidgets to create D3D10 layer managers (for the time being). r=roc

This commit is contained in:
Chris Jones
2011-08-09 12:38:27 -07:00
parent f239684a91
commit 79a7eb85e2
3 changed files with 37 additions and 27 deletions

View File

@@ -728,29 +728,14 @@ RenderFrameParent::AllocPLayers(LayerManager::LayersBackend* aBackendType)
*aBackendType = LayerManager::LAYERS_NONE;
return nsnull;
}
LayerManager* lm = GetLayerManager();
switch (*aBackendType = lm->GetBackendType()) {
case LayerManager::LAYERS_BASIC: {
BasicShadowLayerManager* bslm = static_cast<BasicShadowLayerManager*>(lm);
return new ShadowLayersParent(bslm);
}
case LayerManager::LAYERS_OPENGL: {
LayerManagerOGL* lmo = static_cast<LayerManagerOGL*>(lm);
return new ShadowLayersParent(lmo);
}
#ifdef MOZ_ENABLE_D3D9_LAYER
case LayerManager::LAYERS_D3D9: {
LayerManagerD3D9* lmd3d9 = static_cast<LayerManagerD3D9*>(lm);
return new ShadowLayersParent(lmd3d9);
}
#endif //MOZ_ENABLE_D3D9_LAYER
default: {
NS_WARNING("shadow layers no sprechen D3D backend yet");
*aBackendType = LayerManager::LAYERS_NONE;
return nsnull;
}
ShadowLayerManager* slm = lm->AsShadowManager();
if (!slm) {
NS_WARNING("shadow layers no sprechen D3D backend yet");
return nsnull;
}
*aBackendType = lm->GetBackendType();
return new ShadowLayersParent(slm);
}
bool