Bug 1553969 - Do not disable WebRender at ImageBridgeChild when gecko uses WebRender r=nical

Differential Revision: https://phabricator.services.mozilla.com/D33753

--HG--
extra : moz-landing-system : lando
This commit is contained in:
sotaro 2019-06-06 02:17:22 +00:00
parent b38fab2d6c
commit 82b76845fe

View File

@ -634,6 +634,17 @@ void ImageBridgeChild::UpdateTextureFactoryIdentifier(
bool disablingWebRender =
GetCompositorBackendType() == LayersBackend::LAYERS_WR &&
aIdentifier.mParentBackend != LayersBackend::LAYERS_WR;
// Do not update TextureFactoryIdentifier if aIdentifier is going to disable
// WebRender, but gecko is still using WebRender. Since gecko uses different
// incompatible ImageHost and TextureHost between WebRender and non-WebRender.
//
// Even when WebRender is still in use, if non-accelerated widget is opened,
// aIdentifier disables WebRender at ImageBridgeChild.
if (disablingWebRender && gfxVars::UseWebRender()) {
return;
}
// D3DTexture might become obsolte. To prevent to use obsoleted D3DTexture,
// drop all ImageContainers' ImageClients.