Avoid re-parsing uri

This commit is contained in:
Matt Bierner
2022-03-08 14:47:46 -08:00
parent ec4bbaa5c4
commit becce316b2

View File

@@ -195,11 +195,9 @@ export class CodeApplication extends Disposable {
return false; return false;
}; };
const isAllowedWebviewRequest = (details: Electron.OnBeforeRequestListenerDetails): boolean => { const isAllowedWebviewRequest = (uri: URI, details: Electron.OnBeforeRequestListenerDetails): boolean => {
const url = URI.parse(details.url);
// Only restrict top level page of webviews: index.html // Only restrict top level page of webviews: index.html
if (url.path !== '/index.html') { if (uri.path !== '/index.html') {
return true; return true;
} }
@@ -222,9 +220,8 @@ export class CodeApplication extends Disposable {
session.defaultSession.webRequest.onBeforeRequest((details, callback) => { session.defaultSession.webRequest.onBeforeRequest((details, callback) => {
const uri = URI.parse(details.url); const uri = URI.parse(details.url);
if (uri.scheme === Schemas.vscodeWebview) { if (uri.scheme === Schemas.vscodeWebview) {
if (!isAllowedWebviewRequest(details)) { if (!isAllowedWebviewRequest(uri, details)) {
this.logService.error('Blocked vscode-webview request', details.url); this.logService.error('Blocked vscode-webview request', details.url);
return callback({ cancel: true }); return callback({ cancel: true });
} }