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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/console/ConsoleViewMessage.js

Issue 2012033002: DevTools: more previews when formatting logged arrays/objects (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code cleanup Created 4 years, 6 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 /* 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 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 if (this._message.type === WebInspector.ConsoleMessage.MessageType.Table ) { 345 if (this._message.type === WebInspector.ConsoleMessage.MessageType.Table ) {
346 formattedResult.appendChild(this._formatParameterAsTable(parameters) ); 346 formattedResult.appendChild(this._formatParameterAsTable(parameters) );
347 return formattedResult; 347 return formattedResult;
348 } 348 }
349 349
350 // Single parameter, or unused substitutions from above. 350 // Single parameter, or unused substitutions from above.
351 for (var i = 0; i < parameters.length; ++i) { 351 for (var i = 0; i < parameters.length; ++i) {
352 // Inline strings when formatting. 352 // Inline strings when formatting.
353 if (shouldFormatMessage && parameters[i].type === "string") 353 if (shouldFormatMessage && parameters[i].type === "string")
354 formattedResult.appendChild(WebInspector.linkifyStringAsFragment (parameters[i].description)); 354 formattedResult.appendChild(WebInspector.linkifyStringAsFragment (parameters[i].description));
355 else if (parameters[i].type === "function")
356 formattedResult.appendChild(this._formatParameter(parameters[i], true, true));
355 else 357 else
356 formattedResult.appendChild(this._formatParameter(parameters[i], false, true)); 358 formattedResult.appendChild(this._formatParameter(parameters[i], false, true));
357 if (i < parameters.length - 1) 359 if (i < parameters.length - 1)
358 formattedResult.createTextChild(" "); 360 formattedResult.createTextChild(" ");
359 } 361 }
360 return formattedResult; 362 return formattedResult;
361 }, 363 },
362 364
363 /** 365 /**
364 * @param {!WebInspector.RemoteObject} output 366 * @param {!WebInspector.RemoteObject} output
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
413 titleElement.classList.add("console-object-preview"); 415 titleElement.classList.add("console-object-preview");
414 this._previewFormatter.appendObjectPreview(titleElement, obj.preview ); 416 this._previewFormatter.appendObjectPreview(titleElement, obj.preview );
415 } else { 417 } else {
416 if (obj.type === "function") { 418 if (obj.type === "function") {
417 WebInspector.ObjectPropertiesSection.formatObjectAsFunction(obj, titleElement, false); 419 WebInspector.ObjectPropertiesSection.formatObjectAsFunction(obj, titleElement, false);
418 titleElement.classList.add("object-value-function"); 420 titleElement.classList.add("object-value-function");
419 } else { 421 } else {
420 titleElement.createTextChild(obj.description || ""); 422 titleElement.createTextChild(obj.description || "");
421 } 423 }
422 } 424 }
425 var expandedTitleElement = createElement("span");
426 expandedTitleElement.createTextChild(obj.description || "");
423 var note = titleElement.createChild("span", "object-state-note"); 427 var note = titleElement.createChild("span", "object-state-note");
424 note.classList.add("info-note"); 428 note.classList.add("info-note");
425 note.title = WebInspector.UIString("Object value at left was snapshotted when logged, value below was evaluated just now."); 429 note.title = WebInspector.UIString("Object value at left was snapshotted when logged, value below was evaluated just now.");
426 var section = new WebInspector.ObjectPropertiesSection(obj, titleElement ); 430 var section = new WebInspector.ObjectPropertiesSection(obj, titleElement , expandedTitleElement);
427 section.enableContextMenu(); 431 section.enableContextMenu();
428 elem.appendChild(section.element); 432 elem.appendChild(section.element);
429 section.element.classList.add("console-view-object-properties-section"); 433 section.element.classList.add("console-view-object-properties-section");
430 }, 434 },
431 435
432 /** 436 /**
433 * @param {!WebInspector.RemoteObject} func 437 * @param {!WebInspector.RemoteObject} func
434 * @param {!Element} element 438 * @param {!Element} element
435 * @param {boolean=} includePreview 439 * @param {boolean=} includePreview
436 */ 440 */
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 this._formatParameterAsObject(object, elem, false); 508 this._formatParameterAsObject(object, elem, false);
505 } 509 }
506 }, 510 },
507 511
508 _formattedParameterAsNodeForTest: function() 512 _formattedParameterAsNodeForTest: function()
509 { 513 {
510 }, 514 },
511 515
512 /** 516 /**
513 * @param {!WebInspector.RemoteObject} array 517 * @param {!WebInspector.RemoteObject} array
514 * @return {boolean}
515 */
516 useArrayPreviewInFormatter: function(array)
517 {
518 return this._message.type !== WebInspector.ConsoleMessage.MessageType.Di rXML;
519 },
520
521 /**
522 * @param {!WebInspector.RemoteObject} array
523 * @param {!Element} elem 518 * @param {!Element} elem
524 */ 519 */
525 _formatParameterAsArray: function(array, elem) 520 _formatParameterAsArray: function(array, elem)
526 { 521 {
527 var maxFlatArrayLength = 100; 522 this._formatParameterAsArrayOrObject(array, elem, true);
528 if (this.useArrayPreviewInFormatter(array) || array.arrayLength() > maxF latArrayLength)
529 this._formatParameterAsArrayOrObject(array, elem, this.useArrayPrevi ewInFormatter(array) || array.arrayLength() <= maxFlatArrayLength);
530 else
531 array.getAllProperties(false, this._printArray.bind(this, array, ele m));
532 }, 523 },
533 524
534 /** 525 /**
535 * @param {!Array.<!WebInspector.RemoteObject>} parameters 526 * @param {!Array.<!WebInspector.RemoteObject>} parameters
536 * @return {!Element} 527 * @return {!Element}
537 */ 528 */
538 _formatParameterAsTable: function(parameters) 529 _formatParameterAsTable: function(parameters)
539 { 530 {
540 var element = createElementWithClass("div", "console-message-formatted-t able"); 531 var element = createElementWithClass("div", "console-message-formatted-t able");
541 var table = parameters[0]; 532 var table = parameters[0];
(...skipping 790 matching lines...) Expand 10 before | Expand all | Expand 10 after
1332 { 1323 {
1333 if (!this._wrapperElement) { 1324 if (!this._wrapperElement) {
1334 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this ); 1325 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this );
1335 this._wrapperElement.classList.toggle("collapsed", this._collapsed); 1326 this._wrapperElement.classList.toggle("collapsed", this._collapsed);
1336 } 1327 }
1337 return this._wrapperElement; 1328 return this._wrapperElement;
1338 }, 1329 },
1339 1330
1340 __proto__: WebInspector.ConsoleViewMessage.prototype 1331 __proto__: WebInspector.ConsoleViewMessage.prototype
1341 } 1332 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698