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
Support upstream features override (in code) with ability to Griffin-override on top #18829
Comments
Any feature override should be spread across all processes. Currently the command-line approach passes the command line everywhere and this logic works properly. If we want to drop the command-line approach but still keep the feature override uniformity across all processes, we have these options:
The override will look like this:
The override will look identical to the 1-st option.
The override will look like like this:
Other optionsI also thought about other options like redefining the feature variable name and adding something to it, for ex.:
but it all breaks when we have a |
Tests revealed that some parts of Chromium has enabled I think that the best approach (zero overhead at runtime + feature existence validation) is a hybrid which includes
|
For QA: please find few easy-to-check features from the list and make sure they are in the same state we want it to be. |
@brave/legacy_qa this is |
Test cases(1) Feature is enabled by default in Chromium, but disabled by default in Brave. Can be overridden via cmd line.
(2) Feature is disabled by default in Chromium, but enabled by default in Brave. Can be overridden via cmd line.
(3) Control Brave-overridden feature using
|
Verification PASSED on
Case 1: `Copy link to highlight` context menu
Case 2: Import passwords
Case 3: Control `Import password` via brave://flags
Verified using:
Case 1: `Copy link to highlight` context menu - PASSED
Case 2: Import passwords - PASSED
|
The 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:
Note: this does not replace
master_preferences
. The problem withmaster_preferences
is that it's not supported byselenium-webdriver
for example. In reality, all experiments and research made withselenium-webdriver
won't get the actual features state we're using in production.The text was updated successfully, but these errors were encountered: