Support upstream features override (in code) with ability to Griffin-override on top
See original GitHub issueThe variations seed doesn’t support features state apply at the first start. We can implement some chromium_src
-based change to alter the default state of Chromium features and still be able to control it via Griffin. Our current approach with appending --enable/disable-features
doesn’t allow Griffin overrides.
Reasoning from @pes10k:
Could we change our deployment to make the features enabled by default in code, and then use griffin to disable only if needed? I know that for users it wont make a difference, but it’ll be increasingly important to make sure researchers / bloggers / measurers accurately understand and can replicate the privacy protections we’re providing.
Note: this does not replace master_preferences
. The problem with master_preferences
is that it’s not supported by selenium-webdriver
for example. In reality, all experiments and research made with selenium-webdriver
won’t get the actual features state we’re using in production.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:1
- Comments:7 (6 by maintainers)
Top GitHub Comments
Test cases
(1) Feature is enabled by default in Chromium, but disabled by default in Brave. Can be overridden via cmd line.
Copy link to highlight
context menu item when a text on a website is selected and a context menu is triggered (mouse right click).--enable-features=CopyLinkToText
(2) Feature is disabled by default in Chromium, but enabled by default in Brave. Can be overridden via cmd line.
Import passwords
item onbrave://settings/passwords
inSaved Passwords
section (click the three-dots button on the right).--disable-features=PasswordImport
.(3) Control Brave-overridden feature using
brave://flags
.Import passwords
item onbrave://settings/passwords
inSaved Passwords
section, make sure to cleanup command line after running test case#2
.brave://flags
, changePassword import
flag state, relaunch browser.Default
flag state shows the item.Verification PASSED on
Case 1: `Copy link to highlight` context menu
Copy link to highlight
context menu item when a text is selected on any websiteCopy link to highlight
context menu item is shown when a text is selected on any website when brave is launched using--enable-features=CopyLinkToText
brave default
brave with cmd line
Case 2: Import passwords
Import
option displayed in 3dot menu under Saved Passwords in brave://settings/passwordsImport
option is disappeared when brave is launched via cmd line--disable-features=PasswordImport
brave default
brave with cmd line
Case 3: Control `Import password` via brave://flags
Import
password option in brave://settings/passwords is controlled via brave://flagsPassword import flag
Default or Enable
Disable
Verified using:
Case 1: `Copy link to highlight` context menu - PASSED
Copy link to highlight
context menu item when a text is selected on any websiteCopy link to highlight
context menu item is shown when a text is selected on any website when Brave is launched using--enable-features=CopyLinkToText
brave default
brave with cmd line
Case 2: Import passwords - PASSED
Import
option displayed in 3dot menu under Saved Passwords in brave://settings/passwordsImport
option is disappeared when Brave is launched via cmd line--disable-features=PasswordImport
brave default
brave with cmd line
Case 3: Control `Import password` via brave://flags - PASSED
Import
password option in brave://settings/passwords is controlled via brave://flagsPassword import flag - Default
Password import flag - Enable
Password import flag - Disable