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

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
« no previous file with comments | « content/browser/service_worker/embedded_worker_test_helper.cc ('k') | content/child/child_thread_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..6b0fe7c2589041dd7d3741df949a082f655bcc12 100644
--- a/content/child/child_thread_impl.h
+++ b/content/child/child_thread_impl.h
@@ -106,6 +106,12 @@ 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;
+ const service_manager::ServiceInfo& GetBrowserServiceInfo() const;
+ bool IsConnectedToBrowser() const;
+
IPC::SyncChannel* channel() { return channel_.get(); }
IPC::MessageRouter* GetRouter();
@@ -266,12 +272,21 @@ 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 OnServiceConnect(const service_manager::ServiceInfo& local_info,
+ 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_;
+ bool connected_to_browser_ = false;
+ 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_;
« no previous file with comments | « content/browser/service_worker/embedded_worker_test_helper.cc ('k') | content/child/child_thread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698