Chromium Code Reviews| 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); |