diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-18 21:57:50 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-18 21:57:50 +0000 |
commit | 77ac44f19b5d1ead7c1b29900341fbfc07286ce6 (patch) | |
tree | a09b9951a19ca4a322fbd37a82438ed5e38ae44d /ppapi/proxy/plugin_resource_tracker.cc | |
parent | 6b292e3db6ccdda0477289b3d8c713f2707ae9ff (diff) | |
download | chromium_src-77ac44f19b5d1ead7c1b29900341fbfc07286ce6.zip chromium_src-77ac44f19b5d1ead7c1b29900341fbfc07286ce6.tar.gz chromium_src-77ac44f19b5d1ead7c1b29900341fbfc07286ce6.tar.bz2 |
Add a new globals object for PPAPI tracking information.
This adds a specialization on the host and plugin side of the proxy. This
replaces the ad-hoc singleton tracking done by the resource and var trackers
with just being getters on this global object.
Most code can use the single PpapiGlobals class. I also allow code to get the
host and plugin specializations since some code needs access to some specific
features of each side.
In a later pass I'll move the other stuff out of TrackerBase and delete it.
TEST=none
BUG=none
Review URL: http://codereview.chromium.org/8316008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106142 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/plugin_resource_tracker.cc')
-rw-r--r-- | ppapi/proxy/plugin_resource_tracker.cc | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/ppapi/proxy/plugin_resource_tracker.cc b/ppapi/proxy/plugin_resource_tracker.cc index 4abd8f7..67e2d69 100644 --- a/ppapi/proxy/plugin_resource_tracker.cc +++ b/ppapi/proxy/plugin_resource_tracker.cc @@ -7,6 +7,7 @@ #include "base/logging.h" #include "base/memory/singleton.h" #include "ppapi/proxy/plugin_dispatcher.h" +#include "ppapi/proxy/plugin_globals.h" #include "ppapi/proxy/ppapi_messages.h" #include "ppapi/proxy/serialized_var.h" #include "ppapi/shared_impl/proxy_lock.h" @@ -19,17 +20,13 @@ namespace proxy { namespace { -// When non-NULL, this object overrides the ResourceTrackerSingleton. -PluginResourceTracker* g_resource_tracker_override = NULL; - TrackerBase* GetTrackerBase() { - return PluginResourceTracker::GetInstance(); + return PluginGlobals::Get()->plugin_resource_tracker(); } } // namespace -PluginResourceTracker::PluginResourceTracker() - : var_tracker_test_override_(NULL) { +PluginResourceTracker::PluginResourceTracker() { #ifdef ENABLE_PEPPER_THREADING // Set the global proxy lock, since the plugin-side of the proxy needs to be // synchronized. @@ -44,20 +41,8 @@ PluginResourceTracker::~PluginResourceTracker() { } // static -void PluginResourceTracker::SetInstanceForTest(PluginResourceTracker* tracker) { - g_resource_tracker_override = tracker; -} - -// static -PluginResourceTracker* PluginResourceTracker::GetInstance() { - if (g_resource_tracker_override) - return g_resource_tracker_override; - return Singleton<PluginResourceTracker>::get(); -} - -// static TrackerBase* PluginResourceTracker::GetTrackerBaseInstance() { - return GetInstance(); + return GetTrackerBase(); } PP_Resource PluginResourceTracker::PluginResourceForHostResource( @@ -76,14 +61,6 @@ FunctionGroupBase* PluginResourceTracker::GetFunctionAPI(PP_Instance inst, return NULL; } -VarTracker* PluginResourceTracker::GetVarTracker() { - return &var_tracker(); -} - -ResourceTracker* PluginResourceTracker::GetResourceTracker() { - return this; -} - PP_Module PluginResourceTracker::GetModuleForInstance(PP_Instance instance) { // Currently proxied plugins don't use the PP_Module for anything useful. return 0; |