| Index: content/browser/tracing/tracing_controller_impl.cc
|
| diff --git a/content/browser/tracing/tracing_controller_impl.cc b/content/browser/tracing/tracing_controller_impl.cc
|
| index 7115cc578e1130f71c30a7a5b346694f6d1031f7..12271b938835f0f8bae528b6d1c521845e40121c 100644
|
| --- a/content/browser/tracing/tracing_controller_impl.cc
|
| +++ b/content/browser/tracing/tracing_controller_impl.cc
|
| @@ -684,16 +684,20 @@ void TracingControllerImpl::OnEndAgentTracingAcked(
|
|
|
| if (trace_data_sink_.get() && events_str_ptr &&
|
| !events_str_ptr->data().empty()) {
|
| - if (agent_name == kETWTracingAgentName) {
|
| - // The Windows kernel events are kept into a JSON format stored as string
|
| - // and must not be escaped.
|
| - trace_data_sink_->AddAgentTrace(events_label, events_str_ptr->data());
|
| - } else if (agent_name != kArcTracingAgentName) {
|
| - // ARC trace data is obtained via systrace. Ignore the empty data.
|
| - // Quote other trace data as JSON strings and merge them into
|
| - // |trace_data_sink_|.
|
| - trace_data_sink_->AddAgentTrace(
|
| - events_label, base::GetQuotedJSONString(events_str_ptr->data()));
|
| + std::string json_string;
|
| + if (agent_name == kETWTracingAgentName ||
|
| + agent_name == kArcTracingAgentName) {
|
| + // The Windows kernel events and ARC Android tracing event are kept
|
| + // into a JSON format stored as string and must not be escaped.
|
| + json_string = events_str_ptr->data();
|
| + } else {
|
| + json_string = base::GetQuotedJSONString(events_str_ptr->data());
|
| + }
|
| +
|
| + if (agent_name == kArcTracingAgentName) {
|
| + trace_data_sink_->AddTraceChunk(json_string);
|
| + } else {
|
| + trace_data_sink_->AddAgentTrace(events_label, json_string);
|
| }
|
| }
|
| std::vector<std::string> category_groups;
|
|
|