Skip to content

Commit d7de53f

Browse files
committed
add vscode-coi-search-param when making requests for the webview and its worker
1 parent 4f991f8 commit d7de53f

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,15 @@ export class WebWorkerExtensionHost extends Disposable implements IExtensionHost
8282
}
8383

8484
private async _getWebWorkerExtensionHostIframeSrc(): Promise<string> {
85-
const suffix = this._environmentService.debugExtensionHost && this._environmentService.debugRenderer ? '?debugged=1' : '?';
85+
const suffixSearchParams = new URLSearchParams();
86+
if (this._environmentService.debugExtensionHost && this._environmentService.debugRenderer) {
87+
suffixSearchParams.set('debugged', '1');
88+
}
89+
if (globalThis.crossOriginIsolated) {
90+
suffixSearchParams.set('vscode-coi', '3' /*COOP+COEP*/);
91+
}
92+
const suffix = `?${suffixSearchParams.toString()}`;
93+
8694
const iframeModulePath = 'vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html';
8795
if (platform.isWeb) {
8896
const webEndpointUrlTemplate = this._productService.webEndpointUrlTemplate;

src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,11 @@
6666

6767
function start() {
6868
try {
69-
const worker = new Worker('../../../../base/worker/workerMain.js', { name });
69+
const workerUrl = new URL('../../../../base/worker/workerMain.js');
70+
if(crossOriginIsolated) {
71+
workerUrl.searchParams.set('vscode-coi', 2 /*COEP*/)
72+
}
73+
const worker = new Worker(workerUrl.toString(), { name });
7074
worker.postMessage('vs/workbench/api/worker/extensionHostWorker');
7175
const nestedWorkers = new Map();
7276

0 commit comments

Comments
 (0)