| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/debug/trace_event.h" | 5 #include "base/debug/trace_event.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #if defined(OS_WIN) | 9 #if defined(OS_WIN) |
| 10 #include "base/debug/trace_event_win.h" | 10 #include "base/debug/trace_event_win.h" |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 static_cast<unsigned long long>( | 80 static_cast<unsigned long long>( |
| 81 reinterpret_cast<intptr_t>( | 81 reinterpret_cast<intptr_t>( |
| 82 as_pointer()))); | 82 as_pointer()))); |
| 83 *out += temp_string; | 83 *out += temp_string; |
| 84 break; | 84 break; |
| 85 case TRACE_TYPE_STRING: | 85 case TRACE_TYPE_STRING: |
| 86 case TRACE_TYPE_STATIC_STRING: | 86 case TRACE_TYPE_STATIC_STRING: |
| 87 *out += "\""; | 87 *out += "\""; |
| 88 start_pos = out->size(); | 88 start_pos = out->size(); |
| 89 *out += as_string() ? as_string() : "NULL"; | 89 *out += as_string() ? as_string() : "NULL"; |
| 90 // replace " character with ' | 90 // insert backslash before special characters for proper json format. |
| 91 while ((start_pos = out->find_first_of('\"', start_pos)) != | 91 while ((start_pos = out->find_first_of("\\\"", start_pos)) != |
| 92 std::string::npos) | 92 std::string::npos) { |
| 93 (*out)[start_pos] = '\''; | 93 out->insert(start_pos, 1, '\\'); |
| 94 // skip inserted escape character and following character. |
| 95 start_pos += 2; |
| 96 } |
| 94 *out += "\""; | 97 *out += "\""; |
| 95 break; | 98 break; |
| 96 default: | 99 default: |
| 97 NOTREACHED() << "Don't know how to print this value"; | 100 NOTREACHED() << "Don't know how to print this value"; |
| 98 break; | 101 break; |
| 99 } | 102 } |
| 100 } | 103 } |
| 101 | 104 |
| 102 //////////////////////////////////////////////////////////////////////////////// | 105 //////////////////////////////////////////////////////////////////////////////// |
| 103 // | 106 // |
| (...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 535 NULL, 0, NULL, 0, | 538 NULL, 0, NULL, 0, |
| 536 p_data_->threshold_begin_id, p_data_->threshold, | 539 p_data_->threshold_begin_id, p_data_->threshold, |
| 537 TraceLog::EVENT_FLAG_NONE); | 540 TraceLog::EVENT_FLAG_NONE); |
| 538 } | 541 } |
| 539 } | 542 } |
| 540 | 543 |
| 541 } // namespace internal | 544 } // namespace internal |
| 542 | 545 |
| 543 } // namespace debug | 546 } // namespace debug |
| 544 } // namespace base | 547 } // namespace base |
| OLD | NEW |