diff options
author | yzshen@chromium.org <yzshen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-21 01:35:24 +0000 |
---|---|---|
committer | yzshen@chromium.org <yzshen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-21 01:35:24 +0000 |
commit | cf9a53040381220f684457bf17c3ee7aa62a8a0d (patch) | |
tree | 8aff7d6ff611d75b3e7f820d3fcca73ad1fbbc18 /webkit | |
parent | f4a6d057fda1a466cef8a6e7112abc2cdf514d41 (diff) | |
download | chromium_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.cc | 10 |
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. |