summaryrefslogtreecommitdiffstats
path: root/remote/test/puppeteer/packages/puppeteer-core/src/node/ChromeLauncher.ts
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--remote/test/puppeteer/packages/puppeteer-core/src/node/ChromeLauncher.ts25
1 files changed, 19 insertions, 6 deletions
diff --git a/remote/test/puppeteer/packages/puppeteer-core/src/node/ChromeLauncher.ts b/remote/test/puppeteer/packages/puppeteer-core/src/node/ChromeLauncher.ts
index 0cec3de9ae..9b71952a2e 100644
--- a/remote/test/puppeteer/packages/puppeteer-core/src/node/ChromeLauncher.ts
+++ b/remote/test/puppeteer/packages/puppeteer-core/src/node/ChromeLauncher.ts
@@ -166,6 +166,9 @@ export class ChromeLauncher extends ProductLauncher {
removeMatchingFlags(options.args, '--disable-features');
}
+ const turnOnExperimentalFeaturesForTesting =
+ process.env['PUPPETEER_TEST_EXPERIMENTAL_CHROME_FEATURES'] === 'true';
+
// Merge default disabled features with user-provided ones, if any.
const disabledFeatures = [
'Translate',
@@ -174,9 +177,13 @@ export class ChromeLauncher extends ProductLauncher {
'MediaRouter',
'OptimizationHints',
// https://crbug.com/1492053
- 'ProcessPerSiteUpToMainFrameThreshold',
+ turnOnExperimentalFeaturesForTesting
+ ? ''
+ : 'ProcessPerSiteUpToMainFrameThreshold',
...userDisabledFeatures,
- ];
+ ].filter(feature => {
+ return feature !== '';
+ });
const userEnabledFeatures = getFeatures('--enable-features', options.args);
if (options.args && userEnabledFeatures.length > 0) {
@@ -185,9 +192,11 @@ export class ChromeLauncher extends ProductLauncher {
// Merge default enabled features with user-provided ones, if any.
const enabledFeatures = [
- 'NetworkServiceInProcess2',
+ // Add features to enable by default here.
...userEnabledFeatures,
- ];
+ ].filter(feature => {
+ return feature !== '';
+ });
const chromeArguments = [
'--allow-pre-commit-input',
@@ -201,7 +210,9 @@ export class ChromeLauncher extends ProductLauncher {
'--disable-default-apps',
'--disable-dev-shm-usage',
'--disable-extensions',
- '--disable-field-trial-config', // https://source.chromium.org/chromium/chromium/src/+/main:testing/variations/README.md
+ turnOnExperimentalFeaturesForTesting
+ ? ''
+ : '--disable-field-trial-config', // https://source.chromium.org/chromium/chromium/src/+/main:testing/variations/README.md
'--disable-hang-monitor',
'--disable-infobars',
'--disable-ipc-flooding-protection',
@@ -220,7 +231,9 @@ export class ChromeLauncher extends ProductLauncher {
'--use-mock-keychain',
`--disable-features=${disabledFeatures.join(',')}`,
`--enable-features=${enabledFeatures.join(',')}`,
- ];
+ ].filter(arg => {
+ return arg !== '';
+ });
const {
devtools = false,
headless = !devtools,