| 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 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 | 114 |
| 115 /** | 115 /** |
| 116 * @return {!WebInspector.ConsoleMessage} | 116 * @return {!WebInspector.ConsoleMessage} |
| 117 */ | 117 */ |
| 118 consoleMessage: function() | 118 consoleMessage: function() |
| 119 { | 119 { |
| 120 return this._message; | 120 return this._message; |
| 121 }, | 121 }, |
| 122 | 122 |
| 123 /** | 123 /** |
| 124 * @param {!WebInspector.ConsoleMessage} consoleMessage | |
| 125 * @return {!Element} | 124 * @return {!Element} |
| 126 */ | 125 */ |
| 127 _buildTableMessage: function(consoleMessage) | 126 _buildTableMessage: function() |
| 128 { | 127 { |
| 129 var formattedMessage = createElement("span"); | 128 var formattedMessage = createElement("span"); |
| 130 WebInspector.appendStyle(formattedMessage, "components/objectValue.css")
; | 129 WebInspector.appendStyle(formattedMessage, "components/objectValue.css")
; |
| 131 formattedMessage.className = "console-message-text source-code"; | 130 formattedMessage.className = "console-message-text source-code"; |
| 132 var anchorElement = this._buildMessageAnchor(consoleMessage); | 131 var anchorElement = this._buildMessageAnchor(); |
| 133 if (anchorElement) | 132 if (anchorElement) |
| 134 formattedMessage.appendChild(anchorElement); | 133 formattedMessage.appendChild(anchorElement); |
| 135 | 134 |
| 136 var table = consoleMessage.parameters && consoleMessage.parameters.lengt
h ? consoleMessage.parameters[0] : null; | 135 var table = this._message.parameters && this._message.parameters.length
? this._message.parameters[0] : null; |
| 137 if (table) | 136 if (table) |
| 138 table = this._parameterToRemoteObject(table, this._target()); | 137 table = this._parameterToRemoteObject(table, this._target()); |
| 139 if (!table || !table.preview) | 138 if (!table || !table.preview) |
| 140 return formattedMessage; | 139 return formattedMessage; |
| 141 | 140 |
| 142 var columnNames = []; | 141 var columnNames = []; |
| 143 var preview = table.preview; | 142 var preview = table.preview; |
| 144 var rows = []; | 143 var rows = []; |
| 145 for (var i = 0; i < preview.properties.length; ++i) { | 144 for (var i = 0; i < preview.properties.length; ++i) { |
| 146 var rowProperty = preview.properties[i]; | 145 var rowProperty = preview.properties[i]; |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 flatValues.push(rowValue[columnNames[j]]); | 177 flatValues.push(rowValue[columnNames[j]]); |
| 179 } | 178 } |
| 180 columnNames.unshift(WebInspector.UIString("(index)")); | 179 columnNames.unshift(WebInspector.UIString("(index)")); |
| 181 | 180 |
| 182 if (flatValues.length) { | 181 if (flatValues.length) { |
| 183 this._dataGrid = WebInspector.SortableDataGrid.create(columnNames, f
latValues); | 182 this._dataGrid = WebInspector.SortableDataGrid.create(columnNames, f
latValues); |
| 184 | 183 |
| 185 var formattedResult = createElement("span"); | 184 var formattedResult = createElement("span"); |
| 186 var tableElement = formattedResult.createChild("div", "console-messa
ge-formatted-table"); | 185 var tableElement = formattedResult.createChild("div", "console-messa
ge-formatted-table"); |
| 187 var dataGridContainer = tableElement.createChild("span"); | 186 var dataGridContainer = tableElement.createChild("span"); |
| 188 tableElement.appendChild(this._formatParameter(table, true, false)); | 187 tableElement.appendChild(this._formatParameter(table, true)); |
| 189 dataGridContainer.appendChild(this._dataGrid.element); | 188 dataGridContainer.appendChild(this._dataGrid.element); |
| 190 formattedMessage.appendChild(formattedResult); | 189 formattedMessage.appendChild(formattedResult); |
| 191 this._dataGrid.renderInline(); | 190 this._dataGrid.renderInline(); |
| 192 } | 191 } |
| 193 return formattedMessage; | 192 return formattedMessage; |
| 194 }, | 193 }, |
| 195 | 194 |
| 196 /** | 195 /** |
| 197 * @param {!WebInspector.ConsoleMessage} consoleMessage | |
| 198 * @return {!Element} | 196 * @return {!Element} |
| 199 */ | 197 */ |
| 200 _buildMessage: function(consoleMessage) | 198 _buildMessage: function() |
| 201 { | 199 { |
| 202 var messageElement; | 200 var messageElement; |
| 201 var consoleMessage = this._message; |
| 203 if (consoleMessage.source === WebInspector.ConsoleMessage.MessageSource.
ConsoleAPI) { | 202 if (consoleMessage.source === WebInspector.ConsoleMessage.MessageSource.
ConsoleAPI) { |
| 204 switch (consoleMessage.type) { | 203 switch (consoleMessage.type) { |
| 205 case WebInspector.ConsoleMessage.MessageType.Trace: | 204 case WebInspector.ConsoleMessage.MessageType.Trace: |
| 206 messageElement = this._format(consoleMessage.parameters || ["con
sole.trace"]); | 205 messageElement = this._format(consoleMessage.parameters || ["con
sole.trace"]); |
| 207 break; | 206 break; |
| 208 case WebInspector.ConsoleMessage.MessageType.Clear: | 207 case WebInspector.ConsoleMessage.MessageType.Clear: |
| 209 messageElement = createElementWithClass("span", "console-info"); | 208 messageElement = createElementWithClass("span", "console-info"); |
| 210 messageElement.textContent = WebInspector.UIString("Console was
cleared"); | 209 messageElement.textContent = WebInspector.UIString("Console was
cleared"); |
| 211 break; | 210 break; |
| 212 case WebInspector.ConsoleMessage.MessageType.Assert: | 211 case WebInspector.ConsoleMessage.MessageType.Assert: |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 } | 248 } |
| 250 } else { | 249 } else { |
| 251 var args = consoleMessage.parameters || [consoleMessage.messageText]
; | 250 var args = consoleMessage.parameters || [consoleMessage.messageText]
; |
| 252 messageElement = this._format(args); | 251 messageElement = this._format(args); |
| 253 } | 252 } |
| 254 | 253 |
| 255 var formattedMessage = createElement("span"); | 254 var formattedMessage = createElement("span"); |
| 256 WebInspector.appendStyle(formattedMessage, "components/objectValue.css")
; | 255 WebInspector.appendStyle(formattedMessage, "components/objectValue.css")
; |
| 257 formattedMessage.className = "console-message-text source-code"; | 256 formattedMessage.className = "console-message-text source-code"; |
| 258 | 257 |
| 259 var anchorElement = this._buildMessageAnchor(consoleMessage); | 258 var anchorElement = this._buildMessageAnchor(); |
| 260 if (anchorElement) | 259 if (anchorElement) |
| 261 formattedMessage.appendChild(anchorElement); | 260 formattedMessage.appendChild(anchorElement); |
| 262 formattedMessage.appendChild(messageElement); | 261 formattedMessage.appendChild(messageElement); |
| 263 return formattedMessage; | 262 return formattedMessage; |
| 264 | 263 |
| 265 /** | 264 /** |
| 266 * @param {string} title | 265 * @param {string} title |
| 267 * @return {!Element} | 266 * @return {!Element} |
| 268 * @this {WebInspector.ConsoleMessage} | 267 * @this {WebInspector.ConsoleMessage} |
| 269 */ | 268 */ |
| 270 function linkifyRequest(title) | 269 function linkifyRequest(title) |
| 271 { | 270 { |
| 272 return WebInspector.Linkifier.linkifyUsingRevealer(/** @type {!WebIn
spector.NetworkRequest} */ (this.request), title, this.request.url); | 271 return WebInspector.Linkifier.linkifyUsingRevealer(/** @type {!WebIn
spector.NetworkRequest} */ (this.request), title, this.request.url); |
| 273 } | 272 } |
| 274 }, | 273 }, |
| 275 | 274 |
| 276 /** | 275 /** |
| 277 * @param {!WebInspector.ConsoleMessage} consoleMessage | |
| 278 * @return {?Element} | 276 * @return {?Element} |
| 279 */ | 277 */ |
| 280 _buildMessageAnchor: function(consoleMessage) | 278 _buildMessageAnchor: function() |
| 281 { | 279 { |
| 282 var anchorElement = null; | 280 var anchorElement = null; |
| 281 var consoleMessage = this._message; |
| 283 if (consoleMessage.source !== WebInspector.ConsoleMessage.MessageSource.
Network || consoleMessage.request) { | 282 if (consoleMessage.source !== WebInspector.ConsoleMessage.MessageSource.
Network || consoleMessage.request) { |
| 284 if (consoleMessage.scriptId) | 283 var target = consoleMessage.target(); |
| 285 anchorElement = this._linkifyScriptId(consoleMessage.scriptId, c
onsoleMessage.url || "", consoleMessage.line, consoleMessage.column); | 284 if (target) { |
| 286 else if (consoleMessage.stackTrace && consoleMessage.stackTrace.call
Frames.length) | 285 if (consoleMessage.scriptId) |
| 287 anchorElement = this._linkifyStackTraceTopFrame(consoleMessage.s
tackTrace); | 286 anchorElement = this._linkifier.linkifyScriptLocation(target
, consoleMessage.scriptId, consoleMessage.url || "", consoleMessage.line, consol
eMessage.column, "console-message-url"); |
| 288 else if (consoleMessage.url && consoleMessage.url !== "undefined") | 287 else if (consoleMessage.stackTrace && consoleMessage.stackTrace.
callFrames.length) |
| 289 anchorElement = this._linkifyLocation(consoleMessage.url, consol
eMessage.line, consoleMessage.column); | 288 anchorElement = this._linkifier.linkifyStackTraceTopFrame(ta
rget, consoleMessage.stackTrace, "console-message-url"); |
| 289 else if (consoleMessage.url && consoleMessage.url !== "undefined
") |
| 290 anchorElement = this._linkifier.linkifyScriptLocation(target
, null, consoleMessage.url, consoleMessage.line, consoleMessage.column, "console
-message-url"); |
| 291 } |
| 290 } else if (consoleMessage.url) { | 292 } else if (consoleMessage.url) { |
| 291 var url = consoleMessage.url; | 293 var url = consoleMessage.url; |
| 292 var isExternal = !WebInspector.resourceForURL(url) && !WebInspector.
networkMapping.uiSourceCodeForURLForAnyTarget(url); | 294 var isExternal = !WebInspector.resourceForURL(url) && !WebInspector.
networkMapping.uiSourceCodeForURLForAnyTarget(url); |
| 293 anchorElement = WebInspector.linkifyURLAsNode(url, url, "console-mes
sage-url", isExternal); | 295 anchorElement = WebInspector.linkifyURLAsNode(url, url, "console-mes
sage-url", isExternal); |
| 294 } | 296 } |
| 295 | 297 |
| 296 // Append a space to prevent the anchor text from being glued to the con
sole message when the user selects and copies the console messages. | 298 // Append a space to prevent the anchor text from being glued to the con
sole message when the user selects and copies the console messages. |
| 297 if (anchorElement) | 299 if (anchorElement) |
| 298 anchorElement.appendChild(createTextNode(" ")); | 300 anchorElement.appendChild(createTextNode(" ")); |
| 299 return anchorElement; | 301 return anchorElement; |
| 300 }, | 302 }, |
| 301 | 303 |
| 302 /** | 304 /** |
| 303 * @param {!WebInspector.ConsoleMessage} consoleMessage | 305 * @param {!WebInspector.ConsoleMessage} consoleMessage |
| 304 * @param {!WebInspector.Target} target | 306 * @param {!WebInspector.Target} target |
| 305 * @param {!WebInspector.Linkifier} linkifier | 307 * @param {!WebInspector.Linkifier} linkifier |
| 306 * @return {!Element} | 308 * @return {!Element} |
| 307 */ | 309 */ |
| 308 _buildMessageWithStackTrace: function(consoleMessage, target, linkifier) | 310 _buildMessageWithStackTrace: function(consoleMessage, target, linkifier) |
| 309 { | 311 { |
| 310 var toggleElement = createElementWithClass("div", "console-message-stack
-trace-toggle"); | 312 var toggleElement = createElementWithClass("div", "console-message-stack
-trace-toggle"); |
| 311 var triangleElement = toggleElement.createChild("div", "console-message-
stack-trace-triangle"); | 313 var triangleElement = toggleElement.createChild("div", "console-message-
stack-trace-triangle"); |
| 312 var contentElement = toggleElement.createChild("div", "console-message-s
tack-trace-wrapper"); | 314 var contentElement = toggleElement.createChild("div", "console-message-s
tack-trace-wrapper"); |
| 313 | 315 |
| 314 var messageElement = this._buildMessage(consoleMessage); | 316 var messageElement = this._buildMessage(); |
| 315 var clickableElement = contentElement.createChild("div"); | 317 var clickableElement = contentElement.createChild("div"); |
| 316 clickableElement.appendChild(messageElement); | 318 clickableElement.appendChild(messageElement); |
| 317 var stackTraceElement = contentElement.createChild("div"); | 319 var stackTraceElement = contentElement.createChild("div"); |
| 318 var stackTracePreview = WebInspector.DOMPresentationUtils.buildStackTrac
ePreviewContents(target, linkifier, consoleMessage.stackTrace); | 320 var stackTracePreview = WebInspector.DOMPresentationUtils.buildStackTrac
ePreviewContents(target, linkifier, consoleMessage.stackTrace); |
| 319 stackTraceElement.appendChild(stackTracePreview); | 321 stackTraceElement.appendChild(stackTracePreview); |
| 320 stackTraceElement.classList.add("hidden"); | 322 stackTraceElement.classList.add("hidden"); |
| 321 | 323 |
| 322 /** | 324 /** |
| 323 * @param {boolean} expand | 325 * @param {boolean} expand |
| 324 */ | 326 */ |
| (...skipping 17 matching lines...) Expand all Loading... |
| 342 clickableElement.addEventListener("click", toggleStackTrace, false); | 344 clickableElement.addEventListener("click", toggleStackTrace, false); |
| 343 triangleElement.addEventListener("click", toggleStackTrace, false); | 345 triangleElement.addEventListener("click", toggleStackTrace, false); |
| 344 if (consoleMessage.type === WebInspector.ConsoleMessage.MessageType.Trac
e) | 346 if (consoleMessage.type === WebInspector.ConsoleMessage.MessageType.Trac
e) |
| 345 expandStackTrace(true); | 347 expandStackTrace(true); |
| 346 | 348 |
| 347 toggleElement._expandStackTraceForTest = expandStackTrace.bind(null, tru
e); | 349 toggleElement._expandStackTraceForTest = expandStackTrace.bind(null, tru
e); |
| 348 return toggleElement; | 350 return toggleElement; |
| 349 }, | 351 }, |
| 350 | 352 |
| 351 /** | 353 /** |
| 352 * @param {string} url | |
| 353 * @param {number} lineNumber | |
| 354 * @param {number} columnNumber | |
| 355 * @return {?Element} | |
| 356 */ | |
| 357 _linkifyLocation: function(url, lineNumber, columnNumber) | |
| 358 { | |
| 359 var target = this._target(); | |
| 360 if (!target) | |
| 361 return null; | |
| 362 return this._linkifier.linkifyScriptLocation(target, null, url, lineNumb
er, columnNumber, "console-message-url"); | |
| 363 }, | |
| 364 | |
| 365 /** | |
| 366 * @param {!RuntimeAgent.StackTrace} stackTrace | |
| 367 * @return {?Element} | |
| 368 */ | |
| 369 _linkifyStackTraceTopFrame: function(stackTrace) | |
| 370 { | |
| 371 var target = this._target(); | |
| 372 if (!target) | |
| 373 return null; | |
| 374 return this._linkifier.linkifyStackTraceTopFrame(target, stackTrace, "co
nsole-message-url"); | |
| 375 }, | |
| 376 | |
| 377 /** | |
| 378 * @param {string} scriptId | |
| 379 * @param {string} url | |
| 380 * @param {number} lineNumber | |
| 381 * @param {number} columnNumber | |
| 382 * @return {?Element} | |
| 383 */ | |
| 384 _linkifyScriptId: function(scriptId, url, lineNumber, columnNumber) | |
| 385 { | |
| 386 var target = this._target(); | |
| 387 if (!target) | |
| 388 return null; | |
| 389 return this._linkifier.linkifyScriptLocation(target, scriptId, url, line
Number, columnNumber, "console-message-url"); | |
| 390 }, | |
| 391 | |
| 392 /** | |
| 393 * @param {!WebInspector.RemoteObject|!Object|string} parameter | 354 * @param {!WebInspector.RemoteObject|!Object|string} parameter |
| 394 * @param {?WebInspector.Target} target | 355 * @param {?WebInspector.Target} target |
| 395 * @return {!WebInspector.RemoteObject} | 356 * @return {!WebInspector.RemoteObject} |
| 396 */ | 357 */ |
| 397 _parameterToRemoteObject: function(parameter, target) | 358 _parameterToRemoteObject: function(parameter, target) |
| 398 { | 359 { |
| 399 if (parameter instanceof WebInspector.RemoteObject) | 360 if (parameter instanceof WebInspector.RemoteObject) |
| 400 return parameter; | 361 return parameter; |
| 401 if (!target) | 362 if (!target) |
| 402 return WebInspector.RemoteObject.fromLocalObject(parameter); | 363 return WebInspector.RemoteObject.fromLocalObject(parameter); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 417 return formattedResult; | 378 return formattedResult; |
| 418 | 379 |
| 419 // Formatting code below assumes that parameters are all wrappers wherea
s frontend console | 380 // Formatting code below assumes that parameters are all wrappers wherea
s frontend console |
| 420 // API allows passing arbitrary values as messages (strings, numbers, et
c.). Wrap them here. | 381 // API allows passing arbitrary values as messages (strings, numbers, et
c.). Wrap them here. |
| 421 // FIXME: Only pass runtime wrappers here. | 382 // FIXME: Only pass runtime wrappers here. |
| 422 for (var i = 0; i < parameters.length; ++i) | 383 for (var i = 0; i < parameters.length; ++i) |
| 423 parameters[i] = this._parameterToRemoteObject(parameters[i], this._t
arget()); | 384 parameters[i] = this._parameterToRemoteObject(parameters[i], this._t
arget()); |
| 424 | 385 |
| 425 // There can be string log and string eval result. We distinguish betwee
n them based on message type. | 386 // There can be string log and string eval result. We distinguish betwee
n them based on message type. |
| 426 var shouldFormatMessage = WebInspector.RemoteObject.type((/** @type {!Ar
ray.<!WebInspector.RemoteObject>} **/ (parameters))[0]) === "string" && (this._m
essage.type !== WebInspector.ConsoleMessage.MessageType.Result || this._message.
level === WebInspector.ConsoleMessage.MessageLevel.Error || this._message.level
=== WebInspector.ConsoleMessage.MessageLevel.RevokedError); | 387 var shouldFormatMessage = WebInspector.RemoteObject.type((/** @type {!Ar
ray.<!WebInspector.RemoteObject>} **/ (parameters))[0]) === "string" && (this._m
essage.type !== WebInspector.ConsoleMessage.MessageType.Result || this._message.
level === WebInspector.ConsoleMessage.MessageLevel.Error || this._message.level
=== WebInspector.ConsoleMessage.MessageLevel.RevokedError); |
| 388 var showUndefinedsInArrays = this._message.type === WebInspector.Console
Message.MessageType.DirXML || this._message.type === WebInspector.ConsoleMessage
.MessageType.Result; |
| 427 | 389 |
| 428 // Multiple parameters with the first being a format string. Save unused
substitutions. | 390 // Multiple parameters with the first being a format string. Save unused
substitutions. |
| 429 if (shouldFormatMessage) { | 391 if (shouldFormatMessage) { |
| 430 var result = this._formatWithSubstitutionString(/** @type {string} *
*/ (parameters[0].description), parameters.slice(1), formattedResult); | 392 var result = this._formatWithSubstitutionString(/** @type {string} *
*/ (parameters[0].description), parameters.slice(1), formattedResult, showUndefi
nedsInArrays); |
| 431 parameters = result.unusedSubstitutions; | 393 parameters = result.unusedSubstitutions; |
| 432 if (parameters.length) | 394 if (parameters.length) |
| 433 formattedResult.createTextChild(" "); | 395 formattedResult.createTextChild(" "); |
| 434 } | 396 } |
| 435 | 397 |
| 436 // Single parameter, or unused substitutions from above. | 398 // Single parameter, or unused substitutions from above. |
| 437 for (var i = 0; i < parameters.length; ++i) { | 399 for (var i = 0; i < parameters.length; ++i) { |
| 438 // Inline strings when formatting. | 400 // Inline strings when formatting. |
| 439 if (shouldFormatMessage && parameters[i].type === "string") | 401 if (shouldFormatMessage && parameters[i].type === "string") |
| 440 formattedResult.appendChild(WebInspector.linkifyStringAsFragment
(parameters[i].description)); | 402 formattedResult.appendChild(WebInspector.linkifyStringAsFragment
(parameters[i].description)); |
| 441 else | 403 else |
| 442 formattedResult.appendChild(this._formatParameter(parameters[i],
false, true)); | 404 formattedResult.appendChild(this._formatParameter(parameters[i],
false, true, showUndefinedsInArrays)); |
| 443 if (i < parameters.length - 1) | 405 if (i < parameters.length - 1) |
| 444 formattedResult.createTextChild(" "); | 406 formattedResult.createTextChild(" "); |
| 445 } | 407 } |
| 446 return formattedResult; | 408 return formattedResult; |
| 447 }, | 409 }, |
| 448 | 410 |
| 449 /** | 411 /** |
| 450 * @param {!WebInspector.RemoteObject} output | 412 * @param {!WebInspector.RemoteObject} output |
| 451 * @param {boolean=} forceObjectFormat | 413 * @param {boolean=} forceObjectFormat |
| 452 * @param {boolean=} includePreview | 414 * @param {boolean=} includePreview |
| 415 * @param {boolean=} showUndefinedsInArrays |
| 453 * @return {!Element} | 416 * @return {!Element} |
| 454 */ | 417 */ |
| 455 _formatParameter: function(output, forceObjectFormat, includePreview) | 418 _formatParameter: function(output, forceObjectFormat, includePreview, showUn
definedsInArrays) |
| 456 { | 419 { |
| 457 if (output.customPreview()) | 420 if (output.customPreview()) |
| 458 return (new WebInspector.CustomPreviewComponent(output)).element; | 421 return (new WebInspector.CustomPreviewComponent(output)).element; |
| 459 | 422 |
| 460 var type = forceObjectFormat ? "object" : (output.subtype || output.type
); | 423 var type = forceObjectFormat ? "object" : (output.subtype || output.type
); |
| 461 var element; | 424 var element; |
| 462 switch (type) { | 425 switch (type) { |
| 463 case "array": | 426 case "array": |
| 464 case "typedarray": | 427 case "typedarray": |
| 465 element = this._formatParameterAsArray(output); | 428 element = this._formatParameterAsArray(output, showUndefinedsInArray
s); |
| 466 break; | 429 break; |
| 467 case "error": | 430 case "error": |
| 468 element = this._formatParameterAsError(output); | 431 element = this._formatParameterAsError(output); |
| 469 break; | 432 break; |
| 470 case "function": | 433 case "function": |
| 471 case "generator": | 434 case "generator": |
| 472 element = this._formatParameterAsFunction(output, includePreview); | 435 element = this._formatParameterAsFunction(output, includePreview); |
| 473 break; | 436 break; |
| 474 case "iterator": | 437 case "iterator": |
| 475 case "map": | 438 case "map": |
| (...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 620 result.appendChild(this._formatParameterAsObject(object, false)); | 583 result.appendChild(this._formatParameterAsObject(object, false)); |
| 621 } | 584 } |
| 622 }, | 585 }, |
| 623 | 586 |
| 624 _formattedParameterAsNodeForTest: function() | 587 _formattedParameterAsNodeForTest: function() |
| 625 { | 588 { |
| 626 }, | 589 }, |
| 627 | 590 |
| 628 /** | 591 /** |
| 629 * @param {!WebInspector.RemoteObject} array | 592 * @param {!WebInspector.RemoteObject} array |
| 593 * @param {boolean=} showUndefinedsInArrays |
| 630 * @return {!Element} | 594 * @return {!Element} |
| 631 */ | 595 */ |
| 632 _formatParameterAsArray: function(array) | 596 _formatParameterAsArray: function(array, showUndefinedsInArrays) |
| 633 { | 597 { |
| 634 var usePrintedArrayFormat = this._message.type !== WebInspector.ConsoleM
essage.MessageType.DirXML && this._message.type !== WebInspector.ConsoleMessage.
MessageType.Result; | |
| 635 var isLongArray = array.arrayLength() > 100; | 598 var isLongArray = array.arrayLength() > 100; |
| 636 if (usePrintedArrayFormat || isLongArray) | 599 if (!showUndefinedsInArrays || isLongArray) |
| 637 return this._formatParameterAsObject(array, usePrintedArrayFormat ||
!isLongArray); | 600 return this._formatParameterAsObject(array, !showUndefinedsInArrays
|| !isLongArray); |
| 638 var result = createElement("span"); | 601 var result = createElement("span"); |
| 639 array.getAllProperties(false, printArrayResult.bind(this)); | 602 array.getAllProperties(false, printArrayResult.bind(this)); |
| 640 return result; | 603 return result; |
| 641 | 604 |
| 642 /** | 605 /** |
| 643 * @param {?Array.<!WebInspector.RemoteObjectProperty>} properties | 606 * @param {?Array.<!WebInspector.RemoteObjectProperty>} properties |
| 644 * @this {!WebInspector.ConsoleViewMessage} | 607 * @this {!WebInspector.ConsoleViewMessage} |
| 645 */ | 608 */ |
| 646 function printArrayResult(properties) | 609 function printArrayResult(properties) |
| 647 { | 610 { |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 780 } | 743 } |
| 781 } | 744 } |
| 782 | 745 |
| 783 return rootElement; | 746 return rootElement; |
| 784 }, | 747 }, |
| 785 | 748 |
| 786 /** | 749 /** |
| 787 * @param {string} format | 750 * @param {string} format |
| 788 * @param {!Array.<!WebInspector.RemoteObject>} parameters | 751 * @param {!Array.<!WebInspector.RemoteObject>} parameters |
| 789 * @param {!Element} formattedResult | 752 * @param {!Element} formattedResult |
| 753 * @param {boolean} showUndefinedsInArrays |
| 790 */ | 754 */ |
| 791 _formatWithSubstitutionString: function(format, parameters, formattedResult) | 755 _formatWithSubstitutionString: function(format, parameters, formattedResult,
showUndefinedsInArrays) |
| 792 { | 756 { |
| 793 var formatters = {}; | 757 var formatters = {}; |
| 794 | 758 |
| 795 /** | 759 /** |
| 796 * @param {boolean} force | 760 * @param {boolean} force |
| 797 * @param {!WebInspector.RemoteObject} obj | 761 * @param {!WebInspector.RemoteObject} obj |
| 798 * @return {!Element} | 762 * @return {!Element} |
| 799 * @this {WebInspector.ConsoleViewMessage} | 763 * @this {WebInspector.ConsoleViewMessage} |
| 800 */ | 764 */ |
| 801 function parameterFormatter(force, obj) | 765 function parameterFormatter(force, obj) |
| 802 { | 766 { |
| 803 return this._formatParameter(obj, force, false); | 767 return this._formatParameter(obj, force, false, showUndefinedsInArra
ys); |
| 804 } | 768 } |
| 805 | 769 |
| 806 function stringFormatter(obj) | 770 function stringFormatter(obj) |
| 807 { | 771 { |
| 808 return obj.description; | 772 return obj.description; |
| 809 } | 773 } |
| 810 | 774 |
| 811 function floatFormatter(obj) | 775 function floatFormatter(obj) |
| 812 { | 776 { |
| 813 if (typeof obj.value !== "number") | 777 if (typeof obj.value !== "number") |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 974 if (this._message.type === WebInspector.ConsoleMessage.MessageType.Start
Group || this._message.type === WebInspector.ConsoleMessage.MessageType.StartGro
upCollapsed) | 938 if (this._message.type === WebInspector.ConsoleMessage.MessageType.Start
Group || this._message.type === WebInspector.ConsoleMessage.MessageType.StartGro
upCollapsed) |
| 975 contentElement.classList.add("console-group-title"); | 939 contentElement.classList.add("console-group-title"); |
| 976 | 940 |
| 977 var formattedMessage; | 941 var formattedMessage; |
| 978 var consoleMessage = this._message; | 942 var consoleMessage = this._message; |
| 979 var target = consoleMessage.target(); | 943 var target = consoleMessage.target(); |
| 980 var shouldIncludeTrace = !!consoleMessage.stackTrace && (consoleMessage.
source === WebInspector.ConsoleMessage.MessageSource.Network || consoleMessage.l
evel === WebInspector.ConsoleMessage.MessageLevel.Error || consoleMessage.level
=== WebInspector.ConsoleMessage.MessageLevel.RevokedError || consoleMessage.type
=== WebInspector.ConsoleMessage.MessageType.Trace || consoleMessage.level === W
ebInspector.ConsoleMessage.MessageLevel.Warning); | 944 var shouldIncludeTrace = !!consoleMessage.stackTrace && (consoleMessage.
source === WebInspector.ConsoleMessage.MessageSource.Network || consoleMessage.l
evel === WebInspector.ConsoleMessage.MessageLevel.Error || consoleMessage.level
=== WebInspector.ConsoleMessage.MessageLevel.RevokedError || consoleMessage.type
=== WebInspector.ConsoleMessage.MessageType.Trace || consoleMessage.level === W
ebInspector.ConsoleMessage.MessageLevel.Warning); |
| 981 if (target && shouldIncludeTrace) | 945 if (target && shouldIncludeTrace) |
| 982 formattedMessage = this._buildMessageWithStackTrace(consoleMessage,
target, this._linkifier); | 946 formattedMessage = this._buildMessageWithStackTrace(consoleMessage,
target, this._linkifier); |
| 983 else if (this._message.type === WebInspector.ConsoleMessage.MessageType.
Table) | 947 else if (this._message.type === WebInspector.ConsoleMessage.MessageType.
Table) |
| 984 formattedMessage = this._buildTableMessage(this._message); | 948 formattedMessage = this._buildTableMessage(); |
| 985 else | 949 else |
| 986 formattedMessage = this._buildMessage(consoleMessage); | 950 formattedMessage = this._buildMessage(); |
| 987 contentElement.appendChild(formattedMessage); | 951 contentElement.appendChild(formattedMessage); |
| 988 | 952 |
| 989 this.updateTimestamp(WebInspector.moduleSetting("consoleTimestampsEnable
d").get()); | 953 this.updateTimestamp(WebInspector.moduleSetting("consoleTimestampsEnable
d").get()); |
| 990 return this._contentElement; | 954 return this._contentElement; |
| 991 }, | 955 }, |
| 992 | 956 |
| 993 /** | 957 /** |
| 994 * @return {!Element} | 958 * @return {!Element} |
| 995 */ | 959 */ |
| 996 toMessageElement: function() | 960 toMessageElement: function() |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1268 { | 1232 { |
| 1269 if (!this._element) { | 1233 if (!this._element) { |
| 1270 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this
); | 1234 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this
); |
| 1271 this._element.classList.toggle("collapsed", this._collapsed); | 1235 this._element.classList.toggle("collapsed", this._collapsed); |
| 1272 } | 1236 } |
| 1273 return this._element; | 1237 return this._element; |
| 1274 }, | 1238 }, |
| 1275 | 1239 |
| 1276 __proto__: WebInspector.ConsoleViewMessage.prototype | 1240 __proto__: WebInspector.ConsoleViewMessage.prototype |
| 1277 }; | 1241 }; |
| OLD | NEW |