From b7f0487d32dd50b73cf7729bbb4a900db9b786c8 Mon Sep 17 00:00:00 2001
From: Stephen Blott
Date: Sun, 13 Mar 2016 08:10:23 +0000
Subject: Global link hints; revert b7535a604954b5873d825eb66bfecd08f1f2c99b.
Here's why:
- b7535a604954b5873d825eb66bfecd08f1f2c99b is complicated and complex (O(n^2)).
- With experience, it is not obviously better than what was there
before, and in some cases it's worse.
- b7535a604954b5873d825eb66bfecd08f1f2c99b selects way too much text in
some cases; e.g. on Google Inbox, it selects text lengths in the tens
of thousands of characters. That cannot be useful.
- With global hints, this extra cost (resulting from passing large
objects between frames) is significant and noticable.
- The simpler approach of accounting for text length when scoring
filtered hints (tweaked here: 5cbc5ad702a01a81b98f8c82edb3b6d227c2c7b5)
works better in practice.
---
content_scripts/link_hints.coffee | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
(limited to 'content_scripts')
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee
index 32d67ab9..fae255c6 100644
--- a/content_scripts/link_hints.coffee
+++ b/content_scripts/link_hints.coffee
@@ -321,7 +321,6 @@ LocalHints =
hint.hasHref = hint.element.href? for hint in localHints
if Settings.get "filterLinkHints"
- DomUtils.textContent.reset()
@generateLabelMap()
extend hint, @generateLinkText hint.element for hint in localHints
@@ -354,14 +353,14 @@ LocalHints =
linkText = element.value
if not linkText and 'placeholder' of element
linkText = element.placeholder
- # check if there is an image embedded in the tag
+ # Check if there is an image embedded in the tag.
else if (nodeName == "a" && !element.textContent.trim() &&
element.firstElementChild &&
element.firstElementChild.nodeName.toLowerCase() == "img")
linkText = element.firstElementChild.alt || element.firstElementChild.title
showLinkText = true if (linkText)
else
- linkText = DomUtils.textContent.get element
+ linkText = (element.textContent.trim() || element.innerHTML.trim())[...512]
{linkText, showLinkText}
--
cgit v1.2.3