summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/plugin_resource_tracker.cc
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-20 19:09:20 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-20 19:09:20 +0000
commit794d83cda5183b25665e99296ab6f5e6c1dbf2dc (patch)
tree5b69cd2fa55d7eb0ac3c9a98f1012358e2f349b2 /ppapi/proxy/plugin_resource_tracker.cc
parent83c23571249a13c68d07122070bf73c2a9cd435e (diff)
downloadchromium_src-794d83cda5183b25665e99296ab6f5e6c1dbf2dc.zip
chromium_src-794d83cda5183b25665e99296ab6f5e6c1dbf2dc.tar.gz
chromium_src-794d83cda5183b25665e99296ab6f5e6c1dbf2dc.tar.bz2
Add a new globals object for PPAPI tracking information.
[ Reland of 106142: http://codereview.chromium.org/8316008 ] 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/8344025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106537 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/plugin_resource_tracker.cc')
-rw-r--r--ppapi/proxy/plugin_resource_tracker.cc31
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;