Proposal: Browser-level element hiding
- Dominant language
- Rust
- Stars
- 2.8k
- Forks
- 250
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 6
Description
Currently sites can easily detect if elements (e.g. ads) are hidden (`display: none`, `clip-path: circle(0)`, etc) using "getComputedStyle".
I did spoof the result of "getComputedStyle" using a Proxy and `object.defineProperty` but sites can still detect object tampering.
So my proposal is browser-level element hiding:
Instead of "hiding" the element, add an option to prevent an element from rendering to the user's screen and GPU.
This way, sites can't detect hidden elements using Javascript.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files, tests, or entry points are named. Start by reviewing the adblock engine's existing element-hiding design and determine whether a browser-level rendering option is in scope; done would mean a defined, implementable approach that prevents hidden elements from reaching the screen and GPU without exposing the hiding to JavaScript.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100