In legacy/trac#25794 (moved) we disabled pointer events for the time being as parts of Mozilla's defense were not ready yet and/or were largish backports.
We should think about switching to Mozilla's defense and enabling pointer events again where they are enabled by a default Firefox.
Mobile got Pointer Events support in GeckoView based on mozilla70 and we don't have a defense against that yet. Thus, we should leave them disabled for now so that nothing falls through the cracks here, in particular once we switch to Fenix and revisit the decision later on.
Matthew Finkelchanged title from Think about enabling pointer events again in Tor Browser based on esr68 to Think about enabling pointer events again in Tor Browser based on esr78
changed title from Think about enabling pointer events again in Tor Browser based on esr68 to Think about enabling pointer events again in Tor Browser based on esr78
I encountered a problem caused by the removal of pointer events while writing a web app. Here is a demo page. It works (you can draw with the mouse) in Firefox 78, and does not work in Tor Browser 10.5.6.
I think the logic behind disabling pointer events was that anything that would result in a pointer event will also send a mouse event anyway, so applications written to expect mouse events will not be affected if pointer events are removed.
If Pointer Events is disabled but the browser sends Mouse Events in their place, then we could turn off the API and eliminate the fingerprinting properties of the API without significantly hurting browser functionality. Sure, fancy image editing apps that would rely on the nuances of a stylus movement wouldn't work, but if a user is trying to click on DOM element, that would still work. Am I thinking about it right?
In my case, I was expecting to be able to use PointerEvent as a kind of more general MouseEvent; that is, I'm designing primarily for mouse use, but it would be nice if I can handle touch and stylus events in the same event handlers. I think this notion is congruent with:
To reduce the cost of coding to multiple input types and also to help with the above described ambiguity with Mouse Events, this specifications defines a more abstract form of input, called a pointer. A pointer can be any point of contact on the screen made by a mouse cursor, pen, touch (including multi-touch), or other pointing input device.
In short, I expected to receive mouse events in pointerdown/pointerup/pointermove event handlers.
I encountered a problem caused by the removal of pointer events
Well, dom.w3c_pointer_events.enabled was removed in FF87 .. which may poses some FPing issues .. meanwhile, test your heart out with mouse vs pointer vs touch - https://patrickhlauke.github.io/touch/