| 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/base_switches.h" | 9 #include "base/base_switches.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| 11 #include "base/command_line.h" | 11 #include "base/command_line.h" |
| 12 #include "base/files/file_path.h" | 12 #include "base/files/file_path.h" |
| 13 #include "base/files/file_util.h" | 13 #include "base/files/file_util.h" |
| 14 #include "base/lazy_instance.h" | 14 #include "base/lazy_instance.h" |
| 15 #include "base/macros.h" | 15 #include "base/macros.h" |
| 16 #include "base/memory/scoped_ptr.h" | 16 #include "base/memory/scoped_ptr.h" |
| 17 #include "base/memory/scoped_vector.h" | 17 #include "base/memory/scoped_vector.h" |
| 18 #include "base/path_service.h" | 18 #include "base/path_service.h" |
| 19 #include "base/run_loop.h" | 19 #include "base/run_loop.h" |
| 20 #include "base/strings/string_split.h" | 20 #include "base/strings/string_split.h" |
| 21 #include "base/strings/string_util.h" | 21 #include "base/strings/string_util.h" |
| 22 #include "base/trace_event/trace_event.h" | 22 #include "base/trace_event/trace_event.h" |
| 23 #include "build/build_config.h" | 23 #include "build/build_config.h" |
| 24 #include "mojo/common/trace_controller_impl.h" | 24 #include "mojo/common/trace_provider_impl.h" |
| 25 #include "mojo/common/tracing_impl.h" | 25 #include "mojo/common/tracing_impl.h" |
| 26 #include "mojo/edk/embedder/embedder.h" | 26 #include "mojo/edk/embedder/embedder.h" |
| 27 #include "mojo/edk/embedder/simple_platform_support.h" | 27 #include "mojo/edk/embedder/simple_platform_support.h" |
| 28 #include "mojo/public/cpp/application/application_connection.h" | 28 #include "mojo/public/cpp/application/application_connection.h" |
| 29 #include "mojo/public/cpp/application/application_delegate.h" | 29 #include "mojo/public/cpp/application/application_delegate.h" |
| 30 #include "mojo/public/cpp/application/application_impl.h" | 30 #include "mojo/public/cpp/application/application_impl.h" |
| 31 #include "mojo/services/tracing/public/interfaces/tracing.mojom.h" | 31 #include "mojo/services/tracing/public/interfaces/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/background_application_loader.h" | 34 #include "shell/background_application_loader.h" |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 | 186 |
| 187 class TracingServiceProvider : public ServiceProvider { | 187 class TracingServiceProvider : public ServiceProvider { |
| 188 public: | 188 public: |
| 189 TracingServiceProvider(Tracer* tracer, | 189 TracingServiceProvider(Tracer* tracer, |
| 190 mojo::InterfaceRequest<ServiceProvider> request) | 190 mojo::InterfaceRequest<ServiceProvider> request) |
| 191 : tracer_(tracer), binding_(this, request.Pass()) {} | 191 : tracer_(tracer), binding_(this, request.Pass()) {} |
| 192 ~TracingServiceProvider() override {} | 192 ~TracingServiceProvider() override {} |
| 193 | 193 |
| 194 void ConnectToService(const mojo::String& service_name, | 194 void ConnectToService(const mojo::String& service_name, |
| 195 mojo::ScopedMessagePipeHandle client_handle) override { | 195 mojo::ScopedMessagePipeHandle client_handle) override { |
| 196 if (tracer_ && service_name == tracing::TraceController::Name_) { | 196 if (tracer_ && service_name == tracing::TraceProvider::Name_) { |
| 197 tracer_->ConnectToController( | 197 tracer_->ConnectToProvider( |
| 198 mojo::MakeRequest<tracing::TraceController>(client_handle.Pass())); | 198 mojo::MakeRequest<tracing::TraceProvider>(client_handle.Pass())); |
| 199 } | 199 } |
| 200 } | 200 } |
| 201 | 201 |
| 202 private: | 202 private: |
| 203 Tracer* tracer_; | 203 Tracer* tracer_; |
| 204 mojo::StrongBinding<mojo::ServiceProvider> binding_; | 204 mojo::StrongBinding<mojo::ServiceProvider> binding_; |
| 205 | 205 |
| 206 DISALLOW_COPY_AND_ASSIGN(TracingServiceProvider); | 206 DISALLOW_COPY_AND_ASSIGN(TracingServiceProvider); |
| 207 }; | 207 }; |
| 208 | 208 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 | 305 |
| 306 ServiceProviderPtr tracing_services; | 306 ServiceProviderPtr tracing_services; |
| 307 ServiceProviderPtr tracing_exposed_services; | 307 ServiceProviderPtr tracing_exposed_services; |
| 308 new TracingServiceProvider(tracer_, GetProxy(&tracing_exposed_services)); | 308 new TracingServiceProvider(tracer_, GetProxy(&tracing_exposed_services)); |
| 309 application_manager_.ConnectToApplication( | 309 application_manager_.ConnectToApplication( |
| 310 GURL("mojo:tracing"), GURL(""), GetProxy(&tracing_services), | 310 GURL("mojo:tracing"), GURL(""), GetProxy(&tracing_services), |
| 311 tracing_exposed_services.Pass(), base::Closure()); | 311 tracing_exposed_services.Pass(), base::Closure()); |
| 312 | 312 |
| 313 if (command_line.HasSwitch(switches::kTraceStartup)) { | 313 if (command_line.HasSwitch(switches::kTraceStartup)) { |
| 314 DCHECK(tracer_); | 314 DCHECK(tracer_); |
| 315 tracing::TraceCoordinatorPtr coordinator; | 315 tracing::TraceCollectorPtr coordinator; |
| 316 auto coordinator_request = GetProxy(&coordinator); | 316 auto coordinator_request = GetProxy(&coordinator); |
| 317 tracing_services->ConnectToService(tracing::TraceCoordinator::Name_, | 317 tracing_services->ConnectToService(tracing::TraceCollector::Name_, |
| 318 coordinator_request.PassMessagePipe()); | 318 coordinator_request.PassMessagePipe()); |
| 319 tracer_->StartCollectingFromTracingService(coordinator.Pass()); | 319 tracer_->StartCollectingFromTracingService(coordinator.Pass()); |
| 320 } | 320 } |
| 321 | 321 |
| 322 return true; | 322 return true; |
| 323 } | 323 } |
| 324 | 324 |
| 325 void Context::Shutdown() { | 325 void Context::Shutdown() { |
| 326 TRACE_EVENT0("mojo_shell", "Context::Shutdown"); | 326 TRACE_EVENT0("mojo_shell", "Context::Shutdown"); |
| 327 DCHECK_EQ(base::MessageLoop::current()->task_runner(), | 327 DCHECK_EQ(base::MessageLoop::current()->task_runner(), |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 app_urls_.erase(url); | 364 app_urls_.erase(url); |
| 365 if (app_urls_.empty() && base::MessageLoop::current()->is_running()) { | 365 if (app_urls_.empty() && base::MessageLoop::current()->is_running()) { |
| 366 DCHECK_EQ(base::MessageLoop::current()->task_runner(), | 366 DCHECK_EQ(base::MessageLoop::current()->task_runner(), |
| 367 task_runners_->shell_runner()); | 367 task_runners_->shell_runner()); |
| 368 base::MessageLoop::current()->Quit(); | 368 base::MessageLoop::current()->Quit(); |
| 369 } | 369 } |
| 370 } | 370 } |
| 371 } | 371 } |
| 372 | 372 |
| 373 } // namespace shell | 373 } // namespace shell |
| OLD | NEW |