Index: content/browser/renderer_host/render_process_host_impl.h |
diff --git a/content/browser/renderer_host/render_process_host_impl.h b/content/browser/renderer_host/render_process_host_impl.h |
index 9ab3d81872b31e82c8a3fcf539a7aa2ed5f9fd5a..ec823d4cbc9a01d054247c56f9bf03e38b9efc69 100644 |
--- a/content/browser/renderer_host/render_process_host_impl.h |
+++ b/content/browser/renderer_host/render_process_host_impl.h |
@@ -17,11 +17,13 @@ |
#include "content/browser/geolocation/geolocation_dispatcher_host.h" |
#include "content/browser/power_monitor_message_broadcaster.h" |
#include "content/common/content_export.h" |
+#include "content/common/render_process.mojom.h" |
#include "content/public/browser/gpu_data_manager_observer.h" |
#include "content/public/browser/render_process_host.h" |
#include "ipc/ipc_channel_proxy.h" |
#include "ipc/ipc_platform_file.h" |
-#include "mojo/public/cpp/system/core.h" |
+#include "mojo/embedder/scoped_platform_handle.h" |
+#include "mojo/public/cpp/bindings/remote_ptr.h" |
#include "ui/surface/transport_dib.h" |
struct ViewHostMsg_CompositorSurfaceBuffersSwapped_Params; |
@@ -41,6 +43,7 @@ class BrowserDemuxerAndroid; |
class GeolocationDispatcherHost; |
class GpuMessageFilter; |
class MessagePortMessageFilter; |
+class MojoChannelInit; |
class PeerConnectionTrackerHost; |
class RendererMainThread; |
class RenderProcessHostMojoImpl; |
@@ -72,7 +75,8 @@ class StoragePartitionImpl; |
// because all the IPCs from the RenderViews (renderer) will only ever be able |
// to access the partition they are assigned to. |
class CONTENT_EXPORT RenderProcessHostImpl |
- : public RenderProcessHost, |
+ : public IRenderProcessHost, |
DaveMoore
2014/04/16 23:08:36
Using IRenderProcessHost makes this read really po
|
+ public RenderProcessHost, |
public ChildProcessLauncher::Client, |
public GpuDataManagerObserver { |
public: |
@@ -262,6 +266,9 @@ class CONTENT_EXPORT RenderProcessHostImpl |
private: |
friend class VisitRelayingRenderProcessHost; |
+ void InitializeMojo(); |
+ void ActivateMojo(); |
+ |
// Creates and adds the IO thread message filters. |
void CreateMessageFilters(); |
@@ -301,6 +308,10 @@ class CONTENT_EXPORT RenderProcessHostImpl |
void SendDisableAecDumpToRenderer(); |
#endif |
+ scoped_ptr<MojoChannelInit> mojo_channel_init_; |
+ mojo::embedder::ScopedPlatformHandle mojo_client_handle_; |
+ mojo::RemotePtr<IRenderProcess> render_process_; |
+ |
// The registered IPC listener objects. When this list is empty, we should |
// delete ourselves. |
IDMap<IPC::Listener> listeners_; |
@@ -430,8 +441,6 @@ class CONTENT_EXPORT RenderProcessHostImpl |
// Records the time when the process starts surviving for workers for UMA. |
base::TimeTicks survive_for_worker_start_time_; |
- scoped_ptr<RenderProcessHostMojoImpl> render_process_host_mojo_; |
- |
base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; |
DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); |