| Index: Source/devtools/front_end/ConsoleViewMessage.js
|
| diff --git a/Source/devtools/front_end/ConsoleViewMessage.js b/Source/devtools/front_end/ConsoleViewMessage.js
|
| index 18f54e27ffa3d8275ec9a5b94247573f2ec6f2e8..bc530d79165b8b94fa9e968cc98e191f21066997 100644
|
| --- a/Source/devtools/front_end/ConsoleViewMessage.js
|
| +++ b/Source/devtools/front_end/ConsoleViewMessage.js
|
| @@ -30,7 +30,7 @@
|
|
|
| /**
|
| * @constructor
|
| - *
|
| + * @param {!WebInspector.Target} target
|
| * @param {!WebInspector.ConsoleMessage} consoleMessage
|
| * @param {?WebInspector.Linkifier} linkifier
|
| */
|
| @@ -161,11 +161,11 @@ WebInspector.ConsoleViewMessage.prototype = {
|
| }
|
|
|
| if (consoleMessage.source !== WebInspector.ConsoleMessage.MessageSource.Network || consoleMessage.request) {
|
| - if (consoleMessage.stackTrace && consoleMessage.stackTrace.length && consoleMessage.stackTrace[0].scriptId) {
|
| - this._anchorElement = this._linkifyCallFrame(consoleMessage.stackTrace[0]);
|
| - } else if (consoleMessage.url && consoleMessage.url !== "undefined") {
|
| + var callFrame = this._callFrameAnchorFromStackTrace(consoleMessage.stackTrace);
|
| + if (callFrame)
|
| + this._anchorElement = this._linkifyCallFrame(callFrame);
|
| + else if (consoleMessage.url && consoleMessage.url !== "undefined")
|
| this._anchorElement = this._linkifyLocation(consoleMessage.url, consoleMessage.line, consoleMessage.column);
|
| - }
|
| }
|
|
|
| this._formattedMessage.appendChild(this._messageElement);
|
| @@ -248,6 +248,30 @@ WebInspector.ConsoleViewMessage.prototype = {
|
| },
|
|
|
| /**
|
| + * @param {?Array.<!ConsoleAgent.CallFrame>} stackTrace
|
| + * @return {?ConsoleAgent.CallFrame}
|
| + */
|
| + _callFrameAnchorFromStackTrace: function(stackTrace)
|
| + {
|
| + if (!stackTrace || !stackTrace.length)
|
| + return null;
|
| + var callFrame = stackTrace[0].scriptId ? stackTrace[0] : null;
|
| + if (!WebInspector.experimentsSettings.frameworksDebuggingSupport.isEnabled())
|
| + return callFrame;
|
| + if (!WebInspector.settings.skipStackFramesSwitch.get())
|
| + return callFrame;
|
| + var regex = WebInspector.settings.skipStackFramesPattern.asRegExp();
|
| + if (!regex)
|
| + return callFrame;
|
| + for (var i = 0; i < stackTrace.length; ++i) {
|
| + var script = this._target.debuggerModel.scriptForId(stackTrace[i].scriptId);
|
| + if (!script || !regex.test(script.sourceURL))
|
| + return stackTrace[i].scriptId ? stackTrace[i] : null;
|
| + }
|
| + return callFrame;
|
| + },
|
| +
|
| + /**
|
| * @return {boolean}
|
| */
|
| isErrorOrWarning: function()
|
|
|