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

Unified Diff: content/child/child_thread_impl.h

Issue 2456493003: Add frame-specific InterfaceProviderSpec. (Closed)
Patch Set: . Created 4 years, 2 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/child/child_thread_impl.h
diff --git a/content/child/child_thread_impl.h b/content/child/child_thread_impl.h
index a1f2231be79329058e4e1c8b7e70a74642169838..09c7589b08ee3a69728626c80705f1858cc9e1f3 100644
--- a/content/child/child_thread_impl.h
+++ b/content/child/child_thread_impl.h
@@ -106,6 +106,11 @@ class CONTENT_EXPORT ChildThreadImpl
service_manager::InterfaceRegistry* GetInterfaceRegistry() override;
service_manager::InterfaceProvider* GetRemoteInterfaces() override;
+ // Returns the service_manager::ServiceInfo for the child process & the
+ // browser process, once available.
+ const service_manager::ServiceInfo& GetChildServiceInfo() const;
Ken Rockot(use gerrit already) 2016/10/27 05:12:52 nit: Could you also expose a bool IsConnectedToBro
+ const service_manager::ServiceInfo& GetBrowserServiceInfo() const;
+
IPC::SyncChannel* channel() { return channel_.get(); }
IPC::MessageRouter* GetRouter();
@@ -266,12 +271,20 @@ class CONTENT_EXPORT ChildThreadImpl
const std::string& name,
mojom::AssociatedInterfaceAssociatedRequest request) override;
+ // Called when a connection is received from another service. When that other
+ // service is the browser process, stores the remote's info.
+ void OnConnect(const service_manager::ServiceInfo& local_info,
Ken Rockot(use gerrit already) 2016/10/27 05:12:52 Maybe a more descriptive name like OnServiceConnec
+ const service_manager::ServiceInfo& remote_info);
+
std::unique_ptr<mojo::edk::ScopedIPCSupport> mojo_ipc_support_;
std::unique_ptr<service_manager::InterfaceRegistry> interface_registry_;
std::unique_ptr<service_manager::InterfaceProvider> remote_interfaces_;
std::unique_ptr<ServiceManagerConnection> service_manager_connection_;
std::unique_ptr<service_manager::Connection> browser_connection_;
+ service_manager::ServiceInfo child_info_;
+ service_manager::ServiceInfo browser_info_;
+
mojo::AssociatedBinding<mojom::RouteProvider> route_provider_binding_;
mojo::AssociatedBindingSet<mojom::AssociatedInterfaceProvider>
associated_interface_provider_bindings_;

Powered by Google App Engine
This is Rietveld 408576698