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

Unified Diff: Source/devtools/front_end/console/ConsoleViewMessage.js

Issue 448743002: DevTools: Linkify console stacks with blackboxing consideration. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: Source/devtools/front_end/console/ConsoleViewMessage.js
diff --git a/Source/devtools/front_end/console/ConsoleViewMessage.js b/Source/devtools/front_end/console/ConsoleViewMessage.js
index 829c4ee8106658402176d9d6aaedede2e726fdb1..d46a1f3cf884f81350c65cafcbf79173869f1073 100644
--- a/Source/devtools/front_end/console/ConsoleViewMessage.js
+++ b/Source/devtools/front_end/console/ConsoleViewMessage.js
@@ -196,10 +196,10 @@ WebInspector.ConsoleViewMessage.prototype = {
}
if (consoleMessage.source !== WebInspector.ConsoleMessage.MessageSource.Network || consoleMessage.request) {
- var callFrame = this._callFrameAnchorFromStackTrace(consoleMessage.stackTrace);
- if (callFrame)
- this._anchorElement = this._linkifyCallFrame(callFrame);
- else if (consoleMessage.url && consoleMessage.url !== "undefined")
+ console.assert(this._linkifier);
+ if (this._linkifier)
+ this._anchorElement = this._linkifier.linkifyTopUnblackboxedConsoleCallFrame(this._target(), consoleMessage.stackTrace, "console-message-url", true);
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
+ if (!this._anchorElement && consoleMessage.url && consoleMessage.url !== "undefined")
this._anchorElement = this._linkifyLocation(consoleMessage.url, consoleMessage.line, consoleMessage.column);
}
@@ -255,12 +255,14 @@ WebInspector.ConsoleViewMessage.prototype = {
{
console.assert(this._linkifier);
var target = this._target();
- if (!this._linkifier || !target)
+ if (!this._linkifier)
return null;
// FIXME(62725): stack trace line/column numbers are one-based.
lineNumber = lineNumber ? lineNumber - 1 : 0;
columnNumber = columnNumber ? columnNumber - 1 : 0;
if (this._message.source === WebInspector.ConsoleMessage.MessageSource.CSS) {
+ if (!target)
+ return null;
var headerIds = target.cssModel.styleSheetIdsForURL(url);
var cssLocation = new WebInspector.CSSLocation(target, headerIds[0] || null, url, lineNumber, columnNumber);
return this._linkifier.linkifyCSSLocation(cssLocation, "console-message-url");
@@ -270,42 +272,6 @@ WebInspector.ConsoleViewMessage.prototype = {
},
/**
- * @param {!ConsoleAgent.CallFrame} callFrame
- * @return {?Element}
- */
- _linkifyCallFrame: function(callFrame)
- {
- console.assert(this._linkifier);
- var target = this._target();
- if (!this._linkifier)
- return null;
-
- return this._linkifier.linkifyConsoleCallFrame(target, callFrame, "console-message-url");
- },
-
- /**
- * @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;
- 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()
@@ -1062,12 +1028,9 @@ WebInspector.ConsoleViewMessage.prototype = {
var functionName = frame.functionName || WebInspector.UIString("(anonymous function)");
content.createChild("span", "console-message-text source-code").textContent = functionName;
- if (frame.scriptId) {
+ if (frame.scriptId && this._linkifier) {
content.createTextChild(" ");
- var urlElement = this._linkifyCallFrame(frame);
- if (!urlElement)
- continue;
- content.appendChild(urlElement);
+ content.appendChild(this._linkifier.linkifyConsoleCallFrame(this._target(), frame, "console-message-url"));
}
parentTreeElement.appendChild(new TreeElement(content));
« no previous file with comments | « no previous file | Source/devtools/front_end/inspectorSyntaxHighlight.css » ('j') | Source/devtools/front_end/sdk/Linkifier.js » ('J')

Powered by Google App Engine
This is Rietveld 408576698