demo · v142
Signature Pad
The use case the WG cite in the explainer: drawing applications need sub-frame input fidelity. Sign on both pads — the left uses regular pointermove (coalesced at frame rate), the right uses pointerrawupdate (every actual sample from the OS). Smooth strokes vs. polygonal corners on fast gestures, plus a live samples-per-second counter so you can see the gap on your hardware.
isSecureContext
—
PointerEvent supports raw type
—
pointermove (coalesced)
samples/sec: 0
pointerrawupdate
samples/sec: 0
Draw a fast scribble. On a 120 Hz pointer, raw will report ~120 samples/sec while move stays at ~60. The Chrome 142 change: pointerrawupdate only fires on HTTPS / localhost, never on plain http — sub-frame timing was a tracking concern the WG closed by gating on secure contexts.
relevant API
// only fires in secure contexts (Chrome 142+)
canvas.addEventListener("pointerrawupdate", (e) => {
for (const sample of e.getCoalescedEvents()) {
drawTo(sample.offsetX, sample.offsetY);
}
});