diff options
author | alexst@chromium.org <alexst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-15 14:45:17 +0000 |
---|---|---|
committer | alexst@chromium.org <alexst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-15 14:45:17 +0000 |
commit | cb408a30967ebac56fe4c7bc54744199e55add3f (patch) | |
tree | 24be234310e5a1b6c2cebb9b2dd0bd91f7aa2d74 /webkit | |
parent | c9e7ed5dcf85c482f3534ffbe7cf4affc8109118 (diff) | |
download | chromium_src-cb408a30967ebac56fe4c7bc54744199e55add3f.zip chromium_src-cb408a30967ebac56fe4c7bc54744199e55add3f.tar.gz chromium_src-cb408a30967ebac56fe4c7bc54744199e55add3f.tar.bz2 |
We need to prevent a race condition between a previously commited texture mailbox that is about to be deleted and the compositor attempting to use it.
BUG=249284
Review URL: https://chromiumcodereview.appspot.com/16948008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206584 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/renderer/compositor_bindings/web_external_texture_layer_impl.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/webkit/renderer/compositor_bindings/web_external_texture_layer_impl.cc b/webkit/renderer/compositor_bindings/web_external_texture_layer_impl.cc index e198d22..eb06faf7 100644 --- a/webkit/renderer/compositor_bindings/web_external_texture_layer_impl.cc +++ b/webkit/renderer/compositor_bindings/web_external_texture_layer_impl.cc @@ -40,8 +40,9 @@ WebKit::WebLayer* WebExternalTextureLayerImpl::layer() { return layer_.get(); } void WebExternalTextureLayerImpl::clearTexture() { if (uses_mailbox_) { - static_cast<TextureLayer*>(layer_->layer())->SetTextureMailbox( - cc::TextureMailbox()); + TextureLayer *layer = static_cast<TextureLayer*>(layer_->layer()); + layer->WillModifyTexture(); + layer->SetTextureMailbox(cc::TextureMailbox()); } else { static_cast<TextureLayer*>(layer_->layer())->SetTextureId(0); } |