Index: content/browser/renderer_host/pepper/browser_ppapi_host_impl.h |
diff --git a/content/browser/renderer_host/pepper/browser_ppapi_host_impl.h b/content/browser/renderer_host/pepper/browser_ppapi_host_impl.h |
index 062755a398b8c3401e9c132bb068c6455a76dbbd..9411cf84cd3a09f9a5f36f3958c6b53b85d5b620 100644 |
--- a/content/browser/renderer_host/pepper/browser_ppapi_host_impl.h |
+++ b/content/browser/renderer_host/pepper/browser_ppapi_host_impl.h |
@@ -8,6 +8,7 @@ |
#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
#include "content/browser/renderer_host/pepper/content_browser_pepper_host_factory.h" |
+#include "content/common/content_export.h" |
#include "content/public/browser/browser_ppapi_host.h" |
#include "ipc/ipc_channel_proxy.h" |
#include "ppapi/host/ppapi_host.h" |
@@ -18,9 +19,13 @@ class Sender; |
namespace content { |
-class BrowserPpapiHostImpl : public BrowserPpapiHost, |
- public IPC::ChannelProxy::MessageFilter { |
+class CONTENT_EXPORT BrowserPpapiHostImpl |
+ : public BrowserPpapiHost, |
+ public IPC::ChannelProxy::MessageFilter { |
public: |
+ // The creator is responsible for calling set_plugin_process_handle as soon |
+ // as it is known (we start the process asynchronously so it won't be known |
+ // when this object is created). |
BrowserPpapiHostImpl(IPC::Sender* sender, |
const ppapi::PpapiPermissions& permissions); |
@@ -29,12 +34,20 @@ class BrowserPpapiHostImpl : public BrowserPpapiHost, |
// BrowserPpapiHost. |
virtual ppapi::host::PpapiHost* GetPpapiHost() OVERRIDE; |
+ base::ProcessHandle GetPluginProcessHandle() const OVERRIDE; |
+ |
+ void set_plugin_process_handle(base::ProcessHandle handle) { |
+ plugin_process_handle_ = handle; |
+ } |
private: |
+ friend class BrowserPpapiHostTest; |
+ |
virtual ~BrowserPpapiHostImpl(); |
ContentBrowserPepperHostFactory host_factory_; |
ppapi::host::PpapiHost ppapi_host_; |
+ base::ProcessHandle plugin_process_handle_; |
DISALLOW_COPY_AND_ASSIGN(BrowserPpapiHostImpl); |
}; |