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..31b1bc115eed163fcc939526c6e0d2f199a5a006 100644 |
--- a/content/browser/renderer_host/render_process_host_impl.h |
+++ b/content/browser/renderer_host/render_process_host_impl.h |
@@ -17,11 +17,14 @@ |
#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 "mojo/public/interfaces/shell/shell.mojom.h" |
#include "ui/surface/transport_dib.h" |
struct ViewHostMsg_CompositorSurfaceBuffersSwapped_Params; |
@@ -41,6 +44,7 @@ class BrowserDemuxerAndroid; |
class GeolocationDispatcherHost; |
class GpuMessageFilter; |
class MessagePortMessageFilter; |
+class MojoApplicationHost; |
class PeerConnectionTrackerHost; |
class RendererMainThread; |
class RenderProcessHostMojoImpl; |
@@ -72,7 +76,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 |
DaveMoore
2014/04/16 23:08:36
This seems bad. You have FooImpl, IFoo and Foo all
darin (slow to review)
2014/04/16 23:26:04
Yeah, I wanted to see what this would feel like. D
DaveMoore
2014/04/17 17:56:09
So what will determine what's in the new interface
koz (OOO until 15th September)
2014/04/22 07:09:59
It's true that the mojo interfaces are just regula
|
- : public RenderProcessHost, |
+ : public IRenderProcessHost, |
+ public RenderProcessHost, |
public ChildProcessLauncher::Client, |
public GpuDataManagerObserver { |
public: |
@@ -262,6 +267,8 @@ class CONTENT_EXPORT RenderProcessHostImpl |
private: |
friend class VisitRelayingRenderProcessHost; |
+ void InitializeMojo(); |
+ |
// Creates and adds the IO thread message filters. |
void CreateMessageFilters(); |
@@ -301,6 +308,9 @@ class CONTENT_EXPORT RenderProcessHostImpl |
void SendDisableAecDumpToRenderer(); |
#endif |
+ scoped_ptr<MojoApplicationHost> mojo_application_host_; |
+ 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 +440,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); |