diff --git a/dom/plugins/base/nsPluginInstanceOwner.cpp b/dom/plugins/base/nsPluginInstanceOwner.cpp index a2852bfd5163..b7651be1ad00 100644 --- a/dom/plugins/base/nsPluginInstanceOwner.cpp +++ b/dom/plugins/base/nsPluginInstanceOwner.cpp @@ -222,12 +222,14 @@ nsPluginInstanceOwner::GetImageContainer() container = LayerManager::CreateImageContainer(); - // Try to get it as an EGLImage first. - RefPtr img; - AttachToContainerAsSurfaceTexture(container, mInstance, r, &img); + if (r.width && r.height) { + // Try to get it as an EGLImage first. + RefPtr img; + AttachToContainerAsSurfaceTexture(container, mInstance, r, &img); - if (img) { - container->SetCurrentImageInTransaction(img); + if (img) { + container->SetCurrentImageInTransaction(img); + } } #else if (NeedsScrollImageLayer()) { @@ -1578,11 +1580,13 @@ nsPluginInstanceOwner::GetImageContainerForVideo(nsNPAPIPluginInstance::VideoInf { RefPtr container = LayerManager::CreateImageContainer(); - RefPtr img = new SurfaceTextureImage( - aVideoInfo->mSurfaceTexture, - gfx::IntSize::Truncate(aVideoInfo->mDimensions.width, aVideoInfo->mDimensions.height), - gl::OriginPos::BottomLeft); - container->SetCurrentImageInTransaction(img); + if (aVideoInfo->mDimensions.width && aVideoInfo->mDimensions.height) { + RefPtr img = new SurfaceTextureImage( + aVideoInfo->mSurfaceTexture, + gfx::IntSize::Truncate(aVideoInfo->mDimensions.width, aVideoInfo->mDimensions.height), + gl::OriginPos::BottomLeft); + container->SetCurrentImageInTransaction(img); + } return container.forget(); }