summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorjbauman <jbauman@chromium.org>2015-02-13 16:22:45 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-14 00:23:21 +0000
commit7dc2605574f04851cc6d2bc000a5a65e055d7e56 (patch)
tree785d82d568ea05bd2caee8a6d117a59773cb8452 /webkit
parenta4f7c8614ff9cb6fca787635fc45a13c9655beef (diff)
downloadchromium_src-7dc2605574f04851cc6d2bc000a5a65e055d7e56.zip
chromium_src-7dc2605574f04851cc6d2bc000a5a65e055d7e56.tar.gz
chromium_src-7dc2605574f04851cc6d2bc000a5a65e055d7e56.tar.bz2
Add lock support for in process context provider.
The context lost callback will be called on the thread that the command buffer was bound to, and with the lock held. BUG=454500 Review URL: https://codereview.chromium.org/917223003 Cr-Commit-Position: refs/heads/master@{#316341}
Diffstat (limited to 'webkit')
-rw-r--r--webkit/common/gpu/context_provider_in_process.cc3
-rw-r--r--webkit/common/gpu/context_provider_in_process.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/webkit/common/gpu/context_provider_in_process.cc b/webkit/common/gpu/context_provider_in_process.cc
index 58bc7ec..87b5df6 100644
--- a/webkit/common/gpu/context_provider_in_process.cc
+++ b/webkit/common/gpu/context_provider_in_process.cc
@@ -161,10 +161,11 @@ class GrContext* ContextProviderInProcess::GrContext() {
}
void ContextProviderInProcess::SetupLock() {
+ context3d_->SetLock(&context_lock_);
}
base::Lock* ContextProviderInProcess::GetLock() {
- return nullptr;
+ return &context_lock_;
}
bool ContextProviderInProcess::IsContextLost() {
diff --git a/webkit/common/gpu/context_provider_in_process.h b/webkit/common/gpu/context_provider_in_process.h
index 1bf376c..dcb053a 100644
--- a/webkit/common/gpu/context_provider_in_process.h
+++ b/webkit/common/gpu/context_provider_in_process.h
@@ -80,6 +80,7 @@ class WEBKIT_GPU_EXPORT ContextProviderInProcess
base::Lock destroyed_lock_;
bool destroyed_;
+ base::Lock context_lock_;
std::string debug_name_;
class LostContextCallbackProxy;
scoped_ptr<LostContextCallbackProxy> lost_context_callback_proxy_;