| Index: webkit/plugins/ppapi/resource_tracker.cc
|
| ===================================================================
|
| --- webkit/plugins/ppapi/resource_tracker.cc (revision 106147)
|
| +++ webkit/plugins/ppapi/resource_tracker.cc (working copy)
|
| @@ -15,7 +15,6 @@
|
| #include "ppapi/shared_impl/id_assignment.h"
|
| #include "ppapi/shared_impl/tracker_base.h"
|
| #include "webkit/plugins/ppapi/callbacks.h"
|
| -#include "webkit/plugins/ppapi/host_globals.h"
|
| #include "webkit/plugins/ppapi/npobject_var.h"
|
| #include "webkit/plugins/ppapi/plugin_module.h"
|
| #include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
|
| @@ -37,7 +36,7 @@
|
| namespace {
|
|
|
| ::ppapi::TrackerBase* GetTrackerBase() {
|
| - return HostGlobals::Get()->host_resource_tracker();
|
| + return ResourceTracker::Get();
|
| }
|
|
|
| } // namespace
|
| @@ -62,6 +61,10 @@
|
| function_proxies[::ppapi::proxy::INTERFACE_ID_COUNT];
|
| };
|
|
|
| +// static
|
| +ResourceTracker* ResourceTracker::global_tracker_ = NULL;
|
| +ResourceTracker* ResourceTracker::singleton_override_ = NULL;
|
| +
|
| ResourceTracker::ResourceTracker() {
|
| // Wire up the new shared resource tracker base to use our implementation.
|
| ::ppapi::TrackerBase::Init(&GetTrackerBase);
|
| @@ -70,6 +73,15 @@
|
| ResourceTracker::~ResourceTracker() {
|
| }
|
|
|
| +// static
|
| +ResourceTracker* ResourceTracker::Get() {
|
| + if (singleton_override_)
|
| + return singleton_override_;
|
| + if (!global_tracker_)
|
| + global_tracker_ = new ResourceTracker;
|
| + return global_tracker_;
|
| +}
|
| +
|
| void ResourceTracker::CleanupInstanceData(PP_Instance instance,
|
| bool delete_instance) {
|
| DLOG_IF(ERROR, !CheckIdType(instance, ::ppapi::PP_ID_TYPE_INSTANCE))
|
| @@ -142,6 +154,14 @@
|
| return proxy.get();
|
| }
|
|
|
| +::ppapi::VarTracker* ResourceTracker::GetVarTracker() {
|
| + return &var_tracker_;
|
| +}
|
| +
|
| +::ppapi::ResourceTracker* ResourceTracker::GetResourceTracker() {
|
| + return this;
|
| +}
|
| +
|
| PP_Module ResourceTracker::GetModuleForInstance(PP_Instance instance) {
|
| PluginInstance* inst = GetInstance(instance);
|
| if (!inst)
|
| @@ -289,5 +309,17 @@
|
| return found->second;
|
| }
|
|
|
| +// static
|
| +void ResourceTracker::SetSingletonOverride(ResourceTracker* tracker) {
|
| + DCHECK(!singleton_override_);
|
| + singleton_override_ = tracker;
|
| +}
|
| +
|
| +// static
|
| +void ResourceTracker::ClearSingletonOverride() {
|
| + DCHECK(singleton_override_);
|
| + singleton_override_ = NULL;
|
| +}
|
| +
|
| } // namespace ppapi
|
| } // namespace webkit
|
|
|
| Property changes on: webkit/plugins/ppapi/resource_tracker.cc
|
| ___________________________________________________________________
|
| Added: svn:mergeinfo
|
| Merged /branches/chrome_webkit_merge_branch/src/webkit/plugins/ppapi/resource_tracker.cc:r3734-4217,4606-5108,5177-5263
|
|
|
|
|