Index: content/browser/devtools/protocol/tracing_handler.h |
diff --git a/content/browser/devtools/protocol/tracing_handler.h b/content/browser/devtools/protocol/tracing_handler.h |
index d2fc77307b92cd2fa0238089ca170c9c8b3d70a8..b2c49905f80b8bb321ddce815f6d76315f26de88 100644 |
--- a/content/browser/devtools/protocol/tracing_handler.h |
+++ b/content/browser/devtools/protocol/tracing_handler.h |
@@ -5,7 +5,18 @@ |
#ifndef CONTENT_BROWSER_DEVTOOLS_PROTOCOL_TRACING_HANDLER_H_ |
#define CONTENT_BROWSER_DEVTOOLS_PROTOCOL_TRACING_HANDLER_H_ |
+#include <set> |
+#include <string> |
+ |
+#include "base/debug/trace_event.h" |
+#include "base/memory/weak_ptr.h" |
#include "content/browser/devtools/protocol/devtools_protocol_handler_impl.h" |
+#include "content/public/browser/tracing_controller.h" |
+ |
+namespace base { |
+class RefCountedString; |
+class Timer; |
+} |
namespace content { |
namespace devtools { |
@@ -15,31 +26,49 @@ class TracingHandler { |
public: |
typedef DevToolsProtocolClient::Response Response; |
- TracingHandler(); |
+ enum Target { Browser, Renderer }; |
+ explicit TracingHandler(Target target); |
virtual ~TracingHandler(); |
void SetClient(scoped_ptr<Client> client); |
+ void Detached(); |
+ |
+ void OnTraceDataCollected(const std::string& trace_fragment); |
+ void OnTraceComplete(); |
- // TODO(dgozman): remove sync version after migration. |
- Response Start(const std::string& categories, |
- const std::string& options, |
- const double* buffer_usage_reporting_interval); |
scoped_refptr<DevToolsProtocol::Response> Start( |
const std::string& categories, |
const std::string& options, |
const double* buffer_usage_reporting_interval, |
scoped_refptr<DevToolsProtocol::Command> command); |
- |
- // TODO(dgozman): remove sync version after migration. |
- Response End(); |
scoped_refptr<DevToolsProtocol::Response> End( |
scoped_refptr<DevToolsProtocol::Command> command); |
- |
scoped_refptr<DevToolsProtocol::Response> GetCategories( |
scoped_refptr<DevToolsProtocol::Command> command); |
private: |
+ void OnRecordingEnabled(scoped_refptr<DevToolsProtocol::Command> command); |
+ void OnBufferUsage(float usage); |
+ |
+ void OnCategoriesReceived(scoped_refptr<DevToolsProtocol::Command> command, |
+ const std::set<std::string>& category_set); |
+ |
+ base::debug::TraceOptions TraceOptionsFromString(const std::string& options); |
+ |
+ void SetupTimer(double usage_reporting_interval); |
+ |
+ void DisableRecording(bool abort); |
+ |
+ scoped_ptr<base::Timer> buffer_usage_poll_timer_; |
+ Target target_; |
+ bool is_recording_; |
+ |
+ static const char* kDefaultCategories; |
caseq
2014/10/13 13:01:27
Do we need these exposed in the header file? Use a
dgozman
2014/10/14 12:42:22
We don't. I just moved this code as it was before.
|
+ static const double kDefaultReportingInterval; |
+ static const double kMinimumReportingInterval; |
+ |
scoped_ptr<Client> client_; |
+ base::WeakPtrFactory<TracingHandler> weak_factory_; |
DISALLOW_COPY_AND_ASSIGN(TracingHandler); |
}; |