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

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

Issue 1998353003: Reduce ConsoleMessage API surface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@1999463002
Patch Set: rebased Created 4 years, 7 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/ScriptCallStack.h" 7 #include "bindings/core/v8/ScriptCallStack.h"
8 #include "bindings/core/v8/ScriptValue.h" 8 #include "bindings/core/v8/ScriptValue.h"
9 #include "core/inspector/ScriptArguments.h" 9 #include "core/inspector/ScriptArguments.h"
10 #include "wtf/CurrentTime.h" 10 #include "wtf/CurrentTime.h"
11 #include "wtf/PassOwnPtr.h" 11 #include "wtf/PassOwnPtr.h"
12 12
13 namespace blink { 13 namespace blink {
14 14
15 unsigned nextMessageId() 15 unsigned nextMessageId()
16 { 16 {
17 struct MessageId { 17 struct MessageId {
18 MessageId() : value(0) { } 18 MessageId() : value(0) { }
19 unsigned value; 19 unsigned value;
20 }; 20 };
21 21
22 DEFINE_THREAD_SAFE_STATIC_LOCAL(WTF::ThreadSpecific<MessageId>, messageId, n ew WTF::ThreadSpecific<MessageId>); 22 DEFINE_THREAD_SAFE_STATIC_LOCAL(WTF::ThreadSpecific<MessageId>, messageId, n ew WTF::ThreadSpecific<MessageId>);
23 return ++messageId->value; 23 return ++messageId->value;
24 } 24 }
25 25
26 // static 26 // static
27 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, const String& url, unsigned lineNumber, unsigned columnN umber, PassRefPtr<ScriptCallStack> passCallStack, int scriptId) 27 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, const String& url, unsigned lineNumber, unsigned columnN umber, PassRefPtr<ScriptCallStack> passCallStack, int scriptId, ScriptArguments* arguments)
28 { 28 {
29 RefPtr<ScriptCallStack> callStack = passCallStack; 29 RefPtr<ScriptCallStack> callStack = passCallStack;
30 if (callStack && !callStack->isEmpty() && (!scriptId || !lineNumber)) 30 if (callStack && !callStack->isEmpty() && (!scriptId || !lineNumber))
31 return new ConsoleMessage(source, level, message, callStack->topSourceUR L(), callStack->topLineNumber(), callStack->topColumnNumber(), callStack, 0); 31 return new ConsoleMessage(source, level, message, callStack->topSourceUR L(), callStack->topLineNumber(), callStack->topColumnNumber(), callStack, 0, arg uments);
32 return new ConsoleMessage(source, level, message, url, lineNumber, columnNum ber, callStack, scriptId); 32 return new ConsoleMessage(source, level, message, url, lineNumber, columnNum ber, callStack, scriptId, arguments);
33 } 33 }
34 34
35 // static 35 // static
36 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, const String& url, unsigned lineNumber, unsigned columnN umber) 36 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message, const String& url, unsigned lineNumber, unsigned columnN umber)
37 { 37 {
38 return ConsoleMessage::create(source, level, message, url, lineNumber, colum nNumber, nullptr, 0); 38 return ConsoleMessage::create(source, level, message, url, lineNumber, colum nNumber, nullptr, 0);
39 } 39 }
40 40
41 // static 41 // static
42 ConsoleMessage* ConsoleMessage::createWithCallStack(MessageSource source, Messag eLevel level, const String& message, const String& url, unsigned lineNumber, uns igned columnNumber) 42 ConsoleMessage* ConsoleMessage::createWithCallStack(MessageSource source, Messag eLevel level, const String& message, const String& url, unsigned lineNumber, uns igned columnNumber)
43 { 43 {
44 return ConsoleMessage::create(source, level, message, url, lineNumber, colum nNumber, ScriptCallStack::captureForConsole(), 0); 44 return ConsoleMessage::create(source, level, message, url, lineNumber, colum nNumber, ScriptCallStack::captureForConsole(), 0);
45 } 45 }
46 46
47 // static 47 // static
48 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message) 48 ConsoleMessage* ConsoleMessage::create(MessageSource source, MessageLevel level, const String& message)
49 { 49 {
50 return ConsoleMessage::createWithCallStack(source, level, message, String(), 0, 0); 50 return ConsoleMessage::createWithCallStack(source, level, message, String(), 0, 0);
51 } 51 }
52 52
53 // static
54 ConsoleMessage* ConsoleMessage::createForRequest(MessageSource source, MessageLe vel level, const String& message, const String& url, unsigned long requestIdenti fier)
55 {
56 ConsoleMessage* consoleMessage = ConsoleMessage::createWithCallStack(source, level, message, url, 0, 0);
57 consoleMessage->m_requestIdentifier = requestIdentifier;
58 return consoleMessage;
59 }
60
61 // static
62 ConsoleMessage* ConsoleMessage::createForConsoleAPI(MessageLevel level, MessageT ype type, const String& message, ScriptArguments* arguments)
63 {
64 ConsoleMessage* consoleMessage = ConsoleMessage::create(ConsoleAPIMessageSou rce, level, message, String(), 0, 0, ScriptCallStack::captureForConsole(), 0, ar guments);
65 consoleMessage->m_type = type;
66 return consoleMessage;
67 }
68
53 ConsoleMessage::ConsoleMessage(MessageSource source, 69 ConsoleMessage::ConsoleMessage(MessageSource source,
54 MessageLevel level, 70 MessageLevel level,
55 const String& message, 71 const String& message,
56 const String& url, 72 const String& url,
57 unsigned lineNumber, 73 unsigned lineNumber,
58 unsigned columnNumber, 74 unsigned columnNumber,
59 PassRefPtr<ScriptCallStack> callStack, 75 PassRefPtr<ScriptCallStack> callStack,
60 int scriptId) 76 int scriptId,
77 ScriptArguments* arguments)
61 : m_source(source) 78 : m_source(source)
62 , m_level(level) 79 , m_level(level)
63 , m_type(LogMessageType) 80 , m_type(LogMessageType)
64 , m_message(message) 81 , m_message(message)
65 , m_scriptId(scriptId) 82 , m_scriptId(scriptId)
66 , m_url(url) 83 , m_url(url)
67 , m_lineNumber(lineNumber) 84 , m_lineNumber(lineNumber)
68 , m_columnNumber(columnNumber) 85 , m_columnNumber(columnNumber)
69 , m_callStack(callStack) 86 , m_callStack(callStack)
87 , m_scriptArguments(arguments)
70 , m_requestIdentifier(0) 88 , m_requestIdentifier(0)
71 , m_timestamp(WTF::currentTime()) 89 , m_timestamp(WTF::currentTime())
72 , m_messageId(0) 90 , m_messageId(0)
73 , m_relatedMessageId(0) 91 , m_relatedMessageId(0)
74 { 92 {
75 } 93 }
76 94
77 ConsoleMessage::~ConsoleMessage() 95 ConsoleMessage::~ConsoleMessage()
78 { 96 {
79 } 97 }
80 98
81 MessageType ConsoleMessage::type() const 99 MessageType ConsoleMessage::type() const
82 { 100 {
83 return m_type; 101 return m_type;
84 } 102 }
85 103
86 void ConsoleMessage::setType(MessageType type)
87 {
88 m_type = type;
89 }
90
91 int ConsoleMessage::scriptId() const 104 int ConsoleMessage::scriptId() const
92 { 105 {
93 return m_scriptId; 106 return m_scriptId;
94 } 107 }
95 108
96 const String& ConsoleMessage::url() const 109 const String& ConsoleMessage::url() const
97 { 110 {
98 return m_url; 111 return m_url;
99 } 112 }
100 113
101 void ConsoleMessage::setURL(const String& url)
102 {
103 m_url = url;
104 }
105
106 unsigned ConsoleMessage::lineNumber() const 114 unsigned ConsoleMessage::lineNumber() const
107 { 115 {
108 return m_lineNumber; 116 return m_lineNumber;
109 } 117 }
110 118
111 void ConsoleMessage::setLineNumber(unsigned lineNumber)
112 {
113 m_lineNumber = lineNumber;
114 }
115
116 unsigned ConsoleMessage::columnNumber() const 119 unsigned ConsoleMessage::columnNumber() const
117 { 120 {
118 return m_columnNumber; 121 return m_columnNumber;
119 } 122 }
120 123
121 void ConsoleMessage::setColumnNumber(unsigned columnNumber)
122 {
123 m_columnNumber = columnNumber;
124 }
125
126 PassRefPtr<ScriptCallStack> ConsoleMessage::callStack() const 124 PassRefPtr<ScriptCallStack> ConsoleMessage::callStack() const
127 { 125 {
128 return m_callStack; 126 return m_callStack;
129 } 127 }
130 128
131 ScriptState* ConsoleMessage::getScriptState() const
132 {
133 if (m_scriptState)
134 return m_scriptState->get();
135 return nullptr;
136 }
137
138 void ConsoleMessage::setScriptState(ScriptState* scriptState)
139 {
140 if (m_scriptState)
141 m_scriptState->clear();
142
143 if (scriptState)
144 m_scriptState = adoptPtr(new ScriptStateProtectingContext(scriptState));
145 else
146 m_scriptState.clear();
147 }
148
149 ScriptArguments* ConsoleMessage::scriptArguments() const 129 ScriptArguments* ConsoleMessage::scriptArguments() const
150 { 130 {
151 return m_scriptArguments; 131 return m_scriptArguments;
152 } 132 }
153 133
154 void ConsoleMessage::setScriptArguments(ScriptArguments* scriptArguments)
155 {
156 m_scriptArguments = scriptArguments;
157 }
158
159 unsigned long ConsoleMessage::requestIdentifier() const 134 unsigned long ConsoleMessage::requestIdentifier() const
160 { 135 {
161 return m_requestIdentifier; 136 return m_requestIdentifier;
162 } 137 }
163 138
164 void ConsoleMessage::setRequestIdentifier(unsigned long requestIdentifier)
165 {
166 m_requestIdentifier = requestIdentifier;
167 }
168
169 double ConsoleMessage::timestamp() const 139 double ConsoleMessage::timestamp() const
170 { 140 {
171 return m_timestamp; 141 return m_timestamp;
172 } 142 }
173 143
174 void ConsoleMessage::setTimestamp(double timestamp)
175 {
176 m_timestamp = timestamp;
177 }
178
179 unsigned ConsoleMessage::assignMessageId() 144 unsigned ConsoleMessage::assignMessageId()
180 { 145 {
181 if (!m_messageId) 146 if (!m_messageId)
182 m_messageId = nextMessageId(); 147 m_messageId = nextMessageId();
183 return m_messageId; 148 return m_messageId;
184 } 149 }
185 150
186 MessageSource ConsoleMessage::source() const 151 MessageSource ConsoleMessage::source() const
187 { 152 {
188 return m_source; 153 return m_source;
189 } 154 }
190 155
191 MessageLevel ConsoleMessage::level() const 156 MessageLevel ConsoleMessage::level() const
192 { 157 {
193 return m_level; 158 return m_level;
194 } 159 }
195 160
196 const String& ConsoleMessage::message() const 161 const String& ConsoleMessage::message() const
197 { 162 {
198 return m_message; 163 return m_message;
199 } 164 }
200 165
201 void ConsoleMessage::frameWindowDiscarded(LocalDOMWindow* window) 166 void ConsoleMessage::frameWindowDiscarded(LocalDOMWindow* window)
202 { 167 {
203 if (getScriptState() && getScriptState()->domWindow() == window)
204 setScriptState(nullptr);
205
206 if (!m_scriptArguments) 168 if (!m_scriptArguments)
207 return; 169 return;
208 if (m_scriptArguments->getScriptState()->domWindow() != window) 170 if (m_scriptArguments->getScriptState()->domWindow() != window)
209 return; 171 return;
210 if (!m_message) 172 if (!m_message)
211 m_message = "<message collected>"; 173 m_message = "<message collected>";
212 m_scriptArguments.clear(); 174 m_scriptArguments.clear();
213 } 175 }
214 176
215 unsigned ConsoleMessage::argumentCount() 177 unsigned ConsoleMessage::argumentCount()
216 { 178 {
217 if (m_scriptArguments) 179 if (m_scriptArguments)
218 return m_scriptArguments->argumentCount(); 180 return m_scriptArguments->argumentCount();
219 return 0; 181 return 0;
220 } 182 }
221 183
222 DEFINE_TRACE(ConsoleMessage) 184 DEFINE_TRACE(ConsoleMessage)
223 { 185 {
224 visitor->trace(m_scriptArguments); 186 visitor->trace(m_scriptArguments);
225 } 187 }
226 188
227 } // namespace blink 189 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698