aboutsummaryrefslogtreecommitdiffstats
path: root/linkHints.js
diff options
context:
space:
mode:
authorBjörn2012-04-27 21:23:45 +0200
committerJez Ng2012-04-27 16:19:37 -0400
commit36ba08a4e14f7de05b3357b35666e7351083998d (patch)
tree093e4ac40253e0e16e0ada6978ee27b682de32c5 /linkHints.js
parentc4ed266304234788160bd1ede5370432c8710675 (diff)
downloadvimium-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.js17
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;
}
};