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

Side by Side Diff: shell/context.cc

Issue 1067173003: Remove mojo:: part of mojo::shell:: nested namespace in //shell. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 8 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 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 "shell/context.h" 5 #include "shell/context.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/base_switches.h" 9 #include "base/base_switches.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 20 matching lines...) Expand all
31 #include "services/tracing/tracing.mojom.h" 31 #include "services/tracing/tracing.mojom.h"
32 #include "shell/application_manager/application_loader.h" 32 #include "shell/application_manager/application_loader.h"
33 #include "shell/application_manager/application_manager.h" 33 #include "shell/application_manager/application_manager.h"
34 #include "shell/command_line_util.h" 34 #include "shell/command_line_util.h"
35 #include "shell/filename_util.h" 35 #include "shell/filename_util.h"
36 #include "shell/in_process_native_runner.h" 36 #include "shell/in_process_native_runner.h"
37 #include "shell/out_of_process_native_runner.h" 37 #include "shell/out_of_process_native_runner.h"
38 #include "shell/switches.h" 38 #include "shell/switches.h"
39 #include "url/gurl.h" 39 #include "url/gurl.h"
40 40
41 namespace mojo {
42 namespace shell { 41 namespace shell {
43 namespace { 42 namespace {
44 43
45 // Used to ensure we only init once. 44 // Used to ensure we only init once.
46 class Setup { 45 class Setup {
47 public: 46 public:
48 Setup() { 47 Setup() {
49 embedder::Init(make_scoped_ptr(new embedder::SimplePlatformSupport())); 48 mojo::embedder::Init(
49 make_scoped_ptr(new mojo::embedder::SimplePlatformSupport()));
50 } 50 }
51 51
52 ~Setup() {} 52 ~Setup() {}
53 53
54 private: 54 private:
55 DISALLOW_COPY_AND_ASSIGN(Setup); 55 DISALLOW_COPY_AND_ASSIGN(Setup);
56 }; 56 };
57 57
58 bool ConfigureURLMappings(const base::CommandLine& command_line, 58 bool ConfigureURLMappings(const base::CommandLine& command_line,
59 Context* context) { 59 Context* context) {
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 << ": '" << force_in_process_url << "'is not a valid URL."; 164 << ": '" << force_in_process_url << "'is not a valid URL.";
165 return; 165 return;
166 } 166 }
167 167
168 NativeRunnerFactory::Options options; 168 NativeRunnerFactory::Options options;
169 options.force_in_process = true; 169 options.force_in_process = true;
170 manager->SetNativeOptionsForURL(options, gurl); 170 manager->SetNativeOptionsForURL(options, gurl);
171 } 171 }
172 } 172 }
173 173
174 class TracingServiceProvider : public ServiceProvider { 174 class TracingServiceProvider : public mojo::ServiceProvider {
175 public: 175 public:
176 explicit TracingServiceProvider(InterfaceRequest<ServiceProvider> request) 176 explicit TracingServiceProvider(
177 mojo::InterfaceRequest<mojo::ServiceProvider> request)
177 : binding_(this, request.Pass()) {} 178 : binding_(this, request.Pass()) {}
178 ~TracingServiceProvider() override {} 179 ~TracingServiceProvider() override {}
179 180
180 void ConnectToService(const String& service_name, 181 void ConnectToService(const mojo::String& service_name,
181 ScopedMessagePipeHandle client_handle) override { 182 mojo::ScopedMessagePipeHandle client_handle) override {
182 if (service_name == tracing::TraceController::Name_) { 183 if (service_name == tracing::TraceController::Name_) {
183 new TraceControllerImpl( 184 new mojo::TraceControllerImpl(
184 MakeRequest<tracing::TraceController>(client_handle.Pass())); 185 mojo::MakeRequest<tracing::TraceController>(client_handle.Pass()));
185 } 186 }
186 } 187 }
187 188
188 private: 189 private:
189 StrongBinding<ServiceProvider> binding_; 190 mojo::StrongBinding<mojo::ServiceProvider> binding_;
190 191
191 DISALLOW_COPY_AND_ASSIGN(TracingServiceProvider); 192 DISALLOW_COPY_AND_ASSIGN(TracingServiceProvider);
192 }; 193 };
193 194
194 } // namespace 195 } // namespace
195 196
196 Context::Context() : application_manager_(this) { 197 Context::Context() : application_manager_(this) {
197 DCHECK(!base::MessageLoop::current()); 198 DCHECK(!base::MessageLoop::current());
198 199
199 // By default assume that the local apps reside alongside the shell. 200 // By default assume that the local apps reside alongside the shell.
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
259 new TaskRunners(base::MessageLoop::current()->message_loop_proxy())); 260 new TaskRunners(base::MessageLoop::current()->message_loop_proxy()));
260 261
261 // TODO(vtl): Probably these failures should be checked before |Init()|, and 262 // TODO(vtl): Probably these failures should be checked before |Init()|, and
262 // this function simply shouldn't fail. 263 // this function simply shouldn't fail.
263 if (!shell_file_root_.is_valid()) 264 if (!shell_file_root_.is_valid())
264 return false; 265 return false;
265 if (!ConfigureURLMappings(command_line, this)) 266 if (!ConfigureURLMappings(command_line, this))
266 return false; 267 return false;
267 268
268 // TODO(vtl): This should be MASTER, not NONE. 269 // TODO(vtl): This should be MASTER, not NONE.
269 embedder::InitIPCSupport( 270 mojo::embedder::InitIPCSupport(
270 embedder::ProcessType::NONE, task_runners_->shell_runner(), this, 271 mojo::embedder::ProcessType::NONE, task_runners_->shell_runner(), this,
271 task_runners_->io_runner(), embedder::ScopedPlatformHandle()); 272 task_runners_->io_runner(), mojo::embedder::ScopedPlatformHandle());
272 273
273 scoped_ptr<NativeRunnerFactory> runner_factory; 274 scoped_ptr<NativeRunnerFactory> runner_factory;
274 if (command_line.HasSwitch(switches::kEnableMultiprocess)) 275 if (command_line.HasSwitch(switches::kEnableMultiprocess))
275 runner_factory.reset(new OutOfProcessNativeRunnerFactory(this)); 276 runner_factory.reset(new OutOfProcessNativeRunnerFactory(this));
276 else 277 else
277 runner_factory.reset(new InProcessNativeRunnerFactory(this)); 278 runner_factory.reset(new InProcessNativeRunnerFactory(this));
278 application_manager_.set_blocking_pool(task_runners_->blocking_pool()); 279 application_manager_.set_blocking_pool(task_runners_->blocking_pool());
279 application_manager_.set_native_runner_factory(runner_factory.Pass()); 280 application_manager_.set_native_runner_factory(runner_factory.Pass());
280 application_manager_.set_disable_cache( 281 application_manager_.set_disable_cache(
281 base::CommandLine::ForCurrentProcess()->HasSwitch( 282 base::CommandLine::ForCurrentProcess()->HasSwitch(
282 switches::kDisableCache)); 283 switches::kDisableCache));
283 284
284 InitContentHandlers(&application_manager_, command_line); 285 InitContentHandlers(&application_manager_, command_line);
285 InitNativeOptions(&application_manager_, command_line); 286 InitNativeOptions(&application_manager_, command_line);
286 287
287 ServiceProviderPtr tracing_service_provider_ptr; 288 mojo::ServiceProviderPtr tracing_service_provider_ptr;
288 new TracingServiceProvider(GetProxy(&tracing_service_provider_ptr)); 289 new TracingServiceProvider(mojo::GetProxy(&tracing_service_provider_ptr));
289 application_manager_.ConnectToApplication( 290 application_manager_.ConnectToApplication(
290 GURL("mojo:tracing"), GURL(""), nullptr, 291 GURL("mojo:tracing"), GURL(""), nullptr,
291 tracing_service_provider_ptr.Pass(), base::Closure()); 292 tracing_service_provider_ptr.Pass(), base::Closure());
292 293
293 return true; 294 return true;
294 } 295 }
295 296
296 void Context::Shutdown() { 297 void Context::Shutdown() {
297 TRACE_EVENT0("mojo_shell", "Context::Shutdown"); 298 TRACE_EVENT0("mojo_shell", "Context::Shutdown");
298 DCHECK_EQ(base::MessageLoop::current()->task_runner(), 299 DCHECK_EQ(base::MessageLoop::current()->task_runner(),
299 task_runners_->shell_runner()); 300 task_runners_->shell_runner());
300 embedder::ShutdownIPCSupport(); 301 mojo::embedder::ShutdownIPCSupport();
301 // We'll quit when we get OnShutdownComplete(). 302 // We'll quit when we get OnShutdownComplete().
302 base::MessageLoop::current()->Run(); 303 base::MessageLoop::current()->Run();
303 } 304 }
304 305
305 GURL Context::ResolveURL(const GURL& url) { 306 GURL Context::ResolveURL(const GURL& url) {
306 return url_resolver_.ResolveMojoURL(url); 307 return url_resolver_.ResolveMojoURL(url);
307 } 308 }
308 309
309 GURL Context::ResolveMappings(const GURL& url) { 310 GURL Context::ResolveMappings(const GURL& url) {
310 return url_resolver_.ApplyMappings(url); 311 return url_resolver_.ApplyMappings(url);
311 } 312 }
312 313
313 void Context::OnShutdownComplete() { 314 void Context::OnShutdownComplete() {
314 DCHECK_EQ(base::MessageLoop::current()->task_runner(), 315 DCHECK_EQ(base::MessageLoop::current()->task_runner(),
315 task_runners_->shell_runner()); 316 task_runners_->shell_runner());
316 base::MessageLoop::current()->Quit(); 317 base::MessageLoop::current()->Quit();
317 } 318 }
318 319
319 void Context::Run(const GURL& url) { 320 void Context::Run(const GURL& url) {
320 ServiceProviderPtr services; 321 mojo::ServiceProviderPtr services;
321 ServiceProviderPtr exposed_services; 322 mojo::ServiceProviderPtr exposed_services;
322 323
323 app_urls_.insert(url); 324 app_urls_.insert(url);
324 application_manager_.ConnectToApplication( 325 application_manager_.ConnectToApplication(
325 url, GURL(), GetProxy(&services), exposed_services.Pass(), 326 url, GURL(), mojo::GetProxy(&services), exposed_services.Pass(),
326 base::Bind(&Context::OnApplicationEnd, base::Unretained(this), url)); 327 base::Bind(&Context::OnApplicationEnd, base::Unretained(this), url));
327 } 328 }
328 329
329 void Context::OnApplicationEnd(const GURL& url) { 330 void Context::OnApplicationEnd(const GURL& url) {
330 if (app_urls_.find(url) != app_urls_.end()) { 331 if (app_urls_.find(url) != app_urls_.end()) {
331 app_urls_.erase(url); 332 app_urls_.erase(url);
332 if (app_urls_.empty() && base::MessageLoop::current()->is_running()) { 333 if (app_urls_.empty() && base::MessageLoop::current()->is_running()) {
333 DCHECK_EQ(base::MessageLoop::current()->task_runner(), 334 DCHECK_EQ(base::MessageLoop::current()->task_runner(),
334 task_runners_->shell_runner()); 335 task_runners_->shell_runner());
335 base::MessageLoop::current()->Quit(); 336 base::MessageLoop::current()->Quit();
336 } 337 }
337 } 338 }
338 } 339 }
339 340
340 } // namespace shell 341 } // namespace shell
341 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698