Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Unified Diff: content/browser/renderer_host/render_process_host_impl.h

Issue 285333003: Support exposing Mojo services between render frames, render threads, and their respective hosts. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: InterfaceRequest in RenderFrameSetup Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 cd7ec890fdd2e2490ac686918a6a51b0e3727693..b1e82ecac575d2b36ff33e8bf57745973bf4e1c0 100644
--- a/content/browser/renderer_host/render_process_host_impl.h
+++ b/content/browser/renderer_host/render_process_host_impl.h
@@ -17,6 +17,7 @@
#include "content/browser/dom_storage/session_storage_namespace_impl.h"
#include "content/browser/power_monitor_message_broadcaster.h"
#include "content/common/content_export.h"
+#include "content/common/mojo/service_registry_impl.h"
#include "content/public/browser/gpu_data_manager_observer.h"
#include "content/public/browser/render_process_host.h"
#include "ipc/ipc_channel_proxy.h"
@@ -144,6 +145,8 @@ class CONTENT_EXPORT RenderProcessHostImpl
virtual void ResumeDeferredNavigation(const GlobalRequestID& request_id)
OVERRIDE;
virtual void NotifyTimezoneChange() OVERRIDE;
+ virtual ServiceRegistry* GetServiceRegistry() OVERRIDE;
+ virtual void ActivateMojo() OVERRIDE;
// IPC::Sender via RenderProcessHost.
virtual bool Send(IPC::Message* msg) OVERRIDE;
@@ -254,19 +257,6 @@ class CONTENT_EXPORT RenderProcessHostImpl
void IncrementWorkerRefCount();
void DecrementWorkerRefCount();
- // Establish a connection to a renderer-provided service. See
- // content/common/mojo/mojo_service_names.h for a list of services.
- void ConnectTo(const base::StringPiece& service_name,
- mojo::ScopedMessagePipeHandle handle);
-
- template <typename Interface>
- void ConnectTo(const base::StringPiece& service_name,
- mojo::InterfacePtr<Interface>* ptr) {
- mojo::MessagePipe pipe;
- ptr->Bind(pipe.handle0.Pass());
- ConnectTo(service_name, pipe.handle1.Pass());
- }
-
protected:
// A proxy for our IPC::Channel that lives on the IO thread (see
// browser_process.h)
@@ -459,6 +449,8 @@ class CONTENT_EXPORT RenderProcessHostImpl
// Records the time when the process starts surviving for workers for UMA.
base::TimeTicks survive_for_worker_start_time_;
+ ServiceRegistryImpl service_registry_;
+
base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_;
#if defined(OS_MACOSX)

Powered by Google App Engine
This is Rietveld 408576698