OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/devtools_tracing_handler.h" | 5 #include "content/browser/devtools/devtools_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/callback.h" | 10 #include "base/callback.h" |
(...skipping 28 matching lines...) Expand all Loading... |
39 if (!base::ReadFileToString(path, &trace_data)) | 39 if (!base::ReadFileToString(path, &trace_data)) |
40 LOG(ERROR) << "Failed to read file: " << path.value(); | 40 LOG(ERROR) << "Failed to read file: " << path.value(); |
41 base::DeleteFile(path, false); | 41 base::DeleteFile(path, false); |
42 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 42 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
43 base::Bind(callback, make_scoped_refptr( | 43 base::Bind(callback, make_scoped_refptr( |
44 base::RefCountedString::TakeString(&trace_data)))); | 44 base::RefCountedString::TakeString(&trace_data)))); |
45 } | 45 } |
46 | 46 |
47 } // namespace | 47 } // namespace |
48 | 48 |
49 DevToolsTracingHandler::DevToolsTracingHandler() | 49 DevToolsTracingHandler::DevToolsTracingHandler( |
50 : weak_factory_(this) { | 50 DevToolsTracingHandler::Target target) |
| 51 : weak_factory_(this), target_(target) { |
51 RegisterCommandHandler(devtools::Tracing::start::kName, | 52 RegisterCommandHandler(devtools::Tracing::start::kName, |
52 base::Bind(&DevToolsTracingHandler::OnStart, | 53 base::Bind(&DevToolsTracingHandler::OnStart, |
53 base::Unretained(this))); | 54 base::Unretained(this))); |
54 RegisterCommandHandler(devtools::Tracing::end::kName, | 55 RegisterCommandHandler(devtools::Tracing::end::kName, |
55 base::Bind(&DevToolsTracingHandler::OnEnd, | 56 base::Bind(&DevToolsTracingHandler::OnEnd, |
56 base::Unretained(this))); | 57 base::Unretained(this))); |
57 } | 58 } |
58 | 59 |
59 DevToolsTracingHandler::~DevToolsTracingHandler() { | 60 DevToolsTracingHandler::~DevToolsTracingHandler() { |
60 } | 61 } |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 base::Bind( | 162 base::Bind( |
162 base::IgnoreResult(&TracingController::GetTraceBufferPercentFull), | 163 base::IgnoreResult(&TracingController::GetTraceBufferPercentFull), |
163 base::Unretained(TracingController::GetInstance()), | 164 base::Unretained(TracingController::GetInstance()), |
164 base::Bind(&DevToolsTracingHandler::OnBufferUsage, | 165 base::Bind(&DevToolsTracingHandler::OnBufferUsage, |
165 weak_factory_.GetWeakPtr())), | 166 weak_factory_.GetWeakPtr())), |
166 true)); | 167 true)); |
167 buffer_usage_poll_timer_->Reset(); | 168 buffer_usage_poll_timer_->Reset(); |
168 } | 169 } |
169 } | 170 } |
170 | 171 |
| 172 // If inspected target is a render process Tracing.start will be handled by |
| 173 // tracing agent in the renderer. |
| 174 if (target_ == Renderer) { |
| 175 TracingController::GetInstance()->EnableRecording( |
| 176 categories, options, TracingController::EnableRecordingDoneCallback()); |
| 177 return NULL; |
| 178 } |
| 179 |
171 TracingController::GetInstance()->EnableRecording( | 180 TracingController::GetInstance()->EnableRecording( |
172 categories, options, | 181 categories, options, |
173 base::Bind(&DevToolsTracingHandler::OnTracingStarted, | 182 base::Bind(&DevToolsTracingHandler::OnTracingStarted, |
174 weak_factory_.GetWeakPtr(), | 183 weak_factory_.GetWeakPtr(), |
175 command)); | 184 command)); |
176 | 185 |
177 return command->AsyncResponsePromise(); | 186 return command->AsyncResponsePromise(); |
178 } | 187 } |
179 | 188 |
180 void DevToolsTracingHandler::OnTracingStarted( | 189 void DevToolsTracingHandler::OnTracingStarted( |
(...skipping 12 matching lines...) Expand all Loading... |
193 scoped_refptr<DevToolsProtocol::Command> command) { | 202 scoped_refptr<DevToolsProtocol::Command> command) { |
194 buffer_usage_poll_timer_.reset(); | 203 buffer_usage_poll_timer_.reset(); |
195 TracingController::GetInstance()->DisableRecording( | 204 TracingController::GetInstance()->DisableRecording( |
196 base::FilePath(), | 205 base::FilePath(), |
197 base::Bind(&DevToolsTracingHandler::BeginReadingRecordingResult, | 206 base::Bind(&DevToolsTracingHandler::BeginReadingRecordingResult, |
198 weak_factory_.GetWeakPtr())); | 207 weak_factory_.GetWeakPtr())); |
199 return command->SuccessResponse(NULL); | 208 return command->SuccessResponse(NULL); |
200 } | 209 } |
201 | 210 |
202 } // namespace content | 211 } // namespace content |
OLD | NEW |