summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authoralexst@chromium.org <alexst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-15 14:45:17 +0000
committeralexst@chromium.org <alexst@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-15 14:45:17 +0000
commitcb408a30967ebac56fe4c7bc54744199e55add3f (patch)
tree24be234310e5a1b6c2cebb9b2dd0bd91f7aa2d74 /webkit
parentc9e7ed5dcf85c482f3534ffbe7cf4affc8109118 (diff)
downloadchromium_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.cc5
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);
}