Also allow clipboard-sanitized-write in webviews

Fixes #128645
This commit is contained in:
Matt Bierner
2021-07-14 14:42:12 -07:00
parent 1ac570edce
commit e6b29a18b1

View File

@@ -126,9 +126,14 @@ export class CodeApplication extends Disposable {
const isUrlFromWebview = (requestingUrl: string | undefined) => requestingUrl?.startsWith(`${Schemas.vscodeWebview}://`);
const allowedPermissionsInWebview = new Set([
'clipboard-read',
'clipboard-sanitized-write',
]);
session.defaultSession.setPermissionRequestHandler((_webContents, permission /* 'media' | 'geolocation' | 'notifications' | 'midiSysex' | 'pointerLock' | 'fullscreen' | 'openExternal' */, callback, details) => {
if (isUrlFromWebview(details.requestingUrl)) {
return callback(permission === 'clipboard-read');
return callback(allowedPermissionsInWebview.has(permission));
}
return callback(false);
@@ -136,7 +141,7 @@ export class CodeApplication extends Disposable {
session.defaultSession.setPermissionCheckHandler((_webContents, permission /* 'media' */, _origin, details) => {
if (isUrlFromWebview(details.requestingUrl)) {
return permission === 'clipboard-read';
return allowedPermissionsInWebview.has(permission);
}
return false;