| 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 9e49c0bec7c2d3a51070f2885887dff9293be262..f601180460498d5bf72a07e94586bb4e1a7b95fb 100644
|
| --- a/content/browser/tracing/tracing_controller_impl.cc
|
| +++ b/content/browser/tracing/tracing_controller_impl.cc
|
| @@ -668,16 +668,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;
|
|
|