Closed Bug 1057252 Opened 10 years ago Closed 8 years ago

Slow scrolling due to very small deltaY on wheel events (we use deltaMode = 1 (lines), IE/Chrome use 0 (pixels))

Categories

(Core :: Widget: Win32, defect)

x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: sawrubh, Unassigned)

Details

STR: * Open http://9gag.tv/p/a5y74W/barely-legal-pawn-breaking-bad-bryan-cranston-aaron-paul-julia-louis-dreyfus?ref=tcl * Scroll the list of videos on the right. * This happens on Tumblr as well. Open Tumblr. * Login and go to Dashboard. * Click Customize. * Scroll in the left panel which allows you to edit themes. What happens: Very slow scrolling. It scrolls alright in Chrome.
Apparently fixed now.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WORKSFORME
I see this issue again. Not sure if it's an issue of the browser or the website.
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
This is an issue in the script in jarvis-lib.<hash>.min.js in the code that starts: function j(c) { if (m.contentRatio < 1) { (after un-blackboxing + prettifying the source in the debugger) It looks like: function j(c) { if (m.contentRatio < 1) { var d = c || window.event, e = 'delta' + m.options.axis.toUpperCase(), f = - (d[e] || d.detail || - 1 / 3 * d.wheelDelta) / 40; m.contentPosition -= f * m.options.wheelSpeed, d[e] ends up being deltaY, which is some small number on Firefox (3 or -3 in my case) m.options.wheelSpeed is set to 40, so the division and wheelSpeed cancel each other out and we scroll by 3 or 4 pixels. Chrome, on the other hand, seems to be using deltaY == 100 here. The trick is that the wheel event per the w3c spec lets you define deltaY in 3 ways: by pixels, lines or pages. We use lines, so '3' means '3 lines of text' whereas chrome uses pixels, which explains the difference. The page should read event.deltaMode, too (seems to be correctly set in both Chrome, FF and IE) and judge based on that. That being said... both IE and Chrome use pixels. I don't know why / under what circumstances we use lines. Is there any reason not to switch to px to be consistent? smaug, do you know?
Component: Untriaged → DOM: Events
Flags: needinfo?(bugs)
Product: Firefox → Core
Summary: Scrolls very slowly on 9gag.tv and Tumblr Settings page → Slow scrolling due to very small deltaY on wheel events
Summary: Slow scrolling due to very small deltaY on wheel events → Slow scrolling due to very small deltaY on wheel events (we use deltaMode = 1 (lines), IE/Chrome use 0 (pixels))
Because we don't actually have any accurate pixel information in this case. We deal with line or page scrolling only in Windows widget code.
Component: DOM: Events → Widget: Win32
Flags: needinfo?(bugs)
(In reply to Olli Pettay [:smaug] from comment #4) > Because we don't actually have any accurate pixel information in this case. > We deal with line or page scrolling only in Windows widget code. Based on that, this seems like a won't fix
Status: REOPENED → RESOLVED
Closed: 10 years ago8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.