aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts
diff options
context:
space:
mode:
authorStephen Blott2014-12-17 07:39:37 +0000
committerStephen Blott2014-12-17 07:39:37 +0000
commitc7213f8a12ff75c00da3c7bdadb38239b096cb19 (patch)
tree58f3a4ef7bd9f4fc62ebbaeea166020577c6352a /content_scripts
parentdb4b0c952fdf8fff517a4393cd07b04ecffb2ead (diff)
parent09f8527915eae8067072277e2b161493ede359cd (diff)
downloadvimium-c7213f8a12ff75c00da3c7bdadb38239b096cb19.tar.bz2
Merge branch 'master' into post-1.46
Diffstat (limited to 'content_scripts')
-rw-r--r--content_scripts/scroller.coffee11
-rw-r--r--content_scripts/vimium_frontend.coffee4
2 files changed, 11 insertions, 4 deletions
diff --git a/content_scripts/scroller.coffee b/content_scripts/scroller.coffee
index a2617289..09470158 100644
--- a/content_scripts/scroller.coffee
+++ b/content_scripts/scroller.coffee
@@ -4,6 +4,13 @@
#
activatedElement = null
+# Return 0, -1 or 1: the sign of the argument.
+getSign = (val) ->
+ if not val
+ 0
+ else
+ if val < 0 then -1 else 1
+
scrollProperties =
x: {
axisName: 'scrollLeft'
@@ -63,7 +70,7 @@ doesScroll = (element, direction, amount, factor) ->
# we're definitely scrolling forwards, so any positive value will do for delta. In the latter, we're
# definitely scrolling backwards, so a delta of -1 will do. For absolute scrolls, factor is always 1.
delta = factor * getDimension(element, direction, amount) || -1
- delta = Math.sign delta # 1 or -1
+ delta = getSign delta # 1 or -1
performScroll(element, direction, delta) and performScroll(element, direction, -delta)
# From element and its parents, find the first which we should scroll and which does scroll.
@@ -136,7 +143,7 @@ CoreScroller =
myKeyIsStillDown = => @time == activationTime and @keyIsDown
# Store amount's sign and make amount positive; the arithmetic is clearer when amount is positive.
- sign = Math.sign amount
+ sign = getSign amount
amount = Math.abs amount
# Initial intended scroll duration (in ms). We allow a bit longer for longer scrolls.
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee
index eaf66b72..e4680ff7 100644
--- a/content_scripts/vimium_frontend.coffee
+++ b/content_scripts/vimium_frontend.coffee
@@ -246,8 +246,8 @@ setScrollPosition = (scrollX, scrollY) ->
window.focusThisFrame = (shouldHighlight) ->
if window.innerWidth < 3 or window.innerHeight < 3
# This frame is too small to focus. Cancel and tell the background frame to focus the next one instead.
- # NOTE(smblott) We assume that there is at least one frame large enough to focus.
- # See #1317.
+ # This affects sites like Google Inbox, which have many tiny iframes. See #1317.
+ # Here we're assuming that there is at least one frame large enough to focus.
chrome.runtime.sendMessage({ handler: "nextFrame", frameId: frameId })
return
window.focus()