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

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

Issue 1148633007: Hooked the trace event argument whitelist up to the background_trace_manager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changed bool param to enum Created 5 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/tracing/background_tracing_manager_impl.cc
diff --git a/content/browser/tracing/background_tracing_manager_impl.cc b/content/browser/tracing/background_tracing_manager_impl.cc
index 560e5a4c1e40ba6bfe49eb16c6c9f7a1c06d7aa9..352c7bb8eb18bda58b98fa61bb2ea118149afe02 100644
--- a/content/browser/tracing/background_tracing_manager_impl.cc
+++ b/content/browser/tracing/background_tracing_manager_impl.cc
@@ -93,7 +93,8 @@ bool BackgroundTracingManagerImpl::IsSupportedConfig(
bool BackgroundTracingManagerImpl::SetActiveScenario(
scoped_ptr<BackgroundTracingConfig> config,
const BackgroundTracingManager::ReceiveCallback& receive_callback,
- bool requires_anonymized_data) {
+ const base::Closure& enabled_callback,
+ DataFiltering data_filtering) {
CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
if (is_tracing_)
return false;
@@ -107,21 +108,23 @@ bool BackgroundTracingManagerImpl::SetActiveScenario(
config_ = config.Pass();
receive_callback_ = receive_callback;
- requires_anonymized_data_ = requires_anonymized_data;
+ requires_anonymized_data_ = (data_filtering == ANONYMIZE_DATA);
- EnableRecordingIfConfigNeedsIt();
+ EnableRecordingIfConfigNeedsIt(enabled_callback);
return true;
}
-void BackgroundTracingManagerImpl::EnableRecordingIfConfigNeedsIt() {
+void BackgroundTracingManagerImpl::EnableRecordingIfConfigNeedsIt(
+ const base::Closure& enabled_callback) {
if (!config_)
return;
if (config_->mode == BackgroundTracingConfig::PREEMPTIVE_TRACING_MODE) {
EnableRecording(GetCategoryFilterForCategoryPreset(
- static_cast<BackgroundTracingPreemptiveConfig*>(config_.get())
- ->category_preset));
+ static_cast<BackgroundTracingPreemptiveConfig*>(
+ config_.get())->category_preset),
+ enabled_callback);
} else {
// TODO(simonhatch): Implement reactive tracing path.
NOTREACHED();
@@ -228,11 +231,13 @@ void BackgroundTracingManagerImpl::InvalidateTriggerHandlesForTesting() {
}
void BackgroundTracingManagerImpl::EnableRecording(
- base::trace_event::CategoryFilter category_filter) {
+ base::trace_event::CategoryFilter category_filter,
+ const base::Closure& enabled_callback) {
+ base::trace_event::TraceOptions trace_options(
+ base::trace_event::RECORD_CONTINUOUSLY);
+ trace_options.enable_argument_filter = requires_anonymized_data_;
is_tracing_ = TracingController::GetInstance()->EnableRecording(
- category_filter,
- base::trace_event::TraceOptions(base::trace_event::RECORD_CONTINUOUSLY),
- TracingController::EnableRecordingDoneCallback());
dsinclair 2015/06/01 18:50:05 Where does this callback get set, I'm not seeing i
oystein (OOO til 10th of July) 2015/06/01 20:46:20 It's the same one from the other review comments t
+ category_filter, trace_options, enabled_callback);
}
void BackgroundTracingManagerImpl::OnFinalizeStarted(
@@ -241,7 +246,7 @@ void BackgroundTracingManagerImpl::OnFinalizeStarted(
if (!receive_callback_.is_null())
receive_callback_.Run(
- file_contents.get(),
+ file_contents,
base::Bind(&BackgroundTracingManagerImpl::OnFinalizeComplete,
base::Unretained(this)));
}
@@ -263,7 +268,7 @@ void BackgroundTracingManagerImpl::OnFinalizeComplete() {
idle_callback_.Run();
// Now that a trace has completed, we may need to enable recording again.
- EnableRecordingIfConfigNeedsIt();
+ EnableRecordingIfConfigNeedsIt(base::Closure());
}
void BackgroundTracingManagerImpl::BeginFinalizing(
« no previous file with comments | « content/browser/tracing/background_tracing_manager_impl.h ('k') | content/public/browser/background_tracing_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698