Backout 467595d39929 (
bug 1118328) for build bustage on a CLOSED TREE
--- a/gfx/thebes/gfxPlatform.cpp
+++ b/gfx/thebes/gfxPlatform.cpp
@@ -1177,22 +1177,26 @@ gfxPlatform::CreateOffscreenContentDrawT
return CreateDrawTargetForBackend(mContentBackend, aSize, aFormat);
}
TemporaryRef<DrawTarget>
gfxPlatform::CreateDrawTargetForData(unsigned char* aData, const IntSize& aSize, int32_t aStride, SurfaceFormat aFormat)
{
NS_ASSERTION(mContentBackend != BackendType::NONE, "No backend.");
- BackendType backendType = Factory::DoesBackendSupportDataDrawtarget(mContentBackend) ? mContentBackend : BackendType::CAIRO;
-
- RefPtr<DrawTarget> dt = Factory::CreateDrawTargetForData(backendType,
+ RefPtr<DrawTarget> dt = Factory::CreateDrawTargetForData(mContentBackend,
aData, aSize,
aStride, aFormat);
-
+ if (!dt) {
+ // Factory::CreateDrawTargetForData does not support mContentBackend; retry
+ // with BackendType::CAIRO:
+ dt = Factory::CreateDrawTargetForData(BackendType::CAIRO,
+ aData, aSize,
+ aStride, aFormat);
+ }
return dt.forget();
}
/* static */ BackendType
gfxPlatform::BackendTypeForName(const nsCString& aName)
{
if (aName.EqualsLiteral("cairo"))
return BackendType::CAIRO;