OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "services/dart/dart_tracing.h" | 5 #include "services/dart/dart_tracing.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "dart/runtime/include/dart_tools_api.h" | 9 #include "dart/runtime/include/dart_tools_api.h" |
10 #include "mojo/public/cpp/application/application_impl.h" | 10 #include "mojo/public/cpp/application/application_impl.h" |
11 #include "mojo/public/cpp/application/connect.h" | |
11 #include "mojo/public/cpp/bindings/interface_handle.h" | 12 #include "mojo/public/cpp/bindings/interface_handle.h" |
12 #include "mojo/public/cpp/bindings/interface_request.h" | 13 #include "mojo/public/cpp/bindings/interface_request.h" |
13 #include "mojo/public/interfaces/application/service_provider.mojom.h" | 14 #include "mojo/services/tracing/interfaces/trace_provider_registry.mojom.h" |
14 | 15 |
15 namespace dart { | 16 namespace dart { |
16 | 17 |
17 void DartTimelineController::Enable(const mojo::String& categories) { | 18 void DartTimelineController::Enable(const mojo::String& categories) { |
18 if (categories == mojo::String("Dart")) { | 19 if (categories == mojo::String("Dart")) { |
19 Dart_GlobalTimelineSetRecordedStreams(DART_TIMELINE_STREAM_DART); | 20 Dart_GlobalTimelineSetRecordedStreams(DART_TIMELINE_STREAM_DART); |
20 } else { | 21 } else { |
21 // TODO(johnmccutchan): Respect |categories|. | 22 // TODO(johnmccutchan): Respect |categories|. |
22 EnableAll(); | 23 EnableAll(); |
23 } | 24 } |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
126 recorder_.reset(); | 127 recorder_.reset(); |
127 } | 128 } |
128 | 129 |
129 DartTracingImpl::DartTracingImpl() { | 130 DartTracingImpl::DartTracingImpl() { |
130 } | 131 } |
131 | 132 |
132 DartTracingImpl::~DartTracingImpl() { | 133 DartTracingImpl::~DartTracingImpl() { |
133 } | 134 } |
134 | 135 |
135 void DartTracingImpl::Initialize(mojo::ApplicationImpl* app) { | 136 void DartTracingImpl::Initialize(mojo::ApplicationImpl* app) { |
136 mojo::InterfaceHandle<mojo::ServiceProvider> outgoing_sp_handle; | 137 tracing::TraceProviderRegistryPtr registry; |
137 mojo::InterfaceRequest<mojo::ServiceProvider> outgoing_sp_request = | 138 ConnectToService(app->shell(), "mojo:tracing", GetProxy(®istry)); |
138 GetProxy(&outgoing_sp_handle); | |
139 app->shell()->ConnectToApplication("mojo:tracing", nullptr, | |
140 outgoing_sp_handle.Pass()); | |
141 outgoing_sp_for_tracing_service_.Bind(outgoing_sp_request.Pass()); | |
142 outgoing_sp_for_tracing_service_.AddService(this); | |
143 } | |
144 | 139 |
145 void DartTracingImpl::Create( | 140 mojo::InterfaceHandle<tracing::TraceProvider> provider; |
146 mojo::ApplicationConnection* connection, | 141 provider_impl_.Bind(GetProxy(&provider)); |
147 mojo::InterfaceRequest<tracing::TraceProvider> request) { | 142 registry->RegisterTraceProvider(provider.Pass()); |
jamesr
2016/04/28 23:00:28
this feels like a buncha code that may be repeated
| |
148 provider_impl_.Bind(request.Pass()); | |
149 } | 143 } |
150 | 144 |
151 } // namespace dart | 145 } // namespace dart |
OLD | NEW |