aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2017-11-25 11:34:44 +0000
committerGitHub2017-11-25 11:34:44 +0000
commit0ecf8c01b873d08d7f477a7d32ca2d55fefc74c4 (patch)
treef9fb2be492d43ce0794035f3c15937eda7dbf220
parent61bae6c7daa371d1a3b7146d46b120775d888b7c (diff)
parenta946edb5294fab414d5c2afa218e9f9e889394ce (diff)
downloadvimium-0ecf8c01b873d08d7f477a7d32ca2d55fefc74c4.tar.bz2
Merge pull request #2783 from mrmr1993/use-HTML5-labels
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 d4a95d36..6be163ef 100644
--- a/content_scripts/link_hints.coffee
+++ b/content_scripts/link_hints.coffee
@@ -807,25 +807,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
@@ -833,8 +818,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"