diff options
| author | Björn | 2012-04-27 21:23:45 +0200 |
|---|---|---|
| committer | Jez Ng | 2012-04-27 16:19:37 -0400 |
| commit | 36ba08a4e14f7de05b3357b35666e7351083998d (patch) | |
| tree | 093e4ac40253e0e16e0ada6978ee27b682de32c5 /linkHints.js | |
| parent | c4ed266304234788160bd1ede5370432c8710675 (diff) | |
| download | vimium-36ba08a4e14f7de05b3357b35666e7351083998d.tar.bz2 | |
flashElement: use an overlay, so zero-sized links are flashed as well
(no css manupulation of the target element)
Conflicts:
lib/domUtils.js
Diffstat (limited to 'linkHints.js')
| -rw-r--r-- | linkHints.js | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/linkHints.js b/linkHints.js index c729b832..8f91264c 100644 --- a/linkHints.js +++ b/linkHints.js @@ -184,7 +184,7 @@ var linkHints = { if (linksMatched.length == 0) { this.deactivateMode(); } else if (linksMatched.length == 1) { - this.activateLink(linksMatched[0].clickableItem, delay); + this.activateLink(linksMatched[0], delay); } else { for (var i in this.hintMarkers) this.hideMarker(this.hintMarkers[i]); @@ -199,15 +199,16 @@ var linkHints = { */ activateLink: function(matchedLink, delay) { this.delayMode = true; - if (domUtils.isSelectable(matchedLink)) { - domUtils.simulateSelect(matchedLink); + var clickEl = matchedLink.clickableItem; + if (domUtils.isSelectable(clickEl)) { + domUtils.simulateSelect(clickEl); this.deactivateMode(delay, function() { linkHints.delayMode = false; }); } else { // TODO figure out which other input elements should not receive focus - if (matchedLink.nodeName.toLowerCase() === 'input' && matchedLink.type !== 'button') - matchedLink.focus(); - domUtils.flashElement(matchedLink); - this.linkActivator(matchedLink); + if (clickEl.nodeName.toLowerCase() === 'input' && clickEl.type !== 'button') + clickEl.focus(); + domUtils.flashElement(clickEl, matchedLink.rect); + this.linkActivator(clickEl); if (this.shouldOpenWithQueue) { this.deactivateMode(delay, function() { linkHints.delayMode = false; @@ -544,6 +545,8 @@ var hintUtils = { marker.style.left = clientRect.left + window.scrollX + "px"; marker.style.top = clientRect.top + window.scrollY + "px"; + marker.rect = link.rect; + return marker; } }; |
