Index: mojo/services/tracing/tracing_app.h |
diff --git a/mojo/services/tracing/tracing_app.h b/mojo/services/tracing/tracing_app.h |
index f652c29c96181e5e5b75a20e12f401a30d16f180..41a684829bb0d87232010b97dfbc55941a09570e 100644 |
--- a/mojo/services/tracing/tracing_app.h |
+++ b/mojo/services/tracing/tracing_app.h |
@@ -11,16 +11,19 @@ |
#include "mojo/common/weak_binding_set.h" |
#include "mojo/common/weak_interface_ptr_set.h" |
#include "mojo/public/cpp/bindings/strong_binding.h" |
-#include "mojo/services/tracing/tracing.mojom.h" |
+#include "mojo/services/tracing/public/interfaces/tracing.mojom.h" |
namespace tracing { |
class CollectorImpl; |
class TraceDataSink; |
-class TracingApp : public mojo::ApplicationDelegate, |
- public mojo::InterfaceFactory<TraceCoordinator>, |
- public TraceCoordinator { |
+class TracingApp |
+ : public mojo::ApplicationDelegate, |
+ public mojo::InterfaceFactory<TraceCoordinator>, |
+ public TraceCoordinator, |
+ public mojo::InterfaceFactory<StartupPerformanceDataCollector>, |
+ public StartupPerformanceDataCollector { |
public: |
TracingApp(); |
~TracingApp() override; |
@@ -34,17 +37,35 @@ class TracingApp : public mojo::ApplicationDelegate, |
void Create(mojo::ApplicationConnection* connection, |
mojo::InterfaceRequest<TraceCoordinator> request) override; |
- // tracing::TraceCoordinator implementation. |
+ // mojo::InterfaceFactory<StartupPerformanceDataCollector> implementation. |
+ void Create( |
+ mojo::ApplicationConnection* connection, |
+ mojo::InterfaceRequest<StartupPerformanceDataCollector> request) override; |
+ |
+ // TraceCoordinator implementation. |
void Start(mojo::ScopedDataPipeProducerHandle stream, |
const mojo::String& categories) override; |
void StopAndFlush() override; |
+ // StartupPerformanceDataCollector implementation. |
+ void SetShellProcessCreationTime(int64 time) override; |
+ void SetBrowserMessageLoopStartTime(int64 time) override; |
+ void SetBrowserWindowDisplayTime(int64 time) override; |
+ void SetBrowserOpenTabsTime(int64 time) override; |
+ void SetFirstWebContentsMainFrameLoadTime(int64 time) override; |
+ void SetFirstVisuallyNonEmptyLayoutTime(int64 time) override; |
+ void GetStartupPerformanceTimes( |
+ const GetStartupPerformanceTimesCallback& callback) override; |
+ |
void AllDataCollected(); |
scoped_ptr<TraceDataSink> sink_; |
ScopedVector<CollectorImpl> collector_impls_; |
mojo::WeakInterfacePtrSet<TraceController> controller_ptrs_; |
mojo::WeakBindingSet<TraceCoordinator> coordinator_bindings_; |
+ mojo::WeakBindingSet<StartupPerformanceDataCollector> |
+ startup_performance_data_collector_bindings_; |
+ StartupPerformanceTimes startup_performance_times_; |
DISALLOW_COPY_AND_ASSIGN(TracingApp); |
}; |