Closed Bug 1328064 (MozMousePixelScroll-vs-webdevs) Opened 7 years ago Closed 2 years ago

Youtube: scrolls by random amount of pixels (MozMousePixelScroll fails in determining correct event.detail from nearest ancestor scrollable element)

Categories

(Core :: DOM: Events, defect, P5)

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: arni2033, Unassigned)

References

Details

(Keywords: regression)

Attachments

(1 file)

>>> 
STR_1 shows that MozMousePixelScroll is broken; I made that many steps to explain how you should test
it. You can find my logging script by searching "by-arni2033" in markup. Other STR show consequences.

>>>   My Info:   Win7_64, Nightly 49, 32bit, ID 20160526082509
>>>   My Info:   Win7_64, Nightly 50, 32bit, ID 20160715063552 (2016-07-15)
STR_1 (root cause):
0. Set mouse option "when I rotate mouse wheel" in your OS to "scroll by 1 page"
1. Extract attached "testcases 1-2" into a folder with short full name

2.  Open "...YouTube.htm"
3.  Open web console, resize it so that menu at the left side of page was scrollable
4.  Hover mouse over any item inside menu, rotate mouse wheel down once, then up once  [�18]
5.  Hover mouse over scrollbar OR over empty space at the left of menu OR over scrollbar in menu,
    rotate mouse wheel down once, then up once                                         [�OK]
6.  Hover mouse over any video preview, rotate mouse wheel down once, then up once     [�100]

7.  Open "...Jesus.htm" in the same tab
8.  Hover mouse over any list item inside playlist, rotate mouse wheel down once, then up once  [�30]
9.  Hover mouse over scrollbar of playlist, rotate mouse wheel down once, then up once          [�OK]
10. Hover mouse over word "Search" at the top, rotate mouse wheel down once, then up once       [�24]

AR:  In each step when you rotate mouse wheel, MozMousePixelScroll reports numbers written in brackets
     after each step. "OK" means that MozMousePixelScroll reports correct number of pixels to scroll
ER:  MozMousePixelScroll should not report irrelevant numbers like �18 and �30, it should always
     report "...page height of the nearest ancestor scrollable element from the event target"


STR_2:
0. Set mouse option "when I rotate mouse wheel" in your OS to "scroll by 1 page"
1. Open url [1].
2. Hover mouse over any list item inside playlist, rotate mouse wheel down once, then up once
3. Hover mouse over scrollbar of playlist, rotate mouse wheel down once, then up once

AR:  In Step 2 playlist scrolls by the height of 1 item. In Step 3 playlist scrolls by 1 page
ER:  In both cases playlist should respect mouse settings (i.e. scroll by 1 page)


STR_3:
0. Set mouse option "when I rotate mouse wheel" in your OS to "scroll by 1 page"
1. Open url [2], open youtube menu at the top left. Resize the window so that vertical scrollbar
   appeared in youtube menu (I don't need this, because there're already too many items in that menu)
2. Hover mouse over any item inside menu, rotate mouse wheel down once, then up once
3. Hover mouse over scrollbar OR over empty space at the left of menu OR over scrollbar in menu,
   rotate mouse wheel down once, then up once

AR:  In Step 2 menu scrolls by the height of 1 item. In Step 3 menu scrolls by 1 page
ER:  In both cases menu should respect mouse settings (i.e. scroll by 1 page)

> [1] https://www.youtube.com/watch?v=u1xrNaTO1bI&index=2&list=PLZ2R24FzvHhSbUalTouIuXogsxjEwfCSS
> [2] https://www.youtube.com/channel/UCDj64sior23IP_7xLe8R7sg

STR_1 (this bug) is regression from bug 719320. Regression range:
> http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b5ae446888f5&tochange=df8bdd5813f0

You had two nonstandard scroll events. TWO!!! You've broken them both! And 'wheel' is questionable too
Are you ******* kidding me?!@ Masayuki Nakano [:masayuki] (Mozilla Japan):
It seems that this is a regresion caused by your change. Please have a look.
No longer blocks: 1277113
Component: Untriaged → DOM: Events
Product: Firefox → Core
@ Masayuki Nakano [:masayuki] (Mozilla Japan):
It seems that this is a regresion caused by your change. Please have a look.
Alias: MozMousePixelScroll-vs-webdevs
Flags: needinfo?(masayuki)
> STR_1

Did you check if Windows doesn't send such small amount of WM_MOUSEWHEEL messages to Gecko?

You can check it with using Spy++ or logging WinMouseScrollHandler with |MOZ_LOG=MouseScrollHandlerWidgets:3,sync| and |MOZ_LOG_FILE=c\Users\<user name>\wheel.log"| env settings (Search "MouseScroll::HandleMouseWheelMessage:| and "MouseScroll::HandleScrollMessageAsMouseWheelMessage:" in the log file).

> STR_2

Although, I don't understand which is "playlist". I cannot reproduce it with using wheel on right pain which lists up other videos.

> STR_3

Reproduced, but I'm not sure if it's handled by Gecko or event listener of YouTube (I guess that latter, because it doesn't handle scroll amount change of changing system settings correctly). Anyway, I need to investigate it later.

# Please file each bug separately. We cannot manage a bug including 2 or more issues. Sometimes, we fix several bugs with a fix, but it's okay for managing each issue's state.
Flags: needinfo?(masayuki) → needinfo?(arni2033)
> Your comment about STR_1
I see a provocation in your comment.
Reporter already did everything he was able to do: created the whole testcase for you. He was the
first one to request you to do some logging. Please perform STR_1 as you did w/ STR_2 and STR_3, and
provide your results. Any interference from reported will only be required if you couldn't reproduce
this on your end (you can ask me instead).

> Your comment about STR_2
The link is obsolete. The links from Youtube are changing too fast, therefore this link simply opens a
video, w/o playlist. Reporter assumed that you used Youtube at least once, and you saw some videos
opened in playlist (playlist is a scrollable dark area with small horizontal rectangles, each of them
is a link to another video). I hope after this commentary it's clear what was meant in comment 0, and
also, somebody on your side will be able to find a new link if the following link will break too.
Valid link that you can currently use as testcase:   (playlist is the black area at the right)
https://www.youtube.com/watch?v=u1xrNaTO1bI&list=RDu1xrNaTO1bI

> Your comment about STR_3
The reporter debugged Youtube, that's how he detected the root cause (see STR_1) and reported this
bug. STR_2 and STR_3 are simply manifestations of the bug.
Reporter seems to be banned for now, so he won't be able to open new bug anyway. Haha.
Flags: needinfo?(masayuki)
Priority: -- → P5

Hello I have tried to reproduce the issue using firefox 97.0a1(2021-12-13) on Windows 10, MacOS 10.15 and Ubuntu 20, unfortunately I wasn't able to reproduce the issue with the STR povided in the description.

Marking this issue as RESOLVED-WORKSFORME since there is no activity in the past years and the issue seems to not reproduce anymore.

Thank you!

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
Flags: needinfo?(masayuki)
Flags: needinfo?(arni2033)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: