diff --git a/content/events/test/test_continuous_wheel_events.html b/content/events/test/test_continuous_wheel_events.html index b0e26d6842f..58ddd0d75e6 100644 --- a/content/events/test/test_continuous_wheel_events.html +++ b/content/events/test/test_continuous_wheel_events.html @@ -8,7 +8,7 @@

-
+
Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
@@ -51,6 +51,7 @@ var gScrollableElement = document.getElementById("scrollable"); var gScrolledElement = document.getElementById("scrolled"); var gLineHeight = 0; +var gHorizontalLine = 0; var gPageHeight = 0; var gPageWidth = 0; @@ -70,6 +71,13 @@ function prepareScrollUnits() gLineHeight = result; ok(gLineHeight > 10 && gLineHeight < 25, "prepareScrollUnits: gLineHeight may be illegal value, got " + gLineHeight); + result = -1; + synthesizeWheel(gScrollableElement, 10, 10, + { deltaMode: WheelEvent.DOM_DELTA_LINE, + deltaX: 1.0, lineOrPageDeltaX: 1 }); + gHorizontalLine = result; + ok(gHorizontalLine > 5 && gHorizontalLine < 16, "prepareScrollUnits: gHorizontalLine may be illegal value, got " + gHorizontalLine); + result = -1; synthesizeWheel(gScrollableElement, 10, 10, { deltaMode: WheelEvent.DOM_DELTA_PAGE, @@ -370,30 +378,12 @@ function testContinuousTrustedEvents() deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0 }, DOMMouseScroll: { - horizontal: { expected: false, preventDefault: false, detail: 0 }, + horizontal: { expected: false, preventDefault: false, detail: 1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { horizontal: { expected: true, preventDefault: false, detail: 5 }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, - { description: "Horizontal wheel event by pixels (5.3 - 0) #3", - event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, - lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: false, - isCustomizedByPrefs: false, - shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, - wheel: { - expected: true, preventDefault: false, - deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0 - }, - DOMMouseScroll: { - horizontal: { expected: false, preventDefault: false, detail: 0 }, - vertical: { expected: false, preventDefault: false, detail: 0 } }, - MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: 5 }, - vertical: { expected: false, preventDefault: false, detail: 0 } } - }, - { description: "Vertical wheel event by pixels (5.3 - 1) #1", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, @@ -989,23 +979,6 @@ function testContinuousTrustedEvents() vertical: { expected: false, preventDefault: false, detail: 0 } } }, { description: "Pixel only device's horizontal wheel event by pixels (5.3 - 0) #3", - event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, - lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, - isCustomizedByPrefs: false, - shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, - wheel: { - expected: true, preventDefault: false, - deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0 - }, - DOMMouseScroll: { - horizontal: { expected: false, preventDefault: false, detail: 0 }, - vertical: { expected: false, preventDefault: false, detail: 0 } }, - MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: 5 }, - vertical: { expected: false, preventDefault: false, detail: 0 } } - }, - { description: "Pixel only device's horizontal wheel event by pixels (5.3 - 0) #4", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, @@ -1022,7 +995,6 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 5 }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, - { description: "Pixel only device's Vertical wheel event by pixels (5.3 - 0) #1", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, @@ -1074,7 +1046,24 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: true, preventDefault: false, detail: 5 } } }, - { description: "Pixel only device's Vertical wheel event by pixels (5.3 - 1) #4", + { description: "Pixel only device's Vertical wheel event by pixels (5.3 - 0) #4", + event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, + deltaX: 0.0, deltaY: 1.3, deltaZ: 0.0, isMomentum: false, + lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, + isCustomizedByPrefs: false, + shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, + wheel: { + expected: true, preventDefault: false, + deltaX: 0.0, deltaY: 1.3, deltaZ: 0.0 + }, + DOMMouseScroll: { + horizontal: { expected: false, preventDefault: false, detail: 0 }, + vertical: { expected: false, preventDefault: false, detail: 0 } }, + MozMousePixelScroll: { + horizontal: { expected: false, preventDefault: false, detail: 0 }, + vertical: { expected: true, preventDefault: false, detail: 1 } } + }, + { description: "Pixel only device's Vertical wheel event by pixels (5.3 - 1) #5", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, @@ -1103,7 +1092,7 @@ function testContinuousTrustedEvents() deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0 }, DOMMouseScroll: { - horizontal: { expected: false, preventDefault: false, detail: 0 }, + horizontal: { expected: false, preventDefault: false, detail: -1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { horizontal: { expected: true, preventDefault: false, detail: -5 }, @@ -1127,23 +1116,6 @@ function testContinuousTrustedEvents() vertical: { expected: false, preventDefault: false, detail: 0 } } }, { description: "Pixel only device's horizontal wheel event by pixels (-5.3 - 0) #3", - event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, - lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, - isCustomizedByPrefs: false, - shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, - wheel: { - expected: true, preventDefault: false, - deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0 - }, - DOMMouseScroll: { - horizontal: { expected: false, preventDefault: false, detail: 0 }, - vertical: { expected: false, preventDefault: false, detail: 0 } }, - MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: -5 }, - vertical: { expected: false, preventDefault: false, detail: 0 } } - }, - { description: "Pixel only device's horizontal wheel event by pixels (-5.3 - 0) #4", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, @@ -1212,7 +1184,24 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: true, preventDefault: false, detail: -5 } } }, - { description: "Pixel only device's Vertical wheel event by pixels (-5.3 - -1) #4", + { description: "Pixel only device's Vertical wheel event by pixels (-5.3 - 0) #4", + event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, + deltaX: 0.0, deltaY: -1.3, deltaZ: 0.0, isMomentum: false, + lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, + isCustomizedByPrefs: false, + shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, + wheel: { + expected: true, preventDefault: false, + deltaX: 0.0, deltaY: -1.3, deltaZ: 0.0 + }, + DOMMouseScroll: { + horizontal: { expected: false, preventDefault: false, detail: 0 }, + vertical: { expected: false, preventDefault: false, detail: 0 } }, + MozMousePixelScroll: { + horizontal: { expected: false, preventDefault: false, detail: 0 }, + vertical: { expected: true, preventDefault: false, detail: -1 } } + }, + { description: "Pixel only device's Vertical wheel event by pixels (-5.3 - -1) #5", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, @@ -1266,23 +1255,6 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 5 }, vertical: { expected: true, preventDefault: false, detail: 4 } } }, - { description: "Pixel only device's bottom-right wheel event by pixels (5.3/4.9 - 0/0) #3", - event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: 5.3, deltaY: 4.9, deltaZ: 0.0, isMomentum: false, - lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, - isCustomizedByPrefs: false, - shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, - wheel: { - expected: true, preventDefault: false, - deltaX: 5.3, deltaY: 4.9, deltaZ: 0.0 - }, - DOMMouseScroll: { - horizontal: { expected: false, preventDefault: false, detail: 0 }, - vertical: { expected: false, preventDefault: false, detail: 0 } }, - MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: 5 }, - vertical: { expected: true, preventDefault: false, detail: 4 } } - }, { description: "Pixel only device's bottom-left wheel event by pixels (-5.3/4.9 - 0/0) #4", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, deltaX: -5.3, deltaY: 4.9, deltaZ: 0.0, isMomentum: false, @@ -1295,7 +1267,7 @@ function testContinuousTrustedEvents() }, DOMMouseScroll: { horizontal: { expected: false, preventDefault: false, detail: 0 }, - vertical: { expected: true, preventDefault: false, detail: 1 } }, + vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { horizontal: { expected: true, preventDefault: false, detail: -5 }, vertical: { expected: true, preventDefault: false, detail: 4 } } @@ -1303,20 +1275,20 @@ function testContinuousTrustedEvents() // the accumulated X should be 0 here, but Y shouldn't be reset. { description: "Pixel only device's bottom-right wheel event by pixels (5.3/4.9 - 0/0) #5", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: 5.3, deltaY: 4.9, deltaZ: 0.0, isMomentum: false, + deltaX: 5.3, deltaY: 1.9, deltaZ: 0.0, isMomentum: false, lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, isCustomizedByPrefs: false, shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, wheel: { expected: true, preventDefault: false, - deltaX: 5.3, deltaY: 4.9, deltaZ: 0.0 + deltaX: 5.3, deltaY: 1.9, deltaZ: 0.0 }, DOMMouseScroll: { horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { horizontal: { expected: true, preventDefault: false, detail: 5 }, - vertical: { expected: true, preventDefault: false, detail: 4 } } + vertical: { expected: true, preventDefault: false, detail: 1 } } }, { description: "Pixel only device's top-left wheel event by pixels (-5.3/-4.9 - 0/0) #1", @@ -1353,24 +1325,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: -5 }, vertical: { expected: true, preventDefault: false, detail: -4 } } }, - { description: "Pixel only device's top-left wheel event by pixels (-5.3/-4.9 - 0/0) #3", - event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: -5.3, deltaY: -4.9, deltaZ: 0.0, isMomentum: false, - lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, - isCustomizedByPrefs: false, - shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, - wheel: { - expected: true, preventDefault: false, - deltaX: -5.3, deltaY: -4.9, deltaZ: 0.0 - }, - DOMMouseScroll: { - horizontal: { expected: false, preventDefault: false, detail: 0 }, - vertical: { expected: false, preventDefault: false, detail: 0 } }, - MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: -5 }, - vertical: { expected: true, preventDefault: false, detail: -4 } } - }, - { description: "Pixel only device's bottom-left wheel event by pixels (5.3/-4.9 - 0/0) #4", + { description: "Pixel only device's bottom-left wheel event by pixels (-5.3/4.9 - 0/0) #4", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, deltaX: -5.3, deltaY: 4.9, deltaZ: 0.0, isMomentum: false, lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, @@ -1388,7 +1343,7 @@ function testContinuousTrustedEvents() vertical: { expected: true, preventDefault: false, detail: 4 } } }, // the accumulated Y should be 0 here, but X shouldn't be reset. - { description: "Pixel only device's top-left wheel event by pixels (5.3/4.9 - 0/0) #5", + { description: "Pixel only device's top-left wheel event by pixels (-5.3/-4.9 - 0/0) #5", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, deltaX: -5.3, deltaY: -4.9, deltaZ: 0.0, isMomentum: false, lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isPixelOnlyDevice: true, @@ -1421,7 +1376,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: gLineHeight }, + horizontal: { expected: true, preventDefault: false, detail: gHorizontalLine }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, { description: "Simple horizontal wheel event by lines (1.0 - 1) #2", @@ -1438,7 +1393,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: gLineHeight }, + horizontal: { expected: true, preventDefault: false, detail: gHorizontalLine }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, @@ -1456,7 +1411,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: -1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: -gLineHeight }, + horizontal: { expected: true, preventDefault: false, detail: -gHorizontalLine }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, { description: "Simple horizontal wheel event by lines (-1.0 - -1) #2", @@ -1473,7 +1428,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: -1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: -gLineHeight }, + horizontal: { expected: true, preventDefault: false, detail: -gHorizontalLine }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, @@ -1562,7 +1517,7 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 3) }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, { description: "High resolution horizontal wheel event by lines (0.333... - 0) #2", @@ -1579,7 +1534,7 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 3) }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, { description: "High resolution horizontal wheel event by lines (0.333... - 1) #3", @@ -1596,7 +1551,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 3) }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, @@ -1614,7 +1569,7 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gLineHeight / 3) }, + horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gHorizontalLine / 3) }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, { description: "High resolution horizontal wheel event by lines (-0.333... - 0) #2", @@ -1631,7 +1586,7 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gLineHeight / 3) }, + horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gHorizontalLine / 3) }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, { description: "High resolution horizontal wheel event by lines (-0.333... - -1) #3", @@ -1648,7 +1603,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: -1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gLineHeight / 3) }, + horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gHorizontalLine / 3) }, vertical: { expected: false, preventDefault: false, detail: 0 } } }, @@ -1771,7 +1726,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: -1 }, vertical: { expected: true, preventDefault: false, detail: 2 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: -gLineHeight }, + horizontal: { expected: true, preventDefault: false, detail: -gHorizontalLine }, vertical: { expected: true, preventDefault: false, detail: gLineHeight * 2 } } }, @@ -1789,7 +1744,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: true, preventDefault: false, detail: -2 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: gLineHeight }, + horizontal: { expected: true, preventDefault: false, detail: gHorizontalLine }, vertical: { expected: true, preventDefault: false, detail: -gLineHeight * 2 } } }, @@ -1807,7 +1762,7 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 2) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 2) }, vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) } } }, { description: "High resolution oblique wheel event by lines (0.5/0.333.../-0.8 - 1/0) #2", @@ -1824,7 +1779,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 2) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 2) }, vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) } } }, { description: "High resolution oblique wheel event by lines (0.5/0.333.../-0.8 - 0/1) #3", @@ -1841,7 +1796,7 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: true, preventDefault: false, detail: 1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 2) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 2) }, vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) } } }, @@ -2316,7 +2271,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: true, detail: 1 }, vertical: { expected: true, preventDefault: true, detail: 1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: true, detail: gLineHeight }, + horizontal: { expected: true, preventDefault: true, detail: gHorizontalLine }, vertical: { expected: true, preventDefault: true, detail: gLineHeight } }, }, { description: "preventDefault() shouldn't prevent other legacy events (page)", @@ -2422,7 +2377,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: true, preventDefault: false, detail: 1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: true, detail: gLineHeight }, + horizontal: { expected: true, preventDefault: true, detail: gHorizontalLine }, vertical: { expected: true, preventDefault: true, detail: gLineHeight } }, }, { description: "modifier key tests (shift, page)", @@ -2474,7 +2429,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: true, preventDefault: false, detail: 1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: true, detail: gLineHeight }, + horizontal: { expected: true, preventDefault: true, detail: gHorizontalLine }, vertical: { expected: true, preventDefault: true, detail: gLineHeight } }, }, { description: "modifier key tests (ctrl, page)", @@ -2526,7 +2481,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: true, preventDefault: false, detail: 1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: true, detail: gLineHeight }, + horizontal: { expected: true, preventDefault: true, detail: gHorizontalLine }, vertical: { expected: true, preventDefault: true, detail: gLineHeight } }, }, { description: "modifier key tests (alt, page)", @@ -2578,7 +2533,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: true, preventDefault: false, detail: 1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: true, detail: gLineHeight }, + horizontal: { expected: true, preventDefault: true, detail: gHorizontalLine }, vertical: { expected: true, preventDefault: true, detail: gLineHeight } }, }, { description: "modifier key tests (meta, page)", @@ -2648,7 +2603,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: true, preventDefault: false, detail: 1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: gLineHeight }, + horizontal: { expected: true, preventDefault: false, detail: gHorizontalLine }, vertical: { expected: true, preventDefault: false, detail: gLineHeight } }, }, { description: "Momentum scroll should cause legacy events (line, momentum)", @@ -2665,7 +2620,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: true, preventDefault: false, detail: 1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: gLineHeight }, + horizontal: { expected: true, preventDefault: false, detail: gHorizontalLine }, vertical: { expected: true, preventDefault: false, detail: gLineHeight } }, }, { description: "Momentum scroll should cause legacy events (page, not momentum)", @@ -2710,53 +2665,53 @@ function testContinuousTrustedEvents() SpecialPowers.setIntPref("mousewheel.default.delta_multiplier_y", 300); }, event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: gLineHeight / 4, deltaY: gLineHeight / 8, deltaZ: 0, + deltaX: gHorizontalLine / 4, deltaY: gLineHeight / 8, deltaZ: 0, lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isPixelOnlyDevice: false, isCustomizedByPrefs: false, shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, wheel: { expected: true, preventDefault: false, - deltaX: gLineHeight / 4 * 2, deltaY: gLineHeight / 8 * 3, deltaZ: 0 + deltaX: gHorizontalLine / 4 * 2, deltaY: gLineHeight / 8 * 3, deltaZ: 0 }, DOMMouseScroll: { horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 4 * 2) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 4 * 2) }, vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 8 * 3) } }, }, { description: "lineOrPageDelta should be recomputed by ESM (pixel) #2", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: gLineHeight / 4 + 1, deltaY: gLineHeight / 8 + 1, deltaZ: 0, + deltaX: gHorizontalLine / 4 + 1, deltaY: gLineHeight / 8 + 1, deltaZ: 0, lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isPixelOnlyDevice: false, isCustomizedByPrefs: false, shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, wheel: { expected: true, preventDefault: false, - deltaX: (gLineHeight / 4 + 1) * 2, deltaY: (gLineHeight / 8 + 1) * 3, deltaZ: 0 + deltaX: (gHorizontalLine / 4 + 1) * 2, deltaY: (gLineHeight / 8 + 1) * 3, deltaZ: 0 }, DOMMouseScroll: { horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor((gLineHeight / 4 + 1) * 2) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor((gHorizontalLine / 4 + 1) * 2) }, vertical: { expected: true, preventDefault: false, detail: Math.floor((gLineHeight / 8 + 1) * 3) } }, }, { description: "lineOrPageDelta should be recomputed by ESM (pixel) #3", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: gLineHeight / 4 + 1, deltaY: gLineHeight / 8 + 1, deltaZ: 0, + deltaX: gHorizontalLine / 4 + 1, deltaY: gLineHeight / 8 + 1, deltaZ: 0, lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isPixelOnlyDevice: false, isCustomizedByPrefs: false, shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, wheel: { expected: true, preventDefault: false, - deltaX: (gLineHeight / 4 + 1) * 2, deltaY: (gLineHeight / 8 + 1) * 3, deltaZ: 0 + deltaX: (gHorizontalLine / 4 + 1) * 2, deltaY: (gLineHeight / 8 + 1) * 3, deltaZ: 0 }, DOMMouseScroll: { horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: true, preventDefault: false, detail: 1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor((gLineHeight / 4 + 1) * 2) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor((gHorizontalLine / 4 + 1) * 2) }, vertical: { expected: true, preventDefault: false, detail: Math.floor((gLineHeight / 8 + 1) * 3) } }, finished: function () { SpecialPowers.setIntPref("mousewheel.default.delta_multiplier_x", 100); @@ -2770,53 +2725,53 @@ function testContinuousTrustedEvents() SpecialPowers.setIntPref("mousewheel.with_shift.delta_multiplier_y", 300); }, event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: -gLineHeight / 4, deltaY: -gLineHeight / 8, deltaZ: 0, + deltaX: -gHorizontalLine / 4, deltaY: -gLineHeight / 8, deltaZ: 0, lineOrPageDeltaX: -3, lineOrPageDeltaY: -5, isPixelOnlyDevice: false, isCustomizedByPrefs: false, shiftKey: true, ctrlKey: false, altKey: false, metaKey: false }, wheel: { expected: true, preventDefault: false, - deltaX: -gLineHeight / 4 * 2, deltaY: -gLineHeight / 8 * 3, deltaZ: 0 + deltaX: -gHorizontalLine / 4 * 2, deltaY: -gLineHeight / 8 * 3, deltaZ: 0 }, DOMMouseScroll: { horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.ceil(-gLineHeight / 4 * 2) }, + horizontal: { expected: true, preventDefault: false, detail: Math.ceil(-gHorizontalLine / 4 * 2) }, vertical: { expected: true, preventDefault: false, detail: Math.ceil(-gLineHeight / 8 * 3) } }, }, { description: "lineOrPageDelta should be recomputed by ESM (pixel, negative, shift) #2", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: -(gLineHeight / 4 + 1), deltaY: -(gLineHeight / 8 + 1), deltaZ: 0, + deltaX: -(gHorizontalLine / 4 + 1), deltaY: -(gLineHeight / 8 + 1), deltaZ: 0, lineOrPageDeltaX: -3, lineOrPageDeltaY: -5, isPixelOnlyDevice: false, isCustomizedByPrefs: false, shiftKey: true, ctrlKey: false, altKey: false, metaKey: false }, wheel: { expected: true, preventDefault: false, - deltaX: -(gLineHeight / 4 + 1) * 2, deltaY: -(gLineHeight / 8 + 1) * 3, deltaZ: 0 + deltaX: -(gHorizontalLine / 4 + 1) * 2, deltaY: -(gLineHeight / 8 + 1) * 3, deltaZ: 0 }, DOMMouseScroll: { horizontal: { expected: true, preventDefault: false, detail: -1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.ceil(-(gLineHeight / 4 + 1) * 2) }, + horizontal: { expected: true, preventDefault: false, detail: Math.ceil(-(gHorizontalLine / 4 + 1) * 2) }, vertical: { expected: true, preventDefault: false, detail: Math.ceil(-(gLineHeight / 8 + 1) * 3) } }, }, { description: "lineOrPageDelta should be recomputed by ESM (pixel, negative, shift) #3", event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: -(gLineHeight / 4 + 1), deltaY: -(gLineHeight / 8 + 1), deltaZ: 0, + deltaX: -(gHorizontalLine / 4 + 1), deltaY: -(gLineHeight / 8 + 1), deltaZ: 0, lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isPixelOnlyDevice: false, isCustomizedByPrefs: false, shiftKey: true, ctrlKey: false, altKey: false, metaKey: false }, wheel: { expected: true, preventDefault: false, - deltaX: -(gLineHeight / 4 + 1) * 2, deltaY: -(gLineHeight / 8 + 1) * 3, deltaZ: 0 + deltaX: -(gHorizontalLine / 4 + 1) * 2, deltaY: -(gLineHeight / 8 + 1) * 3, deltaZ: 0 }, DOMMouseScroll: { horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: true, preventDefault: false, detail: -1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.ceil(-(gLineHeight / 4 + 1) * 2) }, + horizontal: { expected: true, preventDefault: false, detail: Math.ceil(-(gHorizontalLine / 4 + 1) * 2) }, vertical: { expected: true, preventDefault: false, detail: Math.ceil(-(gLineHeight / 8 + 1) * 3) } }, finished: function () { SpecialPowers.setIntPref("mousewheel.with_shift.delta_multiplier_x", 100); @@ -2842,7 +2797,7 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.6) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine * 0.6) }, vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, }, { description: "lineOrPageDelta should be recomputed by ESM (line) #2", @@ -2859,7 +2814,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: 1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.6) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine * 0.6) }, vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, }, { description: "lineOrPageDelta should be recomputed by ESM (line) #3", @@ -2876,7 +2831,7 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: true, preventDefault: false, detail: 1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.6) }, + horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine * 0.6) }, vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, finished: function () { SpecialPowers.setIntPref("mousewheel.default.delta_multiplier_x", 100); @@ -2902,7 +2857,7 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gLineHeight * -0.6) }, + horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gHorizontalLine * -0.6) }, vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, }, { description: "lineOrPageDelta should be recomputed by ESM (line, negative) #2", @@ -2919,7 +2874,7 @@ function testContinuousTrustedEvents() horizontal: { expected: true, preventDefault: false, detail: -1 }, vertical: { expected: false, preventDefault: false, detail: 0 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gLineHeight * -0.6) }, + horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gHorizontalLine * -0.6) }, vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, }, { description: "lineOrPageDelta should be recomputed by ESM (line, negative) #3", @@ -2936,7 +2891,7 @@ function testContinuousTrustedEvents() horizontal: { expected: false, preventDefault: false, detail: 0 }, vertical: { expected: true, preventDefault: false, detail: 1 } }, MozMousePixelScroll: { - horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gLineHeight * -0.6) }, + horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gHorizontalLine * -0.6) }, vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, finished: function () { SpecialPowers.setIntPref("mousewheel.default.delta_multiplier_x", 100); diff --git a/content/events/test/test_dom_wheel_event.html b/content/events/test/test_dom_wheel_event.html index 8262f047ce8..f5ceb42233e 100644 --- a/content/events/test/test_dom_wheel_event.html +++ b/content/events/test/test_dom_wheel_event.html @@ -8,7 +8,7 @@

