Index: third_party/WebKit/Source/devtools/front_end/console/ConsoleViewport.js |
diff --git a/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewport.js b/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewport.js |
index 89ae0cb8d8aa72efdc67e9af54f02d97030c76eb..7390cf4b4b63a758d7ef075f9bc7f5ae0b6c81be 100644 |
--- a/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewport.js |
+++ b/third_party/WebKit/Source/devtools/front_end/console/ConsoleViewport.js |
@@ -423,8 +423,11 @@ Console.ConsoleViewport = class { |
} |
var textLines = []; |
- for (var i = startSelection.item; i <= endSelection.item; ++i) |
- textLines.push(this._providerElement(i).element().deepTextContent()); |
+ for (var i = startSelection.item; i <= endSelection.item; ++i) { |
+ var currElement = this._providerElement(i).element(); |
+ var lineContent = Components.Linkifier.originalLinkText(currElement.childTextNodes()); |
+ textLines.push(lineContent); |
+ } |
var endSelectionElement = this._providerElement(endSelection.item).element(); |
if (endSelection.node && endSelection.node.isSelfOrDescendant(endSelectionElement)) { |
@@ -456,11 +459,13 @@ Console.ConsoleViewport = class { |
offset = container.textContent.length; |
} |
} |
- var chars = 0; |
var node = itemElement; |
+ var nodes = []; |
while ((node = node.traverseNextTextNode(itemElement)) && !node.isSelfOrDescendant(container)) |
- chars += node.textContent.length; |
- return chars + offset; |
+ nodes.push(node); |
+ var charsBeforeContainer = Components.Linkifier.originalLinkText(nodes).length; |
+ var offsetInContainer = Components.Linkifier.selectionOffsetToOriginalOffset(offset, container); |
+ return charsBeforeContainer + offsetInContainer; |
} |
/** |