Use TraceProviderRegistry in //services/dart/dart_tracing.*.
R=jamesr@chromium.org
BUG=#763
Review URL: https://codereview.chromium.org/1928183002 .
diff --git a/mojo/common/tracing_impl.cc b/mojo/common/tracing_impl.cc
index ae30779..93f6e55 100644
--- a/mojo/common/tracing_impl.cc
+++ b/mojo/common/tracing_impl.cc
@@ -9,7 +9,6 @@
#include "mojo/public/cpp/application/connect.h"
#include "mojo/public/cpp/bindings/interface_handle.h"
#include "mojo/public/cpp/bindings/interface_request.h"
-#include "mojo/public/interfaces/application/service_provider.mojom.h"
#include "mojo/services/tracing/interfaces/trace_provider_registry.mojom.h"
#include "mojo/services/tracing/interfaces/tracing.mojom.h"
diff --git a/mojo/common/tracing_impl.h b/mojo/common/tracing_impl.h
index e24dae0..d3f93c6 100644
--- a/mojo/common/tracing_impl.h
+++ b/mojo/common/tracing_impl.h
@@ -7,7 +7,6 @@
#include "base/macros.h"
#include "mojo/common/trace_provider_impl.h"
-#include "mojo/public/cpp/application/service_provider_impl.h"
namespace mojo {
diff --git a/services/dart/dart_tracing.cc b/services/dart/dart_tracing.cc
index 2bee419..45104c6 100644
--- a/services/dart/dart_tracing.cc
+++ b/services/dart/dart_tracing.cc
@@ -8,9 +8,10 @@
#include "dart/runtime/include/dart_tools_api.h"
#include "mojo/public/cpp/application/application_impl.h"
+#include "mojo/public/cpp/application/connect.h"
#include "mojo/public/cpp/bindings/interface_handle.h"
#include "mojo/public/cpp/bindings/interface_request.h"
-#include "mojo/public/interfaces/application/service_provider.mojom.h"
+#include "mojo/services/tracing/interfaces/trace_provider_registry.mojom.h"
namespace dart {
@@ -133,19 +134,12 @@
}
void DartTracingImpl::Initialize(mojo::ApplicationImpl* app) {
- mojo::InterfaceHandle<mojo::ServiceProvider> outgoing_sp_handle;
- mojo::InterfaceRequest<mojo::ServiceProvider> outgoing_sp_request =
- GetProxy(&outgoing_sp_handle);
- app->shell()->ConnectToApplication("mojo:tracing", nullptr,
- outgoing_sp_handle.Pass());
- outgoing_sp_for_tracing_service_.Bind(outgoing_sp_request.Pass());
- outgoing_sp_for_tracing_service_.AddService(this);
-}
+ tracing::TraceProviderRegistryPtr registry;
+ ConnectToService(app->shell(), "mojo:tracing", GetProxy(®istry));
-void DartTracingImpl::Create(
- mojo::ApplicationConnection* connection,
- mojo::InterfaceRequest<tracing::TraceProvider> request) {
- provider_impl_.Bind(request.Pass());
+ mojo::InterfaceHandle<tracing::TraceProvider> provider;
+ provider_impl_.Bind(GetProxy(&provider));
+ registry->RegisterTraceProvider(provider.Pass());
}
} // namespace dart
diff --git a/services/dart/dart_tracing.h b/services/dart/dart_tracing.h
index 1b2135e..d9a669c 100644
--- a/services/dart/dart_tracing.h
+++ b/services/dart/dart_tracing.h
@@ -7,7 +7,6 @@
#include "base/trace_event/trace_event.h"
#include "mojo/common/tracing_impl.h"
-#include "mojo/public/cpp/application/service_provider_impl.h"
#include "mojo/public/cpp/bindings/interface_request.h"
#include "mojo/services/tracing/interfaces/tracing.mojom.h"
@@ -42,24 +41,16 @@
DISALLOW_COPY_AND_ASSIGN(DartTraceProvider);
};
-class DartTracingImpl :
- public mojo::InterfaceFactory<tracing::TraceProvider> {
+class DartTracingImpl {
public:
- DartTracingImpl();
- ~DartTracingImpl() override;
+ DartTracingImpl();
+ ~DartTracingImpl();
- // This connects to the tracing service and registers ourselves to provide
- // tracing data on demand.
- void Initialize(mojo::ApplicationImpl* app);
+ // This connects to the tracing service and registers ourselves to provide
+ // tracing data on demand.
+ void Initialize(mojo::ApplicationImpl* app);
- private:
- // InterfaceFactory<tracing::TraceProvider> implementation.
- void Create(mojo::ApplicationConnection* connection,
- mojo::InterfaceRequest<tracing::TraceProvider> request) override;
private:
- // Used to provide services *to* mojo:tracing.
- mojo::ServiceProviderImpl outgoing_sp_for_tracing_service_;
-
DartTraceProvider provider_impl_;
DISALLOW_COPY_AND_ASSIGN(DartTracingImpl);
diff --git a/services/gfx/compositor/compositor_app.h b/services/gfx/compositor/compositor_app.h
index c80c5d7..1faaf11 100644
--- a/services/gfx/compositor/compositor_app.h
+++ b/services/gfx/compositor/compositor_app.h
@@ -12,6 +12,7 @@
#include "mojo/common/strong_binding_set.h"
#include "mojo/common/tracing_impl.h"
#include "mojo/public/cpp/application/application_delegate.h"
+#include "mojo/public/cpp/application/interface_factory.h"
#include "mojo/services/gfx/composition/interfaces/compositor.mojom.h"
#include "services/gfx/compositor/compositor_engine.h"
diff --git a/services/ui/input_manager/input_manager_app.h b/services/ui/input_manager/input_manager_app.h
index 70ac70d..e7c424a 100644
--- a/services/ui/input_manager/input_manager_app.h
+++ b/services/ui/input_manager/input_manager_app.h
@@ -11,6 +11,7 @@
#include "mojo/common/strong_binding_set.h"
#include "mojo/common/tracing_impl.h"
#include "mojo/public/cpp/application/application_delegate.h"
+#include "mojo/public/cpp/application/interface_factory.h"
#include "mojo/services/ui/views/interfaces/view_associates.mojom.h"
namespace input_manager {