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

Side by Side Diff: third_party/WebKit/Source/core/inspector/ConsoleMessage.cpp

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
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 "core/inspector/ConsoleMessage.h" 5 #include "core/inspector/ConsoleMessage.h"
6 6
7 #include "bindings/core/v8/ScriptValue.h"
8 #include "bindings/core/v8/SourceLocation.h" 7 #include "bindings/core/v8/SourceLocation.h"
9 #include "core/inspector/ScriptArguments.h"
10 #include "wtf/CurrentTime.h" 8 #include "wtf/CurrentTime.h"
11 #include <memory> 9 #include <memory>
12 10
13 namespace blink { 11 namespace blink {
14 12
15 unsigned nextMessageId()
16 {
17 struct MessageId {
18 MessageId() : value(0) { }
19 unsigned value;
20 };
21
22 DEFINE_THREAD_SAFE_STATIC_LOCAL(WTF::ThreadSpecific<MessageId>, messageId, n ew WTF::ThreadSpecific<MessageId>);
23 return ++messageId->value;
24 }
25
26 // static 13 // static
27 ConsoleMessage* ConsoleMessage::createForRequest(MessageSource source, MessageLe vel level, const String& message, const String& url, unsigned long requestIdenti fier) 14 ConsoleMessage* ConsoleMessage::createForRequest(MessageSource source, MessageLe vel level, const String& message, const String& url, unsigned long requestIdenti fier)
28 { 15 {
29 ConsoleMessage* consoleMessage = ConsoleMessage::create(source, level, messa ge, SourceLocation::capture(url, 0, 0)); 16 ConsoleMessage* consoleMessage = ConsoleMessage::create(source, level, messa ge, SourceLocation::capture(url, 0, 0));
30 consoleMessage->m_requestIdentifier = requestIdentifier; 17 consoleMessage->m_requestIdentifier = requestIdentifier;
31 return consoleMessage; 18 return consoleMessage;
32 } 19 }
33 20
34 // static 21 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, std::unique_ptr<SourceLocation> location)
35 ConsoleMessage* ConsoleMessage::createForConsoleAPI(MessageLevel level, MessageT ype type, const String& message, ScriptArguments* arguments)
36 { 22 {
37 ConsoleMessage* consoleMessage = ConsoleMessage::create(ConsoleAPIMessageSou rce, level, message, SourceLocation::capture(), arguments); 23 return new ConsoleMessage(source, level, message, std::move(location));
38 consoleMessage->m_type = type;
39 return consoleMessage;
40 } 24 }
41 25
42 // static 26 // static
43 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, std::unique_ptr<SourceLocation> location, ScriptArgument s* arguments)
44 {
45 return new ConsoleMessage(source, level, message, std::move(location), argum ents);
46 }
47
48 // static
49 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message) 27 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message)
50 { 28 {
51 return ConsoleMessage::create(source, level, message, SourceLocation::captur e()); 29 return ConsoleMessage::create(source, level, message, SourceLocation::captur e());
52 } 30 }
53 31
54 ConsoleMessage::ConsoleMessage(MessageSource source, 32 ConsoleMessage::ConsoleMessage(MessageSource source,
55 MessageLevel level, 33 MessageLevel level,
56 const String& message, 34 const String& message,
57 std::unique_ptr<SourceLocation> location, 35 std::unique_ptr<SourceLocation> location)
58 ScriptArguments* arguments)
59 : m_source(source) 36 : m_source(source)
60 , m_level(level) 37 , m_level(level)
61 , m_type(LogMessageType)
62 , m_message(message) 38 , m_message(message)
63 , m_location(std::move(location)) 39 , m_location(std::move(location))
64 , m_scriptArguments(arguments)
65 , m_requestIdentifier(0) 40 , m_requestIdentifier(0)
66 , m_timestamp(WTF::currentTime()) 41 , m_timestamp(WTF::currentTime())
67 , m_messageId(0)
68 , m_relatedMessageId(0)
69 { 42 {
70 } 43 }
71 44
72 ConsoleMessage::~ConsoleMessage() 45 ConsoleMessage::~ConsoleMessage()
73 { 46 {
74 } 47 }
75 48
76 MessageType ConsoleMessage::type() const
77 {
78 return m_type;
79 }
80
81 SourceLocation* ConsoleMessage::location() const 49 SourceLocation* ConsoleMessage::location() const
82 { 50 {
83 return m_location.get(); 51 return m_location.get();
84 } 52 }
85 53
86 ScriptArguments* ConsoleMessage::scriptArguments() const
87 {
88 return m_scriptArguments;
89 }
90
91 unsigned long ConsoleMessage::requestIdentifier() const 54 unsigned long ConsoleMessage::requestIdentifier() const
92 { 55 {
93 return m_requestIdentifier; 56 return m_requestIdentifier;
94 } 57 }
95 58
96 double ConsoleMessage::timestamp() const 59 double ConsoleMessage::timestamp() const
97 { 60 {
98 return m_timestamp; 61 return m_timestamp;
99 } 62 }
100 63
101 unsigned ConsoleMessage::assignMessageId()
102 {
103 if (!m_messageId)
104 m_messageId = nextMessageId();
105 return m_messageId;
106 }
107
108 MessageSource ConsoleMessage::source() const 64 MessageSource ConsoleMessage::source() const
109 { 65 {
110 return m_source; 66 return m_source;
111 } 67 }
112 68
113 MessageLevel ConsoleMessage::level() const 69 MessageLevel ConsoleMessage::level() const
114 { 70 {
115 return m_level; 71 return m_level;
116 } 72 }
117 73
118 const String& ConsoleMessage::message() const 74 const String& ConsoleMessage::message() const
119 { 75 {
120 return m_message; 76 return m_message;
121 } 77 }
122 78
123 void ConsoleMessage::frameWindowDiscarded(LocalDOMWindow* window)
124 {
125 if (!m_scriptArguments)
126 return;
127 if (m_scriptArguments->getScriptState()->domWindow() != window)
128 return;
129 if (!m_message)
130 m_message = "<message collected>";
131 m_scriptArguments.clear();
132 }
133
134 unsigned ConsoleMessage::argumentCount()
135 {
136 if (m_scriptArguments)
137 return m_scriptArguments->argumentCount();
138 return 0;
139 }
140
141 DEFINE_TRACE(ConsoleMessage) 79 DEFINE_TRACE(ConsoleMessage)
142 { 80 {
143 visitor->trace(m_scriptArguments);
144 } 81 }
145 82
146 } // namespace blink 83 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698