Implement WheelEvent Interface

Note: The WheelEvent interface supports rotation in all 3 spatial
dimensions. This implementation only supports two due to limitations
in the Glutin compositor.

The wheelevent interface is a dom interface that triggers for any
attached device that can rotate in one or more spatial dimensions.
Traditionally this is the mouse wheel though other devices could be
used as well. E.g. the trackball on a trackball mouse.
This commit is contained in:
Robert Snakard 2019-02-24 21:24:36 +00:00 committed by Josh Matthews
parent 8f11b52d9a
commit 35bca991ad
16 changed files with 347 additions and 146 deletions

View file

@ -3,21 +3,6 @@
[MouseEvent constructor (argument with non-default values)]
expected: FAIL
[WheelEvent constructor (no argument)]
expected: FAIL
[WheelEvent constructor (undefined argument)]
expected: FAIL
[WheelEvent constructor (null argument)]
expected: FAIL
[WheelEvent constructor (empty argument)]
expected: FAIL
[WheelEvent constructor (argument with default values)]
expected: FAIL
[WheelEvent constructor (argument with non-default values)]
expected: FAIL

View file

@ -3,9 +3,6 @@
[Untitled]
expected: FAIL
[Constructed WheelEvent timestamp should be high resolution and have the same time origin as performance.now()]
expected: FAIL
[Constructed GamepadEvent timestamp should be high resolution and have the same time origin as performance.now()]
expected: FAIL

View file

@ -2,18 +2,9 @@
[idlharness]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "buttons" with the proper type]
expected: FAIL
[UIEvent interface: new CompositionEvent("event") must inherit property "view" with the proper type]
expected: FAIL
[WheelEvent interface object length]
expected: FAIL
[WheelEvent interface object name]
expected: FAIL
[UIEvent interface: new CompositionEvent("event") must inherit property "which" with the proper type]
expected: FAIL
@ -32,27 +23,9 @@
[MouseEvent interface: operation getModifierState(DOMString)]
expected: FAIL
[WheelEvent interface: existence and properties of interface prototype object]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "shiftKey" with the proper type]
expected: FAIL
[CompositionEvent interface object name]
expected: FAIL
[UIEvent interface: new WheelEvent("event") must inherit property "detail" with the proper type]
expected: FAIL
[WheelEvent interface: constant DOM_DELTA_PAGE on interface prototype object]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "ctrlKey" with the proper type]
expected: FAIL
[WheelEvent interface: constant DOM_DELTA_PAGE on interface object]
expected: FAIL
[MouseEvent interface: new MouseEvent("event") must inherit property "getModifierState(DOMString)" with the proper type]
expected: FAIL
@ -62,57 +35,18 @@
[CompositionEvent interface: existence and properties of interface object]
expected: FAIL
[WheelEvent interface: constant DOM_DELTA_PIXEL on interface object]
expected: FAIL
[WheelEvent interface: new WheelEvent("event") must inherit property "DOM_DELTA_LINE" with the proper type]
expected: FAIL
[UIEvent interface: new WheelEvent("event") must inherit property "view" with the proper type]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "altKey" with the proper type]
expected: FAIL
[UIEvent interface: new CompositionEvent("event") must inherit property "detail" with the proper type]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "relatedTarget" with the proper type]
expected: FAIL
[MouseEvent interface: calling getModifierState(DOMString) on new MouseEvent("event") with too few arguments must throw TypeError]
expected: FAIL
[WheelEvent interface: existence and properties of interface object]
expected: FAIL
[WheelEvent interface: attribute deltaX]
expected: FAIL
[WheelEvent interface: attribute deltaY]
expected: FAIL
[WheelEvent interface: attribute deltaZ]
expected: FAIL
[WheelEvent must be primary interface of new WheelEvent("event")]
expected: FAIL
[WheelEvent interface: constant DOM_DELTA_LINE on interface object]
expected: FAIL
[Stringification of new CompositionEvent("event")]
expected: FAIL
[WheelEvent interface: new WheelEvent("event") must inherit property "deltaX" with the proper type]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "getModifierState(DOMString)" with the proper type]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "metaKey" with the proper type]
expected: FAIL
[CompositionEvent interface: existence and properties of interface prototype object]
expected: FAIL
@ -122,69 +56,21 @@
[CompositionEvent must be primary interface of new CompositionEvent("event")]
expected: FAIL
[WheelEvent interface: new WheelEvent("event") must inherit property "DOM_DELTA_PIXEL" with the proper type]
expected: FAIL
[Stringification of new WheelEvent("event")]
expected: FAIL
[UIEvent interface: new FocusEvent("event") must inherit property "which" with the proper type]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "screenX" with the proper type]
expected: FAIL
[CompositionEvent interface: new CompositionEvent("event") must inherit property "data" with the proper type]
expected: FAIL
[WheelEvent interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "clientX" with the proper type]
expected: FAIL
[CompositionEvent interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[WheelEvent interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "screenY" with the proper type]
expected: FAIL
[WheelEvent interface: attribute deltaMode]
expected: FAIL
[WheelEvent interface: constant DOM_DELTA_LINE on interface prototype object]
expected: FAIL
[CompositionEvent interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[WheelEvent interface: new WheelEvent("event") must inherit property "DOM_DELTA_PAGE" with the proper type]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "button" with the proper type]
expected: FAIL
[MouseEvent interface: new WheelEvent("event") must inherit property "clientY" with the proper type]
expected: FAIL
[WheelEvent interface: new WheelEvent("event") must inherit property "deltaMode" with the proper type]
expected: FAIL
[UIEvent interface: attribute which]
expected: FAIL
[WheelEvent interface: new WheelEvent("event") must inherit property "deltaY" with the proper type]
expected: FAIL
[WheelEvent interface: constant DOM_DELTA_PIXEL on interface prototype object]
expected: FAIL
[WheelEvent interface: new WheelEvent("event") must inherit property "deltaZ" with the proper type]
expected: FAIL
[CompositionEvent interface object length]
expected: FAIL

View file

@ -20330,7 +20330,7 @@
"testharness"
],
"mozilla/interfaces.html": [
"2effd46f565c4787e8632f5e898e1b43d457672f",
"b6cbf4b4f9b4fdcbe5f05a96970822d2ae9d325d",
"testharness"
],
"mozilla/interfaces.js": [

View file

@ -242,6 +242,7 @@ test_interfaces([
"WebGLActiveInfo",
"WebGLShaderPrecisionFormat",
"WebSocket",
"WheelEvent",
"Window",
"Worker",
"XMLDocument",