diff options
Diffstat (limited to '')
-rw-r--r-- | remote/test/puppeteer/packages/puppeteer-core/src/node/ChromeLauncher.ts | 25 |
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, |