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

Unified Diff: content/browser/tracing/tracing_ui.cc

Issue 425593002: Refactor trace_event_impl's SetEnabled to use TraceOptions. Propagate this through the whole stack. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Pull enable_systrace to TraceOptions Created 6 years, 5 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/tracing/tracing_ui.cc
diff --git a/content/browser/tracing/tracing_ui.cc b/content/browser/tracing/tracing_ui.cc
index 3edcd183d951f2536ec75ce9d96d0cd47ddb8c33..12b924dc347a96c0909ea43b6613f804719fb9c7 100644
--- a/content/browser/tracing/tracing_ui.cc
+++ b/content/browser/tracing/tracing_ui.cc
@@ -12,6 +12,7 @@
#include "base/bind.h"
#include "base/bind_helpers.h"
#include "base/command_line.h"
+#include "base/debug/trace_event.h"
#include "base/file_util.h"
#include "base/format_macros.h"
#include "base/json/json_reader.h"
@@ -55,7 +56,7 @@ void OnGotCategories(const WebUIDataSource::GotDataCallback& callback,
bool GetTracingOptions(const std::string& data64,
std::string* category_filter_string,
- int* tracing_options) {
+ base::debug::TraceOptions* tracing_options) {
std::string data;
if (!base::Base64Decode(data64, &data)) {
LOG(ERROR) << "Options were not base64 encoded.";
@@ -88,13 +89,17 @@ bool GetTracingOptions(const std::string& data64,
return false;
}
- *tracing_options = 0;
- if (use_system_tracing)
- *tracing_options |= TracingController::ENABLE_SYSTRACE;
- if (use_sampling)
- *tracing_options |= TracingController::ENABLE_SAMPLING;
+ if (!tracing_options) {
+ LOG(ERROR) << "tracing_options can't be passed as NULL";
+ return false;
+ }
+ tracing_options->EnableSystrace(use_system_tracing);
+ tracing_options->EnableSampling(use_sampling);
if (use_continuous_tracing)
- *tracing_options |= TracingController::RECORD_CONTINUOUSLY;
+ tracing_options->record_mode =
+ base::debug::TraceOptions::RECORD_CONTINUOUSLY;
+ else
+ tracing_options->record_mode = base::debug::TraceOptions::RECORD_UNTIL_FULL;
return true;
}
@@ -103,13 +108,13 @@ void OnRecordingEnabledAck(const WebUIDataSource::GotDataCallback& callback);
bool BeginRecording(const std::string& data64,
const WebUIDataSource::GotDataCallback& callback) {
std::string category_filter_string;
- int tracing_options = 0;
+ base::debug::TraceOptions tracing_options;
if (!GetTracingOptions(data64, &category_filter_string, &tracing_options))
return false;
return TracingController::GetInstance()->EnableRecording(
category_filter_string,
- static_cast<TracingController::Options>(tracing_options),
+ tracing_options,
base::Bind(&OnRecordingEnabledAck, callback));
}
@@ -146,13 +151,13 @@ void OnMonitoringEnabledAck(const WebUIDataSource::GotDataCallback& callback);
bool EnableMonitoring(const std::string& data64,
const WebUIDataSource::GotDataCallback& callback) {
std::string category_filter_string;
- int tracing_options = 0;
+ base::debug::TraceOptions tracing_options;
if (!GetTracingOptions(data64, &category_filter_string, &tracing_options))
return false;
return TracingController::GetInstance()->EnableMonitoring(
category_filter_string,
- static_cast<TracingController::Options>(tracing_options),
+ static_cast<base::debug::TraceOptions>(tracing_options),
base::Bind(OnMonitoringEnabledAck, callback));
}
@@ -169,7 +174,7 @@ void OnMonitoringDisabled(const WebUIDataSource::GotDataCallback& callback) {
void GetMonitoringStatus(const WebUIDataSource::GotDataCallback& callback) {
bool is_monitoring;
std::string category_filter;
- TracingController::Options options;
+ base::debug::TraceOptions options;
TracingController::GetInstance()->GetMonitoringStatus(
&is_monitoring, &category_filter, &options);
@@ -177,12 +182,11 @@ void GetMonitoringStatus(const WebUIDataSource::GotDataCallback& callback) {
monitoring_options(new base::DictionaryValue());
monitoring_options->SetBoolean("isMonitoring", is_monitoring);
monitoring_options->SetString("categoryFilter", category_filter);
- monitoring_options->SetBoolean("useSystemTracing",
- (options & TracingController::ENABLE_SYSTRACE) != 0);
- monitoring_options->SetBoolean("useContinuousTracing",
- (options & TracingController::RECORD_CONTINUOUSLY) != 0);
- monitoring_options->SetBoolean("useSampling",
- (options & TracingController::ENABLE_SAMPLING) != 0);
+ monitoring_options->SetBoolean("useSystemTracing", options.enable_systrace);
+ monitoring_options->SetBoolean(
+ "useContinuousTracing",
+ options.record_mode == base::debug::TraceOptions::RECORD_CONTINUOUSLY);
+ monitoring_options->SetBoolean("useSampling", options.enable_sampling);
std::string monitoring_options_json;
base::JSONWriter::Write(monitoring_options.get(), &monitoring_options_json);

Powered by Google App Engine
This is Rietveld 408576698