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);
  }
});

see also