summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authoryzshen@chromium.org <yzshen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-21 01:35:24 +0000
committeryzshen@chromium.org <yzshen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-21 01:35:24 +0000
commitcf9a53040381220f684457bf17c3ee7aa62a8a0d (patch)
tree8aff7d6ff611d75b3e7f820d3fcca73ad1fbbc18 /webkit
parentf4a6d057fda1a466cef8a6e7112abc2cdf514d41 (diff)
downloadchromium_src-cf9a53040381220f684457bf17c3ee7aa62a8a0d.zip
chromium_src-cf9a53040381220f684457bf17c3ee7aa62a8a0d.tar.gz
chromium_src-cf9a53040381220f684457bf17c3ee7aa62a8a0d.tar.bz2
Avoid accessing VarTracker from multiple threads.
BUG=118223,118226 TEST=None Review URL: http://codereview.chromium.org/9786001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127871 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/plugins/ppapi/host_var_tracker.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/webkit/plugins/ppapi/host_var_tracker.cc b/webkit/plugins/ppapi/host_var_tracker.cc
index 57bc92c..97db0fc 100644
--- a/webkit/plugins/ppapi/host_var_tracker.cc
+++ b/webkit/plugins/ppapi/host_var_tracker.cc
@@ -27,6 +27,8 @@ ArrayBufferVar* HostVarTracker::CreateArrayBuffer(uint32 size_in_bytes) {
}
void HostVarTracker::AddNPObjectVar(NPObjectVar* object_var) {
+ DCHECK(CalledOnValidThread());
+
InstanceMap::iterator found_instance = instance_map_.find(
object_var->pp_instance());
if (found_instance == instance_map_.end()) {
@@ -46,6 +48,8 @@ void HostVarTracker::AddNPObjectVar(NPObjectVar* object_var) {
}
void HostVarTracker::RemoveNPObjectVar(NPObjectVar* object_var) {
+ DCHECK(CalledOnValidThread());
+
InstanceMap::iterator found_instance = instance_map_.find(
object_var->pp_instance());
if (found_instance == instance_map_.end()) {
@@ -73,6 +77,8 @@ void HostVarTracker::RemoveNPObjectVar(NPObjectVar* object_var) {
NPObjectVar* HostVarTracker::NPObjectVarForNPObject(PP_Instance instance,
NPObject* np_object) {
+ DCHECK(CalledOnValidThread());
+
InstanceMap::iterator found_instance = instance_map_.find(instance);
if (found_instance == instance_map_.end())
return NULL; // No such instance.
@@ -86,6 +92,8 @@ NPObjectVar* HostVarTracker::NPObjectVarForNPObject(PP_Instance instance,
}
int HostVarTracker::GetLiveNPObjectVarsForInstance(PP_Instance instance) const {
+ DCHECK(CalledOnValidThread());
+
InstanceMap::const_iterator found = instance_map_.find(instance);
if (found == instance_map_.end())
return 0;
@@ -93,6 +101,8 @@ int HostVarTracker::GetLiveNPObjectVarsForInstance(PP_Instance instance) const {
}
void HostVarTracker::ForceFreeNPObjectsForInstance(PP_Instance instance) {
+ DCHECK(CalledOnValidThread());
+
InstanceMap::iterator found_instance = instance_map_.find(instance);
if (found_instance == instance_map_.end())
return; // Nothing to do.