Chromium Code Reviews| 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 6184cc95d5d4eb1254e5cddb10c6985f96a1c68c..b79e1db3a896ad0bdf2fad826a9cf0c7adbff69f 100644 |
| --- a/third_party/WebKit/Source/devtools/front_end/components/Linkifier.js |
| +++ b/third_party/WebKit/Source/devtools/front_end/components/Linkifier.js |
| @@ -303,10 +303,9 @@ Components.Linkifier = class { |
| return; |
| 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'); |
| + info.originalLinkText = uiLocation.linkText(true /* skipTrim */); |
| + var text = info.originalLinkText.replace(/([a-f0-9]{7})[a-f0-9]{13,}/g, '$1\u2026'); |
| if (this._maxLength) |
| text = text.trimMiddle(this._maxLength); |
| anchor.textContent = text; |
| @@ -419,12 +418,34 @@ Components.Linkifier = class { |
| } |
| /** |
| - * @param {?Element} link |
| - * @return {?string} |
| + * @param {!Array<!Node>} nodes |
| + * @return {string} |
| + */ |
| + static originalLinkText(nodes) { |
|
lushnikov
2017/04/11 22:59:34
let's pass a link here
luoe
2017/04/12 22:00:37
Done.
|
| + var text = ''; |
| + for (var i = 0; i < nodes.length; i++) { |
| + var info = this._linkInfo(nodes[i].parentElement); |
| + text += info ? info.originalLinkText : nodes[i].textContent; |
| + } |
| + return text; |
| + } |
| + |
| + /** |
| + * @param {number} offset |
| + * @param {!Node} node |
| + * @return {number} |
| */ |
| - static originalLinkText(link) { |
| + static selectionOffsetToOriginalOffset(offset, node) { |
|
lushnikov
2017/04/11 22:59:34
selectionOffsetToOriginalTextOffset ?
lushnikov
2017/04/11 22:59:34
let's pass link here
luoe
2017/04/12 22:00:37
Done.
luoe
2017/04/12 22:00:37
Done.
|
| + var link = node.parentElement; |
| var info = this._linkInfo(link); |
| - return info ? info.originalLinkText : null; |
| + var originalLinkText = info ? info.originalLinkText : null; |
| + if (originalLinkText === null) |
| + return offset; |
| + |
| + var truncatedLength = originalLinkText.length - link.textContent.length; |
| + if (offset > link.textContent.length >> 1) |
|
lushnikov
2017/04/11 22:59:34
/2
luoe
2017/04/12 22:00:37
Done.
|
| + offset += truncatedLength; |
| + return offset; |
| } |
| /** |