Chromium Code Reviews| 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 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 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 if (consoleMessage.parameters && consoleMessage.paramete rs.length === 1 && consoleMessage.parameters[0].type === "string") | |
| 170 this._messageElement = this._tryFormatAsError(/**@t ype {string} */(consoleMessage.parameters[0].value)); | |
| 171 | |
| 169 var args = consoleMessage.parameters || [consoleMessage. messageText]; | 172 var args = consoleMessage.parameters || [consoleMessage. messageText]; |
| 170 this._messageElement = this._format(args); | 173 this._messageElement = this._messageElement || this._for mat(args); |
| 171 } | 174 } |
| 172 } else if (consoleMessage.source === WebInspector.ConsoleMessage.Mes sageSource.Network) { | 175 } else if (consoleMessage.source === WebInspector.ConsoleMessage.Mes sageSource.Network) { |
| 173 if (consoleMessage.request) { | 176 if (consoleMessage.request) { |
| 174 this._messageElement = createElement("span"); | 177 this._messageElement = createElement("span"); |
| 175 if (consoleMessage.level === WebInspector.ConsoleMessage.Mes sageLevel.Error) { | 178 if (consoleMessage.level === WebInspector.ConsoleMessage.Mes sageLevel.Error) { |
| 176 this._messageElement.createTextChildren(consoleMessage.r equest.requestMethod, " "); | 179 this._messageElement.createTextChildren(consoleMessage.r equest.requestMethod, " "); |
| 177 this._messageElement.appendChild(WebInspector.Linkifier. linkifyUsingRevealer(consoleMessage.request, consoleMessage.request.url, console Message.request.url)); | 180 this._messageElement.appendChild(WebInspector.Linkifier. linkifyUsingRevealer(consoleMessage.request, consoleMessage.request.url, console Message.request.url)); |
| 178 if (consoleMessage.request.failed) | 181 if (consoleMessage.request.failed) |
| 179 this._messageElement.createTextChildren(" ", console Message.request.localizedFailDescription); | 182 this._messageElement.createTextChildren(" ", console Message.request.localizedFailDescription); |
| 180 else | 183 else |
| (...skipping 1076 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1257 break; | 1260 break; |
| 1258 } | 1261 } |
| 1259 | 1262 |
| 1260 return sourceString + " " + typeString + " " + levelString + ": " + this .formattedMessage().textContent + "\n" + this._message.url + " line " + this._me ssage.line; | 1263 return sourceString + " " + typeString + " " + levelString + ": " + this .formattedMessage().textContent + "\n" + this._message.url + " line " + this._me ssage.line; |
| 1261 }, | 1264 }, |
| 1262 | 1265 |
| 1263 get text() | 1266 get text() |
| 1264 { | 1267 { |
| 1265 return this._message.messageText; | 1268 return this._message.messageText; |
| 1266 }, | 1269 }, |
| 1270 | |
| 1271 /** | |
| 1272 * @param {string} string | |
| 1273 * @return {?Element} | |
| 1274 */ | |
| 1275 _tryFormatAsError: function(string) | |
| 1276 { | |
| 1277 if (!string.startsWith("Error")) | |
| 1278 return null; | |
| 1279 | |
| 1280 var lines = string.split("\n"); | |
| 1281 var beforeAts = true; | |
| 1282 //check format | |
| 1283 for (var i = 0; i < lines.length; ++i) { | |
|
vsevik
2014/10/23 08:40:57
var i = 0;
for (; i < lines.length && !lines[i].tr
| |
| 1284 var atLine = lines[i].trim().startsWith("at"); | |
| 1285 if (beforeAts && atLine) { | |
| 1286 beforeAts = false; | |
| 1287 continue; | |
| 1288 } | |
| 1289 if (!beforeAts && !atLine) | |
| 1290 return null; | |
| 1291 } | |
| 1292 | |
| 1293 if (beforeAts) | |
| 1294 return null; | |
| 1295 | |
| 1296 var formattedResult = createElement("span"); | |
| 1297 for (var i = 0; i < lines.length; ++i) { | |
|
vsevik
2014/10/23 08:40:57
for (var i = 0; i < firstAtLineIndex; ++i) {
...
| |
| 1298 var atLine = lines[i].trim().startsWith("at "); | |
| 1299 if (!atLine) | |
| 1300 formattedResult.appendChild(this._linkifier.linkifyStringAsFragm ent(this._target(), lines[i] + "\n")); | |
| 1301 else { | |
| 1302 var openBracket = lines[i].indexOf("("); | |
| 1303 var closeBracket = lines[i].indexOf(")"); | |
| 1304 var left = openBracket === -1 ? lines[i].indexOf("at") + 3 : ope nBracket + 1; | |
| 1305 var right = closeBracket === -1? lines[i].length : closeBracket; | |
| 1306 formattedResult.appendChild(createTextNode(lines[i].substring(0, left))); | |
| 1307 var toAppend = this._parseLink(lines[i].substring(left, right)); | |
|
vsevik
2014/10/23 08:40:57
We need to check that this line matches some very
| |
| 1308 formattedResult.appendChild(toAppend); | |
| 1309 formattedResult.appendChild(createTextNode(lines[i].substring(ri ght, lines[i].length) + "\n")) | |
| 1310 } | |
| 1311 | |
| 1312 } | |
| 1313 return formattedResult; | |
| 1314 }, | |
| 1315 | |
| 1316 /** | |
| 1317 * @param {string} link | |
| 1318 * @return {!Node} | |
| 1319 */ | |
| 1320 _parseLink: function(link) | |
| 1321 { | |
| 1322 var splitResult = WebInspector.ParsedURL.splitLineAndColumn(link); | |
| 1323 if (!splitResult) { | |
|
vsevik
2014/10/23 10:47:27
extra {
| |
| 1324 return this._linkifier.linkifyStringAsFragment(this._target(), link) ; | |
| 1325 } | |
| 1326 | |
| 1327 var parsed = splitResult.url.asParsedURL(); | |
| 1328 if (!parsed) | |
| 1329 parsed = new WebInspector.ParsedURL(WebInspector.targetManager.inspe ctedPageURL() + splitResult.url); | |
| 1330 | |
| 1331 return parsed.isValid ? this._linkifier.linkifyScriptLocation(this._targ et(), null, splitResult.url, splitResult.lineNumber, splitResult.columnNumber) : createTextNode(link); | |
|
vsevik
2014/10/23 10:47:27
Shouldn't we use parsed here?
| |
| 1332 } | |
| 1267 } | 1333 } |
| 1268 | 1334 |
| 1269 /** | 1335 /** |
| 1270 * @constructor | 1336 * @constructor |
| 1271 * @extends {WebInspector.ConsoleViewMessage} | 1337 * @extends {WebInspector.ConsoleViewMessage} |
| 1272 * @param {!WebInspector.ConsoleMessage} consoleMessage | 1338 * @param {!WebInspector.ConsoleMessage} consoleMessage |
| 1273 * @param {!WebInspector.Linkifier} linkifier | 1339 * @param {!WebInspector.Linkifier} linkifier |
| 1274 * @param {number} nestingLevel | 1340 * @param {number} nestingLevel |
| 1275 */ | 1341 */ |
| 1276 WebInspector.ConsoleGroupViewMessage = function(consoleMessage, linkifier, nesti ngLevel) | 1342 WebInspector.ConsoleGroupViewMessage = function(consoleMessage, linkifier, nesti ngLevel) |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 1306 { | 1372 { |
| 1307 if (!this._wrapperElement) { | 1373 if (!this._wrapperElement) { |
| 1308 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this ); | 1374 WebInspector.ConsoleViewMessage.prototype.toMessageElement.call(this ); |
| 1309 this._wrapperElement.classList.toggle("collapsed", this._collapsed); | 1375 this._wrapperElement.classList.toggle("collapsed", this._collapsed); |
| 1310 } | 1376 } |
| 1311 return this._wrapperElement; | 1377 return this._wrapperElement; |
| 1312 }, | 1378 }, |
| 1313 | 1379 |
| 1314 __proto__: WebInspector.ConsoleViewMessage.prototype | 1380 __proto__: WebInspector.ConsoleViewMessage.prototype |
| 1315 } | 1381 } |
| OLD | NEW |