OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef V8StackTraceImpl_h | 5 #ifndef V8StackTraceImpl_h |
6 #define V8StackTraceImpl_h | 6 #define V8StackTraceImpl_h |
7 | 7 |
8 #include "platform/inspector_protocol/Collections.h" | |
9 #include "platform/inspector_protocol/Platform.h" | 8 #include "platform/inspector_protocol/Platform.h" |
10 #include "platform/v8_inspector/public/V8StackTrace.h" | 9 #include "platform/v8_inspector/public/V8StackTrace.h" |
11 | 10 |
| 11 #include <vector> |
| 12 |
12 namespace blink { | 13 namespace blink { |
13 | 14 |
14 class TracedValue; | 15 class TracedValue; |
15 class V8DebuggerImpl; | 16 class V8DebuggerImpl; |
16 | 17 |
17 // Note: async stack trace may have empty top stack with non-empty tail to indic
ate | 18 // Note: async stack trace may have empty top stack with non-empty tail to indic
ate |
18 // that current native-only state had some async story. | 19 // that current native-only state had some async story. |
19 // On the other hand, any non-top async stack is guaranteed to be non-empty. | 20 // On the other hand, any non-top async stack is guaranteed to be non-empty. |
20 class V8StackTraceImpl final : public V8StackTrace { | 21 class V8StackTraceImpl final : public V8StackTrace { |
21 PROTOCOL_DISALLOW_COPY(V8StackTraceImpl); | 22 PROTOCOL_DISALLOW_COPY(V8StackTraceImpl); |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 bool isEmpty() const override { return !m_frames.size(); }; | 60 bool isEmpty() const override { return !m_frames.size(); }; |
60 String16 topSourceURL() const override; | 61 String16 topSourceURL() const override; |
61 int topLineNumber() const override; | 62 int topLineNumber() const override; |
62 int topColumnNumber() const override; | 63 int topColumnNumber() const override; |
63 String16 topScriptId() const override; | 64 String16 topScriptId() const override; |
64 String16 topFunctionName() const override; | 65 String16 topFunctionName() const override; |
65 std::unique_ptr<protocol::Runtime::StackTrace> buildInspectorObject() const
override; | 66 std::unique_ptr<protocol::Runtime::StackTrace> buildInspectorObject() const
override; |
66 String16 toString() const override; | 67 String16 toString() const override; |
67 | 68 |
68 private: | 69 private: |
69 V8StackTraceImpl(int contextGroupId, const String16& description, protocol::
Vector<Frame>& frames, std::unique_ptr<V8StackTraceImpl> parent); | 70 V8StackTraceImpl(int contextGroupId, const String16& description, std::vecto
r<Frame>& frames, std::unique_ptr<V8StackTraceImpl> parent); |
70 | 71 |
71 int m_contextGroupId; | 72 int m_contextGroupId; |
72 String16 m_description; | 73 String16 m_description; |
73 protocol::Vector<Frame> m_frames; | 74 std::vector<Frame> m_frames; |
74 std::unique_ptr<V8StackTraceImpl> m_parent; | 75 std::unique_ptr<V8StackTraceImpl> m_parent; |
75 }; | 76 }; |
76 | 77 |
77 } // namespace blink | 78 } // namespace blink |
78 | 79 |
79 #endif // V8StackTraceImpl_h | 80 #endif // V8StackTraceImpl_h |
OLD | NEW |