diff options
| author | Stephen Blott | 2016-04-03 08:37:51 +0100 | 
|---|---|---|
| committer | Stephen Blott | 2016-04-04 06:15:52 +0100 | 
| commit | 34f05dcc98c89ce64f242f46f57d95b4da4b77aa (patch) | |
| tree | 2c9fb836011508fb6a8f706bc682016d3aac2dcc | |
| parent | f8f29c0ea1801be68cec47fa86861afab9cc9055 (diff) | |
| download | vimium-34f05dcc98c89ce64f242f46f57d95b4da4b77aa.tar.bz2 | |
Keep showLinkText local for link hints.
We only need showLinkText in the hint's local frame, so do not transmit
it to remote frames.
| -rw-r--r-- | content_scripts/link_hints.coffee | 21 | 
1 files changed, 12 insertions, 9 deletions
| diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index 4229d549..4d9a02b8 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -79,8 +79,8 @@ HintCoordinator =        @localHints = LocalHints.getLocalHints()        console.log "getHintDescriptors", frameId, "[#{@localHints.length}]" if @debug        @sendMessage "postHintDescriptors", hintDescriptors: -        @localHints.map ({linkText, showLinkText, hasHref}, localIndex) -> -          {linkText, showLinkText, hasHref, frameId, localIndex} +        @localHints.map ({linkText, hasHref}, localIndex) -> +          {linkText, hasHref, frameId, localIndex}    # We activate LinkHintsMode() in every frame and provide every frame with exactly the same hint descriptors.    # We also propagate the key state between frames.  Therefore, the hint-selection process proceeds in lock @@ -187,19 +187,22 @@ class LinkHintsMode    createMarkerFor: (desc) ->      marker =        if desc.frameId == frameId +        localHintDescriptor = HintCoordinator.getLocalHintMarker desc          el = DomUtils.createElement "div" -        el.rect = HintCoordinator.getLocalHintMarker(desc).rect +        el.rect = localHintDescriptor.rect          el.style.left = el.rect.left + window.scrollX + "px"          el.style.top = el.rect.top  + window.scrollY  + "px" -        extend el, className: "vimiumReset internalVimiumHintMarker vimiumHintMarker" +        extend el, +          className: "vimiumReset internalVimiumHintMarker vimiumHintMarker" +          showLinkText: localHintDescriptor.showLinkText +          localHintDescriptor: localHintDescriptor        else          {}      extend marker,        hintDescriptor: desc -      linkText: desc.linkText -      showLinkText: desc.showLinkText        isLocalMarker: desc.frameId == frameId +      linkText: desc.linkText        stableSortCount: ++@stableSortCount    # Handles <Shift> and <Ctrl>. @@ -295,10 +298,10 @@ class LinkHintsMode    # selectively pushing the appropriate HintCoordinator.onExit handlers.    activateLink: (linkMatched, userMightOverType=false) ->      @removeHintMarkers() -    localHintDescriptor = HintCoordinator.getLocalHintMarker linkMatched.hintDescriptor -    clickEl = localHintDescriptor?.element -    if clickEl? +    if linkMatched.isLocalMarker +      localHintDescriptor = linkMatched.localHintDescriptor +      clickEl = localHintDescriptor.element        HintCoordinator.onExit.push (isSuccess) =>          if isSuccess            if localHintDescriptor.reason == "Frame." | 
