Index: ppapi/native_client/src/shared/ppapi_proxy/plugin_resource.h |
diff --git a/ppapi/native_client/src/shared/ppapi_proxy/plugin_resource.h b/ppapi/native_client/src/shared/ppapi_proxy/plugin_resource.h |
index 5222127c19c50544f436cb8034f891a8ab7ce886..24ee900f1776d8769034ee08db498e1da9e209cb 100644 |
--- a/ppapi/native_client/src/shared/ppapi_proxy/plugin_resource.h |
+++ b/ppapi/native_client/src/shared/ppapi_proxy/plugin_resource.h |
@@ -29,10 +29,9 @@ namespace ppapi_proxy { |
FOR_ALL_RESOURCES(DECLARE_RESOURCE_CLASS) |
#undef DECLARE_RESOURCE_CLASS |
-class PluginResource : public nacl::RefCounted<PluginResource> { |
+class PluginResource : public nacl::RefCountedThreadSafe<PluginResource> { |
public: |
PluginResource(); |
- virtual ~PluginResource(); |
// Returns NULL if the resource is invalid or is a different type. |
template<typename T> |
@@ -69,9 +68,13 @@ class PluginResource : public nacl::RefCounted<PluginResource> { |
template <typename T> T* Cast() { return NULL; } |
protected: |
+ virtual ~PluginResource(); |
+ |
virtual bool InitFromBrowserResource(PP_Resource resource) = 0; |
private: |
+ friend class nacl::RefCountedThreadSafe<PluginResource>; |
+ |
// Type-specific getters for individual resource types. These will return |
// NULL if the resource does not match the specified type. Used by the Cast() |
// function. |