-
+
Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text. Tere is a lot of text.
@@ -51,6 +51,7 @@ var gScrollableElement = document.getElementById("scrollable"); var gScrolledElement = document.getElementById("scrolled"); var gLineHeight = 0; +var gHorizontalLine = 0; var gPageHeight = 0; var gPageWidth = 0; @@ -70,6 +71,13 @@ function prepareScrollUnits() gLineHeight = result; ok(gLineHeight > 10 && gLineHeight < 25, "prepareScrollUnits: gLineHeight may be illegal value, got " + gLineHeight); + result = -1; + synthesizeWheel(gScrollableElement, 10, 10, + { deltaMode: WheelEvent.DOM_DELTA_LINE, + deltaX: 1.0, lineOrPageDeltaX: 1 }); + gHorizontalLine = result; + ok(gHorizontalLine > 5 && gHorizontalLine < 16, "prepareScrollUnits: gHorizontalLine may be illegal value, got " + gHorizontalLine); + result = -1; synthesizeWheel(gScrollableElement, 10, 10, { deltaMode: WheelEvent.DOM_DELTA_PAGE, @@ -160,13 +168,13 @@ function testDeltaMultiplierPrefs() // use test_continuous_dom_wheel_event.html. const kEvents = [ { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: gLineHeight, deltaY: gLineHeight, deltaZ: gLineHeight, lineOrPageDeltaX: 1, lineOrPageDeltaY: 1 }, + deltaX: gHorizontalLine, deltaY: gLineHeight, deltaZ: gLineHeight, lineOrPageDeltaX: 1, lineOrPageDeltaY: 1 }, { deltaMode: WheelEvent.DOM_DELTA_LINE, deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, lineOrPageDeltaX: 1, lineOrPageDeltaY: 1 }, { deltaMode: WheelEvent.DOM_DELTA_PAGE, deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, lineOrPageDeltaX: 1, lineOrPageDeltaY: 1 }, { deltaMode: WheelEvent.DOM_DELTA_PIXEL, - deltaX: -gLineHeight, deltaY: -gLineHeight, deltaZ: -gLineHeight, lineOrPageDeltaX: -1, lineOrPageDeltaY: -1 }, + deltaX: -gHorizontalLine, deltaY: -gLineHeight, deltaZ: -gLineHeight, lineOrPageDeltaX: -1, lineOrPageDeltaY: -1 }, { deltaMode: WheelEvent.DOM_DELTA_LINE, deltaX: -1.0, deltaY: -1.0, deltaZ: -1.0, lineOrPageDeltaX: -1, lineOrPageDeltaY: -1 }, { deltaMode: WheelEvent.DOM_DELTA_PAGE, @@ -239,7 +247,7 @@ function testDeltaMultiplierPrefs() expectedDetail = isHorizontal ? currentEvent.deltaX : currentEvent.deltaY; if (expectedDetail) { if (currentEvent.deltaMode == WheelEvent.DOM_DELTA_LINE) { - expectedDetail *= gLineHeight; + expectedDetail *= (isHorizontal ? gHorizontalLine : gLineHeight); } else if (currentEvent.deltaMode == WheelEvent.DOM_DELTA_PAGE) { if (expectedDetail > 0) { expectedDetail = (isHorizontal ? gPageWidth : gPageHeight); diff --git a/content/events/test/test_moz_mouse_pixel_scroll_event.html b/content/events/test/test_moz_mouse_pixel_scroll_event.html index 4f0c29b250f..50d8be09c9f 100644 --- a/content/events/test/test_moz_mouse_pixel_scroll_event.html +++ b/content/events/test/test_moz_mouse_pixel_scroll_event.html @@ -96,6 +96,41 @@ function prepareScrollUnits() gRoot.wheelLineHeight = result; ok(result > 10 && result < gScrollable32.wheelLineHeight, "prepareScrollUnits: gRoot.wheelLineHeight may be illegal value, got " + result); + result = -1; + synthesizeWheel(gScrollable128, 10, 10, + { deltaMode: WheelEvent.DOM_DELTA_LINE, + deltaX: 1.0, lineOrPageDeltaX: 1 }); + gScrollable128.wheelHorizontalLine = result; + ok(result > 50 && result < 200, "prepareScrollUnits: gScrollable128.wheelHorizontalLine may be illegal value, got " + result); + + result = -1; + synthesizeWheel(gScrollable96, 10, 10, + { deltaMode: WheelEvent.DOM_DELTA_LINE, + deltaX: 1.0, lineOrPageDeltaX: 1 }); + gScrollable96.wheelHorizontalLine = result; + ok(result > 30 && result < gScrollable128.wheelHorizontalLine, "prepareScrollUnits: gScrollable96.wheelHorizontalLine may be illegal value, got " + result); + + result = -1; + synthesizeWheel(gScrollable64, 10, 10, + { deltaMode: WheelEvent.DOM_DELTA_LINE, + deltaX: 1.0, lineOrPageDeltaX: 1 }); + gScrollable64.wheelHorizontalLine = result; + ok(result > 20 && result < gScrollable96.wheelHorizontalLine, "prepareScrollUnits: gScrollable64.wheelHorizontalLine may be illegal value, got " + result); + + result = -1; + synthesizeWheel(gScrollable32, 10, 10, + { deltaMode: WheelEvent.DOM_DELTA_LINE, + deltaX: 1.0, lineOrPageDeltaX: 1 }); + gScrollable32.wheelHorizontalLine = result; + ok(result > 12 && result < gScrollable64.wheelHorizontalLine, "prepareScrollUnits: gScrollable32.wheelHorizontalLine may be illegal value, got " + result); + + result = -1; + synthesizeWheel(gRoot, 10, 10, + { deltaMode: WheelEvent.DOM_DELTA_LINE, + deltaX: 1.0, lineOrPageDeltaX: 1 }); + gRoot.wheelHorizontalLine = result; + ok(result > 5 && result < gScrollable32.wheelHorizontalLine, "prepareScrollUnits: gRoot.wheelHorizontalLine may be illegal value, got " + result); + result = -1; synthesizeWheel(gScrollable128, 10, 10, { deltaMode: WheelEvent.DOM_DELTA_PAGE, @@ -1229,7 +1264,7 @@ function doTests() var expectedDetail = (currentTest.event.deltaMode == WheelEvent.DOM_DELTA_LINE) ? - (isHorizontal ? currentTest.expected.x.wheelLineHeight : + (isHorizontal ? currentTest.expected.x.wheelHorizontalLine : currentTest.expected.y.wheelLineHeight) : (isHorizontal ? currentTest.expected.x.wheelPageWidth : currentTest.expected.y.wheelPageHeight);