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

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

Issue 662793002: [DevTools] Replace usages of document with custom functions. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 2 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 | Annotate | Revision Log
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 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 /** 119 /**
120 * @return {!WebInspector.ConsoleMessage} 120 * @return {!WebInspector.ConsoleMessage}
121 */ 121 */
122 consoleMessage: function() 122 consoleMessage: function()
123 { 123 {
124 return this._message; 124 return this._message;
125 }, 125 },
126 126
127 _formatMessage: function() 127 _formatMessage: function()
128 { 128 {
129 this._formattedMessage = document.createElement("span"); 129 this._formattedMessage = createElement("span");
130 this._formattedMessage.className = "console-message-text source-code"; 130 this._formattedMessage.className = "console-message-text source-code";
131 131
132 /** 132 /**
133 * @param {string} title 133 * @param {string} title
134 * @return {!Element} 134 * @return {!Element}
135 * @this {WebInspector.ConsoleMessage} 135 * @this {WebInspector.ConsoleMessage}
136 */ 136 */
137 function linkifyRequest(title) 137 function linkifyRequest(title)
138 { 138 {
139 return WebInspector.Linkifier.linkifyUsingRevealer(/** @type {!WebIn spector.NetworkRequest} */ (this.request), title, this.url); 139 return WebInspector.Linkifier.linkifyUsingRevealer(/** @type {!WebIn spector.NetworkRequest} */ (this.request), title, this.url);
140 } 140 }
141 141
142 var consoleMessage = this._message; 142 var consoleMessage = this._message;
143 if (!this._messageElement) { 143 if (!this._messageElement) {
144 if (consoleMessage.source === WebInspector.ConsoleMessage.MessageSou rce.ConsoleAPI) { 144 if (consoleMessage.source === WebInspector.ConsoleMessage.MessageSou rce.ConsoleAPI) {
145 switch (consoleMessage.type) { 145 switch (consoleMessage.type) {
146 case WebInspector.ConsoleMessage.MessageType.Trace: 146 case WebInspector.ConsoleMessage.MessageType.Trace:
147 this._messageElement = this._format(consoleMessage.param eters || ["console.trace()"]); 147 this._messageElement = this._format(consoleMessage.param eters || ["console.trace()"]);
148 break; 148 break;
149 case WebInspector.ConsoleMessage.MessageType.Clear: 149 case WebInspector.ConsoleMessage.MessageType.Clear:
150 this._messageElement = document.createTextNode(WebInspec tor.UIString("Console was cleared")); 150 this._messageElement = createTextNode(WebInspector.UIStr ing("Console was cleared"));
151 this._formattedMessage.classList.add("console-info"); 151 this._formattedMessage.classList.add("console-info");
152 break; 152 break;
153 case WebInspector.ConsoleMessage.MessageType.Assert: 153 case WebInspector.ConsoleMessage.MessageType.Assert:
154 var args = [WebInspector.UIString("Assertion failed:")]; 154 var args = [WebInspector.UIString("Assertion failed:")];
155 if (consoleMessage.parameters) 155 if (consoleMessage.parameters)
156 args = args.concat(consoleMessage.parameters); 156 args = args.concat(consoleMessage.parameters);
157 this._messageElement = this._format(args); 157 this._messageElement = this._format(args);
158 break; 158 break;
159 case WebInspector.ConsoleMessage.MessageType.Dir: 159 case WebInspector.ConsoleMessage.MessageType.Dir:
160 var obj = consoleMessage.parameters ? consoleMessage.par ameters[0] : undefined; 160 var obj = consoleMessage.parameters ? consoleMessage.par ameters[0] : undefined;
161 var args = ["%O", obj]; 161 var args = ["%O", obj];
162 this._messageElement = this._format(args); 162 this._messageElement = this._format(args);
163 break; 163 break;
164 case WebInspector.ConsoleMessage.MessageType.Profile: 164 case WebInspector.ConsoleMessage.MessageType.Profile:
165 case WebInspector.ConsoleMessage.MessageType.ProfileEnd: 165 case WebInspector.ConsoleMessage.MessageType.ProfileEnd:
166 this._messageElement = this._format([consoleMessage.mess ageText]); 166 this._messageElement = this._format([consoleMessage.mess ageText]);
167 break; 167 break;
168 default: 168 default:
169 var args = consoleMessage.parameters || [consoleMessage. messageText]; 169 var args = consoleMessage.parameters || [consoleMessage. messageText];
170 this._messageElement = this._format(args); 170 this._messageElement = this._format(args);
171 } 171 }
172 } else if (consoleMessage.source === WebInspector.ConsoleMessage.Mes sageSource.Network) { 172 } else if (consoleMessage.source === WebInspector.ConsoleMessage.Mes sageSource.Network) {
173 if (consoleMessage.request) { 173 if (consoleMessage.request) {
174 this._messageElement = document.createElement("span"); 174 this._messageElement = createElement("span");
175 if (consoleMessage.level === WebInspector.ConsoleMessage.Mes sageLevel.Error) { 175 if (consoleMessage.level === WebInspector.ConsoleMessage.Mes sageLevel.Error) {
176 this._messageElement.createTextChildren(consoleMessage.r equest.requestMethod, " "); 176 this._messageElement.createTextChildren(consoleMessage.r equest.requestMethod, " ");
177 this._messageElement.appendChild(WebInspector.Linkifier. linkifyUsingRevealer(consoleMessage.request, consoleMessage.request.url, console Message.request.url)); 177 this._messageElement.appendChild(WebInspector.Linkifier. linkifyUsingRevealer(consoleMessage.request, consoleMessage.request.url, console Message.request.url));
178 if (consoleMessage.request.failed) 178 if (consoleMessage.request.failed)
179 this._messageElement.createTextChildren(" ", console Message.request.localizedFailDescription); 179 this._messageElement.createTextChildren(" ", console Message.request.localizedFailDescription);
180 else 180 else
181 this._messageElement.createTextChildren(" ", String( consoleMessage.request.statusCode), " (", consoleMessage.request.statusText, ")" ); 181 this._messageElement.createTextChildren(" ", String( consoleMessage.request.statusCode), " (", consoleMessage.request.statusText, ")" );
182 } else { 182 } else {
183 var fragment = WebInspector.linkifyStringAsFragmentWithC ustomLinkifier(consoleMessage.messageText, linkifyRequest.bind(consoleMessage)); 183 var fragment = WebInspector.linkifyStringAsFragmentWithC ustomLinkifier(consoleMessage.messageText, linkifyRequest.bind(consoleMessage));
184 this._messageElement.appendChild(fragment); 184 this._messageElement.appendChild(fragment);
(...skipping 20 matching lines...) Expand all
205 var callFrame = this._callFrameAnchorFromStackTrace(consoleMessa ge.stackTrace, useBlackboxing); 205 var callFrame = this._callFrameAnchorFromStackTrace(consoleMessa ge.stackTrace, useBlackboxing);
206 if (callFrame) 206 if (callFrame)
207 this._anchorElement = this._linkifyCallFrame(callFrame); 207 this._anchorElement = this._linkifyCallFrame(callFrame);
208 else if (consoleMessage.url && consoleMessage.url !== "undefined ") 208 else if (consoleMessage.url && consoleMessage.url !== "undefined ")
209 this._anchorElement = this._linkifyLocation(consoleMessage.u rl, consoleMessage.line, consoleMessage.column); 209 this._anchorElement = this._linkifyLocation(consoleMessage.u rl, consoleMessage.line, consoleMessage.column);
210 } 210 }
211 } 211 }
212 212
213 this._formattedMessage.appendChild(this._messageElement); 213 this._formattedMessage.appendChild(this._messageElement);
214 if (this._anchorElement) { 214 if (this._anchorElement) {
215 this._formattedMessage.insertBefore(document.createTextNode(" "), th is._formattedMessage.firstChild); 215 this._formattedMessage.insertBefore(createTextNode(" "), this._forma ttedMessage.firstChild);
216 this._formattedMessage.insertBefore(this._anchorElement, this._forma ttedMessage.firstChild); 216 this._formattedMessage.insertBefore(this._anchorElement, this._forma ttedMessage.firstChild);
217 } 217 }
218 218
219 var dumpStackTrace = !!consoleMessage.stackTrace && consoleMessage.stack Trace.length && (consoleMessage.source === WebInspector.ConsoleMessage.MessageSo urce.Network || consoleMessage.level === WebInspector.ConsoleMessage.MessageLeve l.Error || consoleMessage.type === WebInspector.ConsoleMessage.MessageType.Trace ); 219 var dumpStackTrace = !!consoleMessage.stackTrace && consoleMessage.stack Trace.length && (consoleMessage.source === WebInspector.ConsoleMessage.MessageSo urce.Network || consoleMessage.level === WebInspector.ConsoleMessage.MessageLeve l.Error || consoleMessage.type === WebInspector.ConsoleMessage.MessageType.Trace );
220 if (dumpStackTrace) { 220 if (dumpStackTrace) {
221 var ol = document.createElement("ol"); 221 var ol = createElement("ol");
222 ol.className = "outline-disclosure"; 222 ol.className = "outline-disclosure";
223 var treeOutline = new TreeOutline(ol); 223 var treeOutline = new TreeOutline(ol);
224 224
225 var content = this._formattedMessage; 225 var content = this._formattedMessage;
226 var root = new TreeElement(content, null, true); 226 var root = new TreeElement(content, null, true);
227 root.toggleOnClick = true; 227 root.toggleOnClick = true;
228 root.selectable = false; 228 root.selectable = false;
229 content.treeElementForTest = root; 229 content.treeElementForTest = root;
230 treeOutline.appendChild(root); 230 treeOutline.appendChild(root);
231 if (consoleMessage.type === WebInspector.ConsoleMessage.MessageType. Trace) 231 if (consoleMessage.type === WebInspector.ConsoleMessage.MessageType. Trace)
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 * @return {boolean} 337 * @return {boolean}
338 */ 338 */
339 isErrorOrWarning: function() 339 isErrorOrWarning: function()
340 { 340 {
341 return (this._message.level === WebInspector.ConsoleMessage.MessageLevel .Warning || this._message.level === WebInspector.ConsoleMessage.MessageLevel.Err or); 341 return (this._message.level === WebInspector.ConsoleMessage.MessageLevel .Warning || this._message.level === WebInspector.ConsoleMessage.MessageLevel.Err or);
342 }, 342 },
343 343
344 _format: function(parameters) 344 _format: function(parameters)
345 { 345 {
346 // This node is used like a Builder. Values are continually appended ont o it. 346 // This node is used like a Builder. Values are continually appended ont o it.
347 var formattedResult = document.createElement("span"); 347 var formattedResult = createElement("span");
348 if (!parameters.length) 348 if (!parameters.length)
349 return formattedResult; 349 return formattedResult;
350 350
351 var target = this._target(); 351 var target = this._target();
352 352
353 // Formatting code below assumes that parameters are all wrappers wherea s frontend console 353 // Formatting code below assumes that parameters are all wrappers wherea s frontend console
354 // API allows passing arbitrary values as messages (strings, numbers, et c.). Wrap them here. 354 // API allows passing arbitrary values as messages (strings, numbers, et c.). Wrap them here.
355 for (var i = 0; i < parameters.length; ++i) { 355 for (var i = 0; i < parameters.length; ++i) {
356 // FIXME: Only pass runtime wrappers here. 356 // FIXME: Only pass runtime wrappers here.
357 if (parameters[i] instanceof WebInspector.RemoteObject) 357 if (parameters[i] instanceof WebInspector.RemoteObject)
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 /** 401 /**
402 * @param {!WebInspector.RemoteObject} output 402 * @param {!WebInspector.RemoteObject} output
403 * @param {boolean=} forceObjectFormat 403 * @param {boolean=} forceObjectFormat
404 * @param {boolean=} includePreview 404 * @param {boolean=} includePreview
405 * @return {!Element} 405 * @return {!Element}
406 */ 406 */
407 _formatParameter: function(output, forceObjectFormat, includePreview) 407 _formatParameter: function(output, forceObjectFormat, includePreview)
408 { 408 {
409 var type = forceObjectFormat ? "object" : (output.subtype || output.type ); 409 var type = forceObjectFormat ? "object" : (output.subtype || output.type );
410 var formatter = this._customFormatters[type] || this._formatParameterAsV alue; 410 var formatter = this._customFormatters[type] || this._formatParameterAsV alue;
411 var span = document.createElement("span"); 411 var span = createElement("span");
412 span.className = "console-formatted-" + type + " source-code"; 412 span.className = "console-formatted-" + type + " source-code";
413 formatter.call(this, output, span, includePreview); 413 formatter.call(this, output, span, includePreview);
414 return span; 414 return span;
415 }, 415 },
416 416
417 /** 417 /**
418 * @param {!WebInspector.RemoteObject} obj 418 * @param {!WebInspector.RemoteObject} obj
419 * @param {!Element} elem 419 * @param {!Element} elem
420 */ 420 */
421 _formatParameterAsValue: function(obj, elem) 421 _formatParameterAsValue: function(obj, elem)
(...skipping 13 matching lines...) Expand all
435 this._formatParameterAsArrayOrObject(obj, elem, includePreview); 435 this._formatParameterAsArrayOrObject(obj, elem, includePreview);
436 }, 436 },
437 437
438 /** 438 /**
439 * @param {!WebInspector.RemoteObject} obj 439 * @param {!WebInspector.RemoteObject} obj
440 * @param {!Element} elem 440 * @param {!Element} elem
441 * @param {boolean=} includePreview 441 * @param {boolean=} includePreview
442 */ 442 */
443 _formatParameterAsArrayOrObject: function(obj, elem, includePreview) 443 _formatParameterAsArrayOrObject: function(obj, elem, includePreview)
444 { 444 {
445 var titleElement = document.createElement("span"); 445 var titleElement = createElement("span");
446 if (includePreview && obj.preview) { 446 if (includePreview && obj.preview) {
447 titleElement.classList.add("console-object-preview"); 447 titleElement.classList.add("console-object-preview");
448 var lossless = this._appendObjectPreview(titleElement, obj.preview, obj); 448 var lossless = this._appendObjectPreview(titleElement, obj.preview, obj);
449 if (lossless) { 449 if (lossless) {
450 elem.appendChild(titleElement); 450 elem.appendChild(titleElement);
451 titleElement.addEventListener("contextmenu", this._contextMenuEv entFired.bind(this, obj), false); 451 titleElement.addEventListener("contextmenu", this._contextMenuEv entFired.bind(this, obj), false);
452 return; 452 return;
453 } 453 }
454 } else { 454 } else {
455 titleElement.createTextChild(obj.description || ""); 455 titleElement.createTextChild(obj.description || "");
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 }, 565 },
566 566
567 /** 567 /**
568 * @param {string} type 568 * @param {string} type
569 * @param {string=} subtype 569 * @param {string=} subtype
570 * @param {string=} description 570 * @param {string=} description
571 * @return {!Element} 571 * @return {!Element}
572 */ 572 */
573 _renderPropertyPreview: function(type, subtype, description) 573 _renderPropertyPreview: function(type, subtype, description)
574 { 574 {
575 var span = document.createElementWithClass("span", "console-formatted-" + (subtype || type)); 575 var span = createElementWithClass("span", "console-formatted-" + (subtyp e || type));
576 description = description || ""; 576 description = description || "";
577 577
578 if (type === "function") { 578 if (type === "function") {
579 span.textContent = "function"; 579 span.textContent = "function";
580 return span; 580 return span;
581 } 581 }
582 582
583 if (type === "object" && subtype === "node" && description) { 583 if (type === "object" && subtype === "node" && description) {
584 span.classList.add("console-formatted-preview-node"); 584 span.classList.add("console-formatted-preview-node");
585 WebInspector.DOMPresentationUtils.createSpansForNodeTitle(span, desc ription); 585 WebInspector.DOMPresentationUtils.createSpansForNodeTitle(span, desc ription);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
637 else 637 else
638 array.getOwnProperties(this._printArray.bind(this, array, elem)); 638 array.getOwnProperties(this._printArray.bind(this, array, elem));
639 }, 639 },
640 640
641 /** 641 /**
642 * @param {!Array.<!WebInspector.RemoteObject>} parameters 642 * @param {!Array.<!WebInspector.RemoteObject>} parameters
643 * @return {!Element} 643 * @return {!Element}
644 */ 644 */
645 _formatParameterAsTable: function(parameters) 645 _formatParameterAsTable: function(parameters)
646 { 646 {
647 var element = document.createElement("span"); 647 var element = createElement("span");
648 var table = parameters[0]; 648 var table = parameters[0];
649 if (!table || !table.preview) 649 if (!table || !table.preview)
650 return element; 650 return element;
651 651
652 var columnNames = []; 652 var columnNames = [];
653 var preview = table.preview; 653 var preview = table.preview;
654 var rows = []; 654 var rows = [];
655 for (var i = 0; i < preview.properties.length; ++i) { 655 for (var i = 0; i < preview.properties.length; ++i) {
656 var rowProperty = preview.properties[i]; 656 var rowProperty = preview.properties[i];
657 var rowPreview = rowProperty.valuePreview; 657 var rowPreview = rowProperty.valuePreview;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 this._dataGridParents.set(dataGrid, dataGridContainer); 702 this._dataGridParents.set(dataGrid, dataGridContainer);
703 return element; 703 return element;
704 }, 704 },
705 705
706 /** 706 /**
707 * @param {!WebInspector.RemoteObject} output 707 * @param {!WebInspector.RemoteObject} output
708 * @param {!Element} elem 708 * @param {!Element} elem
709 */ 709 */
710 _formatParameterAsString: function(output, elem) 710 _formatParameterAsString: function(output, elem)
711 { 711 {
712 var span = document.createElement("span"); 712 var span = createElement("span");
713 span.className = "console-formatted-string source-code"; 713 span.className = "console-formatted-string source-code";
714 span.appendChild(WebInspector.linkifyStringAsFragment(output.description || "")); 714 span.appendChild(WebInspector.linkifyStringAsFragment(output.description || ""));
715 715
716 // Make black quotes. 716 // Make black quotes.
717 elem.classList.remove("console-formatted-string"); 717 elem.classList.remove("console-formatted-string");
718 elem.createTextChild("\""); 718 elem.createTextChild("\"");
719 elem.appendChild(span); 719 elem.appendChild(span);
720 elem.createTextChild("\""); 720 elem.createTextChild("\"");
721 }, 721 },
722 722
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
871 871
872 function bypassFormatter(obj) 872 function bypassFormatter(obj)
873 { 873 {
874 return (obj instanceof Node) ? obj : ""; 874 return (obj instanceof Node) ? obj : "";
875 } 875 }
876 876
877 var currentStyle = null; 877 var currentStyle = null;
878 function styleFormatter(obj) 878 function styleFormatter(obj)
879 { 879 {
880 currentStyle = {}; 880 currentStyle = {};
881 var buffer = document.createElement("span"); 881 var buffer = createElement("span");
882 buffer.setAttribute("style", obj.description); 882 buffer.setAttribute("style", obj.description);
883 for (var i = 0; i < buffer.style.length; i++) { 883 for (var i = 0; i < buffer.style.length; i++) {
884 var property = buffer.style[i]; 884 var property = buffer.style[i];
885 if (isWhitelistedProperty(property)) 885 if (isWhitelistedProperty(property))
886 currentStyle[property] = buffer.style[property]; 886 currentStyle[property] = buffer.style[property];
887 } 887 }
888 } 888 }
889 889
890 function isWhitelistedProperty(property) 890 function isWhitelistedProperty(property)
891 { 891 {
(...skipping 21 matching lines...) Expand all
913 913
914 formatters._ = bypassFormatter; 914 formatters._ = bypassFormatter;
915 915
916 function append(a, b) 916 function append(a, b)
917 { 917 {
918 if (b instanceof Node) 918 if (b instanceof Node)
919 a.appendChild(b); 919 a.appendChild(b);
920 else if (typeof b !== "undefined") { 920 else if (typeof b !== "undefined") {
921 var toAppend = WebInspector.linkifyStringAsFragment(String(b)); 921 var toAppend = WebInspector.linkifyStringAsFragment(String(b));
922 if (currentStyle) { 922 if (currentStyle) {
923 var wrapper = document.createElement('span'); 923 var wrapper = createElement('span');
924 for (var key in currentStyle) 924 for (var key in currentStyle)
925 wrapper.style[key] = currentStyle[key]; 925 wrapper.style[key] = currentStyle[key];
926 wrapper.appendChild(toAppend); 926 wrapper.appendChild(toAppend);
927 toAppend = wrapper; 927 toAppend = wrapper;
928 } 928 }
929 a.appendChild(toAppend); 929 a.appendChild(toAppend);
930 } 930 }
931 return a; 931 return a;
932 } 932 }
933 933
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 }, 1035 },
1036 1036
1037 /** 1037 /**
1038 * @return {!Element} 1038 * @return {!Element}
1039 */ 1039 */
1040 contentElement: function() 1040 contentElement: function()
1041 { 1041 {
1042 if (this._element) 1042 if (this._element)
1043 return this._element; 1043 return this._element;
1044 1044
1045 var element = document.createElementWithClass("div", "console-message"); 1045 var element = createElementWithClass("div", "console-message");
1046 this._element = element; 1046 this._element = element;
1047 1047
1048 switch (this._message.level) { 1048 switch (this._message.level) {
1049 case WebInspector.ConsoleMessage.MessageLevel.Log: 1049 case WebInspector.ConsoleMessage.MessageLevel.Log:
1050 element.classList.add("console-log-level"); 1050 element.classList.add("console-log-level");
1051 break; 1051 break;
1052 case WebInspector.ConsoleMessage.MessageLevel.Debug: 1052 case WebInspector.ConsoleMessage.MessageLevel.Debug:
1053 element.classList.add("console-debug-level"); 1053 element.classList.add("console-debug-level");
1054 break; 1054 break;
1055 case WebInspector.ConsoleMessage.MessageLevel.Warning: 1055 case WebInspector.ConsoleMessage.MessageLevel.Warning:
(...skipping 21 matching lines...) Expand all
1077 }, 1077 },
1078 1078
1079 /** 1079 /**
1080 * @return {!Element} 1080 * @return {!Element}
1081 */ 1081 */
1082 toMessageElement: function() 1082 toMessageElement: function()
1083 { 1083 {
1084 if (this._wrapperElement) 1084 if (this._wrapperElement)
1085 return this._wrapperElement; 1085 return this._wrapperElement;
1086 1086
1087 this._wrapperElement = document.createElementWithClass("div", "console-m essage-wrapper"); 1087 this._wrapperElement = createElementWithClass("div", "console-message-wr apper");
1088 this._nestingLevelMarkers = []; 1088 this._nestingLevelMarkers = [];
1089 for (var i = 0; i < this._nestingLevel; ++i) 1089 for (var i = 0; i < this._nestingLevel; ++i)
1090 this._nestingLevelMarkers.push(this._wrapperElement.createChild("div ", "nesting-level-marker")); 1090 this._nestingLevelMarkers.push(this._wrapperElement.createChild("div ", "nesting-level-marker"));
1091 this._updateCloseGroupDecorations(); 1091 this._updateCloseGroupDecorations();
1092 this._wrapperElement.message = this; 1092 this._wrapperElement.message = this;
1093 1093
1094 this._wrapperElement.appendChild(this.contentElement()); 1094 this._wrapperElement.appendChild(this.contentElement());
1095 return this._wrapperElement; 1095 return this._wrapperElement;
1096 }, 1096 },
1097 1097
1098 /** 1098 /**
1099 * @param {!TreeElement} parentTreeElement 1099 * @param {!TreeElement} parentTreeElement
1100 */ 1100 */
1101 _populateStackTraceTreeElement: function(parentTreeElement) 1101 _populateStackTraceTreeElement: function(parentTreeElement)
1102 { 1102 {
1103 /** 1103 /**
1104 * @param {!Array.<!ConsoleAgent.CallFrame>=} stackTrace 1104 * @param {!Array.<!ConsoleAgent.CallFrame>=} stackTrace
1105 * @this {WebInspector.ConsoleViewMessage} 1105 * @this {WebInspector.ConsoleViewMessage}
1106 */ 1106 */
1107 function appendStackTrace(stackTrace) 1107 function appendStackTrace(stackTrace)
1108 { 1108 {
1109 if (!stackTrace) 1109 if (!stackTrace)
1110 return; 1110 return;
1111 1111
1112 for (var i = 0; i < stackTrace.length; i++) { 1112 for (var i = 0; i < stackTrace.length; i++) {
1113 var frame = stackTrace[i]; 1113 var frame = stackTrace[i];
1114 1114
1115 var content = document.createElementWithClass("div", "stacktrace -entry"); 1115 var content = createElementWithClass("div", "stacktrace-entry");
1116 var functionName = frame.functionName || WebInspector.UIString(" (anonymous function)"); 1116 var functionName = frame.functionName || WebInspector.UIString(" (anonymous function)");
1117 if (frame.scriptId) { 1117 if (frame.scriptId) {
1118 var urlElement = this._linkifyCallFrame(frame); 1118 var urlElement = this._linkifyCallFrame(frame);
1119 if (!urlElement) 1119 if (!urlElement)
1120 continue; 1120 continue;
1121 content.appendChild(urlElement); 1121 content.appendChild(urlElement);
1122 content.createTextChild(" "); 1122 content.createTextChild(" ");
1123 } 1123 }
1124 1124
1125 content.createChild("span", "console-message-text source-code"). textContent = functionName; 1125 content.createChild("span", "console-message-text source-code"). textContent = functionName;
1126 parentTreeElement.appendChild(new TreeElement(content)); 1126 parentTreeElement.appendChild(new TreeElement(content));
1127 } 1127 }
1128 } 1128 }
1129 1129
1130 appendStackTrace.call(this, this._message.stackTrace); 1130 appendStackTrace.call(this, this._message.stackTrace);
1131 1131
1132 for (var asyncTrace = this._message.asyncStackTrace; asyncTrace; asyncTr ace = asyncTrace.asyncStackTrace) { 1132 for (var asyncTrace = this._message.asyncStackTrace; asyncTrace; asyncTr ace = asyncTrace.asyncStackTrace) {
1133 if (!asyncTrace.callFrames || !asyncTrace.callFrames.length) 1133 if (!asyncTrace.callFrames || !asyncTrace.callFrames.length)
1134 break; 1134 break;
1135 var content = document.createElementWithClass("div", "stacktrace-ent ry"); 1135 var content = createElementWithClass("div", "stacktrace-entry");
1136 var description = WebInspector.asyncStackTraceLabel(asyncTrace.descr iption); 1136 var description = WebInspector.asyncStackTraceLabel(asyncTrace.descr iption);
1137 content.createChild("span", "console-message-text source-code consol e-async-trace-text").textContent = description; 1137 content.createChild("span", "console-message-text source-code consol e-async-trace-text").textContent = description;
1138 parentTreeElement.appendChild(new TreeElement(content)); 1138 parentTreeElement.appendChild(new TreeElement(content));
1139 appendStackTrace.call(this, asyncTrace.callFrames); 1139 appendStackTrace.call(this, asyncTrace.callFrames);
1140 } 1140 }
1141 }, 1141 },
1142 1142
1143 resetIncrementRepeatCount: function() 1143 resetIncrementRepeatCount: function()
1144 { 1144 {
1145 this._repeatCount = 1; 1145 this._repeatCount = 1;
1146 if (!this._repeatCountElement) 1146 if (!this._repeatCountElement)
1147 return; 1147 return;
1148 1148
1149 this._repeatCountElement.remove(); 1149 this._repeatCountElement.remove();
1150 delete this._repeatCountElement; 1150 delete this._repeatCountElement;
1151 }, 1151 },
1152 1152
1153 incrementRepeatCount: function() 1153 incrementRepeatCount: function()
1154 { 1154 {
1155 this._repeatCount++; 1155 this._repeatCount++;
1156 this._showRepeatCountElement(); 1156 this._showRepeatCountElement();
1157 }, 1157 },
1158 1158
1159 _showRepeatCountElement: function() 1159 _showRepeatCountElement: function()
1160 { 1160 {
1161 if (!this._element) 1161 if (!this._element)
1162 return; 1162 return;
1163 1163
1164 if (!this._repeatCountElement) { 1164 if (!this._repeatCountElement) {
1165 this._repeatCountElement = document.createElement("span"); 1165 this._repeatCountElement = createElement("span");
1166 this._repeatCountElement.className = "bubble-repeat-count"; 1166 this._repeatCountElement.className = "bubble-repeat-count";
1167 1167
1168 this._element.insertBefore(this._repeatCountElement, this._element.f irstChild); 1168 this._element.insertBefore(this._repeatCountElement, this._element.f irstChild);
1169 this._element.classList.add("repeated-message"); 1169 this._element.classList.add("repeated-message");
1170 } 1170 }
1171 this._repeatCountElement.textContent = this._repeatCount; 1171 this._repeatCountElement.textContent = this._repeatCount;
1172 }, 1172 },
1173 1173
1174 /** 1174 /**
1175 * @return {string} 1175 * @return {string}
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
1311 { 1311 {
1312 if (!this._wrapperElement) { 1312 if (!this._wrapperElement) {
1313 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this ); 1313 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this );
1314 this._wrapperElement.classList.toggle("collapsed", this._collapsed); 1314 this._wrapperElement.classList.toggle("collapsed", this._collapsed);
1315 } 1315 }
1316 return this._wrapperElement; 1316 return this._wrapperElement;
1317 }, 1317 },
1318 1318
1319 __proto__: WebInspector.ConsoleViewMessage.prototype 1319 __proto__: WebInspector.ConsoleViewMessage.prototype
1320 } 1320 }
OLDNEW
« no previous file with comments | « Source/devtools/front_end/console/ConsoleView.js ('k') | Source/devtools/front_end/devices/DevicesView.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698