brave / brave-browser

Brave browser for Android, iOS, Linux, macOS, Windows.
https://brave.com
Mozilla Public License 2.0
17.88k stars 2.34k forks source link

webcompat exceptions service UI #39510

Closed arthuredelstein closed 3 months ago

arthuredelstein commented 4 months ago

Platforms

Linux, macOS, Windows

Description

We are planning to add a user interface for the webcompat exceptions service. See design here https://docs.google.com/document/d/1mjdx3Rk2TCXbJRzpYkb3ieGm2MhFXxf4zTGEEropzuY/edit#heading=h.qiew63uicrsj

arthuredelstein commented 3 months ago

Suggested QA testing

The webcompat exceptions service UI is disabled by default behind brave://flags/#brave-webcompat-exceptions-service

Once it is enabled, you can visit any web page that calls some fingerprintable APIs. To see the new UI, go to "Advanced controls" under the per-site Shields menu, and click the integer next to "Block fingerprinting" toggle. There should be a menu with some number of toggle switches. For example, https://browserleaks.com/javascript shows 9 fingerprintable APIs that have been called from that website.

Now you can click individual toggle switches to enable/disable specific fingerprinting protections. The web page should reload after each toggle event. Because fingerprinting protections typically change the value that a Web API returns to a page, toggling those individual switches will change value for items displayed on https://browserleaks.com/javascript.

toggle browserleaks item
device memory deviceMemory
font N/A
hardware concurrency hardwareConcurrency
keyboard keyboard
language languages
plugins plugins
screen Screen Resolution
speech synthesis N/A
user agent N/A

(Changes due to the N/A items are not visible for me on browserleaks.com, on macOS.)

LaurenWags commented 3 months ago

Added missing milestone to match linked PR

MadhaviSeelam commented 2 months ago

Verification PASSED using

Brave | 1.70.88 Chromium: 128.0.6613.85 (Official Build) beta (64-bit)
-- | --
Revision | 7431803bd1e909ef82982df42e2ea7aacbad755e
OS | Windows 11 Version 23H2 (Build 22631.4037)
  1. Installed 1.70.88
    1. launched Brave
    2. relaunched Brave to pull in the griffin study (BraveScreenFingerprintingBlockerStudy:Enabled)
    3. opened https://browserleaks.com/javascript in a new tab
    4. opened Shields panel > Advanced Controls
    5. confirmed next to Block Fingerprinting setting shows integer 9
    6. clicked on the integer
    7. confirmed below toggle switches are visible and enabled by default for the site

https://github.com/user-attachments/assets/090c5c99-43e2-489b-9138-31b3b7fa1bf1

MadhaviSeelam commented 2 months ago

Verification PASSED using

Brave | 1.70.92 Chromium: 128.0.6613.85 (Official Build) beta (arm64)
-- | --
Revision | 711f50838f629ac2be4d1d9592f72adecfd3c928
OS | macOS Version 14.6.1 (Build 23G93)
  1. Installed 1.70.88
  2. launched Brave
  3. relaunched Brave to pull in the griffin study (BraveScreenFingerprintingBlockerStudy:Enabled)
  4. opened https://browserleaks.com/javascript in a new tab
  5. opened Shields panel > Advanced Controls
  6. confirmed next to Block Fingerprinting setting shows integer 9
  7. clicked on the integer
  8. confirmed below toggle switches are visible and enabled by default for the site

https://github.com/user-attachments/assets/011ebae5-7b48-4655-b4db-6b7370b96132

MadhaviSeelam commented 2 months ago

Verification PASSED using

Brave   1.70.109 Chromium: 128.0.6613.138 (Official Build) beta (64-bit) 
Revision    fec4422ae56f4d9680c71a3c1de60b9a8e5ef32f
OS  Linux
  1. Installed 1.70.88
  2. launched Brave
  3. relaunched Brave to pull in the griffin study (BraveScreenFingerprintingBlockerStudy:Enabled)
  4. opened https://browserleaks.com/javascript in a new tab
  5. opened Shields panel > Advanced Controls
  6. confirmed next to Block Fingerprinting setting shows integer 9
  7. clicked on the integer
  8. confirmed below toggle switches are visible and enabled by default for the site

https://github.com/user-attachments/assets/5971cf96-c5c3-4448-a7f7-6fe003467b5e