test: COEP/COOP/CORP isolated iframe should work (#28083)
https://github.com/microsoft/playwright/issues/28082
This commit is contained in:
parent
2954e1263e
commit
1aee48f2d0
|
|
@ -268,3 +268,33 @@ it('wait for hidden should succeed when frame is not in dom', async ({ page }) =
|
||||||
const error = await button.waitFor({ state: 'attached', timeout: 1000 }).catch(e => e);
|
const error = await button.waitFor({ state: 'attached', timeout: 1000 }).catch(e => e);
|
||||||
expect(error.message).toContain('Timeout 1000ms exceeded');
|
expect(error.message).toContain('Timeout 1000ms exceeded');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should work with COEP/COOP/CORP isolated iframe', async ({ page, server, browserName }) => {
|
||||||
|
it.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/28082' });
|
||||||
|
it.fixme(browserName === 'firefox');
|
||||||
|
await page.route('**/empty.html', route => {
|
||||||
|
return route.fulfill({
|
||||||
|
body: `<iframe src="https://${server.CROSS_PROCESS_PREFIX}/btn.html" allow="cross-origin-isolated; fullscreen" sandbox="allow-same-origin allow-scripts allow-popups" ></iframe>`,
|
||||||
|
contentType: 'text/html',
|
||||||
|
headers: {
|
||||||
|
'cross-origin-embedder-policy': 'require-corp',
|
||||||
|
'cross-origin-opener-policy': 'same-origin',
|
||||||
|
'cross-origin-resource-policy': 'cross-origin',
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
await page.route('**/btn.html', route => {
|
||||||
|
return route.fulfill({
|
||||||
|
body: '<button onclick="window.__clicked=true">Click target</button>',
|
||||||
|
contentType: 'text/html',
|
||||||
|
headers: {
|
||||||
|
'cross-origin-embedder-policy': 'require-corp',
|
||||||
|
'cross-origin-opener-policy': 'same-origin',
|
||||||
|
'cross-origin-resource-policy': 'cross-origin',
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
await page.goto(server.EMPTY_PAGE);
|
||||||
|
await page.frameLocator('iframe').getByRole('button').click();
|
||||||
|
expect(await page.frames()[1].evaluate(() => window['__clicked'])).toBe(true);
|
||||||
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue