From 87e6b6d47107c44214368a9e193b6c9f11c4f980 Mon Sep 17 00:00:00 2001 From: github-actions <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 May 2024 16:25:06 +0000 Subject: [PATCH] cherry-pick(#30800): Revert "fix(highlight): highlight Top Layer elements (#30001)" --- .../src/server/injected/highlight.ts | 11 ------- tests/page/page-screenshot.spec.ts | 30 ------------------- 2 files changed, 41 deletions(-) diff --git a/packages/playwright-core/src/server/injected/highlight.ts b/packages/playwright-core/src/server/injected/highlight.ts index b9fdc8fa3f5c7..dfc298cb24b42 100644 --- a/packages/playwright-core/src/server/injected/highlight.ts +++ b/packages/playwright-core/src/server/injected/highlight.ts @@ -55,7 +55,6 @@ export class Highlight { const document = injectedScript.document; this._isUnderTest = injectedScript.isUnderTest; this._glassPaneElement = document.createElement('x-pw-glass'); - this._glassPaneElement.popover = 'manual'; this._glassPaneElement.style.position = 'fixed'; this._glassPaneElement.style.top = '0'; this._glassPaneElement.style.right = '0'; @@ -65,12 +64,6 @@ export class Highlight { this._glassPaneElement.style.pointerEvents = 'none'; this._glassPaneElement.style.display = 'flex'; this._glassPaneElement.style.backgroundColor = 'transparent'; - this._glassPaneElement.style.width = 'inherit'; - this._glassPaneElement.style.height = 'inherit'; - this._glassPaneElement.style.padding = '0'; - this._glassPaneElement.style.margin = '0'; - this._glassPaneElement.style.border = 'none'; - this._glassPaneElement.style.overflow = 'hidden'; for (const eventName of ['click', 'auxclick', 'dragstart', 'input', 'keydown', 'keyup', 'pointerdown', 'pointerup', 'mousedown', 'mouseup', 'mouseleave', 'focus', 'scroll']) { this._glassPaneElement.addEventListener(eventName, e => { e.stopPropagation(); @@ -98,8 +91,6 @@ export class Highlight { install() { this._injectedScript.document.documentElement.appendChild(this._glassPaneElement); - // Popover is not supported in WebKit-macOS < 14.0 - this._glassPaneElement.showPopover?.(); } setLanguage(language: Language) { @@ -116,8 +107,6 @@ export class Highlight { uninstall() { if (this._rafRequest) cancelAnimationFrame(this._rafRequest); - // Popover is not supported in WebKit-macOS < 14.0 - this._glassPaneElement.hidePopover?.(); this._glassPaneElement.remove(); } diff --git a/tests/page/page-screenshot.spec.ts b/tests/page/page-screenshot.spec.ts index fe55a21b813d2..278dd382284ed 100644 --- a/tests/page/page-screenshot.spec.ts +++ b/tests/page/page-screenshot.spec.ts @@ -482,36 +482,6 @@ it.describe('page screenshot', () => { })).toMatchSnapshot('should-mask-inside-iframe.png'); }); - it('should mask inside ', async ({ page, server, browserName, isElectron }) => { - it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/29878' }); - it.skip(browserName === 'webkit' && process.platform === 'darwin' && parseInt(os.release().split('.')[0], 10) < 23, 'SDKAlignedBehavior::PopoverAttributeEnabled is only enabled in macOS 14.0+'); - it.fixme(isElectron, 'Requires a more recent Electron version'); - - await page.setViewportSize({ width: 500, height: 500 }); - await page.goto(server.PREFIX + '/grid.html'); - await page.evaluate(() => { - const elements = document.body.innerHTML; - document.body.innerHTML = ''; - // Move all the elements of the body (grid elements) into a which lives on the Top-Layer. - const dialog = document.createElement('dialog'); - dialog.style.padding = '0'; - dialog.style.margin = '0'; - dialog.style.border = 'none'; - dialog.style.maxWidth = 'inherit'; - dialog.style.maxHeight = 'inherit'; - dialog.style.outline = 'none'; - document.body.appendChild(dialog); - dialog.innerHTML = elements; - dialog.showModal(); - }); - expect(await page.screenshot({ - mask: [ - page.locator('div').nth(5), - page.frameLocator('#frame1').locator('div').nth(12), - ], - })).toMatchSnapshot('should-mask-inside-iframe.png'); - }); - it('should mask in parallel', async ({ page, server }) => { await page.setViewportSize({ width: 500, height: 500 }); await attachFrame(page, 'frame1', server.PREFIX + '/grid.html');