Open Bug 1151654 Opened 8 years ago Updated 2 years ago

APZ changes wheel preventDefault behavior

Categories

(Core :: Panning and Zooming, defect, P3)

defect

Tracking

()

People

(Reporter: dvander, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: correctness, Whiteboard: [gfx-noted])

Attachments

(2 files)

APZ changes preventDefault behavior for wheel events in two ways: one, the start of a transaction (which is somewhat arbitrary) determines the preventDefault() status for the entire transaction, and two, APZ will stop waiting on content if it takes longer than 300ms.

Chrome appears to not do either of these things. I don't know how much we can get away with, but I'll attach two test cases for posterity.

If we do change it, we should consider only changing it for trackpads that don't send start/stop events (which unfortunately is most Windows devices).
Attached file test case 1
On this test, every other wheel event should be preventDefaulted. Chrome passes, Firefox APZ usually ignores the preventDefaults.
Attached file test case 2
This test case tries to time out APZ, then preventDefaults. Chrome doesn't have a timeout, so it doesn't scroll. Firefox does scroll.
Keywords: correctness
Whiteboard: [gfx-noted]
David, do you have any plans to fix this?
Flags: needinfo?(dvander)
No. Last I recall we decided we weren't worried about this.
Assignee: dvander → nobody
Status: ASSIGNED → NEW
Flags: needinfo?(dvander)

These pages also mess up scrolling in other tabs. Shouldn't that raise the priority of this ticket?

Which pages, and how do they interfere with other tabs? That sounds like it deserves a new bug. Please file one.

(In reply to Markus Stange [:mstange] from comment #6)

Which pages, and how do they interfere with other tabs? That sounds like it deserves a new bug. Please file one.

So I tried recreating this bug with a brand new profile (to record and report the bug) and I couldn't. It's either my profile or one of the add-ons I guess.

You need to log in before you can comment on or make changes to this bug.