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

Unified Diff: third_party/WebKit/Source/devtools/front_end/components/Linkifier.js

Issue 2902273002: DevTools: convert linkifyURL params into options object (Closed)
Patch Set: Created 3 years, 7 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: 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 b72baa3c79f0c14f754ce789260a77deadbe0b0d..7231ebd2a4ff30da0b6e17cd6e64303c3cf65f6f 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,16 @@ 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({
+ url: sourceURL,
+ className: classes,
+ lineNumber: lineNumber,
+ columnNumber: columnNumber,
+ maxLength: this._maxLength
+ });
+ }
if (!target || target.isDisposed())
return fallbackAnchor;
var debuggerModel = target.model(SDK.DebuggerModel);
@@ -188,9 +194,14 @@ Components.Linkifier = class {
* @return {!Element}
*/
linkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumber, classes) {
- return this.maybeLinkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumber, classes) ||
- Components.Linkifier.linkifyURL(
- sourceURL, undefined, classes, lineNumber, columnNumber, undefined, this._maxLength);
+ var scriptLink = this.maybeLinkifyScriptLocation(target, scriptId, sourceURL, lineNumber, columnNumber, classes);
+ return scriptLink || Components.Linkifier.linkifyURL({
+ url: sourceURL,
+ className: classes,
+ lineNumber: lineNumber,
+ columnNumber: columnNumber,
+ maxLength: this._maxLength
+ });
}
/**
@@ -226,8 +237,13 @@ 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({
+ url: topFrame.url,
+ className: classes,
+ lineNumber: topFrame.lineNumber,
+ columnNumber: topFrame.columnNumber,
+ maxLength: this._maxLength
+ });
if (target.isDisposed())
return fallbackAnchor;
@@ -323,16 +339,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(options) {
pfeldman 2017/05/31 21:54:59 In my original review, I was suggesting to only co
luoe 2017/06/02 18:21:12 I see. Looks better to me!
+ var url = options.url;
+ var text = options.text;
+ var className = options.className || '';
+ var lineNumber = options.lineNumber;
+ var columnNumber = options.columnNumber;
+ var preventClick = options.preventClick;
+ var maxLength = maxLength || UI.MaxLengthForDisplayedURLs;
if (!url || url.trim().toLowerCase().startsWith('javascript:')) {
var element = createElementWithClass('span', className);
element.textContent = text || url || Common.UIString('(unknown)');
@@ -343,8 +360,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;
@@ -607,6 +623,19 @@ Components.Linkifier._untruncatedNodeTextSymbol = Symbol('Linkifier.untruncatedN
Components._LinkInfo;
/**
+ * @typedef {{
+ * url: string,
+ * 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
* @type {number}
@@ -692,7 +721,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: url, text: title, lineNumber: lineNumber, columnNumber: columnNumber});
}
return Components.linkifyStringAsFragmentWithCustomLinkifier(string, linkifier);

Powered by Google App Engine
This is Rietveld 408576698