feat: initialize field trials from command line arguments (#28402)

Fixes: #27877

Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net>
This commit is contained in:
trop[bot]
2021-03-29 00:24:59 -07:00
committed by GitHub
parent 1f7f60d505
commit bda746f2e6
4 changed files with 20 additions and 1 deletions

View File

@@ -279,6 +279,9 @@ void ElectronBrowserMainParts::PostEarlyInitialization() {
base::FeatureList::ClearInstanceForTesting();
InitializeFeatureList();
// Initialize field trials.
InitializeFieldTrials();
// Initialize after user script environment creation.
fake_browser_process_->PostEarlyInitialization();
}

View File

@@ -9,6 +9,7 @@
#include "base/base_switches.h"
#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/metrics/field_trial.h"
#include "content/public/common/content_features.h"
#include "electron/buildflags/buildflags.h"
#include "media/base/media_switches.h"
@@ -49,4 +50,12 @@ void InitializeFeatureList() {
base::FeatureList::InitializeInstance(enable_features, disable_features);
}
void InitializeFieldTrials() {
auto* cmd_line = base::CommandLine::ForCurrentProcess();
auto force_fieldtrials =
cmd_line->GetSwitchValueASCII(::switches::kForceFieldTrials);
base::FieldTrialList::CreateTrialsFromString(force_fieldtrials);
}
} // namespace electron

View File

@@ -7,6 +7,7 @@
namespace electron {
void InitializeFeatureList();
}
void InitializeFieldTrials();
} // namespace electron
#endif // SHELL_BROWSER_FEATURE_LIST_H_