| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "webkit/plugins/ppapi/host_globals.h" | 5 #include "webkit/plugins/ppapi/host_globals.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/rand_util.h" | 10 #include "base/rand_util.h" |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 function_proxies[::ppapi::API_ID_COUNT]; | 38 function_proxies[::ppapi::API_ID_COUNT]; |
| 39 }; | 39 }; |
| 40 | 40 |
| 41 HostGlobals* HostGlobals::host_globals_ = NULL; | 41 HostGlobals* HostGlobals::host_globals_ = NULL; |
| 42 | 42 |
| 43 HostGlobals::HostGlobals() : ::ppapi::PpapiGlobals() { | 43 HostGlobals::HostGlobals() : ::ppapi::PpapiGlobals() { |
| 44 DCHECK(!host_globals_); | 44 DCHECK(!host_globals_); |
| 45 host_globals_ = this; | 45 host_globals_ = this; |
| 46 } | 46 } |
| 47 | 47 |
| 48 HostGlobals::HostGlobals(::ppapi::PpapiGlobals::ForTest for_test) |
| 49 : ::ppapi::PpapiGlobals(for_test) { |
| 50 DCHECK(!host_globals_); |
| 51 } |
| 52 |
| 48 HostGlobals::~HostGlobals() { | 53 HostGlobals::~HostGlobals() { |
| 49 DCHECK(host_globals_ == this); | 54 DCHECK(host_globals_ == this || !host_globals_); |
| 50 host_globals_ = NULL; | 55 host_globals_ = NULL; |
| 51 } | 56 } |
| 52 | 57 |
| 53 ::ppapi::ResourceTracker* HostGlobals::GetResourceTracker() { | 58 ::ppapi::ResourceTracker* HostGlobals::GetResourceTracker() { |
| 54 return &resource_tracker_; | 59 return &resource_tracker_; |
| 55 } | 60 } |
| 56 | 61 |
| 57 ::ppapi::VarTracker* HostGlobals::GetVarTracker() { | 62 ::ppapi::VarTracker* HostGlobals::GetVarTracker() { |
| 58 return &host_var_tracker_; | 63 return &host_var_tracker_; |
| 59 } | 64 } |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 return proxy.get(); | 114 return proxy.get(); |
| 110 } | 115 } |
| 111 | 116 |
| 112 PP_Module HostGlobals::GetModuleForInstance(PP_Instance instance) { | 117 PP_Module HostGlobals::GetModuleForInstance(PP_Instance instance) { |
| 113 PluginInstance* inst = GetInstance(instance); | 118 PluginInstance* inst = GetInstance(instance); |
| 114 if (!inst) | 119 if (!inst) |
| 115 return 0; | 120 return 0; |
| 116 return inst->module()->pp_module(); | 121 return inst->module()->pp_module(); |
| 117 } | 122 } |
| 118 | 123 |
| 124 base::Lock* HostGlobals::GetProxyLock() { |
| 125 // We do not lock on the host side. |
| 126 return NULL; |
| 127 } |
| 128 |
| 119 PP_Module HostGlobals::AddModule(PluginModule* module) { | 129 PP_Module HostGlobals::AddModule(PluginModule* module) { |
| 120 #ifndef NDEBUG | 130 #ifndef NDEBUG |
| 121 // Make sure we're not adding one more than once. | 131 // Make sure we're not adding one more than once. |
| 122 for (ModuleMap::const_iterator i = module_map_.begin(); | 132 for (ModuleMap::const_iterator i = module_map_.begin(); |
| 123 i != module_map_.end(); ++i) | 133 i != module_map_.end(); ++i) |
| 124 DCHECK(i->second != module); | 134 DCHECK(i->second != module); |
| 125 #endif | 135 #endif |
| 126 | 136 |
| 127 // See AddInstance. | 137 // See AddInstance. |
| 128 PP_Module new_module; | 138 PP_Module new_module; |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 190 | 200 |
| 191 PluginInstance* HostGlobals::GetInstance(PP_Instance instance) { | 201 PluginInstance* HostGlobals::GetInstance(PP_Instance instance) { |
| 192 DLOG_IF(ERROR, !CheckIdType(instance, ::ppapi::PP_ID_TYPE_INSTANCE)) | 202 DLOG_IF(ERROR, !CheckIdType(instance, ::ppapi::PP_ID_TYPE_INSTANCE)) |
| 193 << instance << " is not a PP_Instance."; | 203 << instance << " is not a PP_Instance."; |
| 194 InstanceMap::iterator found = instance_map_.find(instance); | 204 InstanceMap::iterator found = instance_map_.find(instance); |
| 195 if (found == instance_map_.end()) | 205 if (found == instance_map_.end()) |
| 196 return NULL; | 206 return NULL; |
| 197 return found->second->instance; | 207 return found->second->instance; |
| 198 } | 208 } |
| 199 | 209 |
| 210 bool HostGlobals::IsHostGlobals() const { |
| 211 return true; |
| 212 } |
| 213 |
| 200 } // namespace ppapi | 214 } // namespace ppapi |
| 201 } // namespace webkit | 215 } // namespace webkit |
| OLD | NEW |