diff --git a/packages/playwright-core/browsers.json b/packages/playwright-core/browsers.json index f45291c778..fffa76e788 100644 --- a/packages/playwright-core/browsers.json +++ b/packages/playwright-core/browsers.json @@ -21,13 +21,13 @@ }, { "name": "firefox", - "revision": "1415", + "revision": "1417", "installByDefault": true, "browserVersion": "114.0.2" }, { "name": "firefox-beta", - "revision": "1416", + "revision": "1418", "installByDefault": false, "browserVersion": "115.0b8" }, diff --git a/tests/page/page-click.spec.ts b/tests/page/page-click.spec.ts index e3883563cc..c05cb2d00c 100644 --- a/tests/page/page-click.spec.ts +++ b/tests/page/page-click.spec.ts @@ -976,6 +976,36 @@ it('should click in a transformed iframe', async ({ page }) => { expect(await page.evaluate('window._clicked')).toBe(true); }); +it('should click a button that is overlayed by a permission popup', async ({ page, server }) => { + it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/23280' }); + await page.setViewportSize({ width: 500, height: 500 }); + await page.goto(server.EMPTY_PAGE); + await page.setContent(` + + + `); + // Issue a geolocation request. This should show a browser popup. + // NOTE: this is a bit racy since we can't wait for the geolocation + // popup to be shown. + await page.evaluate(() => { + navigator.geolocation.getCurrentPosition(position => { }); + }); + // If popup blocks the click, then some of the `page.click` calls below will hang. + for (let i = 0; i < 100; ++i) + await page.click(`text=${i}`); +}); + it('should click in a transformed iframe with force', async ({ page }) => { await page.setContent(`