From 5583e0f6921c8bc01fe701bf3c74ef34c4244f4a Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Tue, 16 Dec 2014 16:12:54 +0000 Subject: Do not use Math.sign(). --- content_scripts/scroller.coffee | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'content_scripts') 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. -- cgit v1.2.3 From 46a5bad5d7d3532431dca3c567ad4f148f565e08 Mon Sep 17 00:00:00 2001 From: Phil Crosby Date: Tue, 16 Dec 2014 10:49:55 -0800 Subject: Add a little more context to a comment --- content_scripts/vimium_frontend.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'content_scripts') diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index 491f5750..fa20cd9e 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -227,8 +227,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() -- cgit v1.2.3