| Index: content/browser/tracing/trace_controller_impl.cc
|
| diff --git a/content/browser/tracing/trace_controller_impl.cc b/content/browser/tracing/trace_controller_impl.cc
|
| index e0aed6edcd7969acd9f874f2fd7ed73f414a3f87..9e83a754842318750ce9867357d3b806d1b14ce9 100644
|
| --- a/content/browser/tracing/trace_controller_impl.cc
|
| +++ b/content/browser/tracing/trace_controller_impl.cc
|
| @@ -109,11 +109,13 @@ void TraceControllerImpl::InitStartupTracing(const CommandLine& command_line) {
|
| bool TraceControllerImpl::GetKnownCategoriesAsync(TraceSubscriber* subscriber) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
|
|
| + base::debug::TraceMode mode = TraceLog::GetInstance()->GetTraceMode();
|
| +
|
| // Known categories come back from child processes with the EndTracingAck
|
| // message. So to get known categories, just begin and end tracing immediately
|
| // afterwards. This will ping all the child processes for categories.
|
| is_get_categories_ = true;
|
| - bool success = BeginTracing(subscriber, "*") &&
|
| + bool success = BeginTracing(subscriber, "*", mode) &&
|
| EndTracingAsync(subscriber);
|
| is_get_categories_ = success;
|
| return success;
|
| @@ -122,28 +124,31 @@ bool TraceControllerImpl::GetKnownCategoriesAsync(TraceSubscriber* subscriber) {
|
| bool TraceControllerImpl::BeginTracing(
|
| TraceSubscriber* subscriber,
|
| const std::vector<std::string>& included_categories,
|
| - const std::vector<std::string>& excluded_categories) {
|
| + const std::vector<std::string>& excluded_categories,
|
| + base::debug::TraceMode mode) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
|
|
| if (!can_begin_tracing(subscriber))
|
| return false;
|
|
|
| // Enable tracing
|
| - TraceLog::GetInstance()->SetEnabled(included_categories, excluded_categories);
|
| + TraceLog::GetInstance()->SetEnabled(included_categories, excluded_categories,
|
| + mode);
|
| OnTracingBegan(subscriber);
|
|
|
| return true;
|
| }
|
|
|
| bool TraceControllerImpl::BeginTracing(TraceSubscriber* subscriber,
|
| - const std::string& categories) {
|
| + const std::string& categories,
|
| + base::debug::TraceMode mode) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
|
|
| if (!can_begin_tracing(subscriber))
|
| return false;
|
|
|
| // Enable tracing
|
| - TraceLog::GetInstance()->SetEnabled(categories);
|
| + TraceLog::GetInstance()->SetEnabled(categories, mode);
|
|
|
| OnTracingBegan(subscriber);
|
|
|
| @@ -261,7 +266,8 @@ void TraceControllerImpl::AddFilter(TraceMessageFilter* filter) {
|
|
|
| filters_.insert(filter);
|
| if (is_tracing_enabled()) {
|
| - filter->SendBeginTracing(included_categories_, excluded_categories_);
|
| + filter->SendBeginTracing(included_categories_, excluded_categories_,
|
| + trace_mode_);
|
| if (!watch_category_.empty())
|
| filter->SendSetWatchEvent(watch_category_, watch_name_);
|
| }
|
| @@ -285,9 +291,12 @@ void TraceControllerImpl::OnTracingBegan(TraceSubscriber* subscriber) {
|
|
|
| TraceLog::GetInstance()->GetEnabledTraceCategories(&included_categories_,
|
| &excluded_categories_);
|
| + trace_mode_ = TraceLog::GetInstance()->GetTraceMode();
|
| +
|
| // Notify all child processes.
|
| for (FilterMap::iterator it = filters_.begin(); it != filters_.end(); ++it) {
|
| - it->get()->SendBeginTracing(included_categories_, excluded_categories_);
|
| + it->get()->SendBeginTracing(included_categories_, excluded_categories_,
|
| + trace_mode_);
|
| }
|
| }
|
|
|
|
|