mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-08 17:19:48 +01:00
debug: add indicators to differentiate debugged worker ext hosts
Fixes https://github.com/microsoft/vscode/issues/128637 (with corresponding js-debug changes)
This commit is contained in:
@@ -88,6 +88,7 @@ export class WebWorkerExtensionHost extends Disposable implements IExtensionHost
|
||||
}
|
||||
|
||||
const forceHTTPS = (location.protocol === 'https:');
|
||||
const suffix = this._environmentService.debugExtensionHost && this._environmentService.debugRenderer ? '?debugged=1' : '?';
|
||||
|
||||
if (this._environmentService.options && this._environmentService.options.__uniqueWebWorkerExtensionHostOrigin) {
|
||||
const webEndpointUrlTemplate = this._productService.webEndpointUrlTemplate;
|
||||
@@ -100,11 +101,13 @@ export class WebWorkerExtensionHost extends Disposable implements IExtensionHost
|
||||
.replace('{{commit}}', commit)
|
||||
.replace('{{quality}}', quality)
|
||||
);
|
||||
return (
|
||||
const base = (
|
||||
forceHTTPS
|
||||
? `${baseUrl}/out/vs/workbench/services/extensions/worker/httpsWebWorkerExtensionHostIframe.html`
|
||||
: `${baseUrl}/out/vs/workbench/services/extensions/worker/httpWebWorkerExtensionHostIframe.html`
|
||||
);
|
||||
|
||||
return base + suffix;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,11 +119,13 @@ export class WebWorkerExtensionHost extends Disposable implements IExtensionHost
|
||||
if (this._productService.commit) {
|
||||
baseUrl += `/${this._productService.commit}`;
|
||||
}
|
||||
return (
|
||||
const base = (
|
||||
forceHTTPS
|
||||
? `${baseUrl}/out/vs/workbench/services/extensions/worker/httpsWebWorkerExtensionHostIframe.html`
|
||||
: `${baseUrl}/out/vs/workbench/services/extensions/worker/httpWebWorkerExtensionHostIframe.html`
|
||||
);
|
||||
|
||||
return base + suffix;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -152,7 +157,7 @@ export class WebWorkerExtensionHost extends Disposable implements IExtensionHost
|
||||
iframe.style.display = 'none';
|
||||
|
||||
const vscodeWebWorkerExtHostId = generateUuid();
|
||||
iframe.setAttribute('src', `${webWorkerExtensionHostIframeSrc}?vscodeWebWorkerExtHostId=${vscodeWebWorkerExtHostId}`);
|
||||
iframe.setAttribute('src', `${webWorkerExtensionHostIframeSrc}&vscodeWebWorkerExtHostId=${vscodeWebWorkerExtHostId}`);
|
||||
|
||||
const barrier = new Barrier();
|
||||
let port!: MessagePort;
|
||||
@@ -242,7 +247,8 @@ export class WebWorkerExtensionHost extends Disposable implements IExtensionHost
|
||||
|
||||
const nestedWorker = new Map<string, Worker>();
|
||||
|
||||
const worker = new DefaultWorkerFactory('WorkerExtensionHost').create(
|
||||
const name = this._environmentService.debugRenderer && this._environmentService.debugExtensionHost ? 'DebugWorkerExtensionHost' : 'WorkerExtensionHost';
|
||||
const worker = new DefaultWorkerFactory(name).create(
|
||||
'vs/workbench/services/extensions/worker/extensionHostWorker',
|
||||
(data: MessagePort | NewWorkerMessage | TerminateWorkerMessage | any) => {
|
||||
|
||||
|
||||
@@ -6,8 +6,9 @@
|
||||
<body>
|
||||
<script>
|
||||
(function() {
|
||||
const idMatch = document.location.search.match(/\bvscodeWebWorkerExtHostId=([0-9a-f\-]+)/i);
|
||||
const vscodeWebWorkerExtHostId = idMatch ? idMatch[1] : '';
|
||||
const searchParams = new URL(document.location).searchParams;
|
||||
const vscodeWebWorkerExtHostId = searchParams.get(vscodeWebWorkerExtHostId) || '';
|
||||
const name = searchParams.get('debugged') ? 'WorkerExtensionHost' : 'DebugWorkerExtensionHost';
|
||||
|
||||
function sendError(error) {
|
||||
window.parent.postMessage({
|
||||
@@ -21,7 +22,7 @@
|
||||
}
|
||||
|
||||
try {
|
||||
const worker = new Worker('../../../../base/worker/workerMain.js', { name: 'WorkerExtensionHost' });
|
||||
const worker = new Worker('../../../../base/worker/workerMain.js', { name });
|
||||
worker.postMessage('vs/workbench/services/extensions/worker/extensionHostWorker');
|
||||
const nestedWorkers = new Map();
|
||||
|
||||
|
||||
@@ -6,8 +6,9 @@
|
||||
<body>
|
||||
<script>
|
||||
(function() {
|
||||
const idMatch = document.location.search.match(/\bvscodeWebWorkerExtHostId=([0-9a-f\-]+)/i);
|
||||
const vscodeWebWorkerExtHostId = idMatch ? idMatch[1] : '';
|
||||
const searchParams = new URL(document.location).searchParams;
|
||||
const vscodeWebWorkerExtHostId = searchParams.get(vscodeWebWorkerExtHostId) || '';
|
||||
const name = searchParams.get('debugged') ? 'WorkerExtensionHost' : 'DebugWorkerExtensionHost';
|
||||
|
||||
function sendError(error) {
|
||||
window.parent.postMessage({
|
||||
@@ -21,7 +22,7 @@
|
||||
}
|
||||
|
||||
try {
|
||||
const worker = new Worker('../../../../base/worker/workerMain.js', { name: 'WorkerExtensionHost' });
|
||||
const worker = new Worker('../../../../base/worker/workerMain.js', { name });
|
||||
worker.postMessage('vs/workbench/services/extensions/worker/extensionHostWorker');
|
||||
const nestedWorkers = new Map();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user