fix: add 'window-management' to chromium browser (#31687)

This commit is contained in:
Ismael Onilearan 2024-07-15 22:34:57 +01:00 committed by GitHub
parent de39d227f7
commit 0aa2f06f68
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 11 additions and 0 deletions

View File

@ -980,6 +980,7 @@ A permission or an array of permissions to grant. Permissions can be one of the
* `'notifications'`
* `'payment-handler'`
* `'storage-access'`
* `'window-management'`
### option: BrowserContext.grantPermissions.origin
* since: v1.8

View File

@ -434,6 +434,7 @@ export class CRBrowserContext extends BrowserContext {
// chrome-specific permissions we have.
['midi-sysex', 'midiSysex'],
['storage-access', 'storageAccess'],
['window-management', 'windowManagement']
]);
const filtered = permissions.map(permission => {
const protocolPermission = webPermissionToProtocol.get(permission);

View File

@ -8472,6 +8472,7 @@ export interface BrowserContext {
* - `'notifications'`
* - `'payment-handler'`
* - `'storage-access'`
* - `'window-management'`
* @param options
*/
grantPermissions(permissions: ReadonlyArray<string>, options?: {

View File

@ -48,6 +48,14 @@ it.describe('permissions', () => {
expect(await getPermission(page, 'geolocation')).toBe('granted');
});
it('should grant window-management permission when origin is listed', async ({ page, context, server, browserName }) => {
it.fail(browserName === 'firefox');
await page.goto(server.EMPTY_PAGE);
await context.grantPermissions(['window-management'], { origin: server.EMPTY_PAGE });
expect(await getPermission(page, 'window-management')).toBe('granted');
});
it('should prompt for geolocation permission when origin is not listed', async ({ page, context, server }) => {
await page.goto(server.EMPTY_PAGE);
await context.grantPermissions(['geolocation'], { origin: server.EMPTY_PAGE });