| OLD | NEW |
| (Empty) | |
| 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 |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef V8ConsoleMessage_h |
| 6 #define V8ConsoleMessage_h |
| 7 |
| 8 #include "platform/inspector_protocol/Collections.h" |
| 9 #include "platform/inspector_protocol/String16.h" |
| 10 #include "platform/v8_inspector/protocol/Console.h" |
| 11 #include "platform/v8_inspector/public/V8ConsoleTypes.h" |
| 12 #include "platform/v8_inspector/public/V8StackTrace.h" |
| 13 #include <deque> |
| 14 #include <v8.h> |
| 15 |
| 16 namespace blink { |
| 17 |
| 18 class InspectedContext; |
| 19 class V8DebuggerImpl; |
| 20 class V8InspectorSessionImpl; |
| 21 class V8StackTrace; |
| 22 |
| 23 class V8ConsoleMessage { |
| 24 public: |
| 25 V8ConsoleMessage( |
| 26 double timestampMS, |
| 27 MessageSource, |
| 28 MessageLevel, |
| 29 const String16& message, |
| 30 const String16& url, |
| 31 unsigned lineNumber, |
| 32 unsigned columnNumber, |
| 33 std::unique_ptr<V8StackTrace>, |
| 34 int scriptId, |
| 35 const String16& requestIdentifier); |
| 36 ~V8ConsoleMessage(); |
| 37 |
| 38 static std::unique_ptr<V8ConsoleMessage> createForConsoleAPI( |
| 39 double timestampMS, |
| 40 MessageType, |
| 41 MessageLevel, |
| 42 const String16& message, |
| 43 std::vector<v8::Local<v8::Value>>* arguments, |
| 44 std::unique_ptr<V8StackTrace>, |
| 45 InspectedContext*); |
| 46 |
| 47 std::unique_ptr<protocol::Console::ConsoleMessage> buildInspectorObject(V8In
spectorSessionImpl*, bool generatePreview) const; |
| 48 unsigned argumentCount() const; |
| 49 MessageType type() const; |
| 50 void contextDestroyed(int contextId); |
| 51 void assignId(unsigned); |
| 52 void assignRelatedId(unsigned); |
| 53 void addArguments(v8::Isolate*, int contextId, std::vector<v8::Local<v8::Val
ue>>*); |
| 54 |
| 55 private: |
| 56 using Arguments = std::vector<std::unique_ptr<v8::Global<v8::Value>>>; |
| 57 void appendArguments(protocol::Console::ConsoleMessage*, V8InspectorSessionI
mpl*, bool generatePreview) const; |
| 58 |
| 59 double m_timestamp; |
| 60 MessageSource m_source; |
| 61 MessageLevel m_level; |
| 62 String16 m_message; |
| 63 String16 m_url; |
| 64 unsigned m_lineNumber; |
| 65 unsigned m_columnNumber; |
| 66 std::unique_ptr<V8StackTrace> m_stackTrace; |
| 67 int m_scriptId; |
| 68 String16 m_requestIdentifier; |
| 69 int m_contextId; |
| 70 MessageType m_type; |
| 71 unsigned m_messageId; |
| 72 unsigned m_relatedMessageId; |
| 73 Arguments m_arguments; |
| 74 }; |
| 75 |
| 76 class V8ConsoleMessageStorage { |
| 77 public: |
| 78 V8ConsoleMessageStorage(V8DebuggerImpl*, int contextGroupId); |
| 79 ~V8ConsoleMessageStorage(); |
| 80 |
| 81 int contextGroupId() { return m_contextGroupId; } |
| 82 int expiredCount() { return m_expiredCount; } |
| 83 const std::deque<std::unique_ptr<V8ConsoleMessage>>& messages() const { retu
rn m_messages; } |
| 84 |
| 85 void addMessage(std::unique_ptr<V8ConsoleMessage>); |
| 86 void contextDestroyed(int contextId); |
| 87 void clear(); |
| 88 |
| 89 private: |
| 90 V8DebuggerImpl* m_debugger; |
| 91 int m_contextGroupId; |
| 92 int m_expiredCount; |
| 93 std::deque<std::unique_ptr<V8ConsoleMessage>> m_messages; |
| 94 }; |
| 95 |
| 96 } // namespace blink |
| 97 |
| 98 #endif // V8ConsoleMessage_h |
| OLD | NEW |