Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: third_party/WebKit/Source/platform/v8_inspector/V8ConsoleMessage.h

Issue 2035653006: [DevTools] Move Console to v8 inspector. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: improved api a bit Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698