Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(35)

Side by Side Diff: content/browser/devtools/devtools_tracing_handler.cc

Issue 295613002: DevTools: handle Tracing.start in both browser and renderer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « content/browser/devtools/devtools_tracing_handler.h ('k') | content/browser/devtools/render_view_devtools_agent_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698