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

Side by Side Diff: content/child/child_thread_impl.cc

Issue 2850743004: Replace ServiceInfo with BindSourceInfo. (Closed)
Patch Set: . Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/child/child_thread_impl.h" 5 #include "content/child/child_thread_impl.h"
6 6
7 #include <signal.h> 7 #include <signal.h>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 mojo::edk::SetParentPipeHandle(std::move(platform_channel)); 260 mojo::edk::SetParentPipeHandle(std::move(platform_channel));
261 } 261 }
262 262
263 class ChannelBootstrapFilter : public ConnectionFilter { 263 class ChannelBootstrapFilter : public ConnectionFilter {
264 public: 264 public:
265 explicit ChannelBootstrapFilter(IPC::mojom::ChannelBootstrapPtrInfo bootstrap) 265 explicit ChannelBootstrapFilter(IPC::mojom::ChannelBootstrapPtrInfo bootstrap)
266 : bootstrap_(std::move(bootstrap)) {} 266 : bootstrap_(std::move(bootstrap)) {}
267 267
268 private: 268 private:
269 // ConnectionFilter: 269 // ConnectionFilter:
270 void OnBindInterface(const service_manager::ServiceInfo& source_info, 270 void OnBindInterface(const service_manager::BindSourceInfo& source_info,
271 const std::string& interface_name, 271 const std::string& interface_name,
272 mojo::ScopedMessagePipeHandle* interface_pipe, 272 mojo::ScopedMessagePipeHandle* interface_pipe,
273 service_manager::Connector* connector) override { 273 service_manager::Connector* connector) override {
274 if (source_info.identity.name() != mojom::kBrowserServiceName) 274 if (source_info.identity.name() != mojom::kBrowserServiceName)
275 return; 275 return;
276 276
277 if (interface_name == IPC::mojom::ChannelBootstrap::Name_) { 277 if (interface_name == IPC::mojom::ChannelBootstrap::Name_) {
278 DCHECK(bootstrap_.is_valid()); 278 DCHECK(bootstrap_.is_valid());
279 mojo::FuseInterface(mojo::MakeRequest<IPC::mojom::ChannelBootstrap>( 279 mojo::FuseInterface(mojo::MakeRequest<IPC::mojom::ChannelBootstrap>(
280 std::move(*interface_pipe)), 280 std::move(*interface_pipe)),
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
624 } 624 }
625 625
626 ServiceManagerConnection* ChildThreadImpl::GetServiceManagerConnection() { 626 ServiceManagerConnection* ChildThreadImpl::GetServiceManagerConnection() {
627 return service_manager_connection_.get(); 627 return service_manager_connection_.get();
628 } 628 }
629 629
630 service_manager::Connector* ChildThreadImpl::GetConnector() { 630 service_manager::Connector* ChildThreadImpl::GetConnector() {
631 return service_manager_connection_->GetConnector(); 631 return service_manager_connection_->GetConnector();
632 } 632 }
633 633
634 const service_manager::ServiceInfo& 634 const service_manager::BindSourceInfo& ChildThreadImpl::GetBrowserServiceInfo()
635 ChildThreadImpl::GetChildServiceInfo() const { 635 const {
636 DCHECK(IsConnectedToBrowser());
637 return child_info_;
638 }
639
640 const service_manager::ServiceInfo&
641 ChildThreadImpl::GetBrowserServiceInfo() const {
642 DCHECK(IsConnectedToBrowser()); 636 DCHECK(IsConnectedToBrowser());
643 return browser_info_; 637 return browser_info_;
644 } 638 }
645 639
646 bool ChildThreadImpl::IsConnectedToBrowser() const { 640 bool ChildThreadImpl::IsConnectedToBrowser() const {
647 return connected_to_browser_; 641 return connected_to_browser_;
648 } 642 }
649 643
650 IPC::MessageRouter* ChildThreadImpl::GetRouter() { 644 IPC::MessageRouter* ChildThreadImpl::GetRouter() {
651 DCHECK(message_loop_->task_runner()->BelongsToCurrentThread()); 645 DCHECK(message_loop_->task_runner()->BelongsToCurrentThread());
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
837 const std::string& name, 831 const std::string& name,
838 mojom::AssociatedInterfaceAssociatedRequest request) { 832 mojom::AssociatedInterfaceAssociatedRequest request) {
839 int32_t routing_id = 833 int32_t routing_id =
840 associated_interface_provider_bindings_.dispatch_context(); 834 associated_interface_provider_bindings_.dispatch_context();
841 Listener* route = router_.GetRoute(routing_id); 835 Listener* route = router_.GetRoute(routing_id);
842 if (route) 836 if (route)
843 route->OnAssociatedInterfaceRequest(name, request.PassHandle()); 837 route->OnAssociatedInterfaceRequest(name, request.PassHandle());
844 } 838 }
845 839
846 void ChildThreadImpl::OnServiceConnect( 840 void ChildThreadImpl::OnServiceConnect(
847 const service_manager::ServiceInfo& local_info, 841 const service_manager::BindSourceInfo& remote_info) {
848 const service_manager::ServiceInfo& remote_info) {
849 if (remote_info.identity.name() != mojom::kBrowserServiceName) 842 if (remote_info.identity.name() != mojom::kBrowserServiceName)
850 return; 843 return;
851 DCHECK(!connected_to_browser_); 844 DCHECK(!connected_to_browser_);
852 connected_to_browser_ = true; 845 connected_to_browser_ = true;
853 child_info_ = local_info;
854 browser_info_ = remote_info; 846 browser_info_ = remote_info;
855 } 847 }
856 848
857 bool ChildThreadImpl::IsInBrowserProcess() const { 849 bool ChildThreadImpl::IsInBrowserProcess() const {
858 return static_cast<bool>(browser_process_io_runner_); 850 return static_cast<bool>(browser_process_io_runner_);
859 } 851 }
860 852
861 } // namespace content 853 } // namespace content
OLDNEW
« no previous file with comments | « content/child/child_thread_impl.h ('k') | content/common/service_manager/service_manager_connection_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698