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

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

Issue 399663002: Have mojo_shell run in its custom thread on android. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « mojo/shell/context.h ('k') | mojo/shell/dbus_service_loader_linux.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/shell/context.h" 5 #include "mojo/shell/context.h"
6 6
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/memory/scoped_vector.h" 10 #include "base/memory/scoped_vector.h"
11 #include "mojo/embedder/embedder.h" 11 #include "mojo/embedder/embedder.h"
12 #include "mojo/gles2/gles2_support_impl.h" 12 #include "mojo/gles2/gles2_support_impl.h"
13 #include "mojo/public/cpp/application/application_impl.h" 13 #include "mojo/public/cpp/application/application_impl.h"
14 #include "mojo/service_manager/background_service_loader.h" 14 #include "mojo/service_manager/background_service_loader.h"
15 #include "mojo/service_manager/service_loader.h" 15 #include "mojo/service_manager/service_loader.h"
16 #include "mojo/service_manager/service_manager.h" 16 #include "mojo/service_manager/service_manager.h"
17 #include "mojo/services/native_viewport/native_viewport_service.h" 17 #include "mojo/services/native_viewport/native_viewport_service.h"
18 #include "mojo/shell/dynamic_service_loader.h" 18 #include "mojo/shell/dynamic_service_loader.h"
19 #include "mojo/shell/in_process_dynamic_service_runner.h" 19 #include "mojo/shell/in_process_dynamic_service_runner.h"
20 #include "mojo/shell/out_of_process_dynamic_service_runner.h" 20 #include "mojo/shell/out_of_process_dynamic_service_runner.h"
21 #include "mojo/shell/switches.h" 21 #include "mojo/shell/switches.h"
22 #include "mojo/shell/ui_service_loader_android.h"
22 #include "mojo/spy/spy.h" 23 #include "mojo/spy/spy.h"
23 24
24 #if defined(OS_LINUX) 25 #if defined(OS_LINUX)
25 #include "mojo/shell/dbus_service_loader_linux.h" 26 #include "mojo/shell/dbus_service_loader_linux.h"
26 #endif // defined(OS_LINUX) 27 #endif // defined(OS_LINUX)
27 28
28 #if defined(OS_ANDROID) 29 #if defined(OS_ANDROID)
29 #include "mojo/shell/network_service_loader.h" 30 #include "mojo/shell/network_service_loader.h"
30 #endif // defined(OS_ANDROID) 31 #endif // defined(OS_ANDROID)
31 32
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 runner_factory.reset(new OutOfProcessDynamicServiceRunnerFactory()); 97 runner_factory.reset(new OutOfProcessDynamicServiceRunnerFactory());
97 else 98 else
98 runner_factory.reset(new InProcessDynamicServiceRunnerFactory()); 99 runner_factory.reset(new InProcessDynamicServiceRunnerFactory());
99 100
100 service_manager_.set_default_loader( 101 service_manager_.set_default_loader(
101 scoped_ptr<ServiceLoader>( 102 scoped_ptr<ServiceLoader>(
102 new DynamicServiceLoader(this, runner_factory.Pass()))); 103 new DynamicServiceLoader(this, runner_factory.Pass())));
103 // The native viewport service synchronously waits for certain messages. If we 104 // The native viewport service synchronously waits for certain messages. If we
104 // don't run it on its own thread we can easily deadlock. Long term native 105 // don't run it on its own thread we can easily deadlock. Long term native
105 // viewport should run its own process so that this isn't an issue. 106 // viewport should run its own process so that this isn't an issue.
107 #if defined(OS_ANDROID)
108 service_manager_.SetLoaderForURL(
109 scoped_ptr<ServiceLoader>(
110 new UIServiceLoader(
111 scoped_ptr<ServiceLoader>(new NativeViewportServiceLoader(this)),
112 this)),
113 GURL("mojo:mojo_native_viewport_service"));
114 #else
106 service_manager_.SetLoaderForURL( 115 service_manager_.SetLoaderForURL(
107 scoped_ptr<ServiceLoader>( 116 scoped_ptr<ServiceLoader>(
108 new BackgroundServiceLoader( 117 new BackgroundServiceLoader(
109 scoped_ptr<ServiceLoader>(new NativeViewportServiceLoader(this)), 118 scoped_ptr<ServiceLoader>(new NativeViewportServiceLoader(this)),
110 "native_viewport", 119 "native_viewport",
111 base::MessageLoop::TYPE_UI)), 120 base::MessageLoop::TYPE_UI)),
112 GURL("mojo:mojo_native_viewport_service")); 121 GURL("mojo:mojo_native_viewport_service"));
122 #endif
113 #if defined(USE_AURA) 123 #if defined(USE_AURA)
114 // TODO(sky): need a better way to find this. It shouldn't be linked in. 124 // TODO(sky): need a better way to find this. It shouldn't be linked in.
115 service_manager_.SetLoaderForURL( 125 service_manager_.SetLoaderForURL(
116 scoped_ptr<ServiceLoader>(new ViewManagerLoader()), 126 scoped_ptr<ServiceLoader>(new ViewManagerLoader()),
117 GURL("mojo:mojo_view_manager")); 127 GURL("mojo:mojo_view_manager"));
118 #endif 128 #endif
119 129
120 #if defined(OS_LINUX) 130 #if defined(OS_LINUX)
121 service_manager_.SetLoaderForScheme( 131 service_manager_.SetLoaderForScheme(
122 scoped_ptr<ServiceLoader>(new DBusServiceLoader(this)), 132 scoped_ptr<ServiceLoader>(new DBusServiceLoader(this)),
(...skipping 25 matching lines...) Expand all
148 #if defined(USE_AURA) 158 #if defined(USE_AURA)
149 service_manager_.SetLoaderForURL( 159 service_manager_.SetLoaderForURL(
150 scoped_ptr<ServiceLoader>(), 160 scoped_ptr<ServiceLoader>(),
151 GURL("mojo:mojo_view_manager")); 161 GURL("mojo:mojo_view_manager"));
152 #endif 162 #endif
153 service_manager_.set_default_loader(scoped_ptr<ServiceLoader>()); 163 service_manager_.set_default_loader(scoped_ptr<ServiceLoader>());
154 } 164 }
155 165
156 } // namespace shell 166 } // namespace shell
157 } // namespace mojo 167 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/shell/context.h ('k') | mojo/shell/dbus_service_loader_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698