Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 1faeb3f

Browse files
committed
Disable on firefox
1 parent fea169e commit 1faeb3f

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

lib/web_ui/lib/src/engine/pointer_binding.dart

+3-2
Original file line numberDiff line numberDiff line change
@@ -341,10 +341,11 @@ mixin _WheelEventListenerMixin on _BaseAdapter {
341341
const int domDeltaPage = 0x02;
342342

343343
ui.PointerDeviceKind kind = ui.PointerDeviceKind.mouse;
344-
if ((event.deltaX % 120 != 0 || event.deltaY % 120 != 0) &&
344+
if ((browserEngine == BrowserEngine.blink || browserEngine == BrowserEngine.webkit) &&
345+
(event.deltaX % 120 != 0 || event.deltaY % 120 != 0) &&
345346
((event.wheelDeltaX ?? (-3 * event.deltaX)) == -3 * event.deltaX) &&
346347
((event.wheelDeltaY ?? (-3 * event.deltaY)) == -3 * event.deltaY)) {
347-
// While not standardized, all major browsers use a delta of 120 to
348+
// While not standardized, `blink` and `webkit` browsers use a delta of 120 to
348349
// represent one mouse wheel turn. If either dimension of the delta
349350
// is not divisible by 120, this event is not a normal mouse wheel event.
350351
// On macOS, mouse wheel events by default have an acceleration curve applied,

lib/web_ui/test/engine/pointer_binding_test.dart

+5
Original file line numberDiff line numberDiff line change
@@ -1154,6 +1154,11 @@ void testMain() {
11541154
],
11551155
'does set pointer device kind based on delta precision and wheelDelta',
11561156
(_ButtonedEventMixin context) {
1157+
if (isFirefox) {
1158+
// Firefox does not support trackpad events, as they cannot be
1159+
// disambiguated from smoothed mouse wheel events.
1160+
return;
1161+
}
11571162
PointerBinding.instance!.debugOverrideDetector(context);
11581163
final List<ui.PointerDataPacket> packets = <ui.PointerDataPacket>[];
11591164
ui.window.onPointerDataPacket = (ui.PointerDataPacket packet) {

0 commit comments

Comments
 (0)