OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "content/browser/devtools/protocol/tracing_handler.h" | 5 #include "content/browser/devtools/protocol/tracing_handler.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/debug/trace_event_impl.h" | 10 #include "base/debug/trace_event_impl.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 const char kRecordContinuously[] = "record-continuously"; | 25 const char kRecordContinuously[] = "record-continuously"; |
26 const char kRecordAsMuchAsPossible[] = "record-as-much-as-possible"; | 26 const char kRecordAsMuchAsPossible[] = "record-as-much-as-possible"; |
27 const char kEnableSampling[] = "enable-sampling"; | 27 const char kEnableSampling[] = "enable-sampling"; |
28 const double kMinimumReportingInterval = 250.0; | 28 const double kMinimumReportingInterval = 250.0; |
29 | 29 |
30 class DevToolsTraceSinkProxy : public TracingController::TraceDataSink { | 30 class DevToolsTraceSinkProxy : public TracingController::TraceDataSink { |
31 public: | 31 public: |
32 explicit DevToolsTraceSinkProxy(base::WeakPtr<TracingHandler> handler) | 32 explicit DevToolsTraceSinkProxy(base::WeakPtr<TracingHandler> handler) |
33 : tracing_handler_(handler) {} | 33 : tracing_handler_(handler) {} |
34 | 34 |
35 virtual void AddTraceChunk(const std::string& chunk) override { | 35 void AddTraceChunk(const std::string& chunk) override { |
36 if (TracingHandler* h = tracing_handler_.get()) | 36 if (TracingHandler* h = tracing_handler_.get()) |
37 h->OnTraceDataCollected(chunk); | 37 h->OnTraceDataCollected(chunk); |
38 } | 38 } |
39 virtual void Close() override { | 39 void Close() override { |
40 if (TracingHandler* h = tracing_handler_.get()) | 40 if (TracingHandler* h = tracing_handler_.get()) |
41 h->OnTraceComplete(); | 41 h->OnTraceComplete(); |
42 } | 42 } |
43 | 43 |
44 private: | 44 private: |
45 virtual ~DevToolsTraceSinkProxy() {} | 45 ~DevToolsTraceSinkProxy() override {} |
46 | 46 |
47 base::WeakPtr<TracingHandler> tracing_handler_; | 47 base::WeakPtr<TracingHandler> tracing_handler_; |
48 }; | 48 }; |
49 | 49 |
50 } // namespace | 50 } // namespace |
51 | 51 |
52 TracingHandler::TracingHandler(TracingHandler::Target target) | 52 TracingHandler::TracingHandler(TracingHandler::Target target) |
53 : target_(target), | 53 : target_(target), |
54 is_recording_(false), | 54 is_recording_(false), |
55 weak_factory_(this) { | 55 weak_factory_(this) { |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 void TracingHandler::DisableRecording(bool abort) { | 206 void TracingHandler::DisableRecording(bool abort) { |
207 is_recording_ = false; | 207 is_recording_ = false; |
208 buffer_usage_poll_timer_.reset(); | 208 buffer_usage_poll_timer_.reset(); |
209 TracingController::GetInstance()->DisableRecording( | 209 TracingController::GetInstance()->DisableRecording( |
210 abort ? nullptr : new DevToolsTraceSinkProxy(weak_factory_.GetWeakPtr())); | 210 abort ? nullptr : new DevToolsTraceSinkProxy(weak_factory_.GetWeakPtr())); |
211 } | 211 } |
212 | 212 |
213 } // namespace tracing | 213 } // namespace tracing |
214 } // namespace devtools | 214 } // namespace devtools |
215 } // namespace content | 215 } // namespace content |
OLD | NEW |