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

Side by Side Diff: mojo/runner/context.cc

Issue 1351963002: Some more minor cleanup to ApplicationManager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 3 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 | « mojo/package_manager/package_manager_impl.cc ('k') | mojo/runner/native_runner_unittest.cc » ('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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "mojo/runner/context.h" 5 #include "mojo/runner/context.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 else 202 else
203 runner_factory.reset(new InProcessNativeRunnerFactory(this)); 203 runner_factory.reset(new InProcessNativeRunnerFactory(this));
204 application_manager_->set_blocking_pool(task_runners_->blocking_pool()); 204 application_manager_->set_blocking_pool(task_runners_->blocking_pool());
205 application_manager_->set_native_runner_factory(runner_factory.Pass()); 205 application_manager_->set_native_runner_factory(runner_factory.Pass());
206 206
207 ServiceProviderPtr service_provider_ptr; 207 ServiceProviderPtr service_provider_ptr;
208 ServiceProviderPtr tracing_service_provider_ptr; 208 ServiceProviderPtr tracing_service_provider_ptr;
209 new TracingServiceProvider(GetProxy(&tracing_service_provider_ptr)); 209 new TracingServiceProvider(GetProxy(&tracing_service_provider_ptr));
210 mojo::URLRequestPtr request(mojo::URLRequest::New()); 210 mojo::URLRequestPtr request(mojo::URLRequest::New());
211 request->url = mojo::String::From("mojo:tracing"); 211 request->url = mojo::String::From("mojo:tracing");
212 application_manager_->ConnectToApplication( 212
213 nullptr, request.Pass(), std::string(), GetProxy(&service_provider_ptr), 213 scoped_ptr<shell::ConnectToApplicationParams> params(
214 tracing_service_provider_ptr.Pass(), 214 new shell::ConnectToApplicationParams);
215 shell::GetPermissiveCapabilityFilter(), base::Closure(), 215 params->SetURLInfo(request.Pass());
216 shell::EmptyConnectCallback()); 216 params->set_services(GetProxy(&service_provider_ptr));
217 params->set_exposed_services(tracing_service_provider_ptr.Pass());
218 params->set_filter(shell::GetPermissiveCapabilityFilter());
219 application_manager_->ConnectToApplication(params.Pass());
217 220
218 // Record the shell startup metrics used for performance testing. 221 // Record the shell startup metrics used for performance testing.
219 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 222 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
220 tracing::kEnableStatsCollectionBindings)) { 223 tracing::kEnableStatsCollectionBindings)) {
221 tracing::StartupPerformanceDataCollectorPtr collector; 224 tracing::StartupPerformanceDataCollectorPtr collector;
222 service_provider_ptr->ConnectToService( 225 service_provider_ptr->ConnectToService(
223 tracing::StartupPerformanceDataCollector::Name_, 226 tracing::StartupPerformanceDataCollector::Name_,
224 GetProxy(&collector).PassMessagePipe()); 227 GetProxy(&collector).PassMessagePipe());
225 #if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) 228 #if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
226 // CurrentProcessInfo::CreationTime is only defined on some platforms. 229 // CurrentProcessInfo::CreationTime is only defined on some platforms.
(...skipping 29 matching lines...) Expand all
256 } 259 }
257 260
258 void Context::Run(const GURL& url) { 261 void Context::Run(const GURL& url) {
259 DCHECK(app_complete_callback_.is_null()); 262 DCHECK(app_complete_callback_.is_null());
260 ServiceProviderPtr services; 263 ServiceProviderPtr services;
261 ServiceProviderPtr exposed_services; 264 ServiceProviderPtr exposed_services;
262 265
263 app_urls_.insert(url); 266 app_urls_.insert(url);
264 mojo::URLRequestPtr request(mojo::URLRequest::New()); 267 mojo::URLRequestPtr request(mojo::URLRequest::New());
265 request->url = mojo::String::From(url.spec()); 268 request->url = mojo::String::From(url.spec());
266 application_manager_->ConnectToApplication( 269
267 nullptr, request.Pass(), std::string(), GetProxy(&services), 270 scoped_ptr<shell::ConnectToApplicationParams> params(
268 exposed_services.Pass(), shell::GetPermissiveCapabilityFilter(), 271 new shell::ConnectToApplicationParams);
269 base::Bind(&Context::OnApplicationEnd, base::Unretained(this), url), 272 params->SetURLInfo(request.Pass());
270 shell::EmptyConnectCallback()); 273 params->set_services(GetProxy(&services));
274 params->set_exposed_services(exposed_services.Pass());
275 params->set_filter(shell::GetPermissiveCapabilityFilter());
276 params->set_on_application_end(
277 base::Bind(&Context::OnApplicationEnd, base::Unretained(this), url));
278 application_manager_->ConnectToApplication(params.Pass());
271 } 279 }
272 280
273 void Context::RunCommandLineApplication(const base::Closure& callback) { 281 void Context::RunCommandLineApplication(const base::Closure& callback) {
274 DCHECK(app_urls_.empty()); 282 DCHECK(app_urls_.empty());
275 DCHECK(app_complete_callback_.is_null()); 283 DCHECK(app_complete_callback_.is_null());
276 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); 284 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
277 base::CommandLine::StringVector args = command_line->GetArgs(); 285 base::CommandLine::StringVector args = command_line->GetArgs();
278 for (size_t i = 0; i < args.size(); ++i) { 286 for (size_t i = 0; i < args.size(); ++i) {
279 GURL possible_app(args[i]); 287 GURL possible_app(args[i]);
280 if (possible_app.SchemeIs("mojo")) { 288 if (possible_app.SchemeIs("mojo")) {
(...skipping 14 matching lines...) Expand all
295 base::MessageLoop::current()->Quit(); 303 base::MessageLoop::current()->Quit();
296 } else { 304 } else {
297 app_complete_callback_.Run(); 305 app_complete_callback_.Run();
298 } 306 }
299 } 307 }
300 } 308 }
301 } 309 }
302 310
303 } // namespace runner 311 } // namespace runner
304 } // namespace mojo 312 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/package_manager/package_manager_impl.cc ('k') | mojo/runner/native_runner_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698