OLD | NEW |
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/browser/mojo/mojo_shell_context.h" | 5 #include "content/browser/mojo/mojo_shell_context.h" |
6 | 6 |
7 #include <unordered_map> | 7 #include <unordered_map> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 IDR_MOJO_PROFILE_MANIFEST); | 260 IDR_MOJO_PROFILE_MANIFEST); |
261 | 261 |
262 catalog_.reset(new catalog::Catalog(file_task_runner.get(), nullptr, | 262 catalog_.reset(new catalog::Catalog(file_task_runner.get(), nullptr, |
263 manifest_provider_.get())); | 263 manifest_provider_.get())); |
264 | 264 |
265 shell::mojom::ServiceRequest request; | 265 shell::mojom::ServiceRequest request; |
266 if (shell::ShellIsRemote()) { | 266 if (shell::ShellIsRemote()) { |
267 mojo::edk::SetParentPipeHandleFromCommandLine(); | 267 mojo::edk::SetParentPipeHandleFromCommandLine(); |
268 request = shell::GetServiceRequestFromCommandLine(); | 268 request = shell::GetServiceRequestFromCommandLine(); |
269 } else { | 269 } else { |
270 service_manager_.reset( | 270 service_manager_.reset(new shell::ServiceManager( |
271 new shell::ServiceManager(std::move(native_runner_factory), | 271 std::move(native_runner_factory), catalog_->TakeService())); |
272 catalog_->TakeService())); | 272 request = |
273 request = service_manager_->StartEmbedderService( | 273 service_manager_->StartEmbedderService(kBrowserMojoApplicationName); |
274 kBrowserMojoApplicationName); | |
275 } | 274 } |
276 MojoShellConnection::SetForProcess( | 275 MojoShellConnection::SetForProcess( |
277 MojoShellConnection::Create(std::move(request))); | 276 MojoShellConnection::Create(std::move(request))); |
278 | 277 |
279 std::unique_ptr<shell::Connector> io_connector = | 278 std::unique_ptr<shell::Connector> io_connector = |
280 MojoShellConnection::GetForProcess()->GetConnector()->Clone(); | 279 MojoShellConnection::GetForProcess()->GetConnector()->Clone(); |
281 BrowserThread::PostTask( | 280 BrowserThread::PostTask( |
282 BrowserThread::IO, FROM_HERE, | 281 BrowserThread::IO, FROM_HERE, |
283 base::Bind(&SetConnectorOnIOThread, base::Passed(&io_connector))); | 282 base::Bind(&SetConnectorOnIOThread, base::Passed(&io_connector))); |
284 | 283 |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 shell::Identity source_id(requestor_name, user_id); | 354 shell::Identity source_id(requestor_name, user_id); |
356 params->set_source(source_id); | 355 params->set_source(source_id); |
357 params->set_target(shell::Identity(name, user_id)); | 356 params->set_target(shell::Identity(name, user_id)); |
358 params->set_remote_interfaces(std::move(request)); | 357 params->set_remote_interfaces(std::move(request)); |
359 params->set_local_interfaces(std::move(exposed_services)); | 358 params->set_local_interfaces(std::move(exposed_services)); |
360 params->set_connect_callback(callback); | 359 params->set_connect_callback(callback); |
361 service_manager_->Connect(std::move(params)); | 360 service_manager_->Connect(std::move(params)); |
362 } | 361 } |
363 | 362 |
364 } // namespace content | 363 } // namespace content |
OLD | NEW |