diff options
| author | Stephen Blott | 2014-12-17 07:39:37 +0000 |
|---|---|---|
| committer | Stephen Blott | 2014-12-17 07:39:37 +0000 |
| commit | c7213f8a12ff75c00da3c7bdadb38239b096cb19 (patch) | |
| tree | 58f3a4ef7bd9f4fc62ebbaeea166020577c6352a /content_scripts/scroller.coffee | |
| parent | db4b0c952fdf8fff517a4393cd07b04ecffb2ead (diff) | |
| parent | 09f8527915eae8067072277e2b161493ede359cd (diff) | |
| download | vimium-c7213f8a12ff75c00da3c7bdadb38239b096cb19.tar.bz2 | |
Merge branch 'master' into post-1.46
Diffstat (limited to 'content_scripts/scroller.coffee')
| -rw-r--r-- | content_scripts/scroller.coffee | 11 |
1 files changed, 9 insertions, 2 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. |
