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

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

Issue 2571713005: DevTools: untruncate links on console export (Closed)
Patch Set: up + test Created 4 years 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 4926fac9712de8b707479812097b27abdee2146e..fdfa420a7a2118872ddb324b687d1b430b2893f1 100644
--- a/third_party/WebKit/Source/devtools/front_end/components/Linkifier.js
+++ b/third_party/WebKit/Source/devtools/front_end/components/Linkifier.js
@@ -304,6 +304,8 @@ Components.Linkifier = class {
Components.Linkifier._bindUILocation(anchor, uiLocation);
var text = uiLocation.linkText();
+ var info = Components.Linkifier._linkInfo(anchor);
+ info.originalLinkText = text;
text = text.replace(/([a-f0-9]{7})[a-f0-9]{13}[a-f0-9]*/g, '$1\u2026');
if (this._maxLength)
text = text.trimMiddle(this._maxLength);
@@ -356,7 +358,8 @@ Components.Linkifier = class {
if (typeof lineNumber === 'number' && !text)
linkText += ':' + (lineNumber + 1);
var title = linkText !== url ? url : '';
- var link = Components.Linkifier._createLink(linkText.trimMiddle(150), className || '', title, url, preventClick);
+ var link = Components.Linkifier._createLink(
+ linkText, className || '', Components.Linkifier.MaxLengthForDisplayedURLs, title, url, preventClick);
dgozman 2016/12/19 18:38:01 150
luoe 2016/12/19 19:44:39 This was 150 before, but since MaxLengthForDisplay
var info = Components.Linkifier._linkInfo(link);
if (typeof lineNumber === 'number')
info.lineNumber = lineNumber;
@@ -373,7 +376,7 @@ Components.Linkifier = class {
*/
static linkifyRevealable(revealable, text, fallbackHref) {
var link = Components.Linkifier._createLink(
- text.trimMiddle(Components.Linkifier.MaxLengthForDisplayedURLs), '', undefined, fallbackHref);
+ text, '', Components.Linkifier.MaxLengthForDisplayedURLs, undefined, fallbackHref);
Components.Linkifier._linkInfo(link).revealable = revealable;
return link;
}
@@ -381,12 +384,13 @@ Components.Linkifier = class {
/**
* @param {string} text
* @param {string} className
+ * @param {number=} maxLength
* @param {string=} title
* @param {string=} href
* @param {boolean=} preventClick
* @returns{!Element}
*/
- static _createLink(text, className, title, href, preventClick) {
+ static _createLink(text, className, maxLength, title, href, preventClick) {
var link = createElementWithClass('span', className);
link.classList.add('devtools-link');
if (title)
@@ -394,6 +398,8 @@ Components.Linkifier = class {
if (href)
link.href = href;
link.textContent = text;
+ if (maxLength)
+ link.textContent = link.textContent.trimMiddle(maxLength);
link[Components.Linkifier._infoSymbol] = {
icon: null,
enableDecorator: false,
@@ -403,7 +409,8 @@ Components.Linkifier = class {
lineNumber: null,
columnNumber: null,
revealable: null,
- fallback: null
+ fallback: null,
+ originalLinkText: text
};
if (!preventClick)
link.addEventListener('click', Components.Linkifier._handleClick, false);
@@ -414,6 +421,15 @@ Components.Linkifier = class {
/**
* @param {?Element} link
+ * @return {?string}
+ */
+ static originalLinkText(link) {
+ var info = this._linkInfo(link);
+ return info ? info.originalLinkText : null;
+ }
+
+ /**
+ * @param {?Element} link
* @return {?Components._LinkInfo}
*/
static _linkInfo(link) {
@@ -545,7 +561,8 @@ Components.Linkifier._infoSymbol = Symbol('Linkifier.info');
* lineNumber: ?number,
* columnNumber: ?number,
* revealable: ?Object,
- * fallback: ?Element
+ * fallback: ?Element,
+ * originalLinkText: string
* }}
*/
Components._LinkInfo;

Powered by Google App Engine
This is Rietveld 408576698