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

Side by Side Diff: content/common/service_manager/child_connection.cc

Issue 2844923002: Replace InterfaceRegistry on RenderFrameHostImpl with BinderRegistry (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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/common/service_manager/child_connection.h" 5 #include "content/common/service_manager/child_connection.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 std::unique_ptr<service_manager::Connector> connector_; 108 std::unique_ptr<service_manager::Connector> connector_;
109 service_manager::Identity child_identity_; 109 service_manager::Identity child_identity_;
110 // ServiceManagerConnection in the child monitors the lifetime of this pipe. 110 // ServiceManagerConnection in the child monitors the lifetime of this pipe.
111 mojom::ChildPtr child_; 111 mojom::ChildPtr child_;
112 service_manager::mojom::PIDReceiverPtr pid_receiver_; 112 service_manager::mojom::PIDReceiverPtr pid_receiver_;
113 113
114 DISALLOW_COPY_AND_ASSIGN(IOThreadContext); 114 DISALLOW_COPY_AND_ASSIGN(IOThreadContext);
115 }; 115 };
116 116
117 ChildConnection::ChildConnection( 117 ChildConnection::ChildConnection(
118 const std::string& service_name, 118 const service_manager::Identity& child_identity,
119 const std::string& instance_id,
120 mojo::edk::PendingProcessConnection* process_connection, 119 mojo::edk::PendingProcessConnection* process_connection,
121 service_manager::Connector* connector, 120 service_manager::Connector* connector,
122 scoped_refptr<base::SequencedTaskRunner> io_task_runner) 121 scoped_refptr<base::SequencedTaskRunner> io_task_runner)
123 : context_(new IOThreadContext), 122 : context_(new IOThreadContext),
124 child_identity_(service_name, 123 child_identity_(child_identity),
125 service_manager::mojom::kInheritUserID,
126 instance_id),
127 weak_factory_(this) { 124 weak_factory_(this) {
128 context_->Initialize(child_identity_, connector, 125 context_->Initialize(child_identity_, connector,
129 process_connection->CreateMessagePipe(&service_token_), 126 process_connection->CreateMessagePipe(&service_token_),
130 io_task_runner); 127 io_task_runner);
131 } 128 }
132 129
133 ChildConnection::~ChildConnection() { 130 ChildConnection::~ChildConnection() {
134 context_->ShutDown(); 131 context_->ShutDown();
135 } 132 }
136 133
137 void ChildConnection::BindInterface( 134 void ChildConnection::BindInterface(
138 const std::string& interface_name, 135 const std::string& interface_name,
139 mojo::ScopedMessagePipeHandle interface_pipe) { 136 mojo::ScopedMessagePipeHandle interface_pipe) {
140 context_->BindInterface(interface_name, std::move(interface_pipe)); 137 context_->BindInterface(interface_name, std::move(interface_pipe));
141 } 138 }
142 139
143 void ChildConnection::SetProcessHandle(base::ProcessHandle handle) { 140 void ChildConnection::SetProcessHandle(base::ProcessHandle handle) {
144 process_handle_ = handle; 141 process_handle_ = handle;
145 context_->SetProcessHandle(handle); 142 context_->SetProcessHandle(handle);
146 } 143 }
147 144
148 } // namespace content 145 } // namespace content
OLDNEW
« no previous file with comments | « content/common/service_manager/child_connection.h ('k') | content/public/browser/content_browser_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698