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

Page Visibility API #666

Open
drws opened this issue Jun 30, 2023 · 1 comment
Open

Page Visibility API #666

drws opened this issue Jun 30, 2023 · 1 comment

Comments

@drws
Copy link

drws commented Jun 30, 2023

Description

Page Visibility API is another privacy-decreasing JS API. Being that it is a perfect fit to be handled by CanvasBlocker :)

This is a feature request to implement PV API-blocking functionality in CanvasBlocker (ability to fake active status on all sites at all times). As far as I checked other extensions, the Video Background Play Fix seems to be the most popular one, but it only works with YouTube and Vimeo, and the Always Active seems to have most features, but still doesn't handle all cases (see its issue tracker).

@AtmosphericIgnition
Copy link

I agree that the ability to fake the Page Visibility API could be a great addition to CanvasBlocker, but as far as my understanding of the MDN page goes, the implementation would have to take a few things besides faking the visibility state into account.
The MDN page you linked mentions that when a tab is inactive, the browser stops sending requestAnimationFrame() callbacks when the tab is backgrounded, as well as some other things. This could mean that if CanvasBlocker only faked the visibility state, the website could still potentially detect that the site was backgrounded when it stops receiving requestAnimationFrame() callbacks, meaning that it could, as far as I understand, detect that the Page Visibility API is being manipulated, which could potentially be turned into a way of fingerprinting the browser.
I only base this on a quick read through the MDN page, so it's possible that my understanding is completely wrong.

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

No branches or pull requests

2 participants