Index: content/browser/tracing/tracing_ui.cc |
diff --git a/content/browser/tracing/tracing_ui.cc b/content/browser/tracing/tracing_ui.cc |
index 6e471c28a8418c09417ed323c65864298c7ba498..16fc941ac3e64d900cb65f751fd51ff30ed18676 100644 |
--- a/content/browser/tracing/tracing_ui.cc |
+++ b/content/browser/tracing/tracing_ui.cc |
@@ -16,8 +16,8 @@ |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_util.h" |
#include "base/values.h" |
+#include "content/browser/tracing/tracing_controller_impl.h" |
#include "content/public/browser/browser_thread.h" |
-#include "content/public/browser/tracing_controller.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/browser/web_ui.h" |
#include "content/public/browser/web_ui_data_source.h" |
@@ -51,45 +51,26 @@ bool OnBeginRecording(const std::string& data64, |
return false; |
} |
- scoped_ptr<base::Value> optionsRaw(base::JSONReader::Read(data)); |
- if (!optionsRaw) { |
- LOG(ERROR) << "Options were not valid JSON"; |
+ scoped_ptr<base::Value> paramsRaw(base::JSONReader::Read(data)); |
+ if (!paramsRaw) { |
+ LOG(ERROR) << "Params were not valid JSON"; |
return false; |
} |
- base::DictionaryValue* options; |
- if (!optionsRaw->GetAsDictionary(&options)) { |
- LOG(ERROR) << "Options must be dict"; |
+ base::DictionaryValue* params; |
+ if (!paramsRaw->GetAsDictionary(¶ms)) { |
+ LOG(ERROR) << "Params must be dict"; |
return false; |
} |
- std::string category_filter_string; |
- bool use_system_tracing; |
- bool use_continuous_tracing; |
- bool use_sampling; |
- |
- bool options_ok = true; |
- options_ok &= options->GetString("categoryFilter", &category_filter_string); |
- options_ok &= options->GetBoolean("useSystemTracing", &use_system_tracing); |
- options_ok &= options->GetBoolean("useContinuousTracing", |
- &use_continuous_tracing); |
- options_ok &= options->GetBoolean("useSampling", &use_sampling); |
- if (!options_ok) { |
- LOG(ERROR) << "Malformed options"; |
+ std::string category_filter; |
+ TracingController::Options tracing_options; |
+ if (!TracingControllerImpl::ParseTracingParams(params, &category_filter, |
+ &tracing_options)) { |
return false; |
} |
- int tracing_options = 0; |
- if (use_system_tracing) |
- tracing_options |= TracingController::ENABLE_SYSTRACE; |
- if (use_sampling) |
- tracing_options |= TracingController::ENABLE_SAMPLING; |
- if (use_continuous_tracing) |
- tracing_options |= TracingController::RECORD_CONTINUOUSLY; |
- |
- base::debug::CategoryFilter category_filter(category_filter_string); |
return TracingController::GetInstance()->EnableRecording( |
- category_filter, |
- static_cast<TracingController::Options>(tracing_options), |
+ category_filter, tracing_options, |
base::Bind(OnRecordingEnabledAck, callback)); |
} |