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 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
185 default: | 185 default: |
186 if (consoleMessage.parameters && consoleMessage.paramete rs.length === 1 && consoleMessage.parameters[0].type === "string") | 186 if (consoleMessage.parameters && consoleMessage.paramete rs.length === 1 && consoleMessage.parameters[0].type === "string") |
187 this._messageElement = this._tryFormatAsError(/**@t ype {string} */(consoleMessage.parameters[0].value)); | 187 this._messageElement = this._tryFormatAsError(/**@t ype {string} */(consoleMessage.parameters[0].value)); |
188 | 188 |
189 var args = consoleMessage.parameters || [consoleMessage. messageText]; | 189 var args = consoleMessage.parameters || [consoleMessage. messageText]; |
190 this._messageElement = this._messageElement || this._for mat(args); | 190 this._messageElement = this._messageElement || this._for mat(args); |
191 } | 191 } |
192 } else if (consoleMessage.source === WebInspector.ConsoleMessage.Mes sageSource.Network) { | 192 } else if (consoleMessage.source === WebInspector.ConsoleMessage.Mes sageSource.Network) { |
193 if (consoleMessage.request) { | 193 if (consoleMessage.request) { |
194 this._messageElement = createElement("span"); | 194 this._messageElement = createElement("span"); |
195 if (consoleMessage.level === WebInspector.ConsoleMessage.Mes sageLevel.Error) { | 195 if (consoleMessage.level === WebInspector.ConsoleMessage.Mes sageLevel.Error || consoleMessage.level === WebInspector.ConsoleMessage.MessageL evel.RevokedError) { |
196 this._messageElement.createTextChildren(consoleMessage.r equest.requestMethod, " "); | 196 this._messageElement.createTextChildren(consoleMessage.r equest.requestMethod, " "); |
197 this._messageElement.appendChild(WebInspector.Linkifier. linkifyUsingRevealer(consoleMessage.request, consoleMessage.request.url, console Message.request.url)); | 197 this._messageElement.appendChild(WebInspector.Linkifier. linkifyUsingRevealer(consoleMessage.request, consoleMessage.request.url, console Message.request.url)); |
198 if (consoleMessage.request.failed) | 198 if (consoleMessage.request.failed) |
199 this._messageElement.createTextChildren(" ", console Message.request.localizedFailDescription); | 199 this._messageElement.createTextChildren(" ", console Message.request.localizedFailDescription); |
200 else | 200 else |
201 this._messageElement.createTextChildren(" ", String( consoleMessage.request.statusCode), " (", consoleMessage.request.statusText, ")" ); | 201 this._messageElement.createTextChildren(" ", String( consoleMessage.request.statusCode), " (", consoleMessage.request.statusText, ")" ); |
202 } else { | 202 } else { |
203 var fragment = WebInspector.linkifyStringAsFragmentWithC ustomLinkifier(consoleMessage.messageText, linkifyRequest.bind(consoleMessage)); | 203 var fragment = WebInspector.linkifyStringAsFragmentWithC ustomLinkifier(consoleMessage.messageText, linkifyRequest.bind(consoleMessage)); |
204 this._messageElement.appendChild(fragment); | 204 this._messageElement.appendChild(fragment); |
205 } | 205 } |
(...skipping 24 matching lines...) Expand all Loading... | |
230 } | 230 } |
231 } | 231 } |
232 | 232 |
233 this._formattedMessage.appendChild(this._messageElement); | 233 this._formattedMessage.appendChild(this._messageElement); |
234 if (this._anchorElement) { | 234 if (this._anchorElement) { |
235 // Append a space to prevent the anchor text from being glued to the console message when the user selects and copies the console messages. | 235 // Append a space to prevent the anchor text from being glued to the console message when the user selects and copies the console messages. |
236 this._anchorElement.appendChild(createTextNode(" ")); | 236 this._anchorElement.appendChild(createTextNode(" ")); |
237 this._formattedMessage.insertBefore(this._anchorElement, this._forma ttedMessage.firstChild); | 237 this._formattedMessage.insertBefore(this._anchorElement, this._forma ttedMessage.firstChild); |
238 } | 238 } |
239 | 239 |
240 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 ); | 240 var dumpStackTrace = !!consoleMessage.stackTrace && consoleMessage.stack Trace.length && (consoleMessage.source === WebInspector.ConsoleMessage.MessageSo urce.Network || consoleMessage.level === WebInspector.ConsoleMessage.MessageLeve l.Error || consoleMessage.level === WebInspector.ConsoleMessage.MessageLevel.Rev okedError || consoleMessage.type === WebInspector.ConsoleMessage.MessageType.Tra ce); |
241 if (dumpStackTrace) { | 241 if (dumpStackTrace) { |
242 var treeOutline = new TreeOutline(); | 242 var treeOutline = new TreeOutline(); |
243 treeOutline.element.classList.add("outline-disclosure", "outline-dis closure-no-padding"); | 243 treeOutline.element.classList.add("outline-disclosure", "outline-dis closure-no-padding"); |
244 var content = this._formattedMessage; | 244 var content = this._formattedMessage; |
245 var root = new TreeElement(content); | 245 var root = new TreeElement(content); |
246 root.toggleOnClick = true; | 246 root.toggleOnClick = true; |
247 root.selectable = false; | 247 root.selectable = false; |
248 content.treeElementForTest = root; | 248 content.treeElementForTest = root; |
249 treeOutline.appendChild(root); | 249 treeOutline.appendChild(root); |
250 if (consoleMessage.type === WebInspector.ConsoleMessage.MessageType. Trace) | 250 if (consoleMessage.type === WebInspector.ConsoleMessage.MessageType. Trace) |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
309 { | 309 { |
310 var target = this._target(); | 310 var target = this._target(); |
311 if (!target) | 311 if (!target) |
312 return null; | 312 return null; |
313 // FIXME(62725): stack trace line/column numbers are one-based. | 313 // FIXME(62725): stack trace line/column numbers are one-based. |
314 lineNumber = lineNumber ? lineNumber - 1 : 0; | 314 lineNumber = lineNumber ? lineNumber - 1 : 0; |
315 columnNumber = columnNumber ? columnNumber - 1 : 0; | 315 columnNumber = columnNumber ? columnNumber - 1 : 0; |
316 return this._linkifier.linkifyScriptLocation(target, scriptId, url, line Number, columnNumber, "console-message-url"); | 316 return this._linkifier.linkifyScriptLocation(target, scriptId, url, line Number, columnNumber, "console-message-url"); |
317 }, | 317 }, |
318 | 318 |
319 /** | |
320 * @return {boolean} | |
321 */ | |
322 isErrorOrWarning: function() | |
323 { | |
324 return (this._message.level === WebInspector.ConsoleMessage.MessageLevel .Warning || this._message.level === WebInspector.ConsoleMessage.MessageLevel.Err or); | |
325 }, | |
326 | |
327 _format: function(parameters) | 319 _format: function(parameters) |
328 { | 320 { |
329 // This node is used like a Builder. Values are continually appended ont o it. | 321 // This node is used like a Builder. Values are continually appended ont o it. |
330 var formattedResult = createElement("span"); | 322 var formattedResult = createElement("span"); |
331 if (!parameters.length) | 323 if (!parameters.length) |
332 return formattedResult; | 324 return formattedResult; |
333 | 325 |
334 var target = this._target(); | 326 var target = this._target(); |
335 | 327 |
336 // Formatting code below assumes that parameters are all wrappers wherea s frontend console | 328 // Formatting code below assumes that parameters are all wrappers wherea s frontend console |
337 // API allows passing arbitrary values as messages (strings, numbers, et c.). Wrap them here. | 329 // API allows passing arbitrary values as messages (strings, numbers, et c.). Wrap them here. |
338 for (var i = 0; i < parameters.length; ++i) { | 330 for (var i = 0; i < parameters.length; ++i) { |
339 // FIXME: Only pass runtime wrappers here. | 331 // FIXME: Only pass runtime wrappers here. |
340 if (parameters[i] instanceof WebInspector.RemoteObject) | 332 if (parameters[i] instanceof WebInspector.RemoteObject) |
341 continue; | 333 continue; |
342 | 334 |
343 if (!target) { | 335 if (!target) { |
344 parameters[i] = WebInspector.RemoteObject.fromLocalObject(parame ters[i]); | 336 parameters[i] = WebInspector.RemoteObject.fromLocalObject(parame ters[i]); |
345 continue; | 337 continue; |
346 } | 338 } |
347 | 339 |
348 if (typeof parameters[i] === "object") | 340 if (typeof parameters[i] === "object") |
349 parameters[i] = target.runtimeModel.createRemoteObject(parameter s[i]); | 341 parameters[i] = target.runtimeModel.createRemoteObject(parameter s[i]); |
350 else | 342 else |
351 parameters[i] = target.runtimeModel.createRemoteObjectFromPrimit iveValue(parameters[i]); | 343 parameters[i] = target.runtimeModel.createRemoteObjectFromPrimit iveValue(parameters[i]); |
352 } | 344 } |
353 | 345 |
354 // There can be string log and string eval result. We distinguish betwee n them based on message type. | 346 // There can be string log and string eval result. We distinguish betwee n them based on message type. |
355 var shouldFormatMessage = WebInspector.RemoteObject.type(parameters[0]) === "string" && (this._message.type !== WebInspector.ConsoleMessage.MessageType. Result || this._message.level === WebInspector.ConsoleMessage.MessageLevel.Error ); | 347 var shouldFormatMessage = WebInspector.RemoteObject.type(parameters[0]) === "string" && (this._message.type !== WebInspector.ConsoleMessage.MessageType. Result || this._message.level === WebInspector.ConsoleMessage.MessageLevel.Error || this._message.level === WebInspector.ConsoleMessage.MessageLevel.RevokedErro r); |
356 | 348 |
357 // Multiple parameters with the first being a format string. Save unused substitutions. | 349 // Multiple parameters with the first being a format string. Save unused substitutions. |
358 if (shouldFormatMessage) { | 350 if (shouldFormatMessage) { |
359 // Multiple parameters with the first being a format string. Save un used substitutions. | 351 // Multiple parameters with the first being a format string. Save un used substitutions. |
360 var result = this._formatWithSubstitutionString(parameters[0].descri ption, parameters.slice(1), formattedResult); | 352 var result = this._formatWithSubstitutionString(parameters[0].descri ption, parameters.slice(1), formattedResult); |
361 parameters = result.unusedSubstitutions; | 353 parameters = result.unusedSubstitutions; |
362 if (parameters.length) | 354 if (parameters.length) |
363 formattedResult.createTextChild(" "); | 355 formattedResult.createTextChild(" "); |
364 } | 356 } |
365 | 357 |
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
934 }, | 926 }, |
935 | 927 |
936 /** | 928 /** |
937 * @return {!Element} | 929 * @return {!Element} |
938 */ | 930 */ |
939 toMessageElement: function() | 931 toMessageElement: function() |
940 { | 932 { |
941 if (this._wrapperElement) | 933 if (this._wrapperElement) |
942 return this._wrapperElement; | 934 return this._wrapperElement; |
943 | 935 |
944 this._wrapperElement = createElementWithClass("div", "console-message-wr apper"); | 936 this._wrapperElement = createElement("div"); |
937 this.updateMessageElement(); | |
938 return this._wrapperElement; | |
939 }, | |
940 | |
941 updateMessageElement: function() | |
942 { | |
943 if (!this._wrapperElement) | |
944 return; | |
945 | |
946 this._wrapperElement.className = "console-message-wrapper"; | |
947 this._wrapperElement.removeChildren(); | |
948 | |
945 this._nestingLevelMarkers = []; | 949 this._nestingLevelMarkers = []; |
946 for (var i = 0; i < this._nestingLevel; ++i) | 950 for (var i = 0; i < this._nestingLevel; ++i) |
947 this._nestingLevelMarkers.push(this._wrapperElement.createChild("div ", "nesting-level-marker")); | 951 this._nestingLevelMarkers.push(this._wrapperElement.createChild("div ", "nesting-level-marker")); |
948 this._updateCloseGroupDecorations(); | 952 this._updateCloseGroupDecorations(); |
949 this._wrapperElement.message = this; | 953 this._wrapperElement.message = this; |
950 | 954 |
951 switch (this._message.level) { | 955 switch (this._message.level) { |
952 case WebInspector.ConsoleMessage.MessageLevel.Log: | 956 case WebInspector.ConsoleMessage.MessageLevel.Log: |
953 this._wrapperElement.classList.add("console-log-level"); | 957 this._wrapperElement.classList.add("console-log-level"); |
954 break; | 958 break; |
955 case WebInspector.ConsoleMessage.MessageLevel.Debug: | 959 case WebInspector.ConsoleMessage.MessageLevel.Debug: |
956 this._wrapperElement.classList.add("console-debug-level"); | 960 this._wrapperElement.classList.add("console-debug-level"); |
957 break; | 961 break; |
958 case WebInspector.ConsoleMessage.MessageLevel.Warning: | 962 case WebInspector.ConsoleMessage.MessageLevel.Warning: |
959 this._wrapperElement.classList.add("console-warning-level"); | 963 this._wrapperElement.classList.add("console-warning-level"); |
960 break; | 964 break; |
961 case WebInspector.ConsoleMessage.MessageLevel.Error: | 965 case WebInspector.ConsoleMessage.MessageLevel.Error: |
962 this._wrapperElement.classList.add("console-error-level"); | 966 this._wrapperElement.classList.add("console-error-level"); |
963 break; | 967 break; |
968 case WebInspector.ConsoleMessage.MessageLevel.RevokedError: | |
969 this._wrapperElement.classList.add("console-revokedError-level"); | |
kozy
2015/04/20 13:35:06
Please don't use camel case.
pfeldman
2015/04/20 17:05:58
This is programmatically computed.
| |
970 break; | |
964 case WebInspector.ConsoleMessage.MessageLevel.Info: | 971 case WebInspector.ConsoleMessage.MessageLevel.Info: |
965 this._wrapperElement.classList.add("console-info-level"); | 972 this._wrapperElement.classList.add("console-info-level"); |
966 break; | 973 break; |
967 } | 974 } |
968 | 975 |
969 this._wrapperElement.appendChild(this.contentElement()); | 976 this._wrapperElement.appendChild(this.contentElement()); |
970 return this._wrapperElement; | |
971 }, | 977 }, |
972 | 978 |
973 /** | 979 /** |
974 * @param {!TreeElement} parentTreeElement | 980 * @param {!TreeElement} parentTreeElement |
975 */ | 981 */ |
976 _populateStackTraceTreeElement: function(parentTreeElement) | 982 _populateStackTraceTreeElement: function(parentTreeElement) |
977 { | 983 { |
978 var target = this._target(); | 984 var target = this._target(); |
979 if (!target) | 985 if (!target) |
980 return; | 986 return; |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1096 break; | 1102 break; |
1097 case WebInspector.ConsoleMessage.MessageLevel.Warning: | 1103 case WebInspector.ConsoleMessage.MessageLevel.Warning: |
1098 levelString = "Warning"; | 1104 levelString = "Warning"; |
1099 break; | 1105 break; |
1100 case WebInspector.ConsoleMessage.MessageLevel.Debug: | 1106 case WebInspector.ConsoleMessage.MessageLevel.Debug: |
1101 levelString = "Debug"; | 1107 levelString = "Debug"; |
1102 break; | 1108 break; |
1103 case WebInspector.ConsoleMessage.MessageLevel.Error: | 1109 case WebInspector.ConsoleMessage.MessageLevel.Error: |
1104 levelString = "Error"; | 1110 levelString = "Error"; |
1105 break; | 1111 break; |
1112 case WebInspector.ConsoleMessage.MessageLevel.RevokedError: | |
1113 levelString = "RevokedError"; | |
1114 break; | |
1106 case WebInspector.ConsoleMessage.MessageLevel.Info: | 1115 case WebInspector.ConsoleMessage.MessageLevel.Info: |
1107 levelString = "Info"; | 1116 levelString = "Info"; |
1108 break; | 1117 break; |
1109 } | 1118 } |
1110 | 1119 |
1111 return sourceString + " " + typeString + " " + levelString + ": " + this .formattedMessage().textContent + "\n" + this._message.url + " line " + this._me ssage.line; | 1120 return sourceString + " " + typeString + " " + levelString + ": " + this .formattedMessage().textContent + "\n" + this._message.url + " line " + this._me ssage.line; |
1112 }, | 1121 }, |
1113 | 1122 |
1114 get text() | 1123 get text() |
1115 { | 1124 { |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1284 { | 1293 { |
1285 if (!this._wrapperElement) { | 1294 if (!this._wrapperElement) { |
1286 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this ); | 1295 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this ); |
1287 this._wrapperElement.classList.toggle("collapsed", this._collapsed); | 1296 this._wrapperElement.classList.toggle("collapsed", this._collapsed); |
1288 } | 1297 } |
1289 return this._wrapperElement; | 1298 return this._wrapperElement; |
1290 }, | 1299 }, |
1291 | 1300 |
1292 __proto__: WebInspector.ConsoleViewMessage.prototype | 1301 __proto__: WebInspector.ConsoleViewMessage.prototype |
1293 } | 1302 } |
OLD | NEW |