pointerevent_pointerrawupdate.https.html (2494B)
1 <!doctype html> 2 <title>Firing of pointerrawupdate in secure contexts</title> 3 <link rel="help" 4 href="https://w3c.github.io/pointerevents/#the-pointerrawupdate-event"> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="/resources/testdriver.js"></script> 8 <script src="/resources/testdriver-actions.js"></script> 9 <script src="/resources/testdriver-vendor.js"></script> 10 <script type="text/javascript" src="pointerevent_support.js"></script> 11 <style> 12 #target { 13 width: 50px; 14 height: 50px; 15 } 16 </style> 17 <div id="target"></div> 18 <script> 19 "use strict"; 20 21 let event_log = []; 22 const eventLogger = e => event_log.push(e.type); 23 24 const target = document.getElementById("target"); 25 ["pointerrawupdate", "pointerdown", "pointermove", "pointerup"].forEach( 26 ename => target.addEventListener(ename, eventLogger)); 27 28 promise_test(async test => { 29 let pointerup_promise = getEvent("pointerup", target, test); 30 31 var actions = new test_driver.Actions(); 32 actions = actions.pointerMove(0, 0, {origin: target}) 33 .pointerDown({button: actions.ButtonType.LEFT}) 34 .pointerDown({button: actions.ButtonType.MIDDLE}) 35 .pointerUp({button: actions.ButtonType.MIDDLE}) 36 .pointerUp({button: actions.ButtonType.LEFT}); 37 38 await actions.send(); 39 await pointerup_promise; 40 41 // Main assertion for this test. Note that non-secure contexts are covered 42 // in pointerevent_pointerrawupdate.html. 43 assert_true(event_log.includes("pointerrawupdate"), 44 "pointerrawupdate received"); 45 46 // Assert the order of pointerrawupdate with respect to other events. Note 47 // that chorded buttons fire pointermoves. 48 const expected_events = [ 49 "pointerrawupdate", "pointermove", "pointerdown", 50 "pointerrawupdate", "pointermove", "pointerrawupdate", "pointermove", 51 "pointerup" 52 ]; 53 assert_equals(event_log.toString(), expected_events.toString(), 54 "events received"); 55 }, "pointerrawupdate event is fired"); 56 57 promise_test(async test => { 58 assert_true("onpointerrawupdate" in window, 59 "Window should have event handler onpointerrawupdate"); 60 assert_true("onpointerrawupdate" in window.document, 61 "Document should have event handler onpointerrawupdate"); 62 assert_true("onpointerrawupdate" in window.document.documentElement, 63 "Element should have event handler onpointerrawupdate"); 64 }, "onpointerrawupdate is exposed"); 65 </script>