diff options
| author | mrmr1993 | 2017-11-09 15:47:22 +0000 | 
|---|---|---|
| committer | mrmr1993 | 2017-11-09 15:47:22 +0000 | 
| commit | a946edb5294fab414d5c2afa218e9f9e889394ce (patch) | |
| tree | 40b60a51f2e100211b654707796c224b3bc99bb5 | |
| parent | 56c2a89613199bc0369a66d19bf848e14b019671 (diff) | |
| download | vimium-a946edb5294fab414d5c2afa218e9f9e889394ce.tar.bz2 | |
Use HTML labels accessor to get link hint labels for input elements
| -rw-r--r-- | content_scripts/link_hints.coffee | 26 | 
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" | 
