| Index: third_party/WebKit/Source/devtools/front_end/components/Linkifier.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/components/Linkifier.js b/third_party/WebKit/Source/devtools/front_end/components/Linkifier.js
|
| index c1c0279ca26fc9e1d7a8b630dcfa68e2d673ce04..fafc839fb64d3b8bcf2a5b23634abccfab9f31dd 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/components/Linkifier.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/components/Linkifier.js
|
| @@ -160,19 +160,20 @@ WebInspector.Linkifier.prototype = {
|
| * @param {number} lineNumber
|
| * @param {number=} columnNumber
|
| * @param {string=} classes
|
| - * @return {!Element}
|
| + * @return {?Element}
|
| */
|
| - linkifyScriptLocation: function(target, scriptId, sourceURL, lineNumber, columnNumber, classes)
|
| + maybeLinkifyScriptLocation: function(target, scriptId, sourceURL, lineNumber, columnNumber, classes)
|
| {
|
| - var fallbackAnchor = WebInspector.linkifyResourceAsNode(sourceURL, lineNumber, columnNumber, classes);
|
| + var fallbackAnchor = sourceURL ? WebInspector.linkifyResourceAsNode(sourceURL, lineNumber, columnNumber, classes) : null;
|
| if (!target || target.isDetached())
|
| return fallbackAnchor;
|
| var debuggerModel = WebInspector.DebuggerModel.fromTarget(target);
|
| if (!debuggerModel)
|
| return fallbackAnchor;
|
|
|
| - var rawLocation = scriptId ? debuggerModel.createRawLocationByScriptId(scriptId, lineNumber, columnNumber || 0) :
|
| - debuggerModel.createRawLocationByURL(sourceURL, lineNumber, columnNumber || 0);
|
| + var rawLocation =
|
| + debuggerModel.createRawLocationByScriptId(scriptId, lineNumber, columnNumber || 0) ||
|
| + debuggerModel.createRawLocationByURL(sourceURL, lineNumber, columnNumber || 0);
|
| if (!rawLocation)
|
| return fallbackAnchor;
|
|
|
| @@ -186,6 +187,21 @@ WebInspector.Linkifier.prototype = {
|
| },
|
|
|
| /**
|
| + * @param {?WebInspector.Target} target
|
| + * @param {?string} scriptId
|
| + * @param {string} sourceURL
|
| + * @param {number} lineNumber
|
| + * @param {number=} columnNumber
|
| + * @param {string=} classes
|
| + * @return {!Element}
|
| + */
|
| + linkifyScriptLocation: function(target, scriptId, sourceURL, lineNumber, columnNumber, classes)
|
| + {
|
| + return this.maybeLinkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumber, classes)
|
| + || WebInspector.linkifyResourceAsNode(sourceURL, lineNumber, columnNumber, classes);
|
| + },
|
| +
|
| + /**
|
| * @param {!WebInspector.DebuggerModel.Location} rawLocation
|
| * @param {string} fallbackUrl
|
| * @param {string=} classes
|
| @@ -200,20 +216,20 @@ WebInspector.Linkifier.prototype = {
|
| * @param {?WebInspector.Target} target
|
| * @param {!RuntimeAgent.CallFrame} callFrame
|
| * @param {string=} classes
|
| - * @return {!Element}
|
| + * @return {?Element}
|
| */
|
| - linkifyConsoleCallFrame: function(target, callFrame, classes)
|
| + maybeLinkifyConsoleCallFrame: function(target, callFrame, classes)
|
| {
|
| - return this.linkifyScriptLocation(target, callFrame.scriptId, callFrame.url, callFrame.lineNumber, callFrame.columnNumber, classes);
|
| + return this.maybeLinkifyScriptLocation(target, callFrame.scriptId, callFrame.url, callFrame.lineNumber, callFrame.columnNumber, classes);
|
| },
|
|
|
| /**
|
| * @param {?WebInspector.Target} target
|
| * @param {!RuntimeAgent.CallFrame} callFrame
|
| * @param {string=} classes
|
| - * @return {!Element}
|
| + * @return {?Element}
|
| */
|
| - linkifyConsoleCallFrameForTimeline: function(target, callFrame, classes)
|
| + maybeLinkifyConsoleCallFrameForTimeline: function(target, callFrame, classes)
|
| {
|
| // TODO(kozyatinskiy): remove this when Profilers will migrate to 0-based lineNumber and columnNumber.
|
| return this.linkifyScriptLocation(target, callFrame.scriptId, callFrame.url, callFrame.lineNumber - 1, callFrame.columnNumber - 1, classes);
|
| @@ -534,7 +550,12 @@ WebInspector.linkifyStringAsFragment = function(string)
|
| */
|
| WebInspector.linkifyResourceAsNode = function(url, lineNumber, columnNumber, classes, tooltipText, urlDisplayName)
|
| {
|
| - var linkText = urlDisplayName ? urlDisplayName : url ? WebInspector.displayNameForURL(url) : WebInspector.UIString("(program)");
|
| + if (!url) {
|
| + var element = createElementWithClass("span", classes);
|
| + element.textContent = urlDisplayName || WebInspector.UIString("(unknown)");
|
| + return element;
|
| + }
|
| + var linkText = urlDisplayName || WebInspector.displayNameForURL(url);
|
| if (typeof lineNumber === "number")
|
| linkText += ":" + (lineNumber + 1);
|
| var anchor = WebInspector.linkifyURLAsNode(url, linkText, classes, false, tooltipText);
|
|
|