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

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

Issue 2610173003: Add RegisterService, split out of Connect(). (Closed)
Patch Set: . Created 3 years, 11 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
« no previous file with comments | « content/browser/browser_context.cc ('k') | services/service_manager/connect_params.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 void InitializeOnIOThread( 87 void InitializeOnIOThread(
88 const service_manager::Identity& child_identity, 88 const service_manager::Identity& child_identity,
89 std::unique_ptr<service_manager::Connector> connector, 89 std::unique_ptr<service_manager::Connector> connector,
90 mojo::ScopedMessagePipeHandle service_pipe) { 90 mojo::ScopedMessagePipeHandle service_pipe) {
91 service_manager::mojom::ServicePtr service; 91 service_manager::mojom::ServicePtr service;
92 service.Bind(mojo::InterfacePtrInfo<service_manager::mojom::Service>( 92 service.Bind(mojo::InterfacePtrInfo<service_manager::mojom::Service>(
93 std::move(service_pipe), 0u)); 93 std::move(service_pipe), 0u));
94 service_manager::mojom::PIDReceiverRequest pid_receiver_request( 94 service_manager::mojom::PIDReceiverRequest pid_receiver_request(
95 &pid_receiver_); 95 &pid_receiver_);
96 96
97 service_manager::Connector::ConnectParams params(child_identity); 97 if (connector) {
98 params.set_client_process_connection(std::move(service), 98 connector->Start(child_identity,
99 std::move(pid_receiver_request)); 99 std::move(service),
100 100 std::move(pid_receiver_request));
101 // In some unit testing scenarios a null connector is passed. 101 connection_ = connector->Connect(child_identity);
102 if (connector) 102 }
103 connection_ = connector->Connect(&params);
104 } 103 }
105 104
106 void ShutDownOnIOThread() { 105 void ShutDownOnIOThread() {
107 connection_.reset(); 106 connection_.reset();
108 pid_receiver_.reset(); 107 pid_receiver_.reset();
109 } 108 }
110 109
111 void SetProcessHandleOnIOThread(base::ProcessHandle handle) { 110 void SetProcessHandleOnIOThread(base::ProcessHandle handle) {
112 DCHECK(pid_receiver_.is_bound()); 111 DCHECK(pid_receiver_.is_bound());
113 pid_receiver_->SetPID(base::GetProcId(handle)); 112 pid_receiver_->SetPID(base::GetProcId(handle));
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 145
147 ChildConnection::~ChildConnection() { 146 ChildConnection::~ChildConnection() {
148 context_->ShutDown(); 147 context_->ShutDown();
149 } 148 }
150 149
151 void ChildConnection::SetProcessHandle(base::ProcessHandle handle) { 150 void ChildConnection::SetProcessHandle(base::ProcessHandle handle) {
152 context_->SetProcessHandle(handle); 151 context_->SetProcessHandle(handle);
153 } 152 }
154 153
155 } // namespace content 154 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/browser_context.cc ('k') | services/service_manager/connect_params.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698