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

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

Issue 1764253002: Rename shell.mojom to connector.mojom, ApplicationManager to Shell (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@32exe
Patch Set: . Created 4 years, 9 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/shell/standalone/context.h ('k') | mojo/shell/tests/BUILD.gn » ('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/standalone/context.h" 5 #include "mojo/shell/standalone/context.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <utility> 10 #include <utility>
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 new InProcessNativeRunnerFactory(blocking_pool_.get())); 148 new InProcessNativeRunnerFactory(blocking_pool_.get()));
149 } else { 149 } else {
150 NativeRunnerDelegate* native_runner_delegate = init_params ? 150 NativeRunnerDelegate* native_runner_delegate = init_params ?
151 init_params->native_runner_delegate : nullptr; 151 init_params->native_runner_delegate : nullptr;
152 runner_factory.reset(new OutOfProcessNativeRunnerFactory( 152 runner_factory.reset(new OutOfProcessNativeRunnerFactory(
153 blocking_pool_.get(), native_runner_delegate)); 153 blocking_pool_.get(), native_runner_delegate));
154 } 154 }
155 scoped_ptr<package_manager::ApplicationCatalogStore> app_catalog; 155 scoped_ptr<package_manager::ApplicationCatalogStore> app_catalog;
156 if (init_params) 156 if (init_params)
157 app_catalog = std::move(init_params->app_catalog); 157 app_catalog = std::move(init_params->app_catalog);
158 application_manager_.reset(new ApplicationManager(std::move(runner_factory), 158 shell_.reset(new Shell(std::move(runner_factory), blocking_pool_.get(),
159 blocking_pool_.get(), 159 std::move(app_catalog)));
160 std::move(app_catalog)));
161 160
162 shell::mojom::InterfaceProviderPtr tracing_remote_interfaces; 161 shell::mojom::InterfaceProviderPtr tracing_remote_interfaces;
163 shell::mojom::InterfaceProviderPtr tracing_local_interfaces; 162 shell::mojom::InterfaceProviderPtr tracing_local_interfaces;
164 new TracingInterfaceProvider(&tracer_, GetProxy(&tracing_local_interfaces)); 163 new TracingInterfaceProvider(&tracer_, GetProxy(&tracing_local_interfaces));
165 164
166 scoped_ptr<ConnectParams> params(new ConnectParams); 165 scoped_ptr<ConnectParams> params(new ConnectParams);
167 params->set_source(CreateShellIdentity()); 166 params->set_source(CreateShellIdentity());
168 params->set_target(Identity("mojo:tracing", std::string(), 167 params->set_target(Identity("mojo:tracing", std::string(),
169 mojom::Connector::kUserInherit)); 168 mojom::Connector::kUserInherit));
170 params->set_remote_interfaces(GetProxy(&tracing_remote_interfaces)); 169 params->set_remote_interfaces(GetProxy(&tracing_remote_interfaces));
171 params->set_local_interfaces(std::move(tracing_local_interfaces)); 170 params->set_local_interfaces(std::move(tracing_local_interfaces));
172 application_manager_->Connect(std::move(params)); 171 shell_->Connect(std::move(params));
173 172
174 if (command_line.HasSwitch(tracing::kTraceStartup)) { 173 if (command_line.HasSwitch(tracing::kTraceStartup)) {
175 tracing::TraceCollectorPtr coordinator; 174 tracing::TraceCollectorPtr coordinator;
176 auto coordinator_request = GetProxy(&coordinator); 175 auto coordinator_request = GetProxy(&coordinator);
177 tracing_remote_interfaces->GetInterface( 176 tracing_remote_interfaces->GetInterface(
178 tracing::TraceCollector::Name_, coordinator_request.PassMessagePipe()); 177 tracing::TraceCollector::Name_, coordinator_request.PassMessagePipe());
179 tracer_.StartCollectingFromTracingService(std::move(coordinator)); 178 tracer_.StartCollectingFromTracingService(std::move(coordinator));
180 } 179 }
181 180
182 // Record the shell startup metrics used for performance testing. 181 // Record the shell startup metrics used for performance testing.
183 if (base::CommandLine::ForCurrentProcess()->HasSwitch( 182 if (base::CommandLine::ForCurrentProcess()->HasSwitch(
184 tracing::kEnableStatsCollectionBindings)) { 183 tracing::kEnableStatsCollectionBindings)) {
185 tracing::StartupPerformanceDataCollectorPtr collector; 184 tracing::StartupPerformanceDataCollectorPtr collector;
186 tracing_remote_interfaces->GetInterface( 185 tracing_remote_interfaces->GetInterface(
187 tracing::StartupPerformanceDataCollector::Name_, 186 tracing::StartupPerformanceDataCollector::Name_,
188 GetProxy(&collector).PassMessagePipe()); 187 GetProxy(&collector).PassMessagePipe());
189 #if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) 188 #if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
190 // CurrentProcessInfo::CreationTime is only defined on some platforms. 189 // CurrentProcessInfo::CreationTime is only defined on some platforms.
191 const base::Time creation_time = base::CurrentProcessInfo::CreationTime(); 190 const base::Time creation_time = base::CurrentProcessInfo::CreationTime();
192 collector->SetShellProcessCreationTime(creation_time.ToInternalValue()); 191 collector->SetShellProcessCreationTime(creation_time.ToInternalValue());
193 #endif 192 #endif
194 collector->SetShellMainEntryPointTime(main_entry_time_.ToInternalValue()); 193 collector->SetShellMainEntryPointTime(main_entry_time_.ToInternalValue());
195 } 194 }
196 } 195 }
197 196
198 void Context::Shutdown() { 197 void Context::Shutdown() {
199 // Actions triggered by ApplicationManager's destructor may require a current 198 // Actions triggered by Shell's destructor may require a current message loop,
200 // message loop, so we should destruct it explicitly now as ~Context() occurs 199 // so we should destruct it explicitly now as ~Context() occurs post message
201 // post message loop shutdown. 200 // loop shutdown.
202 application_manager_.reset(); 201 shell_.reset();
203 202
204 TRACE_EVENT0("mojo_shell", "Context::Shutdown"); 203 TRACE_EVENT0("mojo_shell", "Context::Shutdown");
205 DCHECK_EQ(base::MessageLoop::current()->task_runner(), shell_runner_); 204 DCHECK_EQ(base::MessageLoop::current()->task_runner(), shell_runner_);
206 // Post a task in case OnShutdownComplete is called synchronously. 205 // Post a task in case OnShutdownComplete is called synchronously.
207 base::MessageLoop::current()->PostTask(FROM_HERE, 206 base::MessageLoop::current()->PostTask(FROM_HERE,
208 base::Bind(edk::ShutdownIPCSupport)); 207 base::Bind(edk::ShutdownIPCSupport));
209 // We'll quit when we get OnShutdownComplete(). 208 // We'll quit when we get OnShutdownComplete().
210 base::MessageLoop::current()->Run(); 209 base::MessageLoop::current()->Run();
211 } 210 }
212 211
(...skipping 12 matching lines...) Expand all
225 std::string possible_app = args[i]; 224 std::string possible_app = args[i];
226 #endif 225 #endif
227 if (GetNameType(possible_app) == "mojo") { 226 if (GetNameType(possible_app) == "mojo") {
228 Run(possible_app); 227 Run(possible_app);
229 break; 228 break;
230 } 229 }
231 } 230 }
232 } 231 }
233 232
234 void Context::Run(const std::string& name) { 233 void Context::Run(const std::string& name) {
235 application_manager_->SetInstanceQuitCallback( 234 shell_->SetInstanceQuitCallback(base::Bind(&OnInstanceQuit, name));
236 base::Bind(&OnInstanceQuit, name));
237 235
238 shell::mojom::InterfaceProviderPtr remote_interfaces; 236 shell::mojom::InterfaceProviderPtr remote_interfaces;
239 shell::mojom::InterfaceProviderPtr local_interfaces; 237 shell::mojom::InterfaceProviderPtr local_interfaces;
240 238
241 scoped_ptr<ConnectParams> params(new ConnectParams); 239 scoped_ptr<ConnectParams> params(new ConnectParams);
242 params->set_source(CreateShellIdentity()); 240 params->set_source(CreateShellIdentity());
243 params->set_target(Identity(name, std::string(), 241 params->set_target(Identity(name, std::string(),
244 mojom::Connector::kUserRoot)); 242 mojom::Connector::kUserRoot));
245 params->set_remote_interfaces(GetProxy(&remote_interfaces)); 243 params->set_remote_interfaces(GetProxy(&remote_interfaces));
246 params->set_local_interfaces(std::move(local_interfaces)); 244 params->set_local_interfaces(std::move(local_interfaces));
247 application_manager_->Connect(std::move(params)); 245 shell_->Connect(std::move(params));
248 } 246 }
249 247
250 } // namespace shell 248 } // namespace shell
251 } // namespace mojo 249 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/shell/standalone/context.h ('k') | mojo/shell/tests/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698