fix(chromium): pass --enable-gpu when running headless (#30937)

Fixes #30585.
This commit is contained in:
Dmitry Gozman 2024-06-13 11:27:17 -07:00 committed by GitHub
parent 897f7449ef
commit d0b052e1e0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 6 deletions

View File

@ -305,9 +305,12 @@ export class Chromium extends BrowserType {
if (os.platform() === 'darwin') {
// See https://github.com/microsoft/playwright/issues/7362
chromeArguments.push('--enable-use-zoom-for-dsf=false');
}
if (options.headless) {
// See https://bugs.chromium.org/p/chromium/issues/detail?id=1407025.
if (options.headless)
chromeArguments.push('--use-angle');
// See also https://github.com/microsoft/playwright/issues/30585
// and chromium fix at https://issues.chromium.org/issues/338414704.
chromeArguments.push('--enable-gpu');
}
if (options.devtools)

View File

@ -110,7 +110,6 @@ it('should play audio @smoke', async ({ page, server, browserName, platform }) =
});
it('should support webgl @smoke', async ({ page, browserName, platform }) => {
it.fixme(browserName === 'chromium' && platform === 'darwin' && os.arch() === 'arm64', 'SwiftShader is not available on macOS-arm64 - https://github.com/microsoft/playwright/issues/28216');
const hasWebGL = await page.evaluate(() => {
const canvas = document.createElement('canvas');
return !!canvas.getContext('webgl');
@ -119,10 +118,7 @@ it('should support webgl @smoke', async ({ page, browserName, platform }) => {
});
it('should support webgl 2 @smoke', async ({ page, browserName, headless, isWindows, platform }) => {
it.skip(browserName === 'webkit', 'WebKit doesn\'t have webgl2 enabled yet upstream.');
it.fixme(browserName === 'firefox' && isWindows);
it.fixme(browserName === 'chromium' && !headless, 'chromium doesn\'t like webgl2 when running under xvfb');
it.fixme(browserName === 'chromium' && platform === 'darwin' && os.arch() === 'arm64', 'SwiftShader is not available on macOS-arm64 - https://github.com/microsoft/playwright/issues/28216');
const hasWebGL2 = await page.evaluate(() => {
const canvas = document.createElement('canvas');