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 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
189 } | 189 } |
190 this._messageElement = this._format([consoleMessage.messageT ext]); | 190 this._messageElement = this._format([consoleMessage.messageT ext]); |
191 } | 191 } |
192 } else { | 192 } else { |
193 var args = consoleMessage.parameters || [consoleMessage.messageT ext]; | 193 var args = consoleMessage.parameters || [consoleMessage.messageT ext]; |
194 this._messageElement = this._format(args); | 194 this._messageElement = this._format(args); |
195 } | 195 } |
196 } | 196 } |
197 | 197 |
198 if (consoleMessage.source !== WebInspector.ConsoleMessage.MessageSource. Network || consoleMessage.request) { | 198 if (consoleMessage.source !== WebInspector.ConsoleMessage.MessageSource. Network || consoleMessage.request) { |
199 var callFrame = this._callFrameAnchorFromStackTrace(consoleMessage.s tackTrace); | 199 console.assert(this._linkifier); |
200 if (callFrame) | 200 if (this._linkifier) |
201 this._anchorElement = this._linkifyCallFrame(callFrame); | 201 this._anchorElement = this._linkifier.linkifyTopUnblackboxedCons oleCallFrame(this._target(), consoleMessage.stackTrace, "console-message-url", t rue); |
vsevik
2014/08/07 09:11:58
I don't think we should update the console message
aandrey
2014/08/07 10:24:59
I'm not sure I follow you here.
Anyway, I did't ch
| |
202 else if (consoleMessage.url && consoleMessage.url !== "undefined") | 202 if (!this._anchorElement && consoleMessage.url && consoleMessage.url !== "undefined") |
203 this._anchorElement = this._linkifyLocation(consoleMessage.url, consoleMessage.line, consoleMessage.column); | 203 this._anchorElement = this._linkifyLocation(consoleMessage.url, consoleMessage.line, consoleMessage.column); |
204 } | 204 } |
205 | 205 |
206 this._formattedMessage.appendChild(this._messageElement); | 206 this._formattedMessage.appendChild(this._messageElement); |
207 if (this._anchorElement) { | 207 if (this._anchorElement) { |
208 this._formattedMessage.appendChild(document.createTextNode(" ")); | 208 this._formattedMessage.appendChild(document.createTextNode(" ")); |
209 this._formattedMessage.appendChild(this._anchorElement); | 209 this._formattedMessage.appendChild(this._anchorElement); |
210 } | 210 } |
211 | 211 |
212 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 ); | 212 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 ); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
248 /** | 248 /** |
249 * @param {string} url | 249 * @param {string} url |
250 * @param {number} lineNumber | 250 * @param {number} lineNumber |
251 * @param {number} columnNumber | 251 * @param {number} columnNumber |
252 * @return {?Element} | 252 * @return {?Element} |
253 */ | 253 */ |
254 _linkifyLocation: function(url, lineNumber, columnNumber) | 254 _linkifyLocation: function(url, lineNumber, columnNumber) |
255 { | 255 { |
256 console.assert(this._linkifier); | 256 console.assert(this._linkifier); |
257 var target = this._target(); | 257 var target = this._target(); |
258 if (!this._linkifier || !target) | 258 if (!this._linkifier) |
259 return null; | 259 return null; |
260 // FIXME(62725): stack trace line/column numbers are one-based. | 260 // FIXME(62725): stack trace line/column numbers are one-based. |
261 lineNumber = lineNumber ? lineNumber - 1 : 0; | 261 lineNumber = lineNumber ? lineNumber - 1 : 0; |
262 columnNumber = columnNumber ? columnNumber - 1 : 0; | 262 columnNumber = columnNumber ? columnNumber - 1 : 0; |
263 if (this._message.source === WebInspector.ConsoleMessage.MessageSource.C SS) { | 263 if (this._message.source === WebInspector.ConsoleMessage.MessageSource.C SS) { |
264 if (!target) | |
265 return null; | |
264 var headerIds = target.cssModel.styleSheetIdsForURL(url); | 266 var headerIds = target.cssModel.styleSheetIdsForURL(url); |
265 var cssLocation = new WebInspector.CSSLocation(target, headerIds[0] || null, url, lineNumber, columnNumber); | 267 var cssLocation = new WebInspector.CSSLocation(target, headerIds[0] || null, url, lineNumber, columnNumber); |
266 return this._linkifier.linkifyCSSLocation(cssLocation, "console-mess age-url"); | 268 return this._linkifier.linkifyCSSLocation(cssLocation, "console-mess age-url"); |
267 } | 269 } |
268 | 270 |
269 return this._linkifier.linkifyScriptLocation(target, null, url, lineNumb er, columnNumber, "console-message-url"); | 271 return this._linkifier.linkifyScriptLocation(target, null, url, lineNumb er, columnNumber, "console-message-url"); |
270 }, | 272 }, |
271 | 273 |
272 /** | 274 /** |
273 * @param {!ConsoleAgent.CallFrame} callFrame | |
274 * @return {?Element} | |
275 */ | |
276 _linkifyCallFrame: function(callFrame) | |
277 { | |
278 console.assert(this._linkifier); | |
279 var target = this._target(); | |
280 if (!this._linkifier) | |
281 return null; | |
282 | |
283 return this._linkifier.linkifyConsoleCallFrame(target, callFrame, "conso le-message-url"); | |
284 }, | |
285 | |
286 /** | |
287 * @param {?Array.<!ConsoleAgent.CallFrame>} stackTrace | |
288 * @return {?ConsoleAgent.CallFrame} | |
289 */ | |
290 _callFrameAnchorFromStackTrace: function(stackTrace) | |
291 { | |
292 if (!stackTrace || !stackTrace.length) | |
293 return null; | |
294 var callFrame = stackTrace[0].scriptId ? stackTrace[0] : null; | |
295 if (!WebInspector.experimentsSettings.frameworksDebuggingSupport.isEnabl ed()) | |
296 return callFrame; | |
297 var regex = WebInspector.settings.skipStackFramesPattern.asRegExp(); | |
298 if (!regex) | |
299 return callFrame; | |
300 for (var i = 0; i < stackTrace.length; ++i) { | |
301 var script = this._target().debuggerModel.scriptForId(stackTrace[i]. scriptId); | |
302 if (!script || !regex.test(script.sourceURL)) | |
303 return stackTrace[i].scriptId ? stackTrace[i] : null; | |
304 } | |
305 return callFrame; | |
306 }, | |
307 | |
308 /** | |
309 * @return {boolean} | 275 * @return {boolean} |
310 */ | 276 */ |
311 isErrorOrWarning: function() | 277 isErrorOrWarning: function() |
312 { | 278 { |
313 return (this._message.level === WebInspector.ConsoleMessage.MessageLevel .Warning || this._message.level === WebInspector.ConsoleMessage.MessageLevel.Err or); | 279 return (this._message.level === WebInspector.ConsoleMessage.MessageLevel .Warning || this._message.level === WebInspector.ConsoleMessage.MessageLevel.Err or); |
314 }, | 280 }, |
315 | 281 |
316 _format: function(parameters) | 282 _format: function(parameters) |
317 { | 283 { |
318 // This node is used like a Builder. Values are continually appended ont o it. | 284 // This node is used like a Builder. Values are continually appended ont o it. |
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1055 if (!stackTrace) | 1021 if (!stackTrace) |
1056 return; | 1022 return; |
1057 | 1023 |
1058 for (var i = 0; i < stackTrace.length; i++) { | 1024 for (var i = 0; i < stackTrace.length; i++) { |
1059 var frame = stackTrace[i]; | 1025 var frame = stackTrace[i]; |
1060 | 1026 |
1061 var content = document.createElementWithClass("div", "stacktrace -entry"); | 1027 var content = document.createElementWithClass("div", "stacktrace -entry"); |
1062 var functionName = frame.functionName || WebInspector.UIString(" (anonymous function)"); | 1028 var functionName = frame.functionName || WebInspector.UIString(" (anonymous function)"); |
1063 content.createChild("span", "console-message-text source-code"). textContent = functionName; | 1029 content.createChild("span", "console-message-text source-code"). textContent = functionName; |
1064 | 1030 |
1065 if (frame.scriptId) { | 1031 if (frame.scriptId && this._linkifier) { |
1066 content.createTextChild(" "); | 1032 content.createTextChild(" "); |
1067 var urlElement = this._linkifyCallFrame(frame); | 1033 content.appendChild(this._linkifier.linkifyConsoleCallFrame( this._target(), frame, "console-message-url")); |
1068 if (!urlElement) | |
1069 continue; | |
1070 content.appendChild(urlElement); | |
1071 } | 1034 } |
1072 | 1035 |
1073 parentTreeElement.appendChild(new TreeElement(content)); | 1036 parentTreeElement.appendChild(new TreeElement(content)); |
1074 } | 1037 } |
1075 } | 1038 } |
1076 | 1039 |
1077 appendStackTrace.call(this, this._message.stackTrace); | 1040 appendStackTrace.call(this, this._message.stackTrace); |
1078 | 1041 |
1079 for (var asyncTrace = this._message.asyncStackTrace; asyncTrace; asyncTr ace = asyncTrace.asyncStackTrace) { | 1042 for (var asyncTrace = this._message.asyncStackTrace; asyncTrace; asyncTr ace = asyncTrace.asyncStackTrace) { |
1080 if (!asyncTrace.callFrames || !asyncTrace.callFrames.length) | 1043 if (!asyncTrace.callFrames || !asyncTrace.callFrames.length) |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1258 { | 1221 { |
1259 if (!this._wrapperElement) { | 1222 if (!this._wrapperElement) { |
1260 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this ); | 1223 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this ); |
1261 this._wrapperElement.classList.toggle("collapsed", this._collapsed); | 1224 this._wrapperElement.classList.toggle("collapsed", this._collapsed); |
1262 } | 1225 } |
1263 return this._wrapperElement; | 1226 return this._wrapperElement; |
1264 }, | 1227 }, |
1265 | 1228 |
1266 __proto__: WebInspector.ConsoleViewMessage.prototype | 1229 __proto__: WebInspector.ConsoleViewMessage.prototype |
1267 } | 1230 } |
OLD | NEW |