Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pointer tests behind user gestures #111

Open
Thorin-Oakenpants opened this issue Sep 19, 2021 · 1 comment
Open

pointer tests behind user gestures #111

Thorin-Oakenpants opened this issue Sep 19, 2021 · 1 comment
Labels

Comments

@Thorin-Oakenpants
Copy link
Contributor

Thorin-Oakenpants commented Sep 19, 2021

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

@Thorin-Oakenpants
Copy link
Contributor Author

Thorin-Oakenpants commented Sep 19, 2021

@tomrittervg ... pressure and width do not match RFP desktop vs RFP android .. edit and mozInputSource leaks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

1 participant