diff options
| author | Stephen Blott | 2016-03-12 10:00:25 +0000 |
|---|---|---|
| committer | Stephen Blott | 2016-03-28 05:44:11 +0100 |
| commit | bdf1469075c8e5cca8cd328ca326ac8df145a141 (patch) | |
| tree | 0e32539c74c88a6fd1ebc299fd713b9711dde024 | |
| parent | fe2e958ebbb4157d06a963ee8479ece7f2685c94 (diff) | |
| download | vimium-bdf1469075c8e5cca8cd328ca326ac8df145a141.tar.bz2 | |
Global link hints; reinstate href-based modes.
| -rw-r--r-- | content_scripts/link_hints.coffee | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index 7424b3f5..25f57316 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -53,17 +53,17 @@ HintCoordinator = onExit: [] sendMessage: (name, request = {}) -> - request = extend request, {handler: "linkHintsMessage", name, frameId} - chrome.runtime.sendMessage request + chrome.runtime.sendMessage extend request, {handler: "linkHintsMessage", name, frameId} - activateMode: (@mode, onExit) -> + activateMode: (mode, onExit) -> @onExit = [onExit] - @sendMessage "activateMode", modeIndex: availableModes.indexOf @mode + @sendMessage "activateMode", modeIndex: availableModes.indexOf mode getHints: -> @localHints = ClickableElements.getVisibleClickableElements() @sendMessage "postHints", hints: for hint, localIndex in @localHints - {rect: hint.rect, linkText: hint.linkText, showLinkText: hint.showLinkText, localIndex, frameId} + {rect: hint.rect, linkText: hint.linkText, showLinkText: hint.showLinkText, hasHref: hint.hasHref, + localIndex, frameId} activateLinkHintsMode: ({hints, modeIndex, frameId: activateModeFrameId}) -> @onExit = [] unless frameId == activateModeFrameId @@ -118,7 +118,7 @@ class LinkHintsModeBase # For these modes, we filter out those elements which don't have an HREF (since there's nothing we can do # with them). - elements = (el for el in elements when el.element.href?) if mode in [ COPY_LINK_URL, OPEN_INCOGNITO ] + elements = (el for el in elements when el.hasHref) if mode in [ COPY_LINK_URL, OPEN_INCOGNITO ] if elements.length == 0 HUD.showForDuration "No links to select.", 2000 @@ -328,6 +328,7 @@ ClickableElements = DomUtils.textContent.reset() extend hint, @generateLinkText hint.element for hint in nonOverlappingElements + hint.hasHref = hint.element.href? for hint in nonOverlappingElements nonOverlappingElements # Generate a map of input element => label |
