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

Unified Diff: content/browser/devtools/devtools_tracing_handler.cc

Issue 511873002: DevTools: use explicit IPC messages for enabling/disabling tracing instead of intercepting protocol… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed category filter Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/devtools/devtools_tracing_handler.cc
diff --git a/content/browser/devtools/devtools_tracing_handler.cc b/content/browser/devtools/devtools_tracing_handler.cc
index de81bf3cb6ad3b3f556c7cb779e8cb464007d2d4..238cf24d5f8d2f8b8f4bc31a90126e0254cb4e60 100644
--- a/content/browser/devtools/devtools_tracing_handler.cc
+++ b/content/browser/devtools/devtools_tracing_handler.cc
@@ -65,12 +65,6 @@ DevToolsTracingHandler::DevToolsTracingHandler(
RegisterCommandHandler(devtools::Tracing::getCategories::kName,
base::Bind(&DevToolsTracingHandler::OnGetCategories,
base::Unretained(this)));
- RegisterNotificationHandler(devtools::Tracing::started::kName,
- base::Bind(&DevToolsTracingHandler::OnTracingStarted,
- base::Unretained(this)));
- RegisterNotificationHandler(devtools::Tracing::stopped::kName,
- base::Bind(&DevToolsTracingHandler::OnTracingStopped,
- base::Unretained(this)));
}
DevToolsTracingHandler::~DevToolsTracingHandler() {
@@ -154,6 +148,11 @@ base::debug::TraceOptions DevToolsTracingHandler::TraceOptionsFromString(
scoped_refptr<DevToolsProtocol::Response>
DevToolsTracingHandler::OnStart(
scoped_refptr<DevToolsProtocol::Command> command) {
+ // If inspected target is a render process Tracing.start will be handled by
+ // tracing agent in the renderer.
+ if (target_ == Renderer)
+ return NULL;
+
is_recording_ = true;
std::string categories;
@@ -175,16 +174,6 @@ DevToolsTracingHandler::OnStart(
SetupTimer(usage_reporting_interval);
- // If inspected target is a render process Tracing.start will be handled by
- // tracing agent in the renderer.
- if (target_ == Renderer) {
- TracingController::GetInstance()->EnableRecording(
- base::debug::CategoryFilter(categories),
- options,
- TracingController::EnableRecordingDoneCallback());
- return NULL;
- }
-
TracingController::GetInstance()->EnableRecording(
base::debug::CategoryFilter(categories),
options,
@@ -228,6 +217,10 @@ void DevToolsTracingHandler::OnBufferUsage(float usage) {
scoped_refptr<DevToolsProtocol::Response>
DevToolsTracingHandler::OnEnd(
scoped_refptr<DevToolsProtocol::Command> command) {
+ // If inspected target is a render process Tracing.end will be handled by
+ // tracing agent in the renderer.
+ if (target_ == Renderer)
+ return NULL;
DisableRecording(
base::Bind(&DevToolsTracingHandler::BeginReadingRecordingResult,
weak_factory_.GetWeakPtr()));
@@ -272,8 +265,7 @@ void DevToolsTracingHandler::OnCategoriesReceived(
SendAsyncResponse(command->SuccessResponse(response));
}
-void DevToolsTracingHandler::OnTracingStarted(
- scoped_refptr<DevToolsProtocol::Notification> notification) {
+void DevToolsTracingHandler::EnableTracing(const std::string& category_filter) {
if (is_recording_)
return;
is_recording_ = true;
@@ -281,13 +273,13 @@ void DevToolsTracingHandler::OnTracingStarted(
SetupTimer(kDefaultReportingInterval);
TracingController::GetInstance()->EnableRecording(
- base::debug::CategoryFilter(kDefaultCategories),
+ base::debug::CategoryFilter(category_filter),
dcheng 2014/08/27 16:43:31 I'm not super familiar with inspector. From the CL
base::debug::TraceOptions(),
TracingController::EnableRecordingDoneCallback());
+ SendNotification(devtools::Tracing::started::kName, NULL);
}
-void DevToolsTracingHandler::OnTracingStopped(
- scoped_refptr<DevToolsProtocol::Notification> notification) {
+void DevToolsTracingHandler::DisableTracing() {
if (!is_recording_)
return;
is_recording_ = false;
« no previous file with comments | « content/browser/devtools/devtools_tracing_handler.h ('k') | content/browser/devtools/render_view_devtools_agent_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698