aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrmr19932017-11-09 15:47:22 +0000
committermrmr19932017-11-09 15:47:22 +0000
commita946edb5294fab414d5c2afa218e9f9e889394ce (patch)
tree40b60a51f2e100211b654707796c224b3bc99bb5
parent56c2a89613199bc0369a66d19bf848e14b019671 (diff)
downloadvimium-a946edb5294fab414d5c2afa218e9f9e889394ce.tar.bz2
Use HTML labels accessor to get link hint labels for input elements
-rw-r--r--content_scripts/link_hints.coffee26
1 files changed, 7 insertions, 19 deletions
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee
index 9145454a..2fa27d26 100644
--- a/content_scripts/link_hints.coffee
+++ b/content_scripts/link_hints.coffee
@@ -814,25 +814,10 @@ LocalHints =
hint.rect.left += left
if Settings.get "filterLinkHints"
- @withLabelMap (labelMap) =>
- extend hint, @generateLinkText labelMap, hint for hint in localHints
+ extend hint, @generateLinkText hint for hint in localHints
localHints
- # Generate a map of input element => label text, call a callback with it.
- withLabelMap: (callback) ->
- labelMap = {}
- labels = document.querySelectorAll "label"
- for label in labels
- forElement = label.getAttribute "for"
- if forElement
- labelText = label.textContent.trim()
- # Remove trailing ":" commonly found in labels.
- if labelText[labelText.length-1] == ":"
- labelText = labelText.substr 0, labelText.length-1
- labelMap[forElement] = labelText
- callback labelMap
-
- generateLinkText: (labelMap, hint) ->
+ generateLinkText: (hint) ->
element = hint.element
linkText = ""
showLinkText = false
@@ -840,8 +825,11 @@ LocalHints =
nodeName = element.nodeName.toLowerCase()
if nodeName == "input"
- if labelMap[element.id]
- linkText = labelMap[element.id]
+ if element.labels?.length > 0
+ linkText = element.labels[0].textContent.trim()
+ # Remove trailing ":" commonly found in labels.
+ if linkText[linkText.length-1] == ":"
+ linkText = linkText.substr 0, linkText.length-1
showLinkText = true
else if element.getAttribute("type")?.toLowerCase() == "file"
linkText = "Choose File"