OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. | 3 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. |
4 * Copyright (C) 2009 Joseph Pecoraro | 4 * Copyright (C) 2009 Joseph Pecoraro |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
8 * are met: | 8 * are met: |
9 * | 9 * |
10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
(...skipping 15 matching lines...) Expand all Loading... |
26 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 /** | 30 /** |
31 * @implements {Console.ConsoleViewportElement} | 31 * @implements {Console.ConsoleViewportElement} |
32 * @unrestricted | 32 * @unrestricted |
33 */ | 33 */ |
34 Console.ConsoleViewMessage = class { | 34 Console.ConsoleViewMessage = class { |
35 /** | 35 /** |
36 * @param {!SDK.ConsoleMessage} consoleMessage | 36 * @param {!ConsoleModel.ConsoleMessage} consoleMessage |
37 * @param {!Components.Linkifier} linkifier | 37 * @param {!Components.Linkifier} linkifier |
38 * @param {number} nestingLevel | 38 * @param {number} nestingLevel |
39 */ | 39 */ |
40 constructor(consoleMessage, linkifier, nestingLevel) { | 40 constructor(consoleMessage, linkifier, nestingLevel) { |
41 this._message = consoleMessage; | 41 this._message = consoleMessage; |
42 this._linkifier = linkifier; | 42 this._linkifier = linkifier; |
43 this._repeatCount = 1; | 43 this._repeatCount = 1; |
44 this._closeGroupDecorationCount = 0; | 44 this._closeGroupDecorationCount = 0; |
45 this._nestingLevel = nestingLevel; | 45 this._nestingLevel = nestingLevel; |
46 | 46 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 | 93 |
94 /** | 94 /** |
95 * @return {number} | 95 * @return {number} |
96 */ | 96 */ |
97 fastHeight() { | 97 fastHeight() { |
98 if (this._cachedHeight) | 98 if (this._cachedHeight) |
99 return this._cachedHeight; | 99 return this._cachedHeight; |
100 // This value reflects the 18px min-height of .console-message, plus the | 100 // This value reflects the 18px min-height of .console-message, plus the |
101 // 1px border of .console-message-wrapper. Keep in sync with consoleView.css
. | 101 // 1px border of .console-message-wrapper. Keep in sync with consoleView.css
. |
102 const defaultConsoleRowHeight = 19; | 102 const defaultConsoleRowHeight = 19; |
103 if (this._message.type === SDK.ConsoleMessage.MessageType.Table) { | 103 if (this._message.type === ConsoleModel.ConsoleMessage.MessageType.Table) { |
104 var table = this._message.parameters[0]; | 104 var table = this._message.parameters[0]; |
105 if (table && table.preview) | 105 if (table && table.preview) |
106 return defaultConsoleRowHeight * table.preview.properties.length; | 106 return defaultConsoleRowHeight * table.preview.properties.length; |
107 } | 107 } |
108 return defaultConsoleRowHeight; | 108 return defaultConsoleRowHeight; |
109 } | 109 } |
110 | 110 |
111 /** | 111 /** |
112 * @return {!SDK.ConsoleMessage} | 112 * @return {!ConsoleModel.ConsoleMessage} |
113 */ | 113 */ |
114 consoleMessage() { | 114 consoleMessage() { |
115 return this._message; | 115 return this._message; |
116 } | 116 } |
117 | 117 |
118 /** | 118 /** |
119 * @param {!SDK.ConsoleMessage} consoleMessage | 119 * @param {!ConsoleModel.ConsoleMessage} consoleMessage |
120 * @return {!Element} | 120 * @return {!Element} |
121 */ | 121 */ |
122 _buildTableMessage(consoleMessage) { | 122 _buildTableMessage(consoleMessage) { |
123 var formattedMessage = createElement('span'); | 123 var formattedMessage = createElement('span'); |
124 UI.appendStyle(formattedMessage, 'object_ui/objectValue.css'); | 124 UI.appendStyle(formattedMessage, 'object_ui/objectValue.css'); |
125 formattedMessage.className = 'source-code'; | 125 formattedMessage.className = 'source-code'; |
126 var anchorElement = this._buildMessageAnchor(consoleMessage); | 126 var anchorElement = this._buildMessageAnchor(consoleMessage); |
127 if (anchorElement) | 127 if (anchorElement) |
128 formattedMessage.appendChild(anchorElement); | 128 formattedMessage.appendChild(anchorElement); |
129 | 129 |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 var dataGridContainer = tableElement.createChild('span'); | 181 var dataGridContainer = tableElement.createChild('span'); |
182 tableElement.appendChild(this._formatParameter(table, true, false)); | 182 tableElement.appendChild(this._formatParameter(table, true, false)); |
183 dataGridContainer.appendChild(this._dataGrid.element); | 183 dataGridContainer.appendChild(this._dataGrid.element); |
184 formattedMessage.appendChild(formattedResult); | 184 formattedMessage.appendChild(formattedResult); |
185 this._dataGrid.renderInline(); | 185 this._dataGrid.renderInline(); |
186 } | 186 } |
187 return formattedMessage; | 187 return formattedMessage; |
188 } | 188 } |
189 | 189 |
190 /** | 190 /** |
191 * @param {!SDK.ConsoleMessage} consoleMessage | 191 * @param {!ConsoleModel.ConsoleMessage} consoleMessage |
192 * @return {!Element} | 192 * @return {!Element} |
193 */ | 193 */ |
194 _buildMessage(consoleMessage) { | 194 _buildMessage(consoleMessage) { |
195 var messageElement; | 195 var messageElement; |
196 var messageText = consoleMessage.messageText; | 196 var messageText = consoleMessage.messageText; |
197 if (consoleMessage.source === SDK.ConsoleMessage.MessageSource.ConsoleAPI) { | 197 if (consoleMessage.source === ConsoleModel.ConsoleMessage.MessageSource.Cons
oleAPI) { |
198 switch (consoleMessage.type) { | 198 switch (consoleMessage.type) { |
199 case SDK.ConsoleMessage.MessageType.Trace: | 199 case ConsoleModel.ConsoleMessage.MessageType.Trace: |
200 messageElement = this._format(consoleMessage.parameters || ['console.t
race']); | 200 messageElement = this._format(consoleMessage.parameters || ['console.t
race']); |
201 break; | 201 break; |
202 case SDK.ConsoleMessage.MessageType.Clear: | 202 case ConsoleModel.ConsoleMessage.MessageType.Clear: |
203 messageElement = createElementWithClass('span', 'console-info'); | 203 messageElement = createElementWithClass('span', 'console-info'); |
204 messageElement.textContent = Common.UIString('Console was cleared'); | 204 messageElement.textContent = Common.UIString('Console was cleared'); |
205 break; | 205 break; |
206 case SDK.ConsoleMessage.MessageType.Assert: | 206 case ConsoleModel.ConsoleMessage.MessageType.Assert: |
207 var args = [Common.UIString('Assertion failed:')]; | 207 var args = [Common.UIString('Assertion failed:')]; |
208 if (consoleMessage.parameters) | 208 if (consoleMessage.parameters) |
209 args = args.concat(consoleMessage.parameters); | 209 args = args.concat(consoleMessage.parameters); |
210 messageElement = this._format(args); | 210 messageElement = this._format(args); |
211 break; | 211 break; |
212 case SDK.ConsoleMessage.MessageType.Dir: | 212 case ConsoleModel.ConsoleMessage.MessageType.Dir: |
213 var obj = consoleMessage.parameters ? consoleMessage.parameters[0] : u
ndefined; | 213 var obj = consoleMessage.parameters ? consoleMessage.parameters[0] : u
ndefined; |
214 var args = ['%O', obj]; | 214 var args = ['%O', obj]; |
215 messageElement = this._format(args); | 215 messageElement = this._format(args); |
216 break; | 216 break; |
217 case SDK.ConsoleMessage.MessageType.Profile: | 217 case ConsoleModel.ConsoleMessage.MessageType.Profile: |
218 case SDK.ConsoleMessage.MessageType.ProfileEnd: | 218 case ConsoleModel.ConsoleMessage.MessageType.ProfileEnd: |
219 messageElement = this._format([messageText]); | 219 messageElement = this._format([messageText]); |
220 break; | 220 break; |
221 default: | 221 default: |
222 if (consoleMessage.parameters && consoleMessage.parameters.length ===
1 && | 222 if (consoleMessage.parameters && consoleMessage.parameters.length ===
1 && |
223 consoleMessage.parameters[0].type === 'string') | 223 consoleMessage.parameters[0].type === 'string') |
224 messageElement = this._tryFormatAsError(/** @type {string} */ (conso
leMessage.parameters[0].value)); | 224 messageElement = this._tryFormatAsError(/** @type {string} */ (conso
leMessage.parameters[0].value)); |
225 var args = consoleMessage.parameters || [messageText]; | 225 var args = consoleMessage.parameters || [messageText]; |
226 messageElement = messageElement || this._format(args); | 226 messageElement = messageElement || this._format(args); |
227 } | 227 } |
228 } else if (consoleMessage.source === SDK.ConsoleMessage.MessageSource.Networ
k) { | 228 } else if (consoleMessage.source === ConsoleModel.ConsoleMessage.MessageSour
ce.Network) { |
229 if (consoleMessage.request) { | 229 if (consoleMessage.request) { |
230 messageElement = createElement('span'); | 230 messageElement = createElement('span'); |
231 if (consoleMessage.level === SDK.ConsoleMessage.MessageLevel.Error) { | 231 if (consoleMessage.level === ConsoleModel.ConsoleMessage.MessageLevel.Er
ror) { |
232 messageElement.createTextChild(consoleMessage.request.requestMethod +
' '); | 232 messageElement.createTextChild(consoleMessage.request.requestMethod +
' '); |
233 messageElement.appendChild(Components.Linkifier.linkifyRevealable( | 233 messageElement.appendChild(Components.Linkifier.linkifyRevealable( |
234 consoleMessage.request, consoleMessage.request.url(), consoleMessa
ge.request.url())); | 234 consoleMessage.request, consoleMessage.request.url(), consoleMessa
ge.request.url())); |
235 if (consoleMessage.request.failed) { | 235 if (consoleMessage.request.failed) { |
236 messageElement.createTextChildren(' ', consoleMessage.request.locali
zedFailDescription); | 236 messageElement.createTextChildren(' ', consoleMessage.request.locali
zedFailDescription); |
237 } else { | 237 } else { |
238 messageElement.createTextChildren( | 238 messageElement.createTextChildren( |
239 ' ', String(consoleMessage.request.statusCode), ' (', consoleMes
sage.request.statusText, ')'); | 239 ' ', String(consoleMessage.request.statusCode), ' (', consoleMes
sage.request.statusText, ')'); |
240 } | 240 } |
241 } else { | 241 } else { |
242 var fragment = | 242 var fragment = |
243 Components.linkifyStringAsFragmentWithCustomLinkifier(messageText,
linkifyRequest.bind(consoleMessage)); | 243 Components.linkifyStringAsFragmentWithCustomLinkifier(messageText,
linkifyRequest.bind(consoleMessage)); |
244 messageElement.appendChild(fragment); | 244 messageElement.appendChild(fragment); |
245 } | 245 } |
246 } else { | 246 } else { |
247 messageElement = this._format([messageText]); | 247 messageElement = this._format([messageText]); |
248 } | 248 } |
249 } else { | 249 } else { |
250 if (consoleMessage.source === SDK.ConsoleMessage.MessageSource.Violation) | 250 if (consoleMessage.source === ConsoleModel.ConsoleMessage.MessageSource.Vi
olation) |
251 messageText = Common.UIString('[Violation] %s', messageText); | 251 messageText = Common.UIString('[Violation] %s', messageText); |
252 else if (consoleMessage.source === SDK.ConsoleMessage.MessageSource.Interv
ention) | 252 else if (consoleMessage.source === ConsoleModel.ConsoleMessage.MessageSour
ce.Intervention) |
253 messageText = Common.UIString('[Intervention] %s', messageText); | 253 messageText = Common.UIString('[Intervention] %s', messageText); |
254 if (consoleMessage.source === SDK.ConsoleMessage.MessageSource.Deprecation
) | 254 if (consoleMessage.source === ConsoleModel.ConsoleMessage.MessageSource.De
precation) |
255 messageText = Common.UIString('[Deprecation] %s', messageText); | 255 messageText = Common.UIString('[Deprecation] %s', messageText); |
256 var args = consoleMessage.parameters || [messageText]; | 256 var args = consoleMessage.parameters || [messageText]; |
257 messageElement = this._format(args); | 257 messageElement = this._format(args); |
258 } | 258 } |
259 messageElement.classList.add('console-message-text'); | 259 messageElement.classList.add('console-message-text'); |
260 | 260 |
261 var formattedMessage = createElement('span'); | 261 var formattedMessage = createElement('span'); |
262 UI.appendStyle(formattedMessage, 'object_ui/objectValue.css'); | 262 UI.appendStyle(formattedMessage, 'object_ui/objectValue.css'); |
263 formattedMessage.className = 'source-code'; | 263 formattedMessage.className = 'source-code'; |
264 | 264 |
265 var anchorElement = this._buildMessageAnchor(consoleMessage); | 265 var anchorElement = this._buildMessageAnchor(consoleMessage); |
266 if (anchorElement) | 266 if (anchorElement) |
267 formattedMessage.appendChild(anchorElement); | 267 formattedMessage.appendChild(anchorElement); |
268 formattedMessage.appendChild(messageElement); | 268 formattedMessage.appendChild(messageElement); |
269 return formattedMessage; | 269 return formattedMessage; |
270 | 270 |
271 /** | 271 /** |
272 * @param {string} title | 272 * @param {string} title |
273 * @return {!Element} | 273 * @return {!Element} |
274 * @this {SDK.ConsoleMessage} | 274 * @this {ConsoleModel.ConsoleMessage} |
275 */ | 275 */ |
276 function linkifyRequest(title) { | 276 function linkifyRequest(title) { |
277 return Components.Linkifier.linkifyRevealable( | 277 return Components.Linkifier.linkifyRevealable( |
278 /** @type {!SDK.NetworkRequest} */ (this.request), title, this.request
.url()); | 278 /** @type {!SDK.NetworkRequest} */ (this.request), title, this.request
.url()); |
279 } | 279 } |
280 } | 280 } |
281 | 281 |
282 /** | 282 /** |
283 * @param {!SDK.ConsoleMessage} consoleMessage | 283 * @param {!ConsoleModel.ConsoleMessage} consoleMessage |
284 * @return {?Element} | 284 * @return {?Element} |
285 */ | 285 */ |
286 _buildMessageAnchor(consoleMessage) { | 286 _buildMessageAnchor(consoleMessage) { |
287 var anchorElement = null; | 287 var anchorElement = null; |
288 if (consoleMessage.source !== SDK.ConsoleMessage.MessageSource.Network || co
nsoleMessage.request) { | 288 if (consoleMessage.source !== ConsoleModel.ConsoleMessage.MessageSource.Netw
ork || consoleMessage.request) { |
289 if (consoleMessage.scriptId) { | 289 if (consoleMessage.scriptId) { |
290 anchorElement = this._linkifyScriptId( | 290 anchorElement = this._linkifyScriptId( |
291 consoleMessage.scriptId, consoleMessage.url || '', consoleMessage.li
ne, consoleMessage.column); | 291 consoleMessage.scriptId, consoleMessage.url || '', consoleMessage.li
ne, consoleMessage.column); |
292 } else if (consoleMessage.stackTrace && consoleMessage.stackTrace.callFram
es.length) { | 292 } else if (consoleMessage.stackTrace && consoleMessage.stackTrace.callFram
es.length) { |
293 anchorElement = this._linkifyStackTraceTopFrame(consoleMessage.stackTrac
e); | 293 anchorElement = this._linkifyStackTraceTopFrame(consoleMessage.stackTrac
e); |
294 } else if (consoleMessage.url && consoleMessage.url !== 'undefined') { | 294 } else if (consoleMessage.url && consoleMessage.url !== 'undefined') { |
295 anchorElement = this._linkifyLocation(consoleMessage.url, consoleMessage
.line, consoleMessage.column); | 295 anchorElement = this._linkifyLocation(consoleMessage.url, consoleMessage
.line, consoleMessage.column); |
296 } | 296 } |
297 } else if (consoleMessage.url) { | 297 } else if (consoleMessage.url) { |
298 anchorElement = Components.Linkifier.linkifyURL(consoleMessage.url, undefi
ned); | 298 anchorElement = Components.Linkifier.linkifyURL(consoleMessage.url, undefi
ned); |
299 } | 299 } |
300 | 300 |
301 // Append a space to prevent the anchor text from being glued to the console
message when the user selects and copies the console messages. | 301 // Append a space to prevent the anchor text from being glued to the console
message when the user selects and copies the console messages. |
302 if (anchorElement) { | 302 if (anchorElement) { |
303 var anchorWrapperElement = createElementWithClass('span', 'console-message
-anchor'); | 303 var anchorWrapperElement = createElementWithClass('span', 'console-message
-anchor'); |
304 anchorWrapperElement.appendChild(anchorElement); | 304 anchorWrapperElement.appendChild(anchorElement); |
305 anchorWrapperElement.createTextChild(' '); | 305 anchorWrapperElement.createTextChild(' '); |
306 return anchorWrapperElement; | 306 return anchorWrapperElement; |
307 } | 307 } |
308 return null; | 308 return null; |
309 } | 309 } |
310 | 310 |
311 /** | 311 /** |
312 * @param {!SDK.ConsoleMessage} consoleMessage | 312 * @param {!ConsoleModel.ConsoleMessage} consoleMessage |
313 * @param {!SDK.Target} target | 313 * @param {!SDK.Target} target |
314 * @param {!Components.Linkifier} linkifier | 314 * @param {!Components.Linkifier} linkifier |
315 * @return {!Element} | 315 * @return {!Element} |
316 */ | 316 */ |
317 _buildMessageWithStackTrace(consoleMessage, target, linkifier) { | 317 _buildMessageWithStackTrace(consoleMessage, target, linkifier) { |
318 var toggleElement = createElementWithClass('div', 'console-message-stack-tra
ce-toggle'); | 318 var toggleElement = createElementWithClass('div', 'console-message-stack-tra
ce-toggle'); |
319 var contentElement = toggleElement.createChild('div', 'console-message-stack
-trace-wrapper'); | 319 var contentElement = toggleElement.createChild('div', 'console-message-stack
-trace-wrapper'); |
320 | 320 |
321 var messageElement = this._buildMessage(consoleMessage); | 321 var messageElement = this._buildMessage(consoleMessage); |
322 var icon = UI.Icon.create('smallicon-triangle-right', 'console-message-expan
d-icon'); | 322 var icon = UI.Icon.create('smallicon-triangle-right', 'console-message-expan
d-icon'); |
(...skipping 19 matching lines...) Expand all Loading... |
342 * @param {?Event} event | 342 * @param {?Event} event |
343 */ | 343 */ |
344 function toggleStackTrace(event) { | 344 function toggleStackTrace(event) { |
345 if (event.target.hasSelection()) | 345 if (event.target.hasSelection()) |
346 return; | 346 return; |
347 expandStackTrace(stackTraceElement.classList.contains('hidden')); | 347 expandStackTrace(stackTraceElement.classList.contains('hidden')); |
348 event.consume(); | 348 event.consume(); |
349 } | 349 } |
350 | 350 |
351 clickableElement.addEventListener('click', toggleStackTrace, false); | 351 clickableElement.addEventListener('click', toggleStackTrace, false); |
352 if (consoleMessage.type === SDK.ConsoleMessage.MessageType.Trace) | 352 if (consoleMessage.type === ConsoleModel.ConsoleMessage.MessageType.Trace) |
353 expandStackTrace(true); | 353 expandStackTrace(true); |
354 | 354 |
355 toggleElement._expandStackTraceForTest = expandStackTrace.bind(null, true); | 355 toggleElement._expandStackTraceForTest = expandStackTrace.bind(null, true); |
356 return toggleElement; | 356 return toggleElement; |
357 } | 357 } |
358 | 358 |
359 /** | 359 /** |
360 * @param {string} url | 360 * @param {string} url |
361 * @param {number} lineNumber | 361 * @param {number} lineNumber |
362 * @param {number} columnNumber | 362 * @param {number} columnNumber |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 | 421 |
422 // Formatting code below assumes that parameters are all wrappers whereas fr
ontend console | 422 // Formatting code below assumes that parameters are all wrappers whereas fr
ontend console |
423 // API allows passing arbitrary values as messages (strings, numbers, etc.).
Wrap them here. | 423 // API allows passing arbitrary values as messages (strings, numbers, etc.).
Wrap them here. |
424 // FIXME: Only pass runtime wrappers here. | 424 // FIXME: Only pass runtime wrappers here. |
425 for (var i = 0; i < parameters.length; ++i) | 425 for (var i = 0; i < parameters.length; ++i) |
426 parameters[i] = this._parameterToRemoteObject(parameters[i], this._target(
)); | 426 parameters[i] = this._parameterToRemoteObject(parameters[i], this._target(
)); |
427 | 427 |
428 // There can be string log and string eval result. We distinguish between th
em based on message type. | 428 // There can be string log and string eval result. We distinguish between th
em based on message type. |
429 var shouldFormatMessage = | 429 var shouldFormatMessage = |
430 SDK.RemoteObject.type((/** @type {!Array.<!SDK.RemoteObject>} **/ (param
eters))[0]) === 'string' && | 430 SDK.RemoteObject.type((/** @type {!Array.<!SDK.RemoteObject>} **/ (param
eters))[0]) === 'string' && |
431 (this._message.type !== SDK.ConsoleMessage.MessageType.Result || | 431 (this._message.type !== ConsoleModel.ConsoleMessage.MessageType.Result |
| |
432 this._message.level === SDK.ConsoleMessage.MessageLevel.Error); | 432 this._message.level === ConsoleModel.ConsoleMessage.MessageLevel.Error)
; |
433 | 433 |
434 // Multiple parameters with the first being a format string. Save unused sub
stitutions. | 434 // Multiple parameters with the first being a format string. Save unused sub
stitutions. |
435 if (shouldFormatMessage) { | 435 if (shouldFormatMessage) { |
436 var result = this._formatWithSubstitutionString( | 436 var result = this._formatWithSubstitutionString( |
437 /** @type {string} **/ (parameters[0].description), parameters.slice(1
), formattedResult); | 437 /** @type {string} **/ (parameters[0].description), parameters.slice(1
), formattedResult); |
438 parameters = result.unusedSubstitutions; | 438 parameters = result.unusedSubstitutions; |
439 if (parameters.length) | 439 if (parameters.length) |
440 formattedResult.createTextChild(' '); | 440 formattedResult.createTextChild(' '); |
441 } | 441 } |
442 | 442 |
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
902 * @return {!Element} | 902 * @return {!Element} |
903 */ | 903 */ |
904 contentElement() { | 904 contentElement() { |
905 if (this._contentElement) | 905 if (this._contentElement) |
906 return this._contentElement; | 906 return this._contentElement; |
907 | 907 |
908 var contentElement = createElementWithClass('div', 'console-message'); | 908 var contentElement = createElementWithClass('div', 'console-message'); |
909 if (this._messageLevelIcon) | 909 if (this._messageLevelIcon) |
910 contentElement.appendChild(this._messageLevelIcon); | 910 contentElement.appendChild(this._messageLevelIcon); |
911 this._contentElement = contentElement; | 911 this._contentElement = contentElement; |
912 if (this._message.type === SDK.ConsoleMessage.MessageType.StartGroup || | 912 if (this._message.type === ConsoleModel.ConsoleMessage.MessageType.StartGrou
p || |
913 this._message.type === SDK.ConsoleMessage.MessageType.StartGroupCollapse
d) | 913 this._message.type === ConsoleModel.ConsoleMessage.MessageType.StartGrou
pCollapsed) |
914 contentElement.classList.add('console-group-title'); | 914 contentElement.classList.add('console-group-title'); |
915 | 915 |
916 var formattedMessage; | 916 var formattedMessage; |
917 var consoleMessage = this._message; | 917 var consoleMessage = this._message; |
918 var target = consoleMessage.target(); | 918 var target = consoleMessage.target(); |
919 var shouldIncludeTrace = | 919 var shouldIncludeTrace = !!consoleMessage.stackTrace && |
920 !!consoleMessage.stackTrace && (consoleMessage.source === SDK.ConsoleMes
sage.MessageSource.Network || | 920 (consoleMessage.source === ConsoleModel.ConsoleMessage.MessageSource.Net
work || |
921 consoleMessage.level === SDK.ConsoleMess
age.MessageLevel.Error || | 921 consoleMessage.level === ConsoleModel.ConsoleMessage.MessageLevel.Error
|| |
922 consoleMessage.type === SDK.ConsoleMessa
ge.MessageType.Trace || | 922 consoleMessage.type === ConsoleModel.ConsoleMessage.MessageType.Trace |
| |
923 consoleMessage.level === SDK.ConsoleMess
age.MessageLevel.Warning); | 923 consoleMessage.level === ConsoleModel.ConsoleMessage.MessageLevel.Warni
ng); |
924 if (target && shouldIncludeTrace) | 924 if (target && shouldIncludeTrace) |
925 formattedMessage = this._buildMessageWithStackTrace(consoleMessage, target
, this._linkifier); | 925 formattedMessage = this._buildMessageWithStackTrace(consoleMessage, target
, this._linkifier); |
926 else if (this._message.type === SDK.ConsoleMessage.MessageType.Table) | 926 else if (this._message.type === ConsoleModel.ConsoleMessage.MessageType.Tabl
e) |
927 formattedMessage = this._buildTableMessage(this._message); | 927 formattedMessage = this._buildTableMessage(this._message); |
928 else | 928 else |
929 formattedMessage = this._buildMessage(consoleMessage); | 929 formattedMessage = this._buildMessage(consoleMessage); |
930 contentElement.appendChild(formattedMessage); | 930 contentElement.appendChild(formattedMessage); |
931 | 931 |
932 this.updateTimestamp(); | 932 this.updateTimestamp(); |
933 return this._contentElement; | 933 return this._contentElement; |
934 } | 934 } |
935 | 935 |
936 /** | 936 /** |
(...skipping 15 matching lines...) Expand all Loading... |
952 this._element.className = 'console-message-wrapper'; | 952 this._element.className = 'console-message-wrapper'; |
953 this._element.removeChildren(); | 953 this._element.removeChildren(); |
954 | 954 |
955 this._nestingLevelMarkers = []; | 955 this._nestingLevelMarkers = []; |
956 for (var i = 0; i < this._nestingLevel; ++i) | 956 for (var i = 0; i < this._nestingLevel; ++i) |
957 this._nestingLevelMarkers.push(this._element.createChild('div', 'nesting-l
evel-marker')); | 957 this._nestingLevelMarkers.push(this._element.createChild('div', 'nesting-l
evel-marker')); |
958 this._updateCloseGroupDecorations(); | 958 this._updateCloseGroupDecorations(); |
959 this._element.message = this; | 959 this._element.message = this; |
960 | 960 |
961 switch (this._message.level) { | 961 switch (this._message.level) { |
962 case SDK.ConsoleMessage.MessageLevel.Verbose: | 962 case ConsoleModel.ConsoleMessage.MessageLevel.Verbose: |
963 this._element.classList.add('console-verbose-level'); | 963 this._element.classList.add('console-verbose-level'); |
964 this._updateMessageLevelIcon(''); | 964 this._updateMessageLevelIcon(''); |
965 break; | 965 break; |
966 case SDK.ConsoleMessage.MessageLevel.Info: | 966 case ConsoleModel.ConsoleMessage.MessageLevel.Info: |
967 this._element.classList.add('console-info-level'); | 967 this._element.classList.add('console-info-level'); |
968 break; | 968 break; |
969 case SDK.ConsoleMessage.MessageLevel.Warning: | 969 case ConsoleModel.ConsoleMessage.MessageLevel.Warning: |
970 this._element.classList.add('console-warning-level'); | 970 this._element.classList.add('console-warning-level'); |
971 this._updateMessageLevelIcon('smallicon-warning'); | 971 this._updateMessageLevelIcon('smallicon-warning'); |
972 break; | 972 break; |
973 case SDK.ConsoleMessage.MessageLevel.Error: | 973 case ConsoleModel.ConsoleMessage.MessageLevel.Error: |
974 this._element.classList.add('console-error-level'); | 974 this._element.classList.add('console-error-level'); |
975 this._updateMessageLevelIcon('smallicon-error'); | 975 this._updateMessageLevelIcon('smallicon-error'); |
976 break; | 976 break; |
977 } | 977 } |
978 | 978 |
979 // Render verbose and info deprecations, interventions and violations with w
arning background. | 979 // Render verbose and info deprecations, interventions and violations with w
arning background. |
980 if (this._message.level === SDK.ConsoleMessage.MessageLevel.Verbose || | 980 if (this._message.level === ConsoleModel.ConsoleMessage.MessageLevel.Verbose
|| |
981 this._message.level === SDK.ConsoleMessage.MessageLevel.Info) { | 981 this._message.level === ConsoleModel.ConsoleMessage.MessageLevel.Info) { |
982 switch (this._message.source) { | 982 switch (this._message.source) { |
983 case SDK.ConsoleMessage.MessageSource.Violation: | 983 case ConsoleModel.ConsoleMessage.MessageSource.Violation: |
984 case SDK.ConsoleMessage.MessageSource.Deprecation: | 984 case ConsoleModel.ConsoleMessage.MessageSource.Deprecation: |
985 case SDK.ConsoleMessage.MessageSource.Intervention: | 985 case ConsoleModel.ConsoleMessage.MessageSource.Intervention: |
986 this._element.classList.add('console-warning-level'); | 986 this._element.classList.add('console-warning-level'); |
987 break; | 987 break; |
988 } | 988 } |
989 } | 989 } |
990 | 990 |
991 this._element.appendChild(this.contentElement()); | 991 this._element.appendChild(this.contentElement()); |
992 if (this._repeatCount > 1) | 992 if (this._repeatCount > 1) |
993 this._showRepeatCountElement(); | 993 this._showRepeatCountElement(); |
994 } | 994 } |
995 | 995 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1030 this._showRepeatCountElement(); | 1030 this._showRepeatCountElement(); |
1031 } | 1031 } |
1032 | 1032 |
1033 _showRepeatCountElement() { | 1033 _showRepeatCountElement() { |
1034 if (!this._element) | 1034 if (!this._element) |
1035 return; | 1035 return; |
1036 | 1036 |
1037 if (!this._repeatCountElement) { | 1037 if (!this._repeatCountElement) { |
1038 this._repeatCountElement = createElementWithClass('label', 'console-messag
e-repeat-count', 'dt-small-bubble'); | 1038 this._repeatCountElement = createElementWithClass('label', 'console-messag
e-repeat-count', 'dt-small-bubble'); |
1039 switch (this._message.level) { | 1039 switch (this._message.level) { |
1040 case SDK.ConsoleMessage.MessageLevel.Warning: | 1040 case ConsoleModel.ConsoleMessage.MessageLevel.Warning: |
1041 this._repeatCountElement.type = 'warning'; | 1041 this._repeatCountElement.type = 'warning'; |
1042 break; | 1042 break; |
1043 case SDK.ConsoleMessage.MessageLevel.Error: | 1043 case ConsoleModel.ConsoleMessage.MessageLevel.Error: |
1044 this._repeatCountElement.type = 'error'; | 1044 this._repeatCountElement.type = 'error'; |
1045 break; | 1045 break; |
1046 case SDK.ConsoleMessage.MessageLevel.Verbose: | 1046 case ConsoleModel.ConsoleMessage.MessageLevel.Verbose: |
1047 this._repeatCountElement.type = 'verbose'; | 1047 this._repeatCountElement.type = 'verbose'; |
1048 break; | 1048 break; |
1049 default: | 1049 default: |
1050 this._repeatCountElement.type = 'info'; | 1050 this._repeatCountElement.type = 'info'; |
1051 } | 1051 } |
1052 this._element.insertBefore(this._repeatCountElement, this._contentElement)
; | 1052 this._element.insertBefore(this._repeatCountElement, this._contentElement)
; |
1053 this._contentElement.classList.add('repeated-message'); | 1053 this._contentElement.classList.add('repeated-message'); |
1054 } | 1054 } |
1055 this._repeatCountElement.textContent = this._repeatCount; | 1055 this._repeatCountElement.textContent = this._repeatCount; |
1056 } | 1056 } |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1205 | 1205 |
1206 return formattedResult; | 1206 return formattedResult; |
1207 } | 1207 } |
1208 }; | 1208 }; |
1209 | 1209 |
1210 /** | 1210 /** |
1211 * @unrestricted | 1211 * @unrestricted |
1212 */ | 1212 */ |
1213 Console.ConsoleGroupViewMessage = class extends Console.ConsoleViewMessage { | 1213 Console.ConsoleGroupViewMessage = class extends Console.ConsoleViewMessage { |
1214 /** | 1214 /** |
1215 * @param {!SDK.ConsoleMessage} consoleMessage | 1215 * @param {!ConsoleModel.ConsoleMessage} consoleMessage |
1216 * @param {!Components.Linkifier} linkifier | 1216 * @param {!Components.Linkifier} linkifier |
1217 * @param {number} nestingLevel | 1217 * @param {number} nestingLevel |
1218 */ | 1218 */ |
1219 constructor(consoleMessage, linkifier, nestingLevel) { | 1219 constructor(consoleMessage, linkifier, nestingLevel) { |
1220 console.assert(consoleMessage.isGroupStartMessage()); | 1220 console.assert(consoleMessage.isGroupStartMessage()); |
1221 super(consoleMessage, linkifier, nestingLevel); | 1221 super(consoleMessage, linkifier, nestingLevel); |
1222 this._collapsed = consoleMessage.type === SDK.ConsoleMessage.MessageType.Sta
rtGroupCollapsed; | 1222 this._collapsed = consoleMessage.type === ConsoleModel.ConsoleMessage.Messag
eType.StartGroupCollapsed; |
1223 /** @type {?UI.Icon} */ | 1223 /** @type {?UI.Icon} */ |
1224 this._expandGroupIcon = null; | 1224 this._expandGroupIcon = null; |
1225 } | 1225 } |
1226 | 1226 |
1227 /** | 1227 /** |
1228 * @param {boolean} collapsed | 1228 * @param {boolean} collapsed |
1229 */ | 1229 */ |
1230 setCollapsed(collapsed) { | 1230 setCollapsed(collapsed) { |
1231 this._collapsed = collapsed; | 1231 this._collapsed = collapsed; |
1232 if (this._expandGroupIcon) | 1232 if (this._expandGroupIcon) |
(...skipping 14 matching lines...) Expand all Loading... |
1247 toMessageElement() { | 1247 toMessageElement() { |
1248 if (!this._element) { | 1248 if (!this._element) { |
1249 super.toMessageElement(); | 1249 super.toMessageElement(); |
1250 this._expandGroupIcon = UI.Icon.create('', 'expand-group-icon'); | 1250 this._expandGroupIcon = UI.Icon.create('', 'expand-group-icon'); |
1251 this._contentElement.insertBefore(this._expandGroupIcon, this._contentElem
ent.firstChild); | 1251 this._contentElement.insertBefore(this._expandGroupIcon, this._contentElem
ent.firstChild); |
1252 this.setCollapsed(this._collapsed); | 1252 this.setCollapsed(this._collapsed); |
1253 } | 1253 } |
1254 return this._element; | 1254 return this._element; |
1255 } | 1255 } |
1256 }; | 1256 }; |
OLD | NEW |