diff options
| author | Stephen Blott | 2017-11-25 11:34:44 +0000 |
|---|---|---|
| committer | GitHub | 2017-11-25 11:34:44 +0000 |
| commit | 0ecf8c01b873d08d7f477a7d32ca2d55fefc74c4 (patch) | |
| tree | f9fb2be492d43ce0794035f3c15937eda7dbf220 | |
| parent | 61bae6c7daa371d1a3b7146d46b120775d888b7c (diff) | |
| parent | a946edb5294fab414d5c2afa218e9f9e889394ce (diff) | |
| download | vimium-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.coffee | 26 |
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" |
