| 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 |