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 V8ConsoleMessage_h | 5 #ifndef V8ConsoleMessage_h |
6 #define V8ConsoleMessage_h | 6 #define V8ConsoleMessage_h |
7 | 7 |
8 #include "platform/inspector_protocol/Collections.h" | 8 #include "platform/inspector_protocol/Collections.h" |
9 #include "platform/inspector_protocol/String16.h" | 9 #include "platform/inspector_protocol/String16.h" |
10 #include "platform/v8_inspector/protocol/Console.h" | 10 #include "platform/v8_inspector/protocol/Console.h" |
11 #include "platform/v8_inspector/protocol/Runtime.h" | 11 #include "platform/v8_inspector/protocol/Runtime.h" |
12 #include "platform/v8_inspector/public/V8ConsoleTypes.h" | 12 #include "platform/v8_inspector/public/V8ConsoleTypes.h" |
13 #include "platform/v8_inspector/public/V8StackTrace.h" | 13 #include "platform/v8_inspector/public/V8StackTrace.h" |
14 #include <deque> | 14 #include <deque> |
15 #include <v8.h> | 15 #include <v8.h> |
16 | 16 |
17 namespace blink { | 17 namespace blink { |
18 | 18 |
19 class InspectedContext; | 19 class InspectedContext; |
20 class V8DebuggerImpl; | 20 class V8DebuggerImpl; |
21 class V8InspectorSessionImpl; | 21 class V8InspectorSessionImpl; |
22 class V8StackTrace; | 22 class V8StackTrace; |
23 | 23 |
24 enum class V8MessageOrigin { kConsole, kException, kRevokedException }; | 24 enum class V8MessageOrigin { kConsole, kException, kRevokedException }; |
25 | 25 |
| 26 enum class ConsoleAPIType { kLog, kDir, kDirXML, kTable, kTrace, kStartGroup, kS
tartGroupCollapsed, kEndGroup, kClear, kAssert, kTimeEnd, kCount }; |
| 27 |
26 class V8ConsoleMessage { | 28 class V8ConsoleMessage { |
27 public: | 29 public: |
28 ~V8ConsoleMessage(); | 30 ~V8ConsoleMessage(); |
29 | 31 |
30 static std::unique_ptr<V8ConsoleMessage> createForConsoleAPI( | 32 static std::unique_ptr<V8ConsoleMessage> createForConsoleAPI( |
31 double timestamp, | 33 double timestamp, |
32 MessageType, | 34 ConsoleAPIType, |
33 MessageLevel, | 35 MessageLevel, |
34 const String16& message, | 36 const String16& message, |
35 std::vector<v8::Local<v8::Value>>* arguments, | 37 std::vector<v8::Local<v8::Value>>* arguments, |
36 std::unique_ptr<V8StackTrace>, | 38 std::unique_ptr<V8StackTrace>, |
37 InspectedContext*); | 39 InspectedContext*); |
38 | 40 |
39 static std::unique_ptr<V8ConsoleMessage> createForException( | 41 static std::unique_ptr<V8ConsoleMessage> createForException( |
40 double timestamp, | 42 double timestamp, |
41 const String16& message, | 43 const String16& message, |
42 const String16& url, | 44 const String16& url, |
(...skipping 21 matching lines...) Expand all Loading... |
64 unsigned columnNumber, | 66 unsigned columnNumber, |
65 std::unique_ptr<V8StackTrace>, | 67 std::unique_ptr<V8StackTrace>, |
66 int scriptId, | 68 int scriptId, |
67 const String16& requestIdentifier, | 69 const String16& requestIdentifier, |
68 const String16& workerId); | 70 const String16& workerId); |
69 | 71 |
70 V8MessageOrigin origin() const; | 72 V8MessageOrigin origin() const; |
71 void reportToFrontend(protocol::Console::Frontend*, V8InspectorSessionImpl*,
bool generatePreview) const; | 73 void reportToFrontend(protocol::Console::Frontend*, V8InspectorSessionImpl*,
bool generatePreview) const; |
72 void reportToFrontend(protocol::Runtime::Frontend*, V8InspectorSessionImpl*,
bool generatePreview) const; | 74 void reportToFrontend(protocol::Runtime::Frontend*, V8InspectorSessionImpl*,
bool generatePreview) const; |
73 unsigned argumentCount() const; | 75 unsigned argumentCount() const; |
74 MessageType type() const; | 76 ConsoleAPIType type() const; |
75 void contextDestroyed(int contextId); | 77 void contextDestroyed(int contextId); |
76 | 78 |
77 private: | 79 private: |
78 V8ConsoleMessage(V8MessageOrigin, double timestamp, MessageSource, MessageLe
vel, const String16& message); | 80 V8ConsoleMessage(V8MessageOrigin, double timestamp, MessageSource, MessageLe
vel, const String16& message); |
79 | 81 |
80 using Arguments = std::vector<std::unique_ptr<v8::Global<v8::Value>>>; | 82 using Arguments = std::vector<std::unique_ptr<v8::Global<v8::Value>>>; |
81 std::unique_ptr<protocol::Array<protocol::Runtime::RemoteObject>> wrapArgume
nts(V8InspectorSessionImpl*, bool generatePreview) const; | 83 std::unique_ptr<protocol::Array<protocol::Runtime::RemoteObject>> wrapArgume
nts(V8InspectorSessionImpl*, bool generatePreview) const; |
82 std::unique_ptr<protocol::Runtime::RemoteObject> wrapException(V8InspectorSe
ssionImpl*, bool generatePreview) const; | 84 std::unique_ptr<protocol::Runtime::RemoteObject> wrapException(V8InspectorSe
ssionImpl*, bool generatePreview) const; |
83 void setLocation(const String16& url, unsigned lineNumber, unsigned columnNu
mber, std::unique_ptr<V8StackTrace>, int scriptId); | 85 void setLocation(const String16& url, unsigned lineNumber, unsigned columnNu
mber, std::unique_ptr<V8StackTrace>, int scriptId); |
84 | 86 |
85 V8MessageOrigin m_origin; | 87 V8MessageOrigin m_origin; |
86 double m_timestamp; | 88 double m_timestamp; |
87 MessageSource m_source; | 89 MessageSource m_source; |
88 MessageLevel m_level; | 90 MessageLevel m_level; |
89 String16 m_message; | 91 String16 m_message; |
90 String16 m_url; | 92 String16 m_url; |
91 unsigned m_lineNumber; | 93 unsigned m_lineNumber; |
92 unsigned m_columnNumber; | 94 unsigned m_columnNumber; |
93 std::unique_ptr<V8StackTrace> m_stackTrace; | 95 std::unique_ptr<V8StackTrace> m_stackTrace; |
94 int m_scriptId; | 96 int m_scriptId; |
95 String16 m_requestIdentifier; | 97 String16 m_requestIdentifier; |
96 String16 m_workerId; | 98 String16 m_workerId; |
97 int m_contextId; | 99 int m_contextId; |
98 MessageType m_type; | 100 ConsoleAPIType m_type; |
99 unsigned m_exceptionId; | 101 unsigned m_exceptionId; |
100 unsigned m_revokedExceptionId; | 102 unsigned m_revokedExceptionId; |
101 Arguments m_arguments; | 103 Arguments m_arguments; |
102 }; | 104 }; |
103 | 105 |
104 class V8ConsoleMessageStorage { | 106 class V8ConsoleMessageStorage { |
105 public: | 107 public: |
106 V8ConsoleMessageStorage(V8DebuggerImpl*, int contextGroupId); | 108 V8ConsoleMessageStorage(V8DebuggerImpl*, int contextGroupId); |
107 ~V8ConsoleMessageStorage(); | 109 ~V8ConsoleMessageStorage(); |
108 | 110 |
109 int contextGroupId() { return m_contextGroupId; } | 111 int contextGroupId() { return m_contextGroupId; } |
110 int expiredCount() { return m_expiredCount; } | 112 int expiredCount() { return m_expiredCount; } |
111 const std::deque<std::unique_ptr<V8ConsoleMessage>>& messages() const { retu
rn m_messages; } | 113 const std::deque<std::unique_ptr<V8ConsoleMessage>>& messages() const { retu
rn m_messages; } |
112 | 114 |
113 void addMessage(std::unique_ptr<V8ConsoleMessage>); | 115 void addMessage(std::unique_ptr<V8ConsoleMessage>); |
114 void contextDestroyed(int contextId); | 116 void contextDestroyed(int contextId); |
115 void clear(); | 117 void clear(); |
116 | 118 |
117 private: | 119 private: |
118 V8DebuggerImpl* m_debugger; | 120 V8DebuggerImpl* m_debugger; |
119 int m_contextGroupId; | 121 int m_contextGroupId; |
120 int m_expiredCount; | 122 int m_expiredCount; |
121 std::deque<std::unique_ptr<V8ConsoleMessage>> m_messages; | 123 std::deque<std::unique_ptr<V8ConsoleMessage>> m_messages; |
122 }; | 124 }; |
123 | 125 |
124 } // namespace blink | 126 } // namespace blink |
125 | 127 |
126 #endif // V8ConsoleMessage_h | 128 #endif // V8ConsoleMessage_h |
OLD | NEW |