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

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

Issue 12302036: Add a mode flag to the tracing framework. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 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
« no previous file with comments | « content/app/content_main_runner.cc ('k') | content/browser/tracing/trace_controller_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/json/json_writer.h" 9 #include "base/json/json_writer.h"
10 #include "base/location.h" 10 #include "base/location.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "content/browser/devtools/devtools_http_handler_impl.h" 12 #include "content/browser/devtools/devtools_http_handler_impl.h"
13 #include "content/public/browser/trace_controller.h" 13 #include "content/public/browser/trace_controller.h"
14 #include "content/public/browser/trace_subscriber.h" 14 #include "content/public/browser/trace_subscriber.h"
15 15
16 namespace content { 16 namespace content {
17 17
18 namespace { 18 namespace {
19 19
20 const char kTracingDomain[] = "Tracing"; 20 const char kTracingDomain[] = "Tracing";
21 21
22 const char kTracingStartCommand[] = "Tracing.start"; 22 const char kTracingStartCommand[] = "Tracing.start";
23 const char kTracingEndCommand[] = "Tracing.end"; 23 const char kTracingEndCommand[] = "Tracing.end";
24 24
25 const char kTracingCompleteNotification[] = "Tracing.tracingComplete"; 25 const char kTracingCompleteNotification[] = "Tracing.tracingComplete";
26 const char kTracingDataCollected[] = "Tracing.dataCollected"; 26 const char kTracingDataCollected[] = "Tracing.dataCollected";
27 27
28 const char kCategoriesParam[] = "categories"; 28 const char kCategoriesParam[] = "categories";
29 const char kTraceModeParam[] = "trace-mode";
29 30
30 } // namespace 31 } // namespace
31 32
32 DevToolsTracingHandler::DevToolsTracingHandler() 33 DevToolsTracingHandler::DevToolsTracingHandler()
33 : DevToolsBrowserTarget::DomainHandler(kTracingDomain), 34 : DevToolsBrowserTarget::DomainHandler(kTracingDomain),
34 is_running_(false) { 35 is_running_(false) {
35 RegisterCommandHandler(kTracingStartCommand, 36 RegisterCommandHandler(kTracingStartCommand,
36 base::Bind(&DevToolsTracingHandler::OnStart, 37 base::Bind(&DevToolsTracingHandler::OnStart,
37 base::Unretained(this))); 38 base::Unretained(this)));
38 RegisterCommandHandler(kTracingEndCommand, 39 RegisterCommandHandler(kTracingEndCommand,
(...skipping 17 matching lines...) Expand all
56 SendNotification(kTracingDataCollected, params); 57 SendNotification(kTracingDataCollected, params);
57 } 58 }
58 } 59 }
59 60
60 scoped_ptr<DevToolsProtocol::Response> 61 scoped_ptr<DevToolsProtocol::Response>
61 DevToolsTracingHandler::OnStart(DevToolsProtocol::Command* command) { 62 DevToolsTracingHandler::OnStart(DevToolsProtocol::Command* command) {
62 std::string categories; 63 std::string categories;
63 base::DictionaryValue* params = command->params(); 64 base::DictionaryValue* params = command->params();
64 if (params && params->HasKey(kCategoriesParam)) 65 if (params && params->HasKey(kCategoriesParam))
65 params->GetString(kCategoriesParam, &categories); 66 params->GetString(kCategoriesParam, &categories);
66 TraceController::GetInstance()->BeginTracing(this, categories); 67
68 base::debug::TraceMode mode = base::debug::UNTIL_FULL;
69 if (params && params->HasKey(kTraceModeParam)) {
70 int mode_;
71 params->GetInteger(kTraceModeParam, &mode_);
pfeldman 2013/02/20 09:33:38 You should check for it returning value here. We a
dsinclair 2013/02/20 20:36:13 Done. I put the conversion in the trace_event_imp
72 mode = static_cast<base::debug::TraceMode>(mode_);
73 }
74
75 TraceController::GetInstance()->BeginTracing(this, categories, mode);
67 is_running_ = true; 76 is_running_ = true;
68 return command->SuccessResponse(NULL); 77 return command->SuccessResponse(NULL);
69 } 78 }
70 79
71 80
72 scoped_ptr<DevToolsProtocol::Response> 81 scoped_ptr<DevToolsProtocol::Response>
73 DevToolsTracingHandler::OnEnd(DevToolsProtocol::Command* command) { 82 DevToolsTracingHandler::OnEnd(DevToolsProtocol::Command* command) {
74 TraceController::GetInstance()->EndTracingAsync(this); 83 TraceController::GetInstance()->EndTracingAsync(this);
75 return command->SuccessResponse(NULL); 84 return command->SuccessResponse(NULL);
76 } 85 }
77 86
78 } // namespace content 87 } // namespace content
OLDNEW
« no previous file with comments | « content/app/content_main_runner.cc ('k') | content/browser/tracing/trace_controller_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698