test_continuous_wheel_events.html (171846B)
1 <!DOCTYPE HTML> 2 <html style="font-size: 32px;"> 3 <head> 4 <title>Test for D3E WheelEvent</title> 5 <script src="/tests/SimpleTest/SimpleTest.js"></script> 6 <script src="/tests/SimpleTest/EventUtils.js"></script> 7 <script src="/tests/SimpleTest/paint_listener.js"></script> 8 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 9 </head> 10 <body onload="bodyLoaded()"> 11 <p id="display"></p> 12 <div id="scrollable" style="font-family: 'Courier New', monospace; font-size: 18px; line-height: 1; overflow: auto; width: 200px; height: 200px;"> 13 <div id="scrolled" style="font-size: 64px; width: 5000px; height: 5000px;"> 14 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.<br> 15 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.<br> 16 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.<br> 17 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.<br> 18 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.<br> 19 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.<br> 20 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.<br> 21 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.<br> 22 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.<br> 23 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.<br> 24 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.<br> 25 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.<br> 26 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.<br> 27 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.<br> 28 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.<br> 29 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.<br> 30 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.<br> 31 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.<br> 32 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.<br> 33 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.<br> 34 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.<br> 35 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.<br> 36 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.<br> 37 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.<br> 38 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.<br> 39 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.<br> 40 </div> 41 </div> 42 <div id="content" style="display: none"> 43 44 </div> 45 <pre id="test"> 46 <script type="application/javascript"> 47 48 var gScrollableElement; 49 var gScrolledElement; 50 51 SimpleTest.waitForExplicitFinish(); 52 function bodyLoaded() { 53 gScrollableElement = document.getElementById("scrollable"); 54 gScrolledElement = document.getElementById("scrolled"); 55 runTests(); 56 } 57 58 var gLineHeight = 0; 59 var gHorizontalLine = 0; 60 var gPageHeight = 0; 61 var gPageWidth = 0; 62 63 function sendWheelAndWait(aX, aY, aEvent) 64 { 65 sendWheelAndPaint(gScrollableElement, aX, aY, aEvent, continueTest); 66 } 67 68 function* prepareScrollUnits() 69 { 70 var result = -1; 71 function handler(aEvent) 72 { 73 result = aEvent.detail; 74 aEvent.preventDefault(); 75 } 76 window.addEventListener("MozMousePixelScroll", handler, { capture: true, passive: false }); 77 78 yield sendWheelAndWait(10, 10, 79 { deltaMode: WheelEvent.DOM_DELTA_LINE, 80 deltaY: 1.0, lineOrPageDeltaY: 1 }); 81 gLineHeight = result; 82 ok(gLineHeight > 10 && gLineHeight < 25, "prepareScrollUnits: gLineHeight may be illegal value, got " + gLineHeight); 83 84 result = -1; 85 yield sendWheelAndWait(10, 10, 86 { deltaMode: WheelEvent.DOM_DELTA_LINE, 87 deltaX: 1.0, lineOrPageDeltaX: 1 }); 88 gHorizontalLine = result; 89 ok(gHorizontalLine > 5 && gHorizontalLine < 16, "prepareScrollUnits: gHorizontalLine may be illegal value, got " + gHorizontalLine); 90 91 result = -1; 92 yield sendWheelAndWait(10, 10, 93 { deltaMode: WheelEvent.DOM_DELTA_PAGE, 94 deltaY: 1.0, lineOrPageDeltaY: 1 }); 95 gPageHeight = result; 96 // XXX Cannot we know the actual scroll port size? 97 ok(gPageHeight >= 150 && gPageHeight <= 200, 98 "prepareScrollUnits: gPageHeight is strange value, got " + gPageHeight); 99 100 result = -1; 101 yield sendWheelAndWait(10, 10, 102 { deltaMode: WheelEvent.DOM_DELTA_PAGE, 103 deltaX: 1.0, lineOrPageDeltaX: 1 }); 104 gPageWidth = result; 105 ok(gPageWidth >= 150 && gPageWidth <= 200, 106 "prepareScrollUnits: gPageWidth is strange value, got " + gPageWidth); 107 108 window.removeEventListener("MozMousePixelScroll", handler, true); 109 } 110 111 // Tests continuous trusted wheel events. Trusted wheel events should cause 112 // legacy mouse scroll events when its lineOrPageDelta value is not zero or 113 // accumulated delta values of pixel scroll events of pixel only device 114 // become over the line height. 115 function* testContinuousTrustedEvents() 116 { 117 const kSynthesizedWheelEventTests = [ 118 { description: "Simple horizontal wheel event by pixels (16.0 - 1) #1", 119 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 120 deltaX: 16.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 121 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 122 isCustomizedByPrefs: false, 123 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 124 wheel: { 125 expected: true, preventDefault: false, 126 deltaX: 16.0, deltaY: 0.0, deltaZ: 0.0 127 }, 128 DOMMouseScroll: { 129 horizontal: { expected: true, preventDefault: false, detail: 1 }, 130 vertical: { expected: false, preventDefault: false, detail: 0 } }, 131 MozMousePixelScroll: { 132 horizontal: { expected: true, preventDefault: false, detail: 16 }, 133 vertical: { expected: false, preventDefault: false, detail: 0 } } 134 }, 135 { description: "Simple horizontal wheel event by pixels (16.0 - 1) #2", 136 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 137 deltaX: 16.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 138 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 139 isCustomizedByPrefs: false, 140 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 141 wheel: { 142 expected: true, preventDefault: false, 143 deltaX: 16.0, deltaY: 0.0, deltaZ: 0.0 144 }, 145 DOMMouseScroll: { 146 horizontal: { expected: true, preventDefault: false, detail: 1 }, 147 vertical: { expected: false, preventDefault: false, detail: 0 } }, 148 MozMousePixelScroll: { 149 horizontal: { expected: true, preventDefault: false, detail: 16 }, 150 vertical: { expected: false, preventDefault: false, detail: 0 } } 151 }, 152 { description: "Simple horizontal wheel event by pixels (16.0 - 1) #3", 153 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 154 deltaX: 16.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 155 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 156 isCustomizedByPrefs: false, 157 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 158 wheel: { 159 expected: true, preventDefault: false, 160 deltaX: 16.0, deltaY: 0.0, deltaZ: 0.0 161 }, 162 DOMMouseScroll: { 163 horizontal: { expected: true, preventDefault: false, detail: 1 }, 164 vertical: { expected: false, preventDefault: false, detail: 0 } }, 165 MozMousePixelScroll: { 166 horizontal: { expected: true, preventDefault: false, detail: 16 }, 167 vertical: { expected: false, preventDefault: false, detail: 0 } } 168 }, 169 170 { description: "Simple vertical wheel event by pixels (16.0 - 1) #1", 171 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 172 deltaX: 0.0, deltaY: 16.0, deltaZ: 0.0, isMomentum: false, 173 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 174 isCustomizedByPrefs: false, 175 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 176 wheel: { 177 expected: true, preventDefault: false, 178 deltaX: 0.0, deltaY: 16.0, deltaZ: 0.0 179 }, 180 DOMMouseScroll: { 181 horizontal: { expected: false, preventDefault: false, detail: 0 }, 182 vertical: { expected: true, preventDefault: false, detail: 1 } }, 183 MozMousePixelScroll: { 184 horizontal: { expected: false, preventDefault: false, detail: 0 }, 185 vertical: { expected: true, preventDefault: false, detail: 16 } } 186 }, 187 { description: "Simple vertical wheel event by pixels (16.0 - 1) #2", 188 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 189 deltaX: 0.0, deltaY: 16.0, deltaZ: 0.0, isMomentum: false, 190 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 191 isCustomizedByPrefs: false, 192 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 193 wheel: { 194 expected: true, preventDefault: false, 195 deltaX: 0.0, deltaY: 16.0, deltaZ: 0.0 196 }, 197 DOMMouseScroll: { 198 horizontal: { expected: false, preventDefault: false, detail: 0 }, 199 vertical: { expected: true, preventDefault: false, detail: 1 } }, 200 MozMousePixelScroll: { 201 horizontal: { expected: false, preventDefault: false, detail: 0 }, 202 vertical: { expected: true, preventDefault: false, detail: 16 } } 203 }, 204 { description: "Simple vertical wheel event by pixels (16.0 - 1) #3", 205 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 206 deltaX: 0.0, deltaY: 16.0, deltaZ: 0.0, isMomentum: false, 207 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 208 isCustomizedByPrefs: false, 209 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 210 wheel: { 211 expected: true, preventDefault: false, 212 deltaX: 0.0, deltaY: 16.0, deltaZ: 0.0 213 }, 214 DOMMouseScroll: { 215 horizontal: { expected: false, preventDefault: false, detail: 0 }, 216 vertical: { expected: true, preventDefault: false, detail: 1 } }, 217 MozMousePixelScroll: { 218 horizontal: { expected: false, preventDefault: false, detail: 0 }, 219 vertical: { expected: true, preventDefault: false, detail: 16 } } 220 }, 221 222 { description: "Simple z-direction wheel event by pixels (16.0 - 1)", 223 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 224 deltaX: 0.0, deltaY: 0.0, deltaZ: 16.0, isMomentum: false, 225 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 226 isCustomizedByPrefs: false, 227 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 228 wheel: { 229 expected: true, preventDefault: false, 230 deltaX: 0.0, deltaY: 0.0, deltaZ: 16.0 231 }, 232 DOMMouseScroll: { 233 horizontal: { expected: false, preventDefault: false, detail: 0 }, 234 vertical: { expected: false, preventDefault: false, detail: 0 } }, 235 MozMousePixelScroll: { 236 horizontal: { expected: false, preventDefault: false, detail: 0 }, 237 vertical: { expected: false, preventDefault: false, detail: 0 } } 238 }, 239 240 { description: "Simple horizontal wheel event by pixels (-16.0 - -1) #1", 241 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 242 deltaX: -16.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 243 lineOrPageDeltaX: -1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 244 isCustomizedByPrefs: false, 245 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 246 wheel: { 247 expected: true, preventDefault: false, 248 deltaX: -16.0, deltaY: 0.0, deltaZ: 0.0 249 }, 250 DOMMouseScroll: { 251 horizontal: { expected: true, preventDefault: false, detail: -1 }, 252 vertical: { expected: false, preventDefault: false, detail: 0 } }, 253 MozMousePixelScroll: { 254 horizontal: { expected: true, preventDefault: false, detail: -16 }, 255 vertical: { expected: false, preventDefault: false, detail: 0 } } 256 }, 257 { description: "Simple horizontal wheel event by pixels (-16.0 - -1) #2", 258 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 259 deltaX: -16.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 260 lineOrPageDeltaX: -1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 261 isCustomizedByPrefs: false, 262 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 263 wheel: { 264 expected: true, preventDefault: false, 265 deltaX: -16.0, deltaY: 0.0, deltaZ: 0.0 266 }, 267 DOMMouseScroll: { 268 horizontal: { expected: true, preventDefault: false, detail: -1 }, 269 vertical: { expected: false, preventDefault: false, detail: 0 } }, 270 MozMousePixelScroll: { 271 horizontal: { expected: true, preventDefault: false, detail: -16 }, 272 vertical: { expected: false, preventDefault: false, detail: 0 } } 273 }, 274 { description: "Simple horizontal wheel event by pixels (-16.0 - -1) #3", 275 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 276 deltaX: -16.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 277 lineOrPageDeltaX: -1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 278 isCustomizedByPrefs: false, 279 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 280 wheel: { 281 expected: true, preventDefault: false, 282 deltaX: -16.0, deltaY: 0.0, deltaZ: 0.0 283 }, 284 DOMMouseScroll: { 285 horizontal: { expected: true, preventDefault: false, detail: -1 }, 286 vertical: { expected: false, preventDefault: false, detail: 0 } }, 287 MozMousePixelScroll: { 288 horizontal: { expected: true, preventDefault: false, detail: -16 }, 289 vertical: { expected: false, preventDefault: false, detail: 0 } } 290 }, 291 292 { description: "Simple vertical wheel event by pixels (-16.0 - -1) #1", 293 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 294 deltaX: 0.0, deltaY: -16.0, deltaZ: 0.0, isMomentum: false, 295 lineOrPageDeltaX: 0, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 296 isCustomizedByPrefs: false, 297 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 298 wheel: { 299 expected: true, preventDefault: false, 300 deltaX: 0.0, deltaY: -16.0, deltaZ: 0.0 301 }, 302 DOMMouseScroll: { 303 horizontal: { expected: false, preventDefault: false, detail: 0 }, 304 vertical: { expected: true, preventDefault: false, detail: -1 } }, 305 MozMousePixelScroll: { 306 horizontal: { expected: false, preventDefault: false, detail: 0 }, 307 vertical: { expected: true, preventDefault: false, detail: -16 } } 308 }, 309 { description: "Simple vertical wheel event by pixels (-16.0 - -1) #2", 310 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 311 deltaX: 0.0, deltaY: -16.0, deltaZ: 0.0, isMomentum: false, 312 lineOrPageDeltaX: 0, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 313 isCustomizedByPrefs: false, 314 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 315 wheel: { 316 expected: true, preventDefault: false, 317 deltaX: 0.0, deltaY: -16.0, deltaZ: 0.0 318 }, 319 DOMMouseScroll: { 320 horizontal: { expected: false, preventDefault: false, detail: 0 }, 321 vertical: { expected: true, preventDefault: false, detail: -1 } }, 322 MozMousePixelScroll: { 323 horizontal: { expected: false, preventDefault: false, detail: 0 }, 324 vertical: { expected: true, preventDefault: false, detail: -16 } } 325 }, 326 { description: "Simple vertical wheel event by pixels (-16.0 - -1) #3", 327 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 328 deltaX: 0.0, deltaY: -16.0, deltaZ: 0.0, isMomentum: false, 329 lineOrPageDeltaX: 0, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 330 isCustomizedByPrefs: false, 331 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 332 wheel: { 333 expected: true, preventDefault: false, 334 deltaX: 0.0, deltaY: -16.0, deltaZ: 0.0 335 }, 336 DOMMouseScroll: { 337 horizontal: { expected: false, preventDefault: false, detail: 0 }, 338 vertical: { expected: true, preventDefault: false, detail: -1 } }, 339 MozMousePixelScroll: { 340 horizontal: { expected: false, preventDefault: false, detail: 0 }, 341 vertical: { expected: true, preventDefault: false, detail: -16 } } 342 }, 343 344 { description: "Simple z-direction wheel event by pixels (-16.0 - -1)", 345 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 346 deltaX: 0.0, deltaY: 0.0, deltaZ: -16.0, isMomentum: false, 347 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 348 isCustomizedByPrefs: false, 349 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 350 wheel: { 351 expected: true, preventDefault: false, 352 deltaX: 0.0, deltaY: 0.0, deltaZ: -16.0 353 }, 354 DOMMouseScroll: { 355 horizontal: { expected: false, preventDefault: false, detail: 0 }, 356 vertical: { expected: false, preventDefault: false, detail: 0 } }, 357 MozMousePixelScroll: { 358 horizontal: { expected: false, preventDefault: false, detail: 0 }, 359 vertical: { expected: false, preventDefault: false, detail: 0 } } 360 }, 361 362 // 3 scroll events per line, and legacy line scroll will be fired first. 363 { description: "Horizontal wheel event by pixels (5.3 - 1) #1", 364 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 365 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 366 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 367 isCustomizedByPrefs: false, 368 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 369 wheel: { 370 expected: true, preventDefault: false, 371 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0 372 }, 373 DOMMouseScroll: { 374 horizontal: { expected: true, preventDefault: false, detail: 1 }, 375 vertical: { expected: false, preventDefault: false, detail: 0 } }, 376 MozMousePixelScroll: { 377 horizontal: { expected: true, preventDefault: false, detail: 5 }, 378 vertical: { expected: false, preventDefault: false, detail: 0 } } 379 }, 380 { description: "Horizontal wheel event by pixels (5.3 - 0) #2", 381 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 382 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 383 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 384 isCustomizedByPrefs: false, 385 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 386 wheel: { 387 expected: true, preventDefault: false, 388 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0 389 }, 390 DOMMouseScroll: { 391 horizontal: { expected: false, preventDefault: false, detail: 1 }, 392 vertical: { expected: false, preventDefault: false, detail: 0 } }, 393 MozMousePixelScroll: { 394 horizontal: { expected: true, preventDefault: false, detail: 5 }, 395 vertical: { expected: false, preventDefault: false, detail: 0 } } 396 }, 397 { description: "Vertical wheel event by pixels (5.3 - 1) #1", 398 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 399 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 400 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 401 isCustomizedByPrefs: false, 402 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 403 wheel: { 404 expected: true, preventDefault: false, 405 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0 406 }, 407 DOMMouseScroll: { 408 horizontal: { expected: false, preventDefault: false, detail: 0 }, 409 vertical: { expected: true, preventDefault: false, detail: 1 } }, 410 MozMousePixelScroll: { 411 horizontal: { expected: false, preventDefault: false, detail: 0 }, 412 vertical: { expected: true, preventDefault: false, detail: 5 } } 413 }, 414 { description: "Vertical wheel event by pixels (5.3 - 0) #2", 415 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 416 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 417 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 418 isCustomizedByPrefs: false, 419 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 420 wheel: { 421 expected: true, preventDefault: false, 422 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0 423 }, 424 DOMMouseScroll: { 425 horizontal: { expected: false, preventDefault: false, detail: 0 }, 426 vertical: { expected: false, preventDefault: false, detail: 0 } }, 427 MozMousePixelScroll: { 428 horizontal: { expected: false, preventDefault: false, detail: 0 }, 429 vertical: { expected: true, preventDefault: false, detail: 5 } } 430 }, 431 { description: "Vertical wheel event by pixels (5.3 - 0) #3", 432 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 433 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 434 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 435 isCustomizedByPrefs: false, 436 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 437 wheel: { 438 expected: true, preventDefault: false, 439 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0 440 }, 441 DOMMouseScroll: { 442 horizontal: { expected: false, preventDefault: false, detail: 0 }, 443 vertical: { expected: false, preventDefault: false, detail: 0 } }, 444 MozMousePixelScroll: { 445 horizontal: { expected: false, preventDefault: false, detail: 0 }, 446 vertical: { expected: true, preventDefault: false, detail: 5 } } 447 }, 448 449 { description: "Horizontal wheel event by pixels (-5.3 - -1) #1", 450 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 451 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 452 lineOrPageDeltaX: -1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 453 isCustomizedByPrefs: false, 454 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 455 wheel: { 456 expected: true, preventDefault: false, 457 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0 458 }, 459 DOMMouseScroll: { 460 horizontal: { expected: true, preventDefault: false, detail: -1 }, 461 vertical: { expected: false, preventDefault: false, detail: 0 } }, 462 MozMousePixelScroll: { 463 horizontal: { expected: true, preventDefault: false, detail: -5 }, 464 vertical: { expected: false, preventDefault: false, detail: 0 } } 465 }, 466 { description: "Horizontal wheel event by pixels (-5.3 - 0) #2", 467 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 468 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 469 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 470 isCustomizedByPrefs: false, 471 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 472 wheel: { 473 expected: true, preventDefault: false, 474 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0 475 }, 476 DOMMouseScroll: { 477 horizontal: { expected: false, preventDefault: false, detail: 0 }, 478 vertical: { expected: false, preventDefault: false, detail: 0 } }, 479 MozMousePixelScroll: { 480 horizontal: { expected: true, preventDefault: false, detail: -5 }, 481 vertical: { expected: false, preventDefault: false, detail: 0 } } 482 }, 483 { description: "Horizontal wheel event by pixels (-5.3 - 0) #3", 484 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 485 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 486 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 487 isCustomizedByPrefs: false, 488 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 489 wheel: { 490 expected: true, preventDefault: false, 491 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0 492 }, 493 DOMMouseScroll: { 494 horizontal: { expected: false, preventDefault: false, detail: 0 }, 495 vertical: { expected: false, preventDefault: false, detail: 0 } }, 496 MozMousePixelScroll: { 497 horizontal: { expected: true, preventDefault: false, detail: -5 }, 498 vertical: { expected: false, preventDefault: false, detail: 0 } } 499 }, 500 501 { description: "Vertical wheel event by pixels (-5.3 - -1) #1", 502 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 503 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 504 lineOrPageDeltaX: 0, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 505 isCustomizedByPrefs: false, 506 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 507 wheel: { 508 expected: true, preventDefault: false, 509 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0 510 }, 511 DOMMouseScroll: { 512 horizontal: { expected: false, preventDefault: false, detail: 0 }, 513 vertical: { expected: true, preventDefault: false, detail: -1 } }, 514 MozMousePixelScroll: { 515 horizontal: { expected: false, preventDefault: false, detail: 0 }, 516 vertical: { expected: true, preventDefault: false, detail: -5 } } 517 }, 518 { description: "Vertical wheel event by pixels (-5.3 - 0) #2", 519 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 520 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 521 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 522 isCustomizedByPrefs: false, 523 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 524 wheel: { 525 expected: true, preventDefault: false, 526 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0 527 }, 528 DOMMouseScroll: { 529 horizontal: { expected: false, preventDefault: false, detail: 0 }, 530 vertical: { expected: false, preventDefault: false, detail: 0 } }, 531 MozMousePixelScroll: { 532 horizontal: { expected: false, preventDefault: false, detail: 0 }, 533 vertical: { expected: true, preventDefault: false, detail: -5 } } 534 }, 535 { description: "Vertical wheel event by pixels (-5.3 - 0) #3", 536 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 537 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 538 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 539 isCustomizedByPrefs: false, 540 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 541 wheel: { 542 expected: true, preventDefault: false, 543 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0 544 }, 545 DOMMouseScroll: { 546 horizontal: { expected: false, preventDefault: false, detail: 0 }, 547 vertical: { expected: false, preventDefault: false, detail: 0 } }, 548 MozMousePixelScroll: { 549 horizontal: { expected: false, preventDefault: false, detail: 0 }, 550 vertical: { expected: true, preventDefault: false, detail: -5 } } 551 }, 552 553 // 3 scroll events per line, and legacy line scroll will be fired last. 554 { description: "Horizontal wheel event by pixels (5.3 - 0) #1", 555 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 556 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 557 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 558 isCustomizedByPrefs: false, 559 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 560 wheel: { 561 expected: true, preventDefault: false, 562 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0 563 }, 564 DOMMouseScroll: { 565 horizontal: { expected: false, preventDefault: false, detail: 0 }, 566 vertical: { expected: false, preventDefault: false, detail: 0 } }, 567 MozMousePixelScroll: { 568 horizontal: { expected: true, preventDefault: false, detail: 5 }, 569 vertical: { expected: false, preventDefault: false, detail: 0 } } 570 }, 571 { description: "Horizontal wheel event by pixels (5.3 - 0) #2", 572 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 573 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 574 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 575 isCustomizedByPrefs: false, 576 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 577 wheel: { 578 expected: true, preventDefault: false, 579 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0 580 }, 581 DOMMouseScroll: { 582 horizontal: { expected: false, preventDefault: false, detail: 0 }, 583 vertical: { expected: false, preventDefault: false, detail: 0 } }, 584 MozMousePixelScroll: { 585 horizontal: { expected: true, preventDefault: false, detail: 5 }, 586 vertical: { expected: false, preventDefault: false, detail: 0 } } 587 }, 588 { description: "Horizontal wheel event by pixels (5.3 - 1) #3", 589 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 590 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 591 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 592 isCustomizedByPrefs: false, 593 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 594 wheel: { 595 expected: true, preventDefault: false, 596 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0 597 }, 598 DOMMouseScroll: { 599 horizontal: { expected: true, preventDefault: false, detail: 1 }, 600 vertical: { expected: false, preventDefault: false, detail: 0 } }, 601 MozMousePixelScroll: { 602 horizontal: { expected: true, preventDefault: false, detail: 5 }, 603 vertical: { expected: false, preventDefault: false, detail: 0 } } 604 }, 605 606 { description: "Vertical wheel event by pixels (5.3 - 0) #1", 607 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 608 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 609 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 610 isCustomizedByPrefs: false, 611 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 612 wheel: { 613 expected: true, preventDefault: false, 614 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0 615 }, 616 DOMMouseScroll: { 617 horizontal: { expected: false, preventDefault: false, detail: 0 }, 618 vertical: { expected: false, preventDefault: false, detail: 0 } }, 619 MozMousePixelScroll: { 620 horizontal: { expected: false, preventDefault: false, detail: 0 }, 621 vertical: { expected: true, preventDefault: false, detail: 5 } } 622 }, 623 { description: "Vertical wheel event by pixels (5.3 - 0) #2", 624 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 625 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 626 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 627 isCustomizedByPrefs: false, 628 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 629 wheel: { 630 expected: true, preventDefault: false, 631 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0 632 }, 633 DOMMouseScroll: { 634 horizontal: { expected: false, preventDefault: false, detail: 0 }, 635 vertical: { expected: false, preventDefault: false, detail: 0 } }, 636 MozMousePixelScroll: { 637 horizontal: { expected: false, preventDefault: false, detail: 0 }, 638 vertical: { expected: true, preventDefault: false, detail: 5 } } 639 }, 640 { description: "Vertical wheel event by pixels (5.3 - 1) #3", 641 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 642 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 643 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 644 isCustomizedByPrefs: false, 645 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 646 wheel: { 647 expected: true, preventDefault: false, 648 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0 649 }, 650 DOMMouseScroll: { 651 horizontal: { expected: false, preventDefault: false, detail: 0 }, 652 vertical: { expected: true, preventDefault: false, detail: 1 } }, 653 MozMousePixelScroll: { 654 horizontal: { expected: false, preventDefault: false, detail: 0 }, 655 vertical: { expected: true, preventDefault: false, detail: 5 } } 656 }, 657 658 { description: "Horizontal wheel event by pixels (-5.3 - 0) #1", 659 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 660 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 661 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 662 isCustomizedByPrefs: false, 663 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 664 wheel: { 665 expected: true, preventDefault: false, 666 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0 667 }, 668 DOMMouseScroll: { 669 horizontal: { expected: false, preventDefault: false, detail: 0 }, 670 vertical: { expected: false, preventDefault: false, detail: 0 } }, 671 MozMousePixelScroll: { 672 horizontal: { expected: true, preventDefault: false, detail: -5 }, 673 vertical: { expected: false, preventDefault: false, detail: 0 } } 674 }, 675 { description: "Horizontal wheel event by pixels (-5.3 - 0) #2", 676 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 677 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 678 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 679 isCustomizedByPrefs: false, 680 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 681 wheel: { 682 expected: true, preventDefault: false, 683 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0 684 }, 685 DOMMouseScroll: { 686 horizontal: { expected: false, preventDefault: false, detail: 0 }, 687 vertical: { expected: false, preventDefault: false, detail: 0 } }, 688 MozMousePixelScroll: { 689 horizontal: { expected: true, preventDefault: false, detail: -5 }, 690 vertical: { expected: false, preventDefault: false, detail: 0 } } 691 }, 692 { description: "Horizontal wheel event by pixels (-5.3 - 1) #3", 693 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 694 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 695 lineOrPageDeltaX: -1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 696 isCustomizedByPrefs: false, 697 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 698 wheel: { 699 expected: true, preventDefault: false, 700 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0 701 }, 702 DOMMouseScroll: { 703 horizontal: { expected: true, preventDefault: false, detail: -1 }, 704 vertical: { expected: false, preventDefault: false, detail: 0 } }, 705 MozMousePixelScroll: { 706 horizontal: { expected: true, preventDefault: false, detail: -5 }, 707 vertical: { expected: false, preventDefault: false, detail: 0 } } 708 }, 709 710 { description: "Vertical wheel event by pixels (-5.3 - 0) #1", 711 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 712 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 713 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 714 isCustomizedByPrefs: false, 715 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 716 wheel: { 717 expected: true, preventDefault: false, 718 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0 719 }, 720 DOMMouseScroll: { 721 horizontal: { expected: false, preventDefault: false, detail: 0 }, 722 vertical: { expected: false, preventDefault: false, detail: 0 } }, 723 MozMousePixelScroll: { 724 horizontal: { expected: false, preventDefault: false, detail: 0 }, 725 vertical: { expected: true, preventDefault: false, detail: -5 } } 726 }, 727 { description: "Vertical wheel event by pixels (-5.3 - 0) #2", 728 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 729 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 730 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 731 isCustomizedByPrefs: false, 732 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 733 wheel: { 734 expected: true, preventDefault: false, 735 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0 736 }, 737 DOMMouseScroll: { 738 horizontal: { expected: false, preventDefault: false, detail: 0 }, 739 vertical: { expected: false, preventDefault: false, detail: 0 } }, 740 MozMousePixelScroll: { 741 horizontal: { expected: false, preventDefault: false, detail: 0 }, 742 vertical: { expected: true, preventDefault: false, detail: -5 } } 743 }, 744 { description: "Vertical wheel event by pixels (-5.3 - -1) #3", 745 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 746 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 747 lineOrPageDeltaX: 0, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 748 isCustomizedByPrefs: false, 749 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 750 wheel: { 751 expected: true, preventDefault: false, 752 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0 753 }, 754 DOMMouseScroll: { 755 horizontal: { expected: false, preventDefault: false, detail: 0 }, 756 vertical: { expected: true, preventDefault: false, detail: -1 } }, 757 MozMousePixelScroll: { 758 horizontal: { expected: false, preventDefault: false, detail: 0 }, 759 vertical: { expected: true, preventDefault: false, detail: -5 } } 760 }, 761 762 // Oblique scroll. 763 { description: "To bottom-right wheel event by pixels (5.3/5.2 - 1/1) #1", 764 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 765 deltaX: 5.3, deltaY: 5.2, deltaZ: 0.0, isMomentum: false, 766 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 767 isCustomizedByPrefs: false, 768 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 769 wheel: { 770 expected: true, preventDefault: false, 771 deltaX: 5.3, deltaY: 5.2, deltaZ: 0.0 772 }, 773 DOMMouseScroll: { 774 horizontal: { expected: true, preventDefault: false, detail: 1 }, 775 vertical: { expected: true, preventDefault: false, detail: 1 } }, 776 MozMousePixelScroll: { 777 horizontal: { expected: true, preventDefault: false, detail: 5 }, 778 vertical: { expected: true, preventDefault: false, detail: 5 } } 779 }, 780 { description: "To bottom-right wheel event by pixels (5.3/5.2 - 0/0) #2", 781 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 782 deltaX: 5.3, deltaY: 5.2, deltaZ: 0.0, isMomentum: false, 783 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 784 isCustomizedByPrefs: false, 785 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 786 wheel: { 787 expected: true, preventDefault: false, 788 deltaX: 5.3, deltaY: 5.2, deltaZ: 0.0 789 }, 790 DOMMouseScroll: { 791 horizontal: { expected: false, preventDefault: false, detail: 0 }, 792 vertical: { expected: false, preventDefault: false, detail: 0 } }, 793 MozMousePixelScroll: { 794 horizontal: { expected: true, preventDefault: false, detail: 5 }, 795 vertical: { expected: true, preventDefault: false, detail: 5 } } 796 }, 797 { description: "To bottom-right wheel event by pixels (5.3/5.2 - 0/0) #3", 798 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 799 deltaX: 5.3, deltaY: 5.2, deltaZ: 0.0, isMomentum: false, 800 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 801 isCustomizedByPrefs: false, 802 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 803 wheel: { 804 expected: true, preventDefault: false, 805 deltaX: 5.3, deltaY: 5.2, deltaZ: 0.0 806 }, 807 DOMMouseScroll: { 808 horizontal: { expected: false, preventDefault: false, detail: 0 }, 809 vertical: { expected: false, preventDefault: false, detail: 0 } }, 810 MozMousePixelScroll: { 811 horizontal: { expected: true, preventDefault: false, detail: 5 }, 812 vertical: { expected: true, preventDefault: false, detail: 5 } } 813 }, 814 815 { description: "To bottom-left wheel event by pixels (-5.3/5.3 - -1/1) #1", 816 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 817 deltaX: -5.3, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 818 lineOrPageDeltaX: -1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 819 isCustomizedByPrefs: false, 820 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 821 wheel: { 822 expected: true, preventDefault: false, 823 deltaX: -5.3, deltaY: 5.3, deltaZ: 0.0 824 }, 825 DOMMouseScroll: { 826 horizontal: { expected: true, preventDefault: false, detail: -1 }, 827 vertical: { expected: true, preventDefault: false, detail: 1 } }, 828 MozMousePixelScroll: { 829 horizontal: { expected: true, preventDefault: false, detail: -5 }, 830 vertical: { expected: true, preventDefault: false, detail: 5 } } 831 }, 832 { description: "To bottom-left wheel event by pixels (-5.3/5.3 - 0/0) #2", 833 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 834 deltaX: -5.3, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 835 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 836 isCustomizedByPrefs: false, 837 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 838 wheel: { 839 expected: true, preventDefault: false, 840 deltaX: -5.3, deltaY: 5.3, deltaZ: 0.0 841 }, 842 DOMMouseScroll: { 843 horizontal: { expected: false, preventDefault: false, detail: 0 }, 844 vertical: { expected: false, preventDefault: false, detail: 0 } }, 845 MozMousePixelScroll: { 846 horizontal: { expected: true, preventDefault: false, detail: -5 }, 847 vertical: { expected: true, preventDefault: false, detail: 5 } } 848 }, 849 { description: "To bottom-left wheel event by pixels (-5.3/5.3 - 0/0) #3", 850 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 851 deltaX: -5.3, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 852 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 853 isCustomizedByPrefs: false, 854 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 855 wheel: { 856 expected: true, preventDefault: false, 857 deltaX: -5.3, deltaY: 5.3, deltaZ: 0.0 858 }, 859 DOMMouseScroll: { 860 horizontal: { expected: false, preventDefault: false, detail: 0 }, 861 vertical: { expected: false, preventDefault: false, detail: 0 } }, 862 MozMousePixelScroll: { 863 horizontal: { expected: true, preventDefault: false, detail: -5 }, 864 vertical: { expected: true, preventDefault: false, detail: 5 } } 865 }, 866 867 { description: "To top-left wheel event by pixels (-5.2/-5.3 - -1/-1) #1", 868 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 869 deltaX: -5.2, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 870 lineOrPageDeltaX: -1, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 871 isCustomizedByPrefs: false, 872 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 873 wheel: { 874 expected: true, preventDefault: false, 875 deltaX: -5.2, deltaY: -5.3, deltaZ: 0.0 876 }, 877 DOMMouseScroll: { 878 horizontal: { expected: true, preventDefault: false, detail: -1 }, 879 vertical: { expected: true, preventDefault: false, detail: -1 } }, 880 MozMousePixelScroll: { 881 horizontal: { expected: true, preventDefault: false, detail: -5 }, 882 vertical: { expected: true, preventDefault: false, detail: -5 } } 883 }, 884 { description: "To top-left wheel event by pixels (-5.2/-5.3 - 0/0) #2", 885 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 886 deltaX: -5.2, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 887 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 888 isCustomizedByPrefs: false, 889 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 890 wheel: { 891 expected: true, preventDefault: false, 892 deltaX: -5.2, deltaY: -5.3, deltaZ: 0.0 893 }, 894 DOMMouseScroll: { 895 horizontal: { expected: false, preventDefault: false, detail: 0 }, 896 vertical: { expected: false, preventDefault: false, detail: 0 } }, 897 MozMousePixelScroll: { 898 horizontal: { expected: true, preventDefault: false, detail: -5 }, 899 vertical: { expected: true, preventDefault: false, detail: -5 } } 900 }, 901 { description: "To top-left wheel event by pixels (-5.2/-5.3 - 0/0) #3", 902 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 903 deltaX: -5.2, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 904 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 905 isCustomizedByPrefs: false, 906 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 907 wheel: { 908 expected: true, preventDefault: false, 909 deltaX: -5.2, deltaY: -5.3, deltaZ: 0.0 910 }, 911 DOMMouseScroll: { 912 horizontal: { expected: false, preventDefault: false, detail: 0 }, 913 vertical: { expected: false, preventDefault: false, detail: 0 } }, 914 MozMousePixelScroll: { 915 horizontal: { expected: true, preventDefault: false, detail: -5 }, 916 vertical: { expected: true, preventDefault: false, detail: -5 } } 917 }, 918 919 { description: "To top-right wheel event by pixels (5.3/-5.3 - 1/-1) #1", 920 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 921 deltaX: 5.3, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 922 lineOrPageDeltaX: 1, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 923 isCustomizedByPrefs: false, 924 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 925 wheel: { 926 expected: true, preventDefault: false, 927 deltaX: 5.3, deltaY: -5.3, deltaZ: 0.0 928 }, 929 DOMMouseScroll: { 930 horizontal: { expected: true, preventDefault: false, detail: 1 }, 931 vertical: { expected: true, preventDefault: false, detail: -1 } }, 932 MozMousePixelScroll: { 933 horizontal: { expected: true, preventDefault: false, detail: 5 }, 934 vertical: { expected: true, preventDefault: false, detail: -5 } } 935 }, 936 { description: "To top-right wheel event by pixels (5.3/-5.3 - 0/0) #2", 937 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 938 deltaX: 5.3, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 939 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 940 isCustomizedByPrefs: false, 941 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 942 wheel: { 943 expected: true, preventDefault: false, 944 deltaX: 5.3, deltaY: -5.3, deltaZ: 0.0 945 }, 946 DOMMouseScroll: { 947 horizontal: { expected: false, preventDefault: false, detail: 0 }, 948 vertical: { expected: false, preventDefault: false, detail: 0 } }, 949 MozMousePixelScroll: { 950 horizontal: { expected: true, preventDefault: false, detail: 5 }, 951 vertical: { expected: true, preventDefault: false, detail: -5 } } 952 }, 953 954 // Pixel scroll only device's test. the lineOrPageDelta values should be computed 955 // by ESM. When changing the direction for each delta value, it should be 956 // reset at that time. 957 { description: "Pixel only device's horizontal wheel event by pixels (5.3 - 0) #1", 958 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 959 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 960 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 961 isCustomizedByPrefs: false, 962 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 963 wheel: { 964 expected: true, preventDefault: false, 965 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0 966 }, 967 DOMMouseScroll: { 968 horizontal: { expected: false, preventDefault: false, detail: 0 }, 969 vertical: { expected: false, preventDefault: false, detail: 0 } }, 970 MozMousePixelScroll: { 971 horizontal: { expected: true, preventDefault: false, detail: 5 }, 972 vertical: { expected: false, preventDefault: false, detail: 0 } } 973 }, 974 { description: "Pixel only device's horizontal wheel event by pixels (5.3 - 0) #2", 975 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 976 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 977 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 978 isCustomizedByPrefs: false, 979 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 980 wheel: { 981 expected: true, preventDefault: false, 982 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0 983 }, 984 DOMMouseScroll: { 985 horizontal: { expected: false, preventDefault: false, detail: 0 }, 986 vertical: { expected: false, preventDefault: false, detail: 0 } }, 987 MozMousePixelScroll: { 988 horizontal: { expected: true, preventDefault: false, detail: 5 }, 989 vertical: { expected: false, preventDefault: false, detail: 0 } } 990 }, 991 { description: "Pixel only device's horizontal wheel event by pixels (5.3 - 0) #3", 992 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 993 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 994 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 995 isCustomizedByPrefs: false, 996 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 997 wheel: { 998 expected: true, preventDefault: false, 999 deltaX: 5.3, deltaY: 0.0, deltaZ: 0.0 1000 }, 1001 DOMMouseScroll: { 1002 horizontal: { expected: true, preventDefault: false, detail: 1 }, 1003 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1004 MozMousePixelScroll: { 1005 horizontal: { expected: true, preventDefault: false, detail: 5 }, 1006 vertical: { expected: false, preventDefault: false, detail: 0 } } 1007 }, 1008 { description: "Pixel only device's Vertical wheel event by pixels (5.3 - 0) #1", 1009 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1010 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 1011 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1012 isCustomizedByPrefs: false, 1013 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1014 wheel: { 1015 expected: true, preventDefault: false, 1016 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0 1017 }, 1018 DOMMouseScroll: { 1019 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1020 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1021 MozMousePixelScroll: { 1022 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1023 vertical: { expected: true, preventDefault: false, detail: 5 } } 1024 }, 1025 { description: "Pixel only device's Vertical wheel event by pixels (5.3 - 0) #2", 1026 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1027 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 1028 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1029 isCustomizedByPrefs: false, 1030 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1031 wheel: { 1032 expected: true, preventDefault: false, 1033 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0 1034 }, 1035 DOMMouseScroll: { 1036 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1037 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1038 MozMousePixelScroll: { 1039 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1040 vertical: { expected: true, preventDefault: false, detail: 5 } } 1041 }, 1042 { description: "Pixel only device's Vertical wheel event by pixels (5.3 - 0) #3", 1043 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1044 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 1045 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1046 isCustomizedByPrefs: false, 1047 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1048 wheel: { 1049 expected: true, preventDefault: false, 1050 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0 1051 }, 1052 DOMMouseScroll: { 1053 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1054 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1055 MozMousePixelScroll: { 1056 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1057 vertical: { expected: true, preventDefault: false, detail: 5 } } 1058 }, 1059 { description: "Pixel only device's Vertical wheel event by pixels (5.3 - 0) #4", 1060 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1061 deltaX: 0.0, deltaY: 1.3, deltaZ: 0.0, isMomentum: false, 1062 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1063 isCustomizedByPrefs: false, 1064 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1065 wheel: { 1066 expected: true, preventDefault: false, 1067 deltaX: 0.0, deltaY: 1.3, deltaZ: 0.0 1068 }, 1069 DOMMouseScroll: { 1070 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1071 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1072 MozMousePixelScroll: { 1073 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1074 vertical: { expected: true, preventDefault: false, detail: 1 } } 1075 }, 1076 { description: "Pixel only device's Vertical wheel event by pixels (5.3 - 1) #5", 1077 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1078 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0, isMomentum: false, 1079 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1080 isCustomizedByPrefs: false, 1081 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1082 wheel: { 1083 expected: true, preventDefault: false, 1084 deltaX: 0.0, deltaY: 5.3, deltaZ: 0.0 1085 }, 1086 DOMMouseScroll: { 1087 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1088 vertical: { expected: true, preventDefault: false, detail: 1 } }, 1089 MozMousePixelScroll: { 1090 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1091 vertical: { expected: true, preventDefault: false, detail: 5 } } 1092 }, 1093 1094 { description: "Pixel only device's horizontal wheel event by pixels (-5.3 - 0) #1", 1095 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1096 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1097 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1098 isCustomizedByPrefs: false, 1099 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1100 wheel: { 1101 expected: true, preventDefault: false, 1102 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0 1103 }, 1104 DOMMouseScroll: { 1105 horizontal: { expected: false, preventDefault: false, detail: -1 }, 1106 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1107 MozMousePixelScroll: { 1108 horizontal: { expected: true, preventDefault: false, detail: -5 }, 1109 vertical: { expected: false, preventDefault: false, detail: 0 } } 1110 }, 1111 { description: "Pixel only device's horizontal wheel event by pixels (-5.3 - 0) #2", 1112 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1113 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1114 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1115 isCustomizedByPrefs: false, 1116 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1117 wheel: { 1118 expected: true, preventDefault: false, 1119 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0 1120 }, 1121 DOMMouseScroll: { 1122 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1123 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1124 MozMousePixelScroll: { 1125 horizontal: { expected: true, preventDefault: false, detail: -5 }, 1126 vertical: { expected: false, preventDefault: false, detail: 0 } } 1127 }, 1128 { description: "Pixel only device's horizontal wheel event by pixels (-5.3 - 0) #3", 1129 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1130 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1131 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1132 isCustomizedByPrefs: false, 1133 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1134 wheel: { 1135 expected: true, preventDefault: false, 1136 deltaX: -5.3, deltaY: 0.0, deltaZ: 0.0 1137 }, 1138 DOMMouseScroll: { 1139 horizontal: { expected: true, preventDefault: false, detail: -1 }, 1140 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1141 MozMousePixelScroll: { 1142 horizontal: { expected: true, preventDefault: false, detail: -5 }, 1143 vertical: { expected: false, preventDefault: false, detail: 0 } } 1144 }, 1145 1146 { description: "Pixel only device's Vertical wheel event by pixels (-5.3 - 0) #1", 1147 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1148 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 1149 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1150 isCustomizedByPrefs: false, 1151 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1152 wheel: { 1153 expected: true, preventDefault: false, 1154 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0 1155 }, 1156 DOMMouseScroll: { 1157 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1158 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1159 MozMousePixelScroll: { 1160 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1161 vertical: { expected: true, preventDefault: false, detail: -5 } } 1162 }, 1163 { description: "Pixel only device's Vertical wheel event by pixels (-5.3 - 0) #2", 1164 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1165 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 1166 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1167 isCustomizedByPrefs: false, 1168 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1169 wheel: { 1170 expected: true, preventDefault: false, 1171 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0 1172 }, 1173 DOMMouseScroll: { 1174 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1175 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1176 MozMousePixelScroll: { 1177 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1178 vertical: { expected: true, preventDefault: false, detail: -5 } } 1179 }, 1180 { description: "Pixel only device's Vertical wheel event by pixels (-5.3 - 0) #3", 1181 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1182 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 1183 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1184 isCustomizedByPrefs: false, 1185 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1186 wheel: { 1187 expected: true, preventDefault: false, 1188 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0 1189 }, 1190 DOMMouseScroll: { 1191 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1192 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1193 MozMousePixelScroll: { 1194 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1195 vertical: { expected: true, preventDefault: false, detail: -5 } } 1196 }, 1197 { description: "Pixel only device's Vertical wheel event by pixels (-5.3 - 0) #4", 1198 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1199 deltaX: 0.0, deltaY: -1.3, deltaZ: 0.0, isMomentum: false, 1200 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1201 isCustomizedByPrefs: false, 1202 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1203 wheel: { 1204 expected: true, preventDefault: false, 1205 deltaX: 0.0, deltaY: -1.3, deltaZ: 0.0 1206 }, 1207 DOMMouseScroll: { 1208 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1209 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1210 MozMousePixelScroll: { 1211 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1212 vertical: { expected: true, preventDefault: false, detail: -1 } } 1213 }, 1214 { description: "Pixel only device's Vertical wheel event by pixels (-5.3 - -1) #5", 1215 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1216 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0, isMomentum: false, 1217 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1218 isCustomizedByPrefs: false, 1219 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1220 wheel: { 1221 expected: true, preventDefault: false, 1222 deltaX: 0.0, deltaY: -5.3, deltaZ: 0.0 1223 }, 1224 DOMMouseScroll: { 1225 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1226 vertical: { expected: true, preventDefault: false, detail: -1 } }, 1227 MozMousePixelScroll: { 1228 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1229 vertical: { expected: true, preventDefault: false, detail: -5 } } 1230 }, 1231 1232 // ESM should reset an accumulated delta value only when the direction of it 1233 // is changed but shouldn't reset the other delta. 1234 { description: "Pixel only device's bottom-right wheel event by pixels (5.3/4.9 - 0/0) #1", 1235 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1236 deltaX: 5.3, deltaY: 4.9, deltaZ: 0.0, isMomentum: false, 1237 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1238 isCustomizedByPrefs: false, 1239 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1240 wheel: { 1241 expected: true, preventDefault: false, 1242 deltaX: 5.3, deltaY: 4.9, deltaZ: 0.0 1243 }, 1244 DOMMouseScroll: { 1245 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1246 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1247 MozMousePixelScroll: { 1248 horizontal: { expected: true, preventDefault: false, detail: 5 }, 1249 vertical: { expected: true, preventDefault: false, detail: 4 } } 1250 }, 1251 { description: "Pixel only device's bottom-right wheel event by pixels (5.3/4.9 - 0/0) #2", 1252 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1253 deltaX: 5.3, deltaY: 4.9, deltaZ: 0.0, isMomentum: false, 1254 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1255 isCustomizedByPrefs: false, 1256 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1257 wheel: { 1258 expected: true, preventDefault: false, 1259 deltaX: 5.3, deltaY: 4.9, deltaZ: 0.0 1260 }, 1261 DOMMouseScroll: { 1262 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1263 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1264 MozMousePixelScroll: { 1265 horizontal: { expected: true, preventDefault: false, detail: 5 }, 1266 vertical: { expected: true, preventDefault: false, detail: 4 } } 1267 }, 1268 { description: "Pixel only device's bottom-left wheel event by pixels (-5.3/4.9 - 0/0) #4", 1269 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1270 deltaX: -5.3, deltaY: 4.9, deltaZ: 0.0, isMomentum: false, 1271 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1272 isCustomizedByPrefs: false, 1273 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1274 wheel: { 1275 expected: true, preventDefault: false, 1276 deltaX: -5.3, deltaY: 4.9, deltaZ: 0.0 1277 }, 1278 DOMMouseScroll: { 1279 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1280 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1281 MozMousePixelScroll: { 1282 horizontal: { expected: true, preventDefault: false, detail: -5 }, 1283 vertical: { expected: true, preventDefault: false, detail: 4 } } 1284 }, 1285 // the accumulated X should be 0 here, but Y shouldn't be reset. 1286 { description: "Pixel only device's bottom-right wheel event by pixels (5.3/4.9 - 0/0) #5", 1287 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1288 deltaX: 5.3, deltaY: 1.9, deltaZ: 0.0, isMomentum: false, 1289 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1290 isCustomizedByPrefs: false, 1291 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1292 wheel: { 1293 expected: true, preventDefault: false, 1294 deltaX: 5.3, deltaY: 1.9, deltaZ: 0.0 1295 }, 1296 DOMMouseScroll: { 1297 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1298 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1299 MozMousePixelScroll: { 1300 horizontal: { expected: true, preventDefault: false, detail: 5 }, 1301 vertical: { expected: true, preventDefault: false, detail: 1 } } 1302 }, 1303 1304 { description: "Pixel only device's top-left wheel event by pixels (-5.3/-4.9 - 0/0) #1", 1305 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1306 deltaX: -5.3, deltaY: -4.9, deltaZ: 0.0, isMomentum: false, 1307 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1308 isCustomizedByPrefs: false, 1309 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1310 wheel: { 1311 expected: true, preventDefault: false, 1312 deltaX: -5.3, deltaY: -4.9, deltaZ: 0.0 1313 }, 1314 DOMMouseScroll: { 1315 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1316 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1317 MozMousePixelScroll: { 1318 horizontal: { expected: true, preventDefault: false, detail: -5 }, 1319 vertical: { expected: true, preventDefault: false, detail: -4 } } 1320 }, 1321 { description: "Pixel only device's top-left wheel event by pixels (-5.3/-4.9 - 0/0) #2", 1322 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1323 deltaX: -5.3, deltaY: -4.9, deltaZ: 0.0, isMomentum: false, 1324 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1325 isCustomizedByPrefs: false, 1326 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1327 wheel: { 1328 expected: true, preventDefault: false, 1329 deltaX: -5.3, deltaY: -4.9, deltaZ: 0.0 1330 }, 1331 DOMMouseScroll: { 1332 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1333 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1334 MozMousePixelScroll: { 1335 horizontal: { expected: true, preventDefault: false, detail: -5 }, 1336 vertical: { expected: true, preventDefault: false, detail: -4 } } 1337 }, 1338 { description: "Pixel only device's bottom-left wheel event by pixels (-5.3/4.9 - 0/0) #4", 1339 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1340 deltaX: -5.3, deltaY: 4.9, deltaZ: 0.0, isMomentum: false, 1341 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1342 isCustomizedByPrefs: false, 1343 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1344 wheel: { 1345 expected: true, preventDefault: false, 1346 deltaX: -5.3, deltaY: 4.9, deltaZ: 0.0 1347 }, 1348 DOMMouseScroll: { 1349 horizontal: { expected: true, preventDefault: false, detail: -1 }, 1350 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1351 MozMousePixelScroll: { 1352 horizontal: { expected: true, preventDefault: false, detail: -5 }, 1353 vertical: { expected: true, preventDefault: false, detail: 4 } } 1354 }, 1355 // the accumulated Y should be 0 here, but X shouldn't be reset. 1356 { description: "Pixel only device's top-left wheel event by pixels (-5.3/-4.9 - 0/0) #5", 1357 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 1358 deltaX: -5.3, deltaY: -4.9, deltaZ: 0.0, isMomentum: false, 1359 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: true, 1360 isCustomizedByPrefs: false, 1361 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1362 wheel: { 1363 expected: true, preventDefault: false, 1364 deltaX: -5.3, deltaY: -4.9, deltaZ: 0.0 1365 }, 1366 DOMMouseScroll: { 1367 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1368 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1369 MozMousePixelScroll: { 1370 horizontal: { expected: true, preventDefault: false, detail: -5 }, 1371 vertical: { expected: true, preventDefault: false, detail: -4 } } 1372 }, 1373 1374 // Simple line scroll tests. 1375 { description: "Simple horizontal wheel event by lines (1.0 - 1) #1", 1376 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1377 deltaX: 1.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1378 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1379 isCustomizedByPrefs: false, 1380 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1381 wheel: { 1382 expected: true, preventDefault: false, 1383 deltaX: 1.0, deltaY: 0.0, deltaZ: 0.0 1384 }, 1385 DOMMouseScroll: { 1386 horizontal: { expected: true, preventDefault: false, detail: 1 }, 1387 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1388 MozMousePixelScroll: { 1389 horizontal: { expected: true, preventDefault: false, detail: gHorizontalLine }, 1390 vertical: { expected: false, preventDefault: false, detail: 0 } } 1391 }, 1392 { description: "Simple horizontal wheel event by lines (1.0 - 1) #2", 1393 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1394 deltaX: 1.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1395 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1396 isCustomizedByPrefs: false, 1397 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1398 wheel: { 1399 expected: true, preventDefault: false, 1400 deltaX: 1.0, deltaY: 0.0, deltaZ: 0.0 1401 }, 1402 DOMMouseScroll: { 1403 horizontal: { expected: true, preventDefault: false, detail: 1 }, 1404 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1405 MozMousePixelScroll: { 1406 horizontal: { expected: true, preventDefault: false, detail: gHorizontalLine }, 1407 vertical: { expected: false, preventDefault: false, detail: 0 } } 1408 }, 1409 1410 { description: "Simple horizontal wheel event by lines (-1.0 - -1) #1", 1411 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1412 deltaX: -1.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1413 lineOrPageDeltaX: -1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1414 isCustomizedByPrefs: false, 1415 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1416 wheel: { 1417 expected: true, preventDefault: false, 1418 deltaX: -1.0, deltaY: 0.0, deltaZ: 0.0 1419 }, 1420 DOMMouseScroll: { 1421 horizontal: { expected: true, preventDefault: false, detail: -1 }, 1422 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1423 MozMousePixelScroll: { 1424 horizontal: { expected: true, preventDefault: false, detail: -gHorizontalLine }, 1425 vertical: { expected: false, preventDefault: false, detail: 0 } } 1426 }, 1427 { description: "Simple horizontal wheel event by lines (-1.0 - -1) #2", 1428 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1429 deltaX: -1.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1430 lineOrPageDeltaX: -1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1431 isCustomizedByPrefs: false, 1432 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1433 wheel: { 1434 expected: true, preventDefault: false, 1435 deltaX: -1.0, deltaY: 0.0, deltaZ: 0.0 1436 }, 1437 DOMMouseScroll: { 1438 horizontal: { expected: true, preventDefault: false, detail: -1 }, 1439 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1440 MozMousePixelScroll: { 1441 horizontal: { expected: true, preventDefault: false, detail: -gHorizontalLine }, 1442 vertical: { expected: false, preventDefault: false, detail: 0 } } 1443 }, 1444 1445 { description: "Simple vertical wheel event by lines (-1.0 - -1) #1", 1446 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1447 deltaX: 0.0, deltaY: -1.0, deltaZ: 0.0, isMomentum: false, 1448 lineOrPageDeltaX: 0, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 1449 isCustomizedByPrefs: false, 1450 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1451 wheel: { 1452 expected: true, preventDefault: false, 1453 deltaX: 0.0, deltaY: -1.0, deltaZ: 0.0 1454 }, 1455 DOMMouseScroll: { 1456 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1457 vertical: { expected: true, preventDefault: false, detail: -1 } }, 1458 MozMousePixelScroll: { 1459 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1460 vertical: { expected: true, preventDefault: false, detail: -gLineHeight } } 1461 }, 1462 { description: "Simple vertical wheel event by lines (-1.0 - -1) #2", 1463 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1464 deltaX: 0.0, deltaY: -1.0, deltaZ: 0.0, isMomentum: false, 1465 lineOrPageDeltaX: 0, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 1466 isCustomizedByPrefs: false, 1467 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1468 wheel: { 1469 expected: true, preventDefault: false, 1470 deltaX: 0.0, deltaY: -1.0, deltaZ: 0.0 1471 }, 1472 DOMMouseScroll: { 1473 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1474 vertical: { expected: true, preventDefault: false, detail: -1 } }, 1475 MozMousePixelScroll: { 1476 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1477 vertical: { expected: true, preventDefault: false, detail: -gLineHeight } } 1478 }, 1479 1480 { description: "Simple vertical wheel event by lines (1.0 - 1) #1", 1481 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1482 deltaX: 0.0, deltaY: 1.0, deltaZ: 0.0, isMomentum: false, 1483 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 1484 isCustomizedByPrefs: false, 1485 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1486 wheel: { 1487 expected: true, preventDefault: false, 1488 deltaX: 0.0, deltaY: 1.0, deltaZ: 0.0 1489 }, 1490 DOMMouseScroll: { 1491 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1492 vertical: { expected: true, preventDefault: false, detail: 1 } }, 1493 MozMousePixelScroll: { 1494 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1495 vertical: { expected: true, preventDefault: false, detail: gLineHeight } } 1496 }, 1497 { description: "Simple vertical wheel event by lines (1.0 - 1) #2", 1498 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1499 deltaX: 0.0, deltaY: 1.0, deltaZ: 0.0, isMomentum: false, 1500 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 1501 isCustomizedByPrefs: false, 1502 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1503 wheel: { 1504 expected: true, preventDefault: false, 1505 deltaX: 0.0, deltaY: 1.0, deltaZ: 0.0 1506 }, 1507 DOMMouseScroll: { 1508 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1509 vertical: { expected: true, preventDefault: false, detail: 1 } }, 1510 MozMousePixelScroll: { 1511 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1512 vertical: { expected: true, preventDefault: false, detail: gLineHeight } } 1513 }, 1514 1515 // high resolution line scroll 1516 { description: "High resolution horizontal wheel event by lines (0.333... - 0) #1", 1517 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1518 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1519 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1520 isCustomizedByPrefs: false, 1521 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1522 wheel: { 1523 expected: true, preventDefault: false, 1524 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0 1525 }, 1526 DOMMouseScroll: { 1527 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1528 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1529 MozMousePixelScroll: { 1530 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 3) }, 1531 vertical: { expected: false, preventDefault: false, detail: 0 } } 1532 }, 1533 { description: "High resolution horizontal wheel event by lines (0.333... - 0) #2", 1534 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1535 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1536 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1537 isCustomizedByPrefs: false, 1538 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1539 wheel: { 1540 expected: true, preventDefault: false, 1541 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0 1542 }, 1543 DOMMouseScroll: { 1544 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1545 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1546 MozMousePixelScroll: { 1547 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 3) }, 1548 vertical: { expected: false, preventDefault: false, detail: 0 } } 1549 }, 1550 { description: "High resolution horizontal wheel event by lines (0.333... - 1) #3", 1551 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1552 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1553 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1554 isCustomizedByPrefs: false, 1555 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1556 wheel: { 1557 expected: true, preventDefault: false, 1558 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0 1559 }, 1560 DOMMouseScroll: { 1561 horizontal: { expected: true, preventDefault: false, detail: 1 }, 1562 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1563 MozMousePixelScroll: { 1564 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 3) }, 1565 vertical: { expected: false, preventDefault: false, detail: 0 } } 1566 }, 1567 1568 { description: "High resolution horizontal wheel event by lines (-0.333... - 0) #1", 1569 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1570 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1571 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1572 isCustomizedByPrefs: false, 1573 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1574 wheel: { 1575 expected: true, preventDefault: false, 1576 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0 1577 }, 1578 DOMMouseScroll: { 1579 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1580 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1581 MozMousePixelScroll: { 1582 horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gHorizontalLine / 3) }, 1583 vertical: { expected: false, preventDefault: false, detail: 0 } } 1584 }, 1585 { description: "High resolution horizontal wheel event by lines (-0.333... - 0) #2", 1586 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1587 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1588 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1589 isCustomizedByPrefs: false, 1590 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1591 wheel: { 1592 expected: true, preventDefault: false, 1593 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0 1594 }, 1595 DOMMouseScroll: { 1596 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1597 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1598 MozMousePixelScroll: { 1599 horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gHorizontalLine / 3) }, 1600 vertical: { expected: false, preventDefault: false, detail: 0 } } 1601 }, 1602 { description: "High resolution horizontal wheel event by lines (-0.333... - -1) #3", 1603 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1604 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1605 lineOrPageDeltaX: -1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1606 isCustomizedByPrefs: false, 1607 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1608 wheel: { 1609 expected: true, preventDefault: false, 1610 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0 1611 }, 1612 DOMMouseScroll: { 1613 horizontal: { expected: true, preventDefault: false, detail: -1 }, 1614 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1615 MozMousePixelScroll: { 1616 horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gHorizontalLine / 3) }, 1617 vertical: { expected: false, preventDefault: false, detail: 0 } } 1618 }, 1619 1620 { description: "High resolution vertical wheel event by lines (0.333... - 0) #1", 1621 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1622 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0, isMomentum: false, 1623 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1624 isCustomizedByPrefs: false, 1625 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1626 wheel: { 1627 expected: true, preventDefault: false, 1628 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0 1629 }, 1630 DOMMouseScroll: { 1631 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1632 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1633 MozMousePixelScroll: { 1634 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1635 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) } } 1636 }, 1637 { description: "High resolution vertical wheel event by lines (0.333... - 0) #2", 1638 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1639 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0, isMomentum: false, 1640 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1641 isCustomizedByPrefs: false, 1642 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1643 wheel: { 1644 expected: true, preventDefault: false, 1645 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0 1646 }, 1647 DOMMouseScroll: { 1648 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1649 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1650 MozMousePixelScroll: { 1651 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1652 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) } } 1653 }, 1654 { description: "High resolution vertical wheel event by lines (0.333... - 1) #3", 1655 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1656 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0, isMomentum: false, 1657 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 1658 isCustomizedByPrefs: false, 1659 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1660 wheel: { 1661 expected: true, preventDefault: false, 1662 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0 1663 }, 1664 DOMMouseScroll: { 1665 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1666 vertical: { expected: true, preventDefault: false, detail: 1 } }, 1667 MozMousePixelScroll: { 1668 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1669 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) } } 1670 }, 1671 1672 { description: "High resolution vertical wheel event by lines (-0.333... - 0) #1", 1673 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1674 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0, isMomentum: false, 1675 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1676 isCustomizedByPrefs: false, 1677 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1678 wheel: { 1679 expected: true, preventDefault: false, 1680 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0 1681 }, 1682 DOMMouseScroll: { 1683 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1684 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1685 MozMousePixelScroll: { 1686 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1687 vertical: { expected: true, preventDefault: false, detail: -Math.floor(gLineHeight / 3) } } 1688 }, 1689 { description: "High resolution vertical wheel event by lines (-0.333... - 0) #2", 1690 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1691 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0, isMomentum: false, 1692 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1693 isCustomizedByPrefs: false, 1694 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1695 wheel: { 1696 expected: true, preventDefault: false, 1697 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0 1698 }, 1699 DOMMouseScroll: { 1700 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1701 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1702 MozMousePixelScroll: { 1703 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1704 vertical: { expected: true, preventDefault: false, detail: -Math.floor(gLineHeight / 3) } } 1705 }, 1706 { description: "High resolution vertical wheel event by lines (-0.333... - -1) #3", 1707 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1708 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0, isMomentum: false, 1709 lineOrPageDeltaX: 0, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 1710 isCustomizedByPrefs: false, 1711 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1712 wheel: { 1713 expected: true, preventDefault: false, 1714 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0 1715 }, 1716 DOMMouseScroll: { 1717 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1718 vertical: { expected: true, preventDefault: false, detail: -1 } }, 1719 MozMousePixelScroll: { 1720 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1721 vertical: { expected: true, preventDefault: false, detail: -Math.floor(gLineHeight / 3) } } 1722 }, 1723 1724 // Oblique line scroll 1725 { description: "Oblique wheel event by lines (-1.0/2.0 - -1/2)", 1726 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1727 deltaX: -1.0, deltaY: 2.0, deltaZ: 0.0, isMomentum: false, 1728 lineOrPageDeltaX: -1, lineOrPageDeltaY: 2, isNoLineOrPageDelta: false, 1729 isCustomizedByPrefs: false, 1730 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1731 wheel: { 1732 expected: true, preventDefault: false, 1733 deltaX: -1.0, deltaY: 2.0, deltaZ: 0.0 1734 }, 1735 DOMMouseScroll: { 1736 horizontal: { expected: true, preventDefault: false, detail: -1 }, 1737 vertical: { expected: true, preventDefault: false, detail: 2 } }, 1738 MozMousePixelScroll: { 1739 horizontal: { expected: true, preventDefault: false, detail: -gHorizontalLine }, 1740 vertical: { expected: true, preventDefault: false, detail: gLineHeight * 2 } } 1741 }, 1742 1743 { description: "Oblique wheel event by lines (1.0/-2.0 - 1/-2)", 1744 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1745 deltaX: 1.0, deltaY: -2.0, deltaZ: 0.0, isMomentum: false, 1746 lineOrPageDeltaX: 1, lineOrPageDeltaY: -2, isNoLineOrPageDelta: false, 1747 isCustomizedByPrefs: false, 1748 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1749 wheel: { 1750 expected: true, preventDefault: false, 1751 deltaX: 1.0, deltaY: -2.0, deltaZ: 0.0 1752 }, 1753 DOMMouseScroll: { 1754 horizontal: { expected: true, preventDefault: false, detail: 1 }, 1755 vertical: { expected: true, preventDefault: false, detail: -2 } }, 1756 MozMousePixelScroll: { 1757 horizontal: { expected: true, preventDefault: false, detail: gHorizontalLine }, 1758 vertical: { expected: true, preventDefault: false, detail: -gLineHeight * 2 } } 1759 }, 1760 1761 { description: "High resolution oblique wheel event by lines (0.5/0.333.../-0.8 - 0/0) #1", 1762 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1763 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8, isMomentum: false, 1764 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1765 isCustomizedByPrefs: false, 1766 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1767 wheel: { 1768 expected: true, preventDefault: false, 1769 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8 1770 }, 1771 DOMMouseScroll: { 1772 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1773 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1774 MozMousePixelScroll: { 1775 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 2) }, 1776 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) } } 1777 }, 1778 { description: "High resolution oblique wheel event by lines (0.5/0.333.../-0.8 - 1/0) #2", 1779 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1780 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8, isMomentum: false, 1781 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1782 isCustomizedByPrefs: false, 1783 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1784 wheel: { 1785 expected: true, preventDefault: false, 1786 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8 1787 }, 1788 DOMMouseScroll: { 1789 horizontal: { expected: true, preventDefault: false, detail: 1 }, 1790 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1791 MozMousePixelScroll: { 1792 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 2) }, 1793 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) } } 1794 }, 1795 { description: "High resolution oblique wheel event by lines (0.5/0.333.../-0.8 - 0/1) #3", 1796 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 1797 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8, isMomentum: false, 1798 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 1799 isCustomizedByPrefs: false, 1800 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1801 wheel: { 1802 expected: true, preventDefault: false, 1803 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8 1804 }, 1805 DOMMouseScroll: { 1806 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1807 vertical: { expected: true, preventDefault: false, detail: 1 } }, 1808 MozMousePixelScroll: { 1809 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 2) }, 1810 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 3) } } 1811 }, 1812 1813 // Simple page scroll tests. 1814 { description: "Simple horizontal wheel event by pages (1.0 - 1) #1", 1815 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 1816 deltaX: 1.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1817 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1818 isCustomizedByPrefs: false, 1819 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1820 wheel: { 1821 expected: true, preventDefault: false, 1822 deltaX: 1.0, deltaY: 0.0, deltaZ: 0.0 1823 }, 1824 DOMMouseScroll: { 1825 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 1826 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1827 MozMousePixelScroll: { 1828 horizontal: { expected: true, preventDefault: false, detail: gPageWidth }, 1829 vertical: { expected: false, preventDefault: false, detail: 0 } } 1830 }, 1831 { description: "Simple horizontal wheel event by pages (1.0 - 1) #2", 1832 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 1833 deltaX: 1.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1834 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1835 isCustomizedByPrefs: false, 1836 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1837 wheel: { 1838 expected: true, preventDefault: false, 1839 deltaX: 1.0, deltaY: 0.0, deltaZ: 0.0 1840 }, 1841 DOMMouseScroll: { 1842 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 1843 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1844 MozMousePixelScroll: { 1845 horizontal: { expected: true, preventDefault: false, detail: gPageWidth }, 1846 vertical: { expected: false, preventDefault: false, detail: 0 } } 1847 }, 1848 1849 { description: "Simple horizontal wheel event by pages (-1.0 - -1) #1", 1850 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 1851 deltaX: -1.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1852 lineOrPageDeltaX: -1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1853 isCustomizedByPrefs: false, 1854 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1855 wheel: { 1856 expected: true, preventDefault: false, 1857 deltaX: -1.0, deltaY: 0.0, deltaZ: 0.0 1858 }, 1859 DOMMouseScroll: { 1860 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_UP }, 1861 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1862 MozMousePixelScroll: { 1863 horizontal: { expected: true, preventDefault: false, detail: -gPageWidth }, 1864 vertical: { expected: false, preventDefault: false, detail: 0 } } 1865 }, 1866 { description: "Simple horizontal wheel event by pages (-1.0 - -1) #2", 1867 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 1868 deltaX: -1.0, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1869 lineOrPageDeltaX: -1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1870 isCustomizedByPrefs: false, 1871 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1872 wheel: { 1873 expected: true, preventDefault: false, 1874 deltaX: -1.0, deltaY: 0.0, deltaZ: 0.0 1875 }, 1876 DOMMouseScroll: { 1877 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_UP }, 1878 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1879 MozMousePixelScroll: { 1880 horizontal: { expected: true, preventDefault: false, detail: -gPageWidth }, 1881 vertical: { expected: false, preventDefault: false, detail: 0 } } 1882 }, 1883 1884 { description: "Simple vertical wheel event by pages (-1.0 - -1) #1", 1885 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 1886 deltaX: 0.0, deltaY: -1.0, deltaZ: 0.0, isMomentum: false, 1887 lineOrPageDeltaX: 0, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 1888 isCustomizedByPrefs: false, 1889 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1890 wheel: { 1891 expected: true, preventDefault: false, 1892 deltaX: 0.0, deltaY: -1.0, deltaZ: 0.0 1893 }, 1894 DOMMouseScroll: { 1895 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1896 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_UP } }, 1897 MozMousePixelScroll: { 1898 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1899 vertical: { expected: true, preventDefault: false, detail: -gPageHeight } } 1900 }, 1901 { description: "Simple vertical wheel event by pages (-1.0 - -1) #2", 1902 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 1903 deltaX: 0.0, deltaY: -1.0, deltaZ: 0.0, isMomentum: false, 1904 lineOrPageDeltaX: 0, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 1905 isCustomizedByPrefs: false, 1906 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1907 wheel: { 1908 expected: true, preventDefault: false, 1909 deltaX: 0.0, deltaY: -1.0, deltaZ: 0.0 1910 }, 1911 DOMMouseScroll: { 1912 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1913 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_UP } }, 1914 MozMousePixelScroll: { 1915 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1916 vertical: { expected: true, preventDefault: false, detail: -gPageHeight } } 1917 }, 1918 1919 { description: "Simple vertical wheel event by pages (1.0 - 1) #1", 1920 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 1921 deltaX: 0.0, deltaY: 1.0, deltaZ: 0.0, isMomentum: false, 1922 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 1923 isCustomizedByPrefs: false, 1924 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1925 wheel: { 1926 expected: true, preventDefault: false, 1927 deltaX: 0.0, deltaY: 1.0, deltaZ: 0.0 1928 }, 1929 DOMMouseScroll: { 1930 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1931 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 1932 MozMousePixelScroll: { 1933 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1934 vertical: { expected: true, preventDefault: false, detail: gPageHeight } } 1935 }, 1936 { description: "Simple vertical wheel event by pages (1.0 - 1) #2", 1937 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 1938 deltaX: 0.0, deltaY: 1.0, deltaZ: 0.0, isMomentum: false, 1939 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 1940 isCustomizedByPrefs: false, 1941 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1942 wheel: { 1943 expected: true, preventDefault: false, 1944 deltaX: 0.0, deltaY: 1.0, deltaZ: 0.0 1945 }, 1946 DOMMouseScroll: { 1947 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1948 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 1949 MozMousePixelScroll: { 1950 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1951 vertical: { expected: true, preventDefault: false, detail: gPageHeight } } 1952 }, 1953 1954 // high resolution page scroll 1955 { description: "High resolution horizontal wheel event by pages (0.333... - 0) #1", 1956 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 1957 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1958 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1959 isCustomizedByPrefs: false, 1960 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1961 wheel: { 1962 expected: true, preventDefault: false, 1963 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0 1964 }, 1965 DOMMouseScroll: { 1966 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1967 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1968 MozMousePixelScroll: { 1969 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gPageWidth / 3) }, 1970 vertical: { expected: false, preventDefault: false, detail: 0 } } 1971 }, 1972 { description: "High resolution horizontal wheel event by pages (0.333... - 0) #2", 1973 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 1974 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1975 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1976 isCustomizedByPrefs: false, 1977 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1978 wheel: { 1979 expected: true, preventDefault: false, 1980 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0 1981 }, 1982 DOMMouseScroll: { 1983 horizontal: { expected: false, preventDefault: false, detail: 0 }, 1984 vertical: { expected: false, preventDefault: false, detail: 0 } }, 1985 MozMousePixelScroll: { 1986 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gPageWidth / 3) }, 1987 vertical: { expected: false, preventDefault: false, detail: 0 } } 1988 }, 1989 { description: "High resolution horizontal wheel event by pages (0.333... - 1) #3", 1990 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 1991 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 1992 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 1993 isCustomizedByPrefs: false, 1994 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 1995 wheel: { 1996 expected: true, preventDefault: false, 1997 deltaX: 1.0 / 3, deltaY: 0.0, deltaZ: 0.0 1998 }, 1999 DOMMouseScroll: { 2000 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 2001 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2002 MozMousePixelScroll: { 2003 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gPageWidth / 3) }, 2004 vertical: { expected: false, preventDefault: false, detail: 0 } } 2005 }, 2006 2007 { description: "High resolution horizontal wheel event by pages (-0.333... - 0) #1", 2008 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2009 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 2010 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 2011 isCustomizedByPrefs: false, 2012 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2013 wheel: { 2014 expected: true, preventDefault: false, 2015 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0 2016 }, 2017 DOMMouseScroll: { 2018 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2019 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2020 MozMousePixelScroll: { 2021 horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gPageWidth / 3) }, 2022 vertical: { expected: false, preventDefault: false, detail: 0 } } 2023 }, 2024 { description: "High resolution horizontal wheel event by pages (-0.333... - 0) #2", 2025 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2026 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 2027 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 2028 isCustomizedByPrefs: false, 2029 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2030 wheel: { 2031 expected: true, preventDefault: false, 2032 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0 2033 }, 2034 DOMMouseScroll: { 2035 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2036 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2037 MozMousePixelScroll: { 2038 horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gPageWidth / 3) }, 2039 vertical: { expected: false, preventDefault: false, detail: 0 } } 2040 }, 2041 { description: "High resolution horizontal wheel event by pages (-0.333... - -1) #3", 2042 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2043 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0, isMomentum: false, 2044 lineOrPageDeltaX: -1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 2045 isCustomizedByPrefs: false, 2046 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2047 wheel: { 2048 expected: true, preventDefault: false, 2049 deltaX: -1.0 / 3, deltaY: 0.0, deltaZ: 0.0 2050 }, 2051 DOMMouseScroll: { 2052 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_UP }, 2053 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2054 MozMousePixelScroll: { 2055 horizontal: { expected: true, preventDefault: false, detail: -Math.floor(gPageWidth / 3) }, 2056 vertical: { expected: false, preventDefault: false, detail: 0 } } 2057 }, 2058 2059 { description: "High resolution vertical wheel event by pages (0.333... - 0) #1", 2060 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2061 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0, isMomentum: false, 2062 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 2063 isCustomizedByPrefs: false, 2064 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2065 wheel: { 2066 expected: true, preventDefault: false, 2067 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0 2068 }, 2069 DOMMouseScroll: { 2070 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2071 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2072 MozMousePixelScroll: { 2073 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2074 vertical: { expected: true, preventDefault: false, detail: Math.floor(gPageHeight / 3) } } 2075 }, 2076 { description: "High resolution vertical wheel event by pages (0.333... - 0) #2", 2077 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2078 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0, isMomentum: false, 2079 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 2080 isCustomizedByPrefs: false, 2081 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2082 wheel: { 2083 expected: true, preventDefault: false, 2084 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0 2085 }, 2086 DOMMouseScroll: { 2087 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2088 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2089 MozMousePixelScroll: { 2090 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2091 vertical: { expected: true, preventDefault: false, detail: Math.floor(gPageHeight / 3) } } 2092 }, 2093 { description: "High resolution vertical wheel event by pages (0.333... - 1) #3", 2094 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2095 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0, isMomentum: false, 2096 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2097 isCustomizedByPrefs: false, 2098 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2099 wheel: { 2100 expected: true, preventDefault: false, 2101 deltaX: 0.0, deltaY: 1.0 / 3, deltaZ: 0.0 2102 }, 2103 DOMMouseScroll: { 2104 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2105 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2106 MozMousePixelScroll: { 2107 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2108 vertical: { expected: true, preventDefault: false, detail: Math.floor(gPageHeight / 3) } } 2109 }, 2110 2111 { description: "High resolution vertical wheel event by pages (-0.333... - 0) #1", 2112 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2113 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0, isMomentum: false, 2114 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 2115 isCustomizedByPrefs: false, 2116 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2117 wheel: { 2118 expected: true, preventDefault: false, 2119 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0 2120 }, 2121 DOMMouseScroll: { 2122 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2123 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2124 MozMousePixelScroll: { 2125 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2126 vertical: { expected: true, preventDefault: false, detail: -Math.floor(gPageHeight / 3) } } 2127 }, 2128 { description: "High resolution vertical wheel event by pages (-0.333... - 0) #2", 2129 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2130 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0, isMomentum: false, 2131 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 2132 isCustomizedByPrefs: false, 2133 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2134 wheel: { 2135 expected: true, preventDefault: false, 2136 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0 2137 }, 2138 DOMMouseScroll: { 2139 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2140 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2141 MozMousePixelScroll: { 2142 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2143 vertical: { expected: true, preventDefault: false, detail: -Math.floor(gPageHeight / 3) } } 2144 }, 2145 { description: "High resolution vertical wheel event by pages (-0.333... - -1) #3", 2146 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2147 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0, isMomentum: false, 2148 lineOrPageDeltaX: 0, lineOrPageDeltaY: -1, isNoLineOrPageDelta: false, 2149 isCustomizedByPrefs: false, 2150 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2151 wheel: { 2152 expected: true, preventDefault: false, 2153 deltaX: 0.0, deltaY: -1.0 / 3, deltaZ: 0.0 2154 }, 2155 DOMMouseScroll: { 2156 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2157 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_UP } }, 2158 MozMousePixelScroll: { 2159 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2160 vertical: { expected: true, preventDefault: false, detail: -Math.floor(gPageHeight / 3) } } 2161 }, 2162 2163 // Oblique page scroll 2164 { description: "Oblique wheel event by pages (-1.0/2.0 - -1/2)", 2165 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2166 deltaX: -1.0, deltaY: 2.0, deltaZ: 0.0, isMomentum: false, 2167 lineOrPageDeltaX: -1, lineOrPageDeltaY: 2, isNoLineOrPageDelta: false, 2168 isCustomizedByPrefs: false, 2169 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2170 wheel: { 2171 expected: true, preventDefault: false, 2172 deltaX: -1.0, deltaY: 2.0, deltaZ: 0.0 2173 }, 2174 DOMMouseScroll: { 2175 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_UP }, 2176 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2177 MozMousePixelScroll: { 2178 horizontal: { expected: true, preventDefault: false, detail: -gPageWidth }, 2179 vertical: { expected: true, preventDefault: false, detail: gPageHeight * 2 } } 2180 }, 2181 2182 { description: "Oblique wheel event by pages (1.0/-2.0 - 1/-2)", 2183 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2184 deltaX: 1.0, deltaY: -2.0, deltaZ: 0.0, isMomentum: false, 2185 lineOrPageDeltaX: 1, lineOrPageDeltaY: -2, isNoLineOrPageDelta: false, 2186 isCustomizedByPrefs: false, 2187 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2188 wheel: { 2189 expected: true, preventDefault: false, 2190 deltaX: 1.0, deltaY: -2.0, deltaZ: 0.0 2191 }, 2192 DOMMouseScroll: { 2193 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 2194 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_UP } }, 2195 MozMousePixelScroll: { 2196 horizontal: { expected: true, preventDefault: false, detail: gPageWidth }, 2197 vertical: { expected: true, preventDefault: false, detail: -gPageHeight * 2 } } 2198 }, 2199 2200 { description: "High resolution oblique wheel event by pages (0.5/0.333.../-0.8 - 0/0) #1", 2201 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2202 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8, isMomentum: false, 2203 lineOrPageDeltaX: 0, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 2204 isCustomizedByPrefs: false, 2205 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2206 wheel: { 2207 expected: true, preventDefault: false, 2208 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8 2209 }, 2210 DOMMouseScroll: { 2211 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2212 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2213 MozMousePixelScroll: { 2214 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gPageWidth / 2) }, 2215 vertical: { expected: true, preventDefault: false, detail: Math.floor(gPageHeight / 3) } } 2216 }, 2217 { description: "High resolution oblique wheel event by pages (0.5/0.333.../-0.8 - 1/0) #2", 2218 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2219 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8, isMomentum: false, 2220 lineOrPageDeltaX: 1, lineOrPageDeltaY: 0, isNoLineOrPageDelta: false, 2221 isCustomizedByPrefs: false, 2222 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2223 wheel: { 2224 expected: true, preventDefault: false, 2225 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8 2226 }, 2227 DOMMouseScroll: { 2228 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 2229 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2230 MozMousePixelScroll: { 2231 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gPageWidth / 2) }, 2232 vertical: { expected: true, preventDefault: false, detail: Math.floor(gPageHeight / 3) } } 2233 }, 2234 { description: "High resolution oblique wheel event by pages (0.5/0.333.../-0.8 - 0/1) #3", 2235 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2236 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8, isMomentum: false, 2237 lineOrPageDeltaX: 0, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2238 isCustomizedByPrefs: false, 2239 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2240 wheel: { 2241 expected: true, preventDefault: false, 2242 deltaX: 0.5, deltaY: 1.0 / 3, deltaZ: -0.8 2243 }, 2244 DOMMouseScroll: { 2245 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2246 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2247 MozMousePixelScroll: { 2248 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gPageWidth / 2) }, 2249 vertical: { expected: true, preventDefault: false, detail: Math.floor(gPageHeight / 3) } } 2250 }, 2251 2252 // preventDefault() shouldn't prevent other legacy events. 2253 { description: "preventDefault() shouldn't prevent other legacy events (pixel)", 2254 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2255 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0, isMomentum: false, 2256 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2257 isCustomizedByPrefs: false, 2258 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2259 wheel: { 2260 expected: true, preventDefault: false, 2261 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0 2262 }, 2263 DOMMouseScroll: { 2264 horizontal: { expected: true, preventDefault: true, detail: 1 }, 2265 vertical: { expected: true, preventDefault: true, detail: 1 } }, 2266 MozMousePixelScroll: { 2267 horizontal: { expected: true, preventDefault: true, detail: 16 }, 2268 vertical: { expected: true, preventDefault: true, detail: 16 } }, 2269 }, 2270 { description: "preventDefault() shouldn't prevent other legacy events (line)", 2271 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2272 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2273 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2274 isCustomizedByPrefs: false, 2275 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2276 wheel: { 2277 expected: true, preventDefault: false, 2278 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2279 }, 2280 DOMMouseScroll: { 2281 horizontal: { expected: true, preventDefault: true, detail: 1 }, 2282 vertical: { expected: true, preventDefault: true, detail: 1 } }, 2283 MozMousePixelScroll: { 2284 horizontal: { expected: true, preventDefault: true, detail: gHorizontalLine }, 2285 vertical: { expected: true, preventDefault: true, detail: gLineHeight } }, 2286 }, 2287 { description: "preventDefault() shouldn't prevent other legacy events (page)", 2288 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2289 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2290 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2291 isCustomizedByPrefs: false, 2292 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2293 wheel: { 2294 expected: true, preventDefault: false, 2295 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2296 }, 2297 DOMMouseScroll: { 2298 horizontal: { expected: true, preventDefault: true, detail: UIEvent.SCROLL_PAGE_DOWN }, 2299 vertical: { expected: true, preventDefault: true, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2300 MozMousePixelScroll: { 2301 horizontal: { expected: true, preventDefault: true, detail: gPageWidth }, 2302 vertical: { expected: true, preventDefault: true, detail: gPageHeight } }, 2303 }, 2304 2305 // If wheel event is consumed by preventDefault(), legacy events are not necessary. 2306 { description: "If wheel event is consumed by preventDefault(), legacy events are not necessary (pixel)", 2307 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2308 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0, isMomentum: false, 2309 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2310 isCustomizedByPrefs: false, 2311 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2312 wheel: { 2313 expected: true, preventDefault: true, 2314 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0 2315 }, 2316 DOMMouseScroll: { 2317 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2318 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2319 MozMousePixelScroll: { 2320 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2321 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2322 }, 2323 { description: "If wheel event is consumed by preventDefault(), legacy events are not necessary (line)", 2324 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2325 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2326 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2327 isCustomizedByPrefs: false, 2328 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2329 wheel: { 2330 expected: true, preventDefault: true, 2331 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2332 }, 2333 DOMMouseScroll: { 2334 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2335 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2336 MozMousePixelScroll: { 2337 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2338 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2339 }, 2340 { description: "If wheel event is consumed by preventDefault(), legacy events are not necessary (page)", 2341 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2342 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2343 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2344 isCustomizedByPrefs: false, 2345 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2346 wheel: { 2347 expected: true, preventDefault: true, 2348 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2349 }, 2350 DOMMouseScroll: { 2351 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2352 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2353 MozMousePixelScroll: { 2354 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2355 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2356 }, 2357 2358 // modifier key state tests 2359 { description: "modifier key tests (shift, pixel)", 2360 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2361 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0, isMomentum: false, 2362 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2363 isCustomizedByPrefs: false, 2364 shiftKey: true, ctrlKey: false, altKey: false, metaKey: false }, 2365 wheel: { 2366 expected: true, preventDefault: false, 2367 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0 2368 }, 2369 DOMMouseScroll: { 2370 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2371 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2372 MozMousePixelScroll: { 2373 horizontal: { expected: true, preventDefault: true, detail: 16 }, 2374 vertical: { expected: true, preventDefault: true, detail: 16 } }, 2375 }, 2376 { description: "modifier key tests (shift, line)", 2377 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2378 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2379 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2380 isCustomizedByPrefs: false, 2381 shiftKey: true, ctrlKey: false, altKey: false, metaKey: false }, 2382 wheel: { 2383 expected: true, preventDefault: false, 2384 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2385 }, 2386 DOMMouseScroll: { 2387 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2388 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2389 MozMousePixelScroll: { 2390 horizontal: { expected: true, preventDefault: true, detail: gHorizontalLine }, 2391 vertical: { expected: true, preventDefault: true, detail: gLineHeight } }, 2392 }, 2393 { description: "modifier key tests (shift, page)", 2394 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2395 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2396 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2397 isCustomizedByPrefs: false, 2398 shiftKey: true, ctrlKey: false, altKey: false, metaKey: false }, 2399 wheel: { 2400 expected: true, preventDefault: false, 2401 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2402 }, 2403 DOMMouseScroll: { 2404 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 2405 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2406 MozMousePixelScroll: { 2407 horizontal: { expected: true, preventDefault: true, detail: gPageWidth }, 2408 vertical: { expected: true, preventDefault: true, detail: gPageHeight } }, 2409 }, 2410 2411 { description: "modifier key tests (ctrl, pixel)", 2412 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2413 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0, isMomentum: false, 2414 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2415 isCustomizedByPrefs: false, 2416 shiftKey: false, ctrlKey: true, altKey: false, metaKey: false }, 2417 wheel: { 2418 expected: true, preventDefault: false, 2419 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0 2420 }, 2421 DOMMouseScroll: { 2422 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2423 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2424 MozMousePixelScroll: { 2425 horizontal: { expected: true, preventDefault: true, detail: 16 }, 2426 vertical: { expected: true, preventDefault: true, detail: 16 } }, 2427 }, 2428 { description: "modifier key tests (ctrl, line)", 2429 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2430 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2431 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2432 isCustomizedByPrefs: false, 2433 shiftKey: false, ctrlKey: true, altKey: false, metaKey: false }, 2434 wheel: { 2435 expected: true, preventDefault: false, 2436 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2437 }, 2438 DOMMouseScroll: { 2439 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2440 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2441 MozMousePixelScroll: { 2442 horizontal: { expected: true, preventDefault: true, detail: gHorizontalLine }, 2443 vertical: { expected: true, preventDefault: true, detail: gLineHeight } }, 2444 }, 2445 { description: "modifier key tests (ctrl, page)", 2446 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2447 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2448 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2449 isCustomizedByPrefs: false, 2450 shiftKey: false, ctrlKey: true, altKey: false, metaKey: false }, 2451 wheel: { 2452 expected: true, preventDefault: false, 2453 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2454 }, 2455 DOMMouseScroll: { 2456 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 2457 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2458 MozMousePixelScroll: { 2459 horizontal: { expected: true, preventDefault: true, detail: gPageWidth }, 2460 vertical: { expected: true, preventDefault: true, detail: gPageHeight } }, 2461 }, 2462 2463 { description: "modifier key tests (alt, pixel)", 2464 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2465 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0, isMomentum: false, 2466 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2467 isCustomizedByPrefs: false, 2468 shiftKey: false, ctrlKey: false, altKey: true, metaKey: false }, 2469 wheel: { 2470 expected: true, preventDefault: false, 2471 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0 2472 }, 2473 DOMMouseScroll: { 2474 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2475 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2476 MozMousePixelScroll: { 2477 horizontal: { expected: true, preventDefault: true, detail: 16 }, 2478 vertical: { expected: true, preventDefault: true, detail: 16 } }, 2479 }, 2480 { description: "modifier key tests (alt, line)", 2481 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2482 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2483 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2484 isCustomizedByPrefs: false, 2485 shiftKey: false, ctrlKey: false, altKey: true, metaKey: false }, 2486 wheel: { 2487 expected: true, preventDefault: false, 2488 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2489 }, 2490 DOMMouseScroll: { 2491 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2492 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2493 MozMousePixelScroll: { 2494 horizontal: { expected: true, preventDefault: true, detail: gHorizontalLine }, 2495 vertical: { expected: true, preventDefault: true, detail: gLineHeight } }, 2496 }, 2497 { description: "modifier key tests without content checking mode (alt, line)", 2498 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2499 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2500 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2501 isCustomizedByPrefs: false, 2502 shiftKey: false, ctrlKey: false, altKey: true, metaKey: false }, 2503 wheel: { 2504 expected: true, preventDefault: false, 2505 skipDeltaModeCheck: true, 2506 deltaX: gHorizontalLine, 2507 deltaY: gLineHeight, 2508 deltaZ: Math.max(gHorizontalLine, gLineHeight), 2509 }, 2510 DOMMouseScroll: { 2511 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2512 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2513 MozMousePixelScroll: { 2514 horizontal: { expected: true, preventDefault: true, detail: gHorizontalLine }, 2515 vertical: { expected: true, preventDefault: true, detail: gLineHeight } }, 2516 }, 2517 { description: "modifier key tests (alt, page)", 2518 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2519 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2520 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2521 isCustomizedByPrefs: false, 2522 shiftKey: false, ctrlKey: false, altKey: true, metaKey: false }, 2523 wheel: { 2524 expected: true, preventDefault: false, 2525 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2526 }, 2527 DOMMouseScroll: { 2528 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 2529 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2530 MozMousePixelScroll: { 2531 horizontal: { expected: true, preventDefault: true, detail: gPageWidth }, 2532 vertical: { expected: true, preventDefault: true, detail: gPageHeight } }, 2533 }, 2534 2535 { description: "modifier key tests (meta, pixel)", 2536 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2537 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0, isMomentum: false, 2538 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2539 isCustomizedByPrefs: false, 2540 shiftKey: false, ctrlKey: false, altKey: false, metaKey: true }, 2541 wheel: { 2542 expected: true, preventDefault: false, 2543 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0 2544 }, 2545 DOMMouseScroll: { 2546 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2547 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2548 MozMousePixelScroll: { 2549 horizontal: { expected: true, preventDefault: true, detail: 16 }, 2550 vertical: { expected: true, preventDefault: true, detail: 16 } }, 2551 }, 2552 { description: "modifier key tests (meta, line)", 2553 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2554 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2555 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2556 isCustomizedByPrefs: false, 2557 shiftKey: false, ctrlKey: false, altKey: false, metaKey: true }, 2558 wheel: { 2559 expected: true, preventDefault: false, 2560 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2561 }, 2562 DOMMouseScroll: { 2563 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2564 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2565 MozMousePixelScroll: { 2566 horizontal: { expected: true, preventDefault: true, detail: gHorizontalLine }, 2567 vertical: { expected: true, preventDefault: true, detail: gLineHeight } }, 2568 }, 2569 { description: "modifier key tests (meta, page)", 2570 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2571 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: true, 2572 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2573 isCustomizedByPrefs: false, 2574 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2575 wheel: { 2576 expected: true, preventDefault: false, 2577 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2578 }, 2579 DOMMouseScroll: { 2580 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 2581 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2582 MozMousePixelScroll: { 2583 horizontal: { expected: true, preventDefault: true, detail: gPageWidth }, 2584 vertical: { expected: true, preventDefault: true, detail: gPageHeight } }, 2585 }, 2586 2587 // Momentum scroll should cause legacy events. 2588 { description: "Momentum scroll should cause legacy events (pixel, not momentum)", 2589 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2590 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0, isMomentum: false, 2591 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2592 isCustomizedByPrefs: false, 2593 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2594 wheel: { 2595 expected: true, preventDefault: false, 2596 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0 2597 }, 2598 DOMMouseScroll: { 2599 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2600 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2601 MozMousePixelScroll: { 2602 horizontal: { expected: true, preventDefault: false, detail: 16 }, 2603 vertical: { expected: true, preventDefault: false, detail: 16 } }, 2604 }, 2605 { description: "Momentum scroll should cause legacy events (pixel, momentum)", 2606 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2607 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0, isMomentum: true, 2608 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2609 isCustomizedByPrefs: false, 2610 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2611 wheel: { 2612 expected: true, preventDefault: false, 2613 deltaX: 16.0, deltaY: 16.0, deltaZ: 16.0 2614 }, 2615 DOMMouseScroll: { 2616 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2617 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2618 MozMousePixelScroll: { 2619 horizontal: { expected: true, preventDefault: false, detail: 16 }, 2620 vertical: { expected: true, preventDefault: false, detail: 16 } }, 2621 }, 2622 { description: "Momentum scroll should cause legacy events (line, not momentum)", 2623 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2624 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2625 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2626 isCustomizedByPrefs: false, 2627 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2628 wheel: { 2629 expected: true, preventDefault: false, 2630 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2631 }, 2632 DOMMouseScroll: { 2633 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2634 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2635 MozMousePixelScroll: { 2636 horizontal: { expected: true, preventDefault: false, detail: gHorizontalLine }, 2637 vertical: { expected: true, preventDefault: false, detail: gLineHeight } }, 2638 }, 2639 { description: "Momentum scroll should cause legacy events (line, momentum)", 2640 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2641 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: true, 2642 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2643 isCustomizedByPrefs: false, 2644 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2645 wheel: { 2646 expected: true, preventDefault: false, 2647 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2648 }, 2649 DOMMouseScroll: { 2650 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2651 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2652 MozMousePixelScroll: { 2653 horizontal: { expected: true, preventDefault: false, detail: gHorizontalLine }, 2654 vertical: { expected: true, preventDefault: false, detail: gLineHeight } }, 2655 }, 2656 { description: "Momentum scroll should cause legacy events (page, not momentum)", 2657 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2658 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: false, 2659 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2660 isCustomizedByPrefs: false, 2661 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2662 wheel: { 2663 expected: true, preventDefault: false, 2664 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2665 }, 2666 DOMMouseScroll: { 2667 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 2668 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2669 MozMousePixelScroll: { 2670 horizontal: { expected: true, preventDefault: false, detail: gPageWidth }, 2671 vertical: { expected: true, preventDefault: false, detail: gPageHeight } }, 2672 }, 2673 { description: "Momentum scroll should cause legacy events (page, momentum)", 2674 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2675 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0, isMomentum: true, 2676 lineOrPageDeltaX: 1, lineOrPageDeltaY: 1, isNoLineOrPageDelta: false, 2677 isCustomizedByPrefs: false, 2678 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2679 wheel: { 2680 expected: true, preventDefault: false, 2681 deltaX: 1.0, deltaY: 1.0, deltaZ: 1.0 2682 }, 2683 DOMMouseScroll: { 2684 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 2685 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2686 MozMousePixelScroll: { 2687 horizontal: { expected: true, preventDefault: false, detail: gPageWidth }, 2688 vertical: { expected: true, preventDefault: false, detail: gPageHeight } }, 2689 }, 2690 2691 // Tests for accumulation delta when delta_multiplier_is customized. 2692 { description: "lineOrPageDelta should be recomputed by ESM (pixel) #1", 2693 prepare () { 2694 SpecialPowers.pushPrefEnv({"set": [["mousewheel.default.delta_multiplier_x", 200], 2695 ["mousewheel.default.delta_multiplier_y", 300]]}, 2696 continueTest); 2697 }, 2698 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2699 deltaX: gHorizontalLine / 4, deltaY: gLineHeight / 8, deltaZ: 0, 2700 lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isNoLineOrPageDelta: false, 2701 isCustomizedByPrefs: false, 2702 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2703 wheel: { 2704 expected: true, preventDefault: false, 2705 deltaX: gHorizontalLine / 4 * 2, deltaY: gLineHeight / 8 * 3, deltaZ: 0 2706 }, 2707 DOMMouseScroll: { 2708 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2709 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2710 MozMousePixelScroll: { 2711 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine / 4 * 2) }, 2712 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight / 8 * 3) } }, 2713 }, 2714 { description: "lineOrPageDelta should be recomputed by ESM (pixel) #2", 2715 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2716 deltaX: gHorizontalLine / 4 + 1, deltaY: gLineHeight / 8 + 1, deltaZ: 0, 2717 lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isNoLineOrPageDelta: false, 2718 isCustomizedByPrefs: false, 2719 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2720 wheel: { 2721 expected: true, preventDefault: false, 2722 deltaX: (gHorizontalLine / 4 + 1) * 2, deltaY: (gLineHeight / 8 + 1) * 3, deltaZ: 0 2723 }, 2724 DOMMouseScroll: { 2725 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2726 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2727 MozMousePixelScroll: { 2728 horizontal: { expected: true, preventDefault: false, detail: Math.floor((gHorizontalLine / 4 + 1) * 2) }, 2729 vertical: { expected: true, preventDefault: false, detail: Math.floor((gLineHeight / 8 + 1) * 3) } }, 2730 }, 2731 { description: "lineOrPageDelta should be recomputed by ESM (pixel) #3", 2732 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2733 deltaX: gHorizontalLine / 4 + 1, deltaY: gLineHeight / 8 + 1, deltaZ: 0, 2734 lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isNoLineOrPageDelta: false, 2735 isCustomizedByPrefs: false, 2736 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2737 wheel: { 2738 expected: true, preventDefault: false, 2739 deltaX: (gHorizontalLine / 4 + 1) * 2, deltaY: (gLineHeight / 8 + 1) * 3, deltaZ: 0 2740 }, 2741 DOMMouseScroll: { 2742 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2743 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2744 MozMousePixelScroll: { 2745 horizontal: { expected: true, preventDefault: false, detail: Math.floor((gHorizontalLine / 4 + 1) * 2) }, 2746 vertical: { expected: true, preventDefault: false, detail: Math.floor((gLineHeight / 8 + 1) * 3) } }, 2747 finished () { 2748 SpecialPowers.pushPrefEnv({"set": [["mousewheel.default.delta_multiplier_x", 100], 2749 ["mousewheel.default.delta_multiplier_y", 100]]}, 2750 continueTest); 2751 }, 2752 }, 2753 2754 { description: "lineOrPageDelta should be recomputed by ESM (pixel, negative, shift) #1", 2755 prepare () { 2756 SpecialPowers.pushPrefEnv({"set": [["mousewheel.with_shift.delta_multiplier_x", 200], 2757 ["mousewheel.with_shift.delta_multiplier_y", 300]]}, 2758 continueTest); 2759 }, 2760 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2761 deltaX: -gHorizontalLine / 4, deltaY: -gLineHeight / 8, deltaZ: 0, 2762 lineOrPageDeltaX: -3, lineOrPageDeltaY: -5, isNoLineOrPageDelta: false, 2763 isCustomizedByPrefs: false, 2764 shiftKey: true, ctrlKey: false, altKey: false, metaKey: false }, 2765 wheel: { 2766 expected: true, preventDefault: false, 2767 deltaX: -gHorizontalLine / 4 * 2, deltaY: -gLineHeight / 8 * 3, deltaZ: 0 2768 }, 2769 DOMMouseScroll: { 2770 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2771 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2772 MozMousePixelScroll: { 2773 horizontal: { expected: true, preventDefault: false, detail: Math.ceil(-gHorizontalLine / 4 * 2) }, 2774 vertical: { expected: true, preventDefault: false, detail: Math.ceil(-gLineHeight / 8 * 3) } }, 2775 }, 2776 { description: "lineOrPageDelta should be recomputed by ESM (pixel, negative, shift) #2", 2777 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2778 deltaX: -(gHorizontalLine / 4 + 1), deltaY: -(gLineHeight / 8 + 1), deltaZ: 0, 2779 lineOrPageDeltaX: -3, lineOrPageDeltaY: -5, isNoLineOrPageDelta: false, 2780 isCustomizedByPrefs: false, 2781 shiftKey: true, ctrlKey: false, altKey: false, metaKey: false }, 2782 wheel: { 2783 expected: true, preventDefault: false, 2784 deltaX: -(gHorizontalLine / 4 + 1) * 2, deltaY: -(gLineHeight / 8 + 1) * 3, deltaZ: 0 2785 }, 2786 DOMMouseScroll: { 2787 horizontal: { expected: true, preventDefault: false, detail: -1 }, 2788 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2789 MozMousePixelScroll: { 2790 horizontal: { expected: true, preventDefault: false, detail: Math.ceil(-(gHorizontalLine / 4 + 1) * 2) }, 2791 vertical: { expected: true, preventDefault: false, detail: Math.ceil(-(gLineHeight / 8 + 1) * 3) } }, 2792 }, 2793 { description: "lineOrPageDelta should be recomputed by ESM (pixel, negative, shift) #3", 2794 event: { deltaMode: WheelEvent.DOM_DELTA_PIXEL, 2795 deltaX: -(gHorizontalLine / 4 + 1), deltaY: -(gLineHeight / 8 + 1), deltaZ: 0, 2796 lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isNoLineOrPageDelta: false, 2797 isCustomizedByPrefs: false, 2798 shiftKey: true, ctrlKey: false, altKey: false, metaKey: false }, 2799 wheel: { 2800 expected: true, preventDefault: false, 2801 deltaX: -(gHorizontalLine / 4 + 1) * 2, deltaY: -(gLineHeight / 8 + 1) * 3, deltaZ: 0 2802 }, 2803 DOMMouseScroll: { 2804 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2805 vertical: { expected: true, preventDefault: false, detail: -1 } }, 2806 MozMousePixelScroll: { 2807 horizontal: { expected: true, preventDefault: false, detail: Math.ceil(-(gHorizontalLine / 4 + 1) * 2) }, 2808 vertical: { expected: true, preventDefault: false, detail: Math.ceil(-(gLineHeight / 8 + 1) * 3) } }, 2809 finished () { 2810 SpecialPowers.pushPrefEnv({"set": [["mousewheel.with_shift.delta_multiplier_x", 100], 2811 ["mousewheel.with_shift.delta_multiplier_y", 100]]}, 2812 continueTest); 2813 }, 2814 }, 2815 2816 { description: "lineOrPageDelta should be recomputed by ESM (line) #1", 2817 prepare () { 2818 SpecialPowers.pushPrefEnv({"set": [["mousewheel.default.delta_multiplier_x", 200], 2819 ["mousewheel.default.delta_multiplier_y", 100]]}, 2820 continueTest); 2821 }, 2822 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2823 deltaX: 0.3, deltaY: 0.4, deltaZ: 0, 2824 lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isNoLineOrPageDelta: false, 2825 isCustomizedByPrefs: false, 2826 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2827 wheel: { 2828 expected: true, preventDefault: false, 2829 deltaX: 0.6, deltaY: 0.4, deltaZ: 0 2830 }, 2831 DOMMouseScroll: { 2832 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2833 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2834 MozMousePixelScroll: { 2835 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine * 0.6) }, 2836 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, 2837 }, 2838 { description: "lineOrPageDelta should be recomputed by ESM (line) #2", 2839 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2840 deltaX: 0.3, deltaY: 0.4, deltaZ: 0, 2841 lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isNoLineOrPageDelta: false, 2842 isCustomizedByPrefs: false, 2843 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2844 wheel: { 2845 expected: true, preventDefault: false, 2846 deltaX: 0.6, deltaY: 0.4, deltaZ: 0 2847 }, 2848 DOMMouseScroll: { 2849 horizontal: { expected: true, preventDefault: false, detail: 1 }, 2850 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2851 MozMousePixelScroll: { 2852 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine * 0.6) }, 2853 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, 2854 }, 2855 { description: "lineOrPageDelta should be recomputed by ESM (line) #3", 2856 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2857 deltaX: 0.3, deltaY: 0.4, deltaZ: 0, 2858 lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isNoLineOrPageDelta: false, 2859 isCustomizedByPrefs: false, 2860 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2861 wheel: { 2862 expected: true, preventDefault: false, 2863 deltaX: 0.6, deltaY: 0.4, deltaZ: 0 2864 }, 2865 DOMMouseScroll: { 2866 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2867 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2868 MozMousePixelScroll: { 2869 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gHorizontalLine * 0.6) }, 2870 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, 2871 finished () { 2872 SpecialPowers.pushPrefEnv({"set": [["mousewheel.default.delta_multiplier_x", 100], 2873 ["mousewheel.default.delta_multiplier_y", 100]]}, 2874 continueTest); 2875 }, 2876 }, 2877 2878 { description: "lineOrPageDelta should be recomputed by ESM (line, negative) #1", 2879 prepare () { 2880 SpecialPowers.pushPrefEnv({"set": [["mousewheel.default.delta_multiplier_x", 200], 2881 ["mousewheel.default.delta_multiplier_y", -100]]}, 2882 continueTest); 2883 }, 2884 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2885 deltaX: -0.3, deltaY: -0.4, deltaZ: 0, 2886 lineOrPageDeltaX: -3, lineOrPageDeltaY: -5, isNoLineOrPageDelta: false, 2887 isCustomizedByPrefs: false, 2888 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2889 wheel: { 2890 expected: true, preventDefault: false, 2891 deltaX: -0.6, deltaY: 0.4, deltaZ: 0 2892 }, 2893 DOMMouseScroll: { 2894 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2895 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2896 MozMousePixelScroll: { 2897 horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gHorizontalLine * -0.6) }, 2898 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, 2899 }, 2900 { description: "lineOrPageDelta should be recomputed by ESM (line, negative) #2", 2901 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2902 deltaX: -0.3, deltaY: -0.4, deltaZ: 0, 2903 lineOrPageDeltaX: -3, lineOrPageDeltaY: -5, isNoLineOrPageDelta: false, 2904 isCustomizedByPrefs: false, 2905 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2906 wheel: { 2907 expected: true, preventDefault: false, 2908 deltaX: -0.6, deltaY: 0.4, deltaZ: 0 2909 }, 2910 DOMMouseScroll: { 2911 horizontal: { expected: true, preventDefault: false, detail: -1 }, 2912 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2913 MozMousePixelScroll: { 2914 horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gHorizontalLine * -0.6) }, 2915 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, 2916 }, 2917 { description: "lineOrPageDelta should be recomputed by ESM (line, negative) #3", 2918 event: { deltaMode: WheelEvent.DOM_DELTA_LINE, 2919 deltaX: -0.3, deltaY: -0.4, deltaZ: 0, 2920 lineOrPageDeltaX: -3, lineOrPageDeltaY: -5, isNoLineOrPageDelta: false, 2921 isCustomizedByPrefs: false, 2922 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2923 wheel: { 2924 expected: true, preventDefault: false, 2925 deltaX: -0.6, deltaY: 0.4, deltaZ: 0 2926 }, 2927 DOMMouseScroll: { 2928 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2929 vertical: { expected: true, preventDefault: false, detail: 1 } }, 2930 MozMousePixelScroll: { 2931 horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gHorizontalLine * -0.6) }, 2932 vertical: { expected: true, preventDefault: false, detail: Math.floor(gLineHeight * 0.4) } }, 2933 finished () { 2934 SpecialPowers.pushPrefEnv({"set": [["mousewheel.default.delta_multiplier_x", 100], 2935 ["mousewheel.default.delta_multiplier_y", 100]]}, 2936 continueTest); 2937 }, 2938 }, 2939 2940 { description: "lineOrPageDelta should be recomputed by ESM (page) #1", 2941 prepare () { 2942 SpecialPowers.pushPrefEnv({"set": [["mousewheel.default.delta_multiplier_x", 100], 2943 ["mousewheel.default.delta_multiplier_y", 200]]}, 2944 continueTest); 2945 }, 2946 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2947 deltaX: 0.3, deltaY: 0.4, deltaZ: 0, 2948 lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isNoLineOrPageDelta: false, 2949 isCustomizedByPrefs: false, 2950 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2951 wheel: { 2952 expected: true, preventDefault: false, 2953 deltaX: 0.3, deltaY: 0.8, deltaZ: 0 2954 }, 2955 DOMMouseScroll: { 2956 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2957 vertical: { expected: false, preventDefault: false, detail: 0 } }, 2958 MozMousePixelScroll: { 2959 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gPageWidth * 0.3) }, 2960 vertical: { expected: true, preventDefault: false, detail: Math.floor(gPageHeight * 0.8) } }, 2961 }, 2962 { description: "lineOrPageDelta should be recomputed by ESM (page) #2", 2963 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2964 deltaX: 0.3, deltaY: 0.4, deltaZ: 0, 2965 lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isNoLineOrPageDelta: false, 2966 isCustomizedByPrefs: false, 2967 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2968 wheel: { 2969 expected: true, preventDefault: false, 2970 deltaX: 0.3, deltaY: 0.8, deltaZ: 0 2971 }, 2972 DOMMouseScroll: { 2973 horizontal: { expected: false, preventDefault: false, detail: 0 }, 2974 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2975 MozMousePixelScroll: { 2976 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gPageWidth * 0.3) }, 2977 vertical: { expected: true, preventDefault: false, detail: Math.floor(gPageHeight * 0.8) } }, 2978 }, 2979 { description: "lineOrPageDelta should be recomputed by ESM (page) #3", 2980 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 2981 deltaX: 0.4, deltaY: 0.4, deltaZ: 0, 2982 lineOrPageDeltaX: 3, lineOrPageDeltaY: 5, isNoLineOrPageDelta: false, 2983 isCustomizedByPrefs: false, 2984 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 2985 wheel: { 2986 expected: true, preventDefault: false, 2987 deltaX: 0.4, deltaY: 0.8, deltaZ: 0 2988 }, 2989 DOMMouseScroll: { 2990 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN }, 2991 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_DOWN } }, 2992 MozMousePixelScroll: { 2993 horizontal: { expected: true, preventDefault: false, detail: Math.floor(gPageWidth * 0.4) }, 2994 vertical: { expected: true, preventDefault: false, detail: Math.floor(gPageHeight * 0.8) } }, 2995 finished () { 2996 SpecialPowers.pushPrefEnv({"set": [["mousewheel.default.delta_multiplier_x", 100], 2997 ["mousewheel.default.delta_multiplier_y", 100]]}, 2998 continueTest); 2999 }, 3000 }, 3001 3002 { description: "lineOrPageDelta should be recomputed by ESM (page, negative) #1", 3003 prepare () { 3004 SpecialPowers.pushPrefEnv({"set": [["mousewheel.default.delta_multiplier_x", 100], 3005 ["mousewheel.default.delta_multiplier_y", 200]]}, 3006 continueTest); 3007 }, 3008 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 3009 deltaX: -0.3, deltaY: -0.4, deltaZ: 0, 3010 lineOrPageDeltaX: -3, lineOrPageDeltaY: -5, isNoLineOrPageDelta: false, 3011 isCustomizedByPrefs: false, 3012 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 3013 wheel: { 3014 expected: true, preventDefault: false, 3015 deltaX: -0.3, deltaY: -0.8, deltaZ: 0 3016 }, 3017 DOMMouseScroll: { 3018 horizontal: { expected: false, preventDefault: false, detail: 0 }, 3019 vertical: { expected: false, preventDefault: false, detail: 0 } }, 3020 MozMousePixelScroll: { 3021 horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gPageWidth * -0.3) }, 3022 vertical: { expected: true, preventDefault: false, detail: Math.ceil(gPageHeight * -0.8) } }, 3023 }, 3024 { description: "lineOrPageDelta should be recomputed by ESM (page, negative) #2", 3025 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 3026 deltaX: -0.3, deltaY: -0.4, deltaZ: 0, 3027 lineOrPageDeltaX: -3, lineOrPageDeltaY: -5, isNoLineOrPageDelta: false, 3028 isCustomizedByPrefs: false, 3029 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 3030 wheel: { 3031 expected: true, preventDefault: false, 3032 deltaX: -0.3, deltaY: -0.8, deltaZ: 0 3033 }, 3034 DOMMouseScroll: { 3035 horizontal: { expected: false, preventDefault: false, detail: 0 }, 3036 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_UP } }, 3037 MozMousePixelScroll: { 3038 horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gPageWidth * -0.3) }, 3039 vertical: { expected: true, preventDefault: false, detail: Math.ceil(gPageHeight * -0.8) } }, 3040 }, 3041 { description: "lineOrPageDelta should be recomputed by ESM (page, negative) #3", 3042 event: { deltaMode: WheelEvent.DOM_DELTA_PAGE, 3043 deltaX: -0.4, deltaY: -0.4, deltaZ: 0, 3044 lineOrPageDeltaX: -3, lineOrPageDeltaY: -5, isNoLineOrPageDelta: false, 3045 isCustomizedByPrefs: false, 3046 shiftKey: false, ctrlKey: false, altKey: false, metaKey: false }, 3047 wheel: { 3048 expected: true, preventDefault: false, 3049 deltaX: -0.4, deltaY: -0.8, deltaZ: 0 3050 }, 3051 DOMMouseScroll: { 3052 horizontal: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_UP }, 3053 vertical: { expected: true, preventDefault: false, detail: UIEvent.SCROLL_PAGE_UP } }, 3054 MozMousePixelScroll: { 3055 horizontal: { expected: true, preventDefault: false, detail: Math.ceil(gPageWidth * -0.4) }, 3056 vertical: { expected: true, preventDefault: false, detail: Math.ceil(gPageHeight * -0.8) } }, 3057 finished () { 3058 SpecialPowers.pushPrefEnv({"set": [["mousewheel.default.delta_multiplier_x", 100], 3059 ["mousewheel.default.delta_multiplier_y", 100]]}, 3060 continueTest); 3061 }, 3062 }, 3063 ]; 3064 3065 var currentWheelEventTest; 3066 var calledHandlers = { wheel: false, 3067 DOMMouseScroll: { horizontal: false, vertical: false }, 3068 MozMousePixelScroll: { horizontal: false, vertical: false } }; 3069 3070 function wheelEventHandler(aEvent) 3071 { 3072 var description = "testContinuousTrustedEvents, "; 3073 description += currentWheelEventTest.description + ": wheel event "; 3074 3075 ok(!calledHandlers.wheel, 3076 description + "was fired twice or more"); 3077 calledHandlers.wheel = true; 3078 3079 is(aEvent.target, gScrolledElement, 3080 description + "target was invalid"); 3081 if (!currentWheelEventTest.wheel.skipDeltaModeCheck) { 3082 is(aEvent.deltaMode, currentWheelEventTest.event.deltaMode, 3083 description + "deltaMode was invalid"); 3084 } 3085 is(SpecialPowers.wrap(aEvent).deltaMode, currentWheelEventTest.event.deltaMode, 3086 description + "deltaMode is raw value from privileged script"); 3087 for (let prop of ["deltaX", "deltaY", "deltaZ"]) { 3088 is(aEvent[prop], currentWheelEventTest.wheel[prop], 3089 description + prop + " was invalid"); 3090 if (currentWheelEventTest.wheel.skipDeltaModeCheck) { 3091 is(aEvent.deltaMode, WheelEvent.DOM_DELTA_PIXEL, 3092 description + "deltaMode should become pixels for line scrolling if unchecked by content") 3093 if (aEvent[prop] != 0) { 3094 isnot(aEvent[prop], SpecialPowers.wrap(aEvent)[prop], 3095 description + "should keep returning raw value for privileged script"); 3096 } 3097 } 3098 } 3099 is(aEvent.shiftKey, currentWheelEventTest.event.shiftKey, 3100 description + "shiftKey was invalid"); 3101 is(aEvent.ctrlKey, currentWheelEventTest.event.ctrlKey, 3102 description + "ctrlKey was invalid"); 3103 is(aEvent.altKey, currentWheelEventTest.event.altKey, 3104 description + "shiftKey was invalid"); 3105 is(aEvent.metaKey, currentWheelEventTest.event.metaKey, 3106 description + "metaKey was invalid"); 3107 3108 ok(!aEvent.defaultPrevented, 3109 description + "defaultPrevented should be false"); 3110 if (currentWheelEventTest.wheel.preventDefault) { 3111 aEvent.preventDefault(); 3112 ok(aEvent.defaultPrevented, 3113 description + "defaultPrevented should be true"); 3114 } 3115 } 3116 3117 function legacyEventHandler(aEvent) 3118 { 3119 var description = "testContinuousTrustedEvents, "; 3120 description += currentWheelEventTest.description + ": " + aEvent.type + " event "; 3121 3122 if (aEvent.axis != MouseScrollEvent.HORIZONTAL_AXIS && 3123 aEvent.axis != MouseScrollEvent.VERTICAL_AXIS) { 3124 ok(false, 3125 description + "had invalid axis (" + aEvent.axis + ")"); 3126 return; 3127 } 3128 3129 var isHorizontal = (aEvent.axis == MouseScrollEvent.HORIZONTAL_AXIS); 3130 3131 description += isHorizontal ? "(horizontal) " : "(vertical) "; 3132 3133 var isScrollEvent = (aEvent.type == "DOMMouseScroll"); 3134 var expectedEvent = 3135 isScrollEvent ? currentWheelEventTest.DOMMouseScroll : 3136 currentWheelEventTest.MozMousePixelScroll; 3137 var expected = 3138 isHorizontal ? expectedEvent.horizontal : expectedEvent.vertical; 3139 3140 if (aEvent.type == "DOMMouseScroll") { 3141 if (isHorizontal) { 3142 ok(!calledHandlers.DOMMouseScroll.horizontal, 3143 description + "was fired twice or more"); 3144 calledHandlers.DOMMouseScroll.horizontal = true; 3145 } else { 3146 ok(!calledHandlers.DOMMouseScroll.vertical, 3147 description + "was fired twice or more"); 3148 calledHandlers.DOMMouseScroll.vertical = true; 3149 } 3150 } else { 3151 if (isHorizontal) { 3152 ok(!calledHandlers.MozMousePixelScroll.horizontal, 3153 description + "was fired twice or more"); 3154 calledHandlers.MozMousePixelScroll.horizontal = true; 3155 } else { 3156 ok(!calledHandlers.MozMousePixelScroll.vertical, 3157 description + "was fired twice or more"); 3158 calledHandlers.MozMousePixelScroll.vertical = true; 3159 } 3160 } 3161 3162 is(aEvent.target, gScrolledElement, 3163 description + "target was invalid"); 3164 is(aEvent.detail, expected.detail, 3165 description + "detail was invalid"); 3166 3167 is(aEvent.shiftKey, currentWheelEventTest.event.shiftKey, 3168 description + "shiftKey was invalid"); 3169 is(aEvent.ctrlKey, currentWheelEventTest.event.ctrlKey, 3170 description + "ctrlKey was invalid"); 3171 is(aEvent.altKey, currentWheelEventTest.event.altKey, 3172 description + "shiftKey was invalid"); 3173 is(aEvent.metaKey, currentWheelEventTest.event.metaKey, 3174 description + "metaKey was invalid"); 3175 3176 var expectedDefaultPrevented = 3177 isScrollEvent ? false : 3178 isHorizontal ? currentWheelEventTest.DOMMouseScroll.horizontal.preventDefault : 3179 currentWheelEventTest.DOMMouseScroll.vertical.preventDefault; 3180 is(aEvent.defaultPrevented, expectedDefaultPrevented, 3181 description + "defaultPrevented should be " + expectedDefaultPrevented); 3182 3183 if (expected.preventDefault) { 3184 aEvent.preventDefault(); 3185 ok(aEvent.defaultPrevented, 3186 description + "defaultPrevented should be true"); 3187 } 3188 } 3189 3190 window.addEventListener("wheel", wheelEventHandler, { capture: true, passive: false }); 3191 window.addEventListener("DOMMouseScroll", legacyEventHandler, { capture: true, passive: false }); 3192 window.addEventListener("MozMousePixelScroll", legacyEventHandler, { capture: true, passive: false }); 3193 3194 for (var i = 0; i < kSynthesizedWheelEventTests.length; i++) { 3195 gScrollableElement.scrollTop = gScrollableElement.scrollBottom = 1000; 3196 3197 currentWheelEventTest = kSynthesizedWheelEventTests[i]; 3198 3199 if (currentWheelEventTest.prepare) { 3200 yield currentWheelEventTest.prepare(); 3201 } 3202 3203 yield sendWheelAndWait(10, 10, currentWheelEventTest.event); 3204 3205 if (currentWheelEventTest.finished) { 3206 yield currentWheelEventTest.finished(); 3207 } 3208 3209 var description = "testContinuousTrustedEvents, " + 3210 currentWheelEventTest.description + ": "; 3211 is(calledHandlers.wheel, currentWheelEventTest.wheel.expected, 3212 description + "wheel event was fired or not fired"); 3213 is(calledHandlers.DOMMouseScroll.horizontal, 3214 currentWheelEventTest.DOMMouseScroll.horizontal.expected, 3215 description + "horizontal DOMMouseScroll event was fired or not fired"); 3216 is(calledHandlers.DOMMouseScroll.vertical, 3217 currentWheelEventTest.DOMMouseScroll.vertical.expected, 3218 description + "vertical DOMMouseScroll event was fired or not fired"); 3219 is(calledHandlers.MozMousePixelScroll.horizontal, 3220 currentWheelEventTest.MozMousePixelScroll.horizontal.expected, 3221 description + "horizontal MozMousePixelScroll event was fired or not fired"); 3222 is(calledHandlers.MozMousePixelScroll.vertical, 3223 currentWheelEventTest.MozMousePixelScroll.vertical.expected, 3224 description + "vertical MozMousePixelScroll event was fired or not fired"); 3225 3226 calledHandlers = { wheel: false, 3227 DOMMouseScroll: { horizontal: false, vertical: false }, 3228 MozMousePixelScroll: { horizontal: false, vertical: false } }; 3229 } 3230 3231 window.removeEventListener("wheel", wheelEventHandler, true); 3232 window.removeEventListener("DOMMouseScroll", legacyEventHandler, true); 3233 window.removeEventListener("MozMousePixelScroll", legacyEventHandler, true); 3234 } 3235 3236 var gTestContinuation = null; 3237 3238 function continueTest() 3239 { 3240 if (!gTestContinuation) { 3241 gTestContinuation = testBody(); 3242 } 3243 var ret = gTestContinuation.next(); 3244 if (ret.done) { 3245 SimpleTest.finish(); 3246 } 3247 } 3248 3249 function* testBody() 3250 { 3251 yield* prepareScrollUnits(); 3252 yield* testContinuousTrustedEvents(); 3253 } 3254 3255 function runTests() 3256 { 3257 SpecialPowers.pushPrefEnv({"set": [ 3258 // FIXME(emilio): This test is broken in HiDPI, unclear if 3259 // MozMousePixelScroll is not properly converting to CSS pixels, or 3260 // whether sendWheelAndWait expectes device rather than CSS pixels, or 3261 // something else. 3262 ["layout.css.devPixelsPerPx", 1.0], 3263 3264 ["dom.event.wheel-deltaMode-lines.disabled", true], 3265 3266 ["mousewheel.system_scroll_override.enabled", false], 3267 3268 ["mousewheel.transaction.timeout", 100000], 3269 ["mousewheel.default.delta_multiplier_x", 100], 3270 ["mousewheel.default.delta_multiplier_y", 100], 3271 ["mousewheel.default.delta_multiplier_z", 100], 3272 ["mousewheel.with_alt.delta_multiplier_x", 100], 3273 ["mousewheel.with_alt.delta_multiplier_y", 100], 3274 ["mousewheel.with_alt.delta_multiplier_z", 100], 3275 ["mousewheel.with_control.delta_multiplier_x", 100], 3276 ["mousewheel.with_control.delta_multiplier_y", 100], 3277 ["mousewheel.with_control.delta_multiplier_z", 100], 3278 ["mousewheel.with_meta.delta_multiplier_x", 100], 3279 ["mousewheel.with_meta.delta_multiplier_y", 100], 3280 ["mousewheel.with_meta.delta_multiplier_z", 100], 3281 ["mousewheel.with_shift.delta_multiplier_x", 100], 3282 ["mousewheel.with_shift.delta_multiplier_y", 100], 3283 ["mousewheel.with_shift.delta_multiplier_z", 100], 3284 3285 ["test.events.async.enabled", true] 3286 ]}, continueTest); 3287 } 3288 </script> 3289 </pre> 3290 </body> 3291 </html>