| Index: ppapi/proxy/plugin_globals.h
|
| diff --git a/ppapi/proxy/plugin_globals.h b/ppapi/proxy/plugin_globals.h
|
| index ffcf01e016e51cd08721fc7db76b026dbb54b142..8f84f4b5cb8b5bc7c820b7d098cf4949e867bf34 100644
|
| --- a/ppapi/proxy/plugin_globals.h
|
| +++ b/ppapi/proxy/plugin_globals.h
|
| @@ -6,6 +6,7 @@
|
| #define PPAPI_PROXY_PLUGIN_GLOBALS_H_
|
|
|
| #include "base/compiler_specific.h"
|
| +#include "base/synchronization/lock.h"
|
| #include "ppapi/proxy/plugin_resource_tracker.h"
|
| #include "ppapi/proxy/plugin_var_tracker.h"
|
| #include "ppapi/proxy/ppapi_proxy_export.h"
|
| @@ -20,12 +21,16 @@ class PluginProxyDelegate;
|
| class PPAPI_PROXY_EXPORT PluginGlobals : public PpapiGlobals {
|
| public:
|
| PluginGlobals();
|
| + PluginGlobals(PpapiGlobals::ForTest);
|
| virtual ~PluginGlobals();
|
|
|
| // Getter for the global singleton. Generally, you should use
|
| // PpapiGlobals::Get() when possible. Use this only when you need some
|
| // plugin-specific functionality.
|
| - inline static PluginGlobals* Get() { return plugin_globals_; }
|
| + inline static PluginGlobals* Get() {
|
| + DCHECK(PpapiGlobals::Get()->IsPluginGlobals());
|
| + return static_cast<PluginGlobals*>(PpapiGlobals::Get());
|
| + }
|
|
|
| // PpapiGlobals implementation.
|
| virtual ResourceTracker* GetResourceTracker() OVERRIDE;
|
| @@ -35,6 +40,7 @@ class PPAPI_PROXY_EXPORT PluginGlobals : public PpapiGlobals {
|
| virtual FunctionGroupBase* GetFunctionAPI(PP_Instance inst,
|
| ApiID id) OVERRIDE;
|
| virtual PP_Module GetModuleForInstance(PP_Instance instance) OVERRIDE;
|
| + virtual base::Lock* GetProxyLock() OVERRIDE;
|
|
|
| // Getters for the plugin-specific versions.
|
| PluginResourceTracker* plugin_resource_tracker() {
|
| @@ -53,12 +59,16 @@ class PPAPI_PROXY_EXPORT PluginGlobals : public PpapiGlobals {
|
| }
|
|
|
| private:
|
| + // PpapiGlobals overrides.
|
| + virtual bool IsPluginGlobals() const OVERRIDE;
|
| +
|
| static PluginGlobals* plugin_globals_;
|
|
|
| PluginProxyDelegate* plugin_proxy_delegate_;
|
| PluginResourceTracker plugin_resource_tracker_;
|
| PluginVarTracker plugin_var_tracker_;
|
| scoped_refptr<CallbackTracker> callback_tracker_;
|
| + base::Lock proxy_lock_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(PluginGlobals);
|
| };
|
|
|