| OLD | NEW |
| 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/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 #include "shell/in_process_dynamic_service_runner.h" | 31 #include "shell/in_process_dynamic_service_runner.h" |
| 32 #include "shell/out_of_process_dynamic_service_runner.h" | 32 #include "shell/out_of_process_dynamic_service_runner.h" |
| 33 #include "shell/switches.h" | 33 #include "shell/switches.h" |
| 34 #include "shell/ui_application_loader_android.h" | 34 #include "shell/ui_application_loader_android.h" |
| 35 #include "url/gurl.h" | 35 #include "url/gurl.h" |
| 36 | 36 |
| 37 #if defined(OS_ANDROID) | 37 #if defined(OS_ANDROID) |
| 38 #include "services/gles2/gpu_impl.h" | 38 #include "services/gles2/gpu_impl.h" |
| 39 #include "services/native_viewport/native_viewport_impl.h" | 39 #include "services/native_viewport/native_viewport_impl.h" |
| 40 #include "shell/android/android_handler_loader.h" | 40 #include "shell/android/android_handler_loader.h" |
| 41 #include "shell/network_application_loader.h" | |
| 42 #endif // defined(OS_ANDROID) | 41 #endif // defined(OS_ANDROID) |
| 43 | 42 |
| 44 namespace mojo { | 43 namespace mojo { |
| 45 namespace shell { | 44 namespace shell { |
| 46 namespace { | 45 namespace { |
| 47 | 46 |
| 48 // These mojo: URLs are loaded directly from the local filesystem. They | 47 // These mojo: URLs are loaded directly from the local filesystem. They |
| 49 // correspond to shared libraries bundled alongside the mojo_shell. | 48 // correspond to shared libraries bundled alongside the mojo_shell. |
| 50 const char* kLocalMojoURLs[] = { | 49 const char* kLocalMojoURLs[] = { |
| 51 "mojo:network_service", | 50 "mojo:network_service", |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 245 if (command_line->HasSwitch(switches::kSpy)) { | 244 if (command_line->HasSwitch(switches::kSpy)) { |
| 246 spy_.reset( | 245 spy_.reset( |
| 247 new mojo::Spy(&application_manager_, | 246 new mojo::Spy(&application_manager_, |
| 248 command_line->GetSwitchValueASCII(switches::kSpy))); | 247 command_line->GetSwitchValueASCII(switches::kSpy))); |
| 249 // TODO(cpu): the spy can snoop, but can't tell anybody until | 248 // TODO(cpu): the spy can snoop, but can't tell anybody until |
| 250 // the Spy::WebSocketDelegate is implemented. In the original repo this | 249 // the Spy::WebSocketDelegate is implemented. In the original repo this |
| 251 // was implemented by src\mojo\spy\websocket_server.h and .cc. | 250 // was implemented by src\mojo\spy\websocket_server.h and .cc. |
| 252 } | 251 } |
| 253 | 252 |
| 254 #if defined(OS_ANDROID) | 253 #if defined(OS_ANDROID) |
| 255 // On android, the network service is bundled with the shell because the | |
| 256 // network stack depends on the android runtime. | |
| 257 { | 254 { |
| 258 scoped_ptr<BackgroundShellApplicationLoader> loader( | 255 // Android handler is bundled with the Mojo shell, because it uses the |
| 259 new BackgroundShellApplicationLoader( | 256 // MojoShell application as the JNI bridge to bootstrap execution of other |
| 260 scoped_ptr<ApplicationLoader>(new NetworkApplicationLoader()), | 257 // Android Mojo apps that need JNI. |
| 261 "network_service", base::MessageLoop::TYPE_IO)); | |
| 262 application_manager_.SetLoaderForURL(loader.Pass(), | |
| 263 GURL("mojo:network_service")); | |
| 264 } | |
| 265 { | |
| 266 scoped_ptr<BackgroundShellApplicationLoader> loader( | 258 scoped_ptr<BackgroundShellApplicationLoader> loader( |
| 267 new BackgroundShellApplicationLoader( | 259 new BackgroundShellApplicationLoader( |
| 268 scoped_ptr<ApplicationLoader>(new AndroidHandlerLoader()), | 260 scoped_ptr<ApplicationLoader>(new AndroidHandlerLoader()), |
| 269 "android_handler", base::MessageLoop::TYPE_DEFAULT)); | 261 "android_handler", base::MessageLoop::TYPE_DEFAULT)); |
| 270 application_manager_.SetLoaderForURL(loader.Pass(), | 262 application_manager_.SetLoaderForURL(loader.Pass(), |
| 271 GURL("mojo:android_handler")); | 263 GURL("mojo:android_handler")); |
| 272 } | 264 } |
| 273 #endif | 265 #endif |
| 274 | 266 |
| 275 tracing::TraceDataCollectorPtr trace_data_collector_ptr; | 267 tracing::TraceDataCollectorPtr trace_data_collector_ptr; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 307 ScopedMessagePipeHandle Context::ConnectToServiceByName( | 299 ScopedMessagePipeHandle Context::ConnectToServiceByName( |
| 308 const GURL& application_url, | 300 const GURL& application_url, |
| 309 const std::string& service_name) { | 301 const std::string& service_name) { |
| 310 app_urls_.insert(application_url); | 302 app_urls_.insert(application_url); |
| 311 return application_manager_.ConnectToServiceByName(application_url, | 303 return application_manager_.ConnectToServiceByName(application_url, |
| 312 service_name).Pass(); | 304 service_name).Pass(); |
| 313 } | 305 } |
| 314 | 306 |
| 315 } // namespace shell | 307 } // namespace shell |
| 316 } // namespace mojo | 308 } // namespace mojo |
| OLD | NEW |