From e07d1722ec0149f25d0f4e5eff7def816365a367 Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Thu, 5 Jan 2023 13:01:37 -0800 Subject: [PATCH] test: rebase permission test for Chromium >= 110 (#19899) Fixes #19180. --- tests/library/permissions.spec.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/library/permissions.spec.ts b/tests/library/permissions.spec.ts index cf7c8ccbad..e22d10a8f0 100644 --- a/tests/library/permissions.spec.ts +++ b/tests/library/permissions.spec.ts @@ -100,10 +100,8 @@ it.describe('permissions', () => { expect(await getPermission(page, 'geolocation')).toBe('prompt'); }); - it('should trigger permission onchange', async ({ page, context, server, browserName, headless, browserMajorVersion }) => { + it('should trigger permission onchange', async ({ page, context, server, browserName, browserMajorVersion }) => { it.fail(browserName === 'webkit'); - it.fail(browserName === 'chromium' && !headless && browserMajorVersion <= 102, 'Fixed on ToT, remove once Beta rolls'); - it.fixme(browserName === 'chromium' && browserMajorVersion >= 110, 'https://github.com/microsoft/playwright/issues/19180'); await page.goto(server.EMPTY_PAGE); await page.evaluate(() => { @@ -121,7 +119,12 @@ it.describe('permissions', () => { await context.grantPermissions(['geolocation'], { origin: server.EMPTY_PAGE }); expect(await page.evaluate(() => window['events'])).toEqual(['prompt', 'denied', 'granted']); await context.clearPermissions(); - expect(await page.evaluate(() => window['events'])).toEqual(['prompt', 'denied', 'granted', 'prompt']); + + // Note: Chromium 110 stopped triggering "onchange" when clearing permissions. + expect(await page.evaluate(() => window['events'])).toEqual( + (browserName === 'chromium' && browserMajorVersion >= 110) ? + ['prompt', 'denied', 'granted'] : + ['prompt', 'denied', 'granted', 'prompt']); }); it('should isolate permissions between browser contexts', async ({ server, browser }) => {