Skip to content

Commit 4d042d7

Browse files
authored
Merge pull request #581 from CodinGame/fix-extension-host-worker-cdn
Fix extension host worker when used with a cdn
2 parents 54ac8d7 + 7e31d27 commit 4d042d7

File tree

2 files changed

+35
-6
lines changed

2 files changed

+35
-6
lines changed

src/service-override/extensions.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -291,30 +291,30 @@ class ExtensionResourceLoaderServiceOverride extends ExtensionResourceLoaderServ
291291
}
292292
}
293293

294-
let iframeAlternateDomains: string | undefined
294+
let iframeAlternateDomain: string | undefined
295295
registerAssets({
296296
'vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html': () =>
297297
changeUrlDomain(
298298
new URL(
299299
'../../vscode/src/vs/workbench/services/extensions/worker/webWorkerExtensionHostIframe.html',
300300
import.meta.url
301301
).href,
302-
iframeAlternateDomains
302+
iframeAlternateDomain
303303
)
304304
})
305305

306306
export default function getServiceOverride(
307307
workerConfig?: WorkerConfig,
308-
_iframeAlternateDomains?: string
308+
_iframeAlternateDomain?: string
309309
): IEditorOverrideServices {
310-
if (_iframeAlternateDomains != null) {
311-
iframeAlternateDomains = _iframeAlternateDomains
310+
if (_iframeAlternateDomain != null) {
311+
iframeAlternateDomain = _iframeAlternateDomain
312312
}
313313
const _workerConfig =
314314
workerConfig != null
315315
? {
316316
...workerConfig,
317-
url: changeUrlDomain(workerConfig.url, iframeAlternateDomains)
317+
url: changeUrlDomain(workerConfig.url, iframeAlternateDomain ?? globalThis.location?.href ?? import.meta.url)
318318
}
319319
: undefined
320320

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+
From: =?UTF-8?q?Lo=C3=AFc=20Mangeonjean?= <loic@coderpad.io>
3+
Date: Tue, 11 Feb 2025 19:59:40 +0100
4+
Subject: [PATCH] fix: always set parent origin
5+
6+
---
7+
.../services/extensions/browser/webWorkerExtensionHost.ts | 2 +-
8+
1 file changed, 1 insertion(+), 1 deletion(-)
9+
10+
diff --git a/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.ts b/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.ts
11+
index eade34150d1..95106926e93 100644
12+
--- a/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.ts
13+
+++ b/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.ts
14+
@@ -85,6 +85,7 @@ export class WebWorkerExtensionHost extends Disposable implements IExtensionHost
15+
suffixSearchParams.set('debugged', '1');
16+
}
17+
COI.addSearchParam(suffixSearchParams, true, true);
18+
+ suffixSearchParams.set('parentOrigin', mainWindow.origin);
19+
20+
const suffix = `?${suffixSearchParams.toString()}`;
21+
22+
@@ -110,7 +111,6 @@ export class WebWorkerExtensionHost extends Disposable implements IExtensionHost
23+
);
24+
25+
const res = new URL(`${baseUrl}/out/${iframeModulePath}${suffix}`);
26+
- res.searchParams.set('parentOrigin', mainWindow.origin);
27+
res.searchParams.set('salt', stableOriginUUID);
28+
return res.toString();
29+
}

0 commit comments

Comments
 (0)