Skip to content

pointer tests behind user gestures #111

@Thorin-Oakenpants

Description

@Thorin-Oakenpants

pointerevent

Notes

  • fyi @patrickhlauke
  • note: because this is behind a user gesture, it is not part of the section or global fingerprint (FP)
  • initially I had a full screen opaque overlay (display none, but flipped to block after the FP finishes, and reflipped on reruns), but if dom.w3c_pointer_events.enabled (removed in FF87) is false, then no-one can select or click anything (e.g. Tor Browser), which seems problematic
    • so instead I made it the tiny bit you see above (it's actually the width of the table cell)
  • this function is only called once, the listener is permanent
    • function get_pointer_event() {
    • another ugly code example from yours truly, I'm sure it could be more elegant

RFP patches

  • 1363508 spoof/suppress Pointer Events (FF64)
  • 1492766 spoof pointerEvent.pointerid (FF65)

ToDo

  • test FF on android
    • DONE if android change test to tap here changed to mouse/tap
  • add RFP notation based on isVer (FF64/FF65) - we should get consistent results on desktop vs android (and we already know the OS), IDK about touch pads, I think RFP treats them as Linux
  • where is pointerid?
    • what other pointer tests with entropy can we add

Some results

height  mozInputSource  pressure     tiltX tiltY twist width
   isPrimary  pointerType  tangentialPressure 
       |             |            |
  1 | true | 1 |   mouse | 0   |  0   | 0 | 0 | 0 | 1  = my desktop regardless of RFP
  0 | true | 5 |   touch | 1   |  0   | 0 | 0 | 0 | 0  = my android without RFP
  1 | true | 5 |   mouse | 0.5 |  0   | 0 | 0 | 0 | 0  = my android with RFP

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions