Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!doctype html>
<title>No pointerrawupdate in non-secure contexts</title>
<link rel="help"
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-actions.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script type="text/javascript" src="pointerevent_support.js"></script>
<style>
#target {
width: 50px;
height: 50px;
}
</style>
<div id="target"></div>
<script>
"use strict";
let event_log = [];
const eventLogger = e => event_log.push(e.type);
const target = document.getElementById("target");
["pointerrawupdate", "pointerdown", "pointermove", "pointerup"].forEach(
ename => target.addEventListener(ename, eventLogger));
promise_test(async test => {
let pointerup_promise = getEvent("pointerup", target, test);
var actions = new test_driver.Actions();
actions = actions.pointerMove(0, 0, {origin: target})
.pointerDown({button: actions.ButtonType.LEFT})
.pointerDown({button: actions.ButtonType.MIDDLE})
.pointerUp({button: actions.ButtonType.MIDDLE})
.pointerUp({button: actions.ButtonType.LEFT});
await actions.send();
await pointerup_promise;
// Main assertion for this test. Note that secure contexts are covered in
// pointerevent_pointerrawupdate.https.html.
assert_false(event_log.includes("pointerrawupdate"),
"pointerrawupdate received");
// A sanity check that other events are fired correctly. Note that chorded
// buttons fire pointermoves.
const expected_events = [
"pointermove", "pointerdown", "pointermove", "pointermove", "pointerup"
];
assert_equals(event_log.toString(), expected_events.toString(),
"events received");
}, "pointerrawupdate event is not fired");
promise_test(async test => {
assert_false("onpointerrawupdate" in window,
"Window should not have event handler onpointerrawupdate");
assert_false("onpointerrawupdate" in window.document,
"Document should not have event handler onpointerrawupdate");
assert_false("onpointerrawupdate" in window.document.documentElement,
"Element should not have event handler onpointerrawupdate");
}, "onpointerrawupdate is not exposed");
</script>