OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "extensions/renderer/extensions_render_frame_observer.h" | 5 #include "extensions/renderer/extensions_render_frame_observer.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/strings/string_split.h" | 9 #include "base/strings/string_split.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 22 matching lines...) Expand all Loading... |
33 StackTrace GetStackTraceFromMessage(base::string16* message, | 33 StackTrace GetStackTraceFromMessage(base::string16* message, |
34 const base::string16& source, | 34 const base::string16& source, |
35 const base::string16& stack_trace, | 35 const base::string16& stack_trace, |
36 int32_t line_number) { | 36 int32_t line_number) { |
37 StackTrace result; | 37 StackTrace result; |
38 std::vector<base::string16> pieces; | 38 std::vector<base::string16> pieces; |
39 size_t index = 0; | 39 size_t index = 0; |
40 | 40 |
41 if (message->find(base::UTF8ToUTF16(kStackFrameDelimiter)) != | 41 if (message->find(base::UTF8ToUTF16(kStackFrameDelimiter)) != |
42 base::string16::npos) { | 42 base::string16::npos) { |
43 base::SplitStringUsingSubstr(*message, | 43 pieces = base::SplitStringUsingSubstr( |
44 base::UTF8ToUTF16(kStackFrameDelimiter), | 44 *message, base::UTF8ToUTF16(kStackFrameDelimiter), |
45 &pieces); | 45 base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
46 *message = pieces[0]; | 46 *message = pieces[0]; |
47 index = 1; | 47 index = 1; |
48 } else if (!stack_trace.empty()) { | 48 } else if (!stack_trace.empty()) { |
49 base::SplitStringUsingSubstr(stack_trace, | 49 pieces = base::SplitStringUsingSubstr( |
50 base::UTF8ToUTF16(kStackFrameDelimiter), | 50 stack_trace, base::UTF8ToUTF16(kStackFrameDelimiter), |
51 &pieces); | 51 base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); |
52 } | 52 } |
53 | 53 |
54 // If we got a stack trace, parse each frame from the text. | 54 // If we got a stack trace, parse each frame from the text. |
55 if (index < pieces.size()) { | 55 if (index < pieces.size()) { |
56 for (; index < pieces.size(); ++index) { | 56 for (; index < pieces.size(); ++index) { |
57 std::unique_ptr<StackFrame> frame = | 57 std::unique_ptr<StackFrame> frame = |
58 StackFrame::CreateFromText(pieces[index]); | 58 StackFrame::CreateFromText(pieces[index]); |
59 if (frame.get()) | 59 if (frame.get()) |
60 result.push_back(*frame); | 60 result.push_back(*frame); |
61 } | 61 } |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 line_number); | 96 line_number); |
97 Send(new ExtensionHostMsg_DetailedConsoleMessageAdded( | 97 Send(new ExtensionHostMsg_DetailedConsoleMessageAdded( |
98 routing_id(), trimmed_message, source, stack_trace, severity_level)); | 98 routing_id(), trimmed_message, source, stack_trace, severity_level)); |
99 } | 99 } |
100 | 100 |
101 void ExtensionsRenderFrameObserver::OnDestruct() { | 101 void ExtensionsRenderFrameObserver::OnDestruct() { |
102 delete this; | 102 delete this; |
103 } | 103 } |
104 | 104 |
105 } // namespace extensions | 105 } // namespace extensions |
OLD | NEW |