| 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 2807648aeae75321e40d69a71a08b7956c45816a..4b6c0555064adccc83d1309cbf3a13f7d5c7b921 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/components/Linkifier.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/components/Linkifier.js
|
| @@ -149,10 +149,12 @@ Components.Linkifier = class {
|
| * @return {?Element}
|
| */
|
| maybeLinkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumber, classes) {
|
| - var fallbackAnchor = sourceURL ?
|
| - Components.Linkifier.linkifyURL(
|
| - sourceURL, undefined, classes, lineNumber, columnNumber, undefined, this._maxLength) :
|
| - null;
|
| + var fallbackAnchor = null;
|
| + if (sourceURL) {
|
| + fallbackAnchor = Components.Linkifier.linkifyURL(
|
| + sourceURL,
|
| + {className: classes, lineNumber: lineNumber, columnNumber: columnNumber, maxLength: this._maxLength});
|
| + }
|
| if (!target || target.isDisposed())
|
| return fallbackAnchor;
|
| var debuggerModel = target.model(SDK.DebuggerModel);
|
| @@ -188,9 +190,11 @@ Components.Linkifier = class {
|
| * @return {!Element}
|
| */
|
| linkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumber, classes) {
|
| - return this.maybeLinkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumber, classes) ||
|
| + var scriptLink = this.maybeLinkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumber, classes);
|
| + return scriptLink ||
|
| Components.Linkifier.linkifyURL(
|
| - sourceURL, undefined, classes, lineNumber, columnNumber, undefined, this._maxLength);
|
| + sourceURL,
|
| + {className: classes, lineNumber: lineNumber, columnNumber: columnNumber, maxLength: this._maxLength});
|
| }
|
|
|
| /**
|
| @@ -226,8 +230,12 @@ Components.Linkifier = class {
|
| console.assert(stackTrace.callFrames && stackTrace.callFrames.length);
|
|
|
| var topFrame = stackTrace.callFrames[0];
|
| - var fallbackAnchor = Components.Linkifier.linkifyURL(
|
| - topFrame.url, undefined, classes, topFrame.lineNumber, topFrame.columnNumber, undefined, this._maxLength);
|
| + var fallbackAnchor = Components.Linkifier.linkifyURL(topFrame.url, {
|
| + className: classes,
|
| + lineNumber: topFrame.lineNumber,
|
| + columnNumber: topFrame.columnNumber,
|
| + maxLength: this._maxLength
|
| + });
|
| if (target.isDisposed())
|
| return fallbackAnchor;
|
|
|
| @@ -324,15 +332,17 @@ Components.Linkifier = class {
|
|
|
| /**
|
| * @param {string} url
|
| - * @param {string=} text
|
| - * @param {string=} className
|
| - * @param {number=} lineNumber
|
| - * @param {number=} columnNumber
|
| - * @param {boolean=} preventClick
|
| - * @param {number=} maxLength
|
| + * @param {!Components.LinkifyURLOptions=} options
|
| * @return {!Element}
|
| */
|
| - static linkifyURL(url, text, className, lineNumber, columnNumber, preventClick, maxLength) {
|
| + static linkifyURL(url, options) {
|
| + options = options || {};
|
| + var text = options.text;
|
| + var className = options.className || '';
|
| + var lineNumber = options.lineNumber;
|
| + var columnNumber = options.columnNumber;
|
| + var preventClick = options.preventClick;
|
| + var maxLength = options.maxLength || UI.MaxLengthForDisplayedURLs;
|
| if (!url || url.trim().toLowerCase().startsWith('javascript:')) {
|
| var element = createElementWithClass('span', className);
|
| element.textContent = text || url || Common.UIString('(unknown)');
|
| @@ -343,8 +353,7 @@ Components.Linkifier = class {
|
| if (typeof lineNumber === 'number' && !text)
|
| linkText += ':' + (lineNumber + 1);
|
| var title = linkText !== url ? url : '';
|
| - var link = Components.Linkifier._createLink(
|
| - linkText, className || '', maxLength || UI.MaxLengthForDisplayedURLs, title, url, preventClick);
|
| + var link = Components.Linkifier._createLink(linkText, className, maxLength, title, url, preventClick);
|
| var info = Components.Linkifier._linkInfo(link);
|
| if (typeof lineNumber === 'number')
|
| info.lineNumber = lineNumber;
|
| @@ -606,6 +615,18 @@ Components.Linkifier._untruncatedNodeTextSymbol = Symbol('Linkifier.untruncatedN
|
| */
|
| Components._LinkInfo;
|
|
|
| +/**
|
| + * @typedef {{
|
| + * text: (string|undefined),
|
| + * className: (string|undefined),
|
| + * lineNumber: (number|undefined),
|
| + * columnNumber: (number|undefined),
|
| + * preventClick: (boolean|undefined),
|
| + * maxLength: (number|undefined)
|
| + * }}
|
| + */
|
| +Components.LinkifyURLOptions;
|
| +
|
| /**
|
| * The maximum length before strings are considered too long for finding URLs.
|
| * @const
|
| @@ -692,7 +713,7 @@ Components.linkifyStringAsFragment = function(string) {
|
| * @return {!Node}
|
| */
|
| function linkifier(title, url, lineNumber, columnNumber) {
|
| - return Components.Linkifier.linkifyURL(url, title, undefined, lineNumber, columnNumber);
|
| + return Components.Linkifier.linkifyURL(url, {text: title, lineNumber: lineNumber, columnNumber: columnNumber});
|
| }
|
|
|
| return Components.linkifyStringAsFragmentWithCustomLinkifier(string, linkifier);
|
|
|