@codingame/monaco-vscode-extensions-service-override 25.1.2 → 26.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +7 -0
- package/package.json +3 -3
- package/vscode/src/vs/base/common/console.js +24 -15
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.d.ts +4 -1
- package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +149 -84
- package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +20 -12
- package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +38 -21
- package/vscode/src/vs/platform/remote/common/managedSocket.js +7 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +5 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +5 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.js +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +200 -143
- package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +10 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +41 -31
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +9 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +168 -115
- package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +11 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +42 -15
- package/vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.js +8 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +4 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +170 -99
- package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +2 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +4 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +13 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +16 -19
- package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +127 -70
- package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +80 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +5 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +199 -97
- package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +88 -73
- package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +5 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +16 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +10 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +14 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +52 -37
- package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +78 -58
- package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +5 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +75 -63
- package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +99 -91
- package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +93 -55
- package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.js +3 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +85 -60
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +49 -45
- package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +114 -72
- package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +4 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +2 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +381 -238
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +7 -3
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +90 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +81 -58
- package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +9 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +2 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +6 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +12 -10
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +3 -2
- package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +162 -97
- package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +32 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +38 -32
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +48 -46
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +22 -18
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +5 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +35 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +31 -28
- package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +5 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +47 -23
- package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +15 -12
- package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +17 -18
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +6 -7
- package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +83 -66
- package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +1 -5
- package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +250 -92
- package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +6 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +37 -26
- package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +34 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +3 -6
- package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +19 -14
- package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +41 -16
- package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +18 -17
- package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +145 -145
- package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +19 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +176 -80
- package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +52 -21
- package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +26 -24
- package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +1 -4
- package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +5 -8
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +106 -46
- package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +83 -65
- package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +20 -20
- package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +14 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +17 -9
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +49 -38
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +10 -13
- package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +38 -27
- package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +5 -11
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.d.ts +4 -1
- package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +73 -43
- package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +2 -2
- package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +17 -10
- package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +17 -11
- package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +107 -80
- package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +336 -175
- package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +126 -71
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +76 -54
- package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +1 -2
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -0
- package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +343 -192
- package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +5 -3
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.d.ts +0 -1
- package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +75 -68
- package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +135 -36
- package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +22 -18
- package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +14 -12
- package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +21 -9
- package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +48 -25
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.d.ts +24 -0
- package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +300 -0
|
@@ -21,7 +21,16 @@ import { TunnelSource, TunnelCloseReason, makeAddress, forwardedPortsFeaturesEna
|
|
|
21
21
|
import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
|
|
22
22
|
|
|
23
23
|
let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
24
|
-
constructor(
|
|
24
|
+
constructor(
|
|
25
|
+
extHostContext,
|
|
26
|
+
remoteExplorerService,
|
|
27
|
+
tunnelService,
|
|
28
|
+
notificationService,
|
|
29
|
+
configurationService,
|
|
30
|
+
logService,
|
|
31
|
+
remoteAgentService,
|
|
32
|
+
contextKeyService
|
|
33
|
+
) {
|
|
25
34
|
super();
|
|
26
35
|
this.remoteExplorerService = remoteExplorerService;
|
|
27
36
|
this.tunnelService = tunnelService;
|
|
@@ -38,18 +47,18 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
38
47
|
this._register(tunnelService.onTunnelClosed(() => this._proxy.$onDidTunnelsChange()));
|
|
39
48
|
}
|
|
40
49
|
processFindingEnabled() {
|
|
41
|
-
return (!!this.configurationService.getValue(PORT_AUTO_FORWARD_SETTING) || this.tunnelService.hasTunnelProvider)
|
|
42
|
-
&& (this.configurationService.getValue(PORT_AUTO_SOURCE_SETTING) !== PORT_AUTO_SOURCE_SETTING_OUTPUT);
|
|
50
|
+
return (!!this.configurationService.getValue(PORT_AUTO_FORWARD_SETTING) || this.tunnelService.hasTunnelProvider) && (this.configurationService.getValue(PORT_AUTO_SOURCE_SETTING) !== PORT_AUTO_SOURCE_SETTING_OUTPUT);
|
|
43
51
|
}
|
|
44
52
|
async $setRemoteTunnelService(processId) {
|
|
45
|
-
this.remoteExplorerService.namedProcesses.set(processId,
|
|
53
|
+
this.remoteExplorerService.namedProcesses.set(processId, "Code Extension Host");
|
|
46
54
|
if (this.remoteExplorerService.portsFeaturesEnabled === PortsEnablement.AdditionalFeatures) {
|
|
47
55
|
this._proxy.$registerCandidateFinder(this.processFindingEnabled());
|
|
56
|
+
} else {
|
|
57
|
+
this._register(
|
|
58
|
+
this.remoteExplorerService.onEnabledPortsFeatures(() => this._proxy.$registerCandidateFinder(this.processFindingEnabled()))
|
|
59
|
+
);
|
|
48
60
|
}
|
|
49
|
-
|
|
50
|
-
this._register(this.remoteExplorerService.onEnabledPortsFeatures(() => this._proxy.$registerCandidateFinder(this.processFindingEnabled())));
|
|
51
|
-
}
|
|
52
|
-
this._register(this.configurationService.onDidChangeConfiguration(async (e) => {
|
|
61
|
+
this._register(this.configurationService.onDidChangeConfiguration(async e => {
|
|
53
62
|
if ((this.remoteExplorerService.portsFeaturesEnabled === PortsEnablement.AdditionalFeatures) && (e.affectsConfiguration(PORT_AUTO_FORWARD_SETTING) || e.affectsConfiguration(PORT_AUTO_SOURCE_SETTING))) {
|
|
54
63
|
return this._proxy.$registerCandidateFinder(this.processFindingEnabled());
|
|
55
64
|
}
|
|
@@ -76,7 +85,7 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
76
85
|
}
|
|
77
86
|
const appropriateHandles = ( Array.from(this.portsAttributesProviders.entries()).filter(entry => {
|
|
78
87
|
const selector = entry[1];
|
|
79
|
-
const portRange = (typeof selector.portRange ===
|
|
88
|
+
const portRange = (typeof selector.portRange === "number") ? [selector.portRange, selector.portRange + 1] : selector.portRange;
|
|
80
89
|
const portInRange = portRange ? ( ports.some(port => portRange[0] <= port && port < portRange[1])) : true;
|
|
81
90
|
const commandMatches = !selector.commandPattern || (commandLine && (commandLine.match(selector.commandPattern)));
|
|
82
91
|
return portInRange && commandMatches;
|
|
@@ -97,44 +106,42 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
97
106
|
},
|
|
98
107
|
elevateIfNeeded: false
|
|
99
108
|
});
|
|
100
|
-
if (!tunnel || (typeof tunnel ===
|
|
109
|
+
if (!tunnel || (typeof tunnel === "string")) {
|
|
101
110
|
return undefined;
|
|
102
111
|
}
|
|
103
|
-
if (!this.elevateionRetry
|
|
104
|
-
&& (tunnelOptions.localAddressPort !== undefined)
|
|
105
|
-
&& (tunnel.tunnelLocalPort !== undefined)
|
|
106
|
-
&& this.tunnelService.isPortPrivileged(tunnelOptions.localAddressPort)
|
|
107
|
-
&& (tunnel.tunnelLocalPort !== tunnelOptions.localAddressPort)
|
|
108
|
-
&& this.tunnelService.canElevate) {
|
|
112
|
+
if (!this.elevateionRetry && (tunnelOptions.localAddressPort !== undefined) && (tunnel.tunnelLocalPort !== undefined) && this.tunnelService.isPortPrivileged(tunnelOptions.localAddressPort) && (tunnel.tunnelLocalPort !== tunnelOptions.localAddressPort) && this.tunnelService.canElevate) {
|
|
109
113
|
this.elevationPrompt(tunnelOptions, tunnel, source);
|
|
110
114
|
}
|
|
111
115
|
return TunnelDtoConverter.fromServiceTunnel(tunnel);
|
|
112
116
|
}
|
|
113
117
|
async elevationPrompt(tunnelOptions, tunnel, source) {
|
|
114
118
|
return this.notificationService.prompt(Severity.Info, ( localize(
|
|
115
|
-
|
|
119
|
+
2557,
|
|
116
120
|
"The extension {0} has forwarded port {1}. You'll need to run as superuser to use port {2} locally.",
|
|
117
121
|
source,
|
|
118
122
|
tunnelOptions.remoteAddress.port,
|
|
119
123
|
tunnelOptions.localAddressPort
|
|
120
124
|
)), [{
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
125
|
+
label: ( localize(2558, "Use Port {0} as Sudo...", tunnel.tunnelRemotePort)),
|
|
126
|
+
run: async () => {
|
|
127
|
+
this.elevateionRetry = true;
|
|
128
|
+
await this.remoteExplorerService.close({
|
|
129
|
+
host: tunnel.tunnelRemoteHost,
|
|
130
|
+
port: tunnel.tunnelRemotePort
|
|
131
|
+
}, TunnelCloseReason.Other);
|
|
132
|
+
await this.remoteExplorerService.forward({
|
|
133
|
+
remote: tunnelOptions.remoteAddress,
|
|
134
|
+
local: tunnelOptions.localAddressPort,
|
|
135
|
+
name: tunnelOptions.label,
|
|
136
|
+
source: {
|
|
137
|
+
source: TunnelSource.Extension,
|
|
138
|
+
description: source
|
|
139
|
+
},
|
|
140
|
+
elevateIfNeeded: true
|
|
141
|
+
});
|
|
142
|
+
this.elevateionRetry = false;
|
|
143
|
+
}
|
|
144
|
+
}]);
|
|
138
145
|
}
|
|
139
146
|
async $closeTunnel(remote) {
|
|
140
147
|
return this.remoteExplorerService.close(remote, TunnelCloseReason.Other);
|
|
@@ -142,7 +149,10 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
142
149
|
async $getTunnels() {
|
|
143
150
|
return ( (await this.tunnelService.tunnels).map(tunnel => {
|
|
144
151
|
return {
|
|
145
|
-
remoteAddress: {
|
|
152
|
+
remoteAddress: {
|
|
153
|
+
port: tunnel.tunnelRemotePort,
|
|
154
|
+
host: tunnel.tunnelRemoteHost
|
|
155
|
+
},
|
|
146
156
|
localAddress: tunnel.localAddress,
|
|
147
157
|
privacy: tunnel.privacy,
|
|
148
158
|
protocol: tunnel.protocol
|
|
@@ -159,23 +169,29 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
159
169
|
return forward.then(tunnelOrError => {
|
|
160
170
|
if (!tunnelOrError) {
|
|
161
171
|
return undefined;
|
|
162
|
-
}
|
|
163
|
-
else if (typeof tunnelOrError === 'string') {
|
|
172
|
+
} else if (typeof tunnelOrError === "string") {
|
|
164
173
|
return tunnelOrError;
|
|
165
174
|
}
|
|
166
175
|
const tunnel = tunnelOrError;
|
|
167
|
-
this.logService.trace(
|
|
176
|
+
this.logService.trace(
|
|
177
|
+
`ForwardedPorts: (MainThreadTunnelService) New tunnel established by tunnel provider: ${tunnel?.remoteAddress.host}:${tunnel?.remoteAddress.port}`
|
|
178
|
+
);
|
|
168
179
|
return {
|
|
169
180
|
tunnelRemotePort: tunnel.remoteAddress.port,
|
|
170
181
|
tunnelRemoteHost: tunnel.remoteAddress.host,
|
|
171
|
-
localAddress: typeof tunnel.localAddress ===
|
|
172
|
-
tunnelLocalPort: typeof tunnel.localAddress !==
|
|
182
|
+
localAddress: typeof tunnel.localAddress === "string" ? tunnel.localAddress : makeAddress(tunnel.localAddress.host, tunnel.localAddress.port),
|
|
183
|
+
tunnelLocalPort: typeof tunnel.localAddress !== "string" ? tunnel.localAddress.port : undefined,
|
|
173
184
|
public: tunnel.public,
|
|
174
185
|
privacy: tunnel.privacy,
|
|
175
186
|
protocol: tunnel.protocol ?? TunnelProtocol.Http,
|
|
176
|
-
dispose: async
|
|
177
|
-
this.logService.trace(
|
|
178
|
-
|
|
187
|
+
dispose: async silent => {
|
|
188
|
+
this.logService.trace(
|
|
189
|
+
`ForwardedPorts: (MainThreadTunnelService) Closing tunnel from tunnel provider: ${tunnel?.remoteAddress.host}:${tunnel?.remoteAddress.port}`
|
|
190
|
+
);
|
|
191
|
+
return this._proxy.$closeTunnel({
|
|
192
|
+
host: tunnel.remoteAddress.host,
|
|
193
|
+
port: tunnel.remoteAddress.port
|
|
194
|
+
}, silent);
|
|
179
195
|
}
|
|
180
196
|
};
|
|
181
197
|
});
|
|
@@ -193,42 +209,44 @@ let MainThreadTunnelService = class MainThreadTunnelService extends Disposable {
|
|
|
193
209
|
return this.tunnelService.hasTunnelProvider;
|
|
194
210
|
}
|
|
195
211
|
async $setCandidateFilter() {
|
|
196
|
-
this.remoteExplorerService.setCandidateFilter(
|
|
212
|
+
this.remoteExplorerService.setCandidateFilter(candidates => {
|
|
197
213
|
return this._proxy.$applyCandidateFilter(candidates);
|
|
198
214
|
});
|
|
199
215
|
}
|
|
200
216
|
async $setCandidatePortSource(source) {
|
|
201
217
|
this.remoteAgentService.getEnvironment().then(() => {
|
|
202
218
|
switch (source) {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
219
|
+
case CandidatePortSource.None:
|
|
220
|
+
{
|
|
221
|
+
( Registry.as(Extensions.Configuration)).registerDefaultConfigurations([{
|
|
222
|
+
overrides: {
|
|
223
|
+
"remote.autoForwardPorts": false
|
|
224
|
+
}
|
|
225
|
+
}]);
|
|
206
226
|
break;
|
|
207
227
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
228
|
+
case CandidatePortSource.Output:
|
|
229
|
+
{
|
|
230
|
+
( Registry.as(Extensions.Configuration)).registerDefaultConfigurations([{
|
|
231
|
+
overrides: {
|
|
232
|
+
"remote.autoForwardPortsSource": PORT_AUTO_SOURCE_SETTING_OUTPUT
|
|
233
|
+
}
|
|
234
|
+
}]);
|
|
211
235
|
break;
|
|
212
236
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
237
|
+
case CandidatePortSource.Hybrid:
|
|
238
|
+
{
|
|
239
|
+
( Registry.as(Extensions.Configuration)).registerDefaultConfigurations([{
|
|
240
|
+
overrides: {
|
|
241
|
+
"remote.autoForwardPortsSource": PORT_AUTO_SOURCE_SETTING_HYBRID
|
|
242
|
+
}
|
|
243
|
+
}]);
|
|
216
244
|
break;
|
|
217
245
|
}
|
|
218
246
|
}
|
|
219
|
-
}).catch(() => {
|
|
220
|
-
});
|
|
247
|
+
}).catch(() => {});
|
|
221
248
|
}
|
|
222
249
|
};
|
|
223
|
-
MainThreadTunnelService = __decorate([
|
|
224
|
-
extHostNamedCustomer(MainContext.MainThreadTunnelService),
|
|
225
|
-
( __param(1, IRemoteExplorerService)),
|
|
226
|
-
( __param(2, ITunnelService)),
|
|
227
|
-
( __param(3, INotificationService)),
|
|
228
|
-
( __param(4, IConfigurationService)),
|
|
229
|
-
( __param(5, ILogService)),
|
|
230
|
-
( __param(6, IRemoteAgentService)),
|
|
231
|
-
( __param(7, IContextKeyService))
|
|
232
|
-
], MainThreadTunnelService);
|
|
250
|
+
MainThreadTunnelService = __decorate([extHostNamedCustomer(MainContext.MainThreadTunnelService), ( __param(1, IRemoteExplorerService)), ( __param(2, ITunnelService)), ( __param(3, INotificationService)), ( __param(4, IConfigurationService)), ( __param(5, ILogService)), ( __param(6, IRemoteAgentService)), ( __param(7, IContextKeyService))], MainThreadTunnelService);
|
|
233
251
|
|
|
234
252
|
export { MainThreadTunnelService };
|
|
@@ -18,7 +18,14 @@ import { extHostNamedCustomer } from '../../services/extensions/common/extHostCu
|
|
|
18
18
|
import Severity from '@codingame/monaco-vscode-api/vscode/vs/base/common/severity';
|
|
19
19
|
|
|
20
20
|
let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
|
|
21
|
-
constructor(
|
|
21
|
+
constructor(
|
|
22
|
+
context,
|
|
23
|
+
storageService,
|
|
24
|
+
externalUriOpenerService,
|
|
25
|
+
extensionService,
|
|
26
|
+
openerService,
|
|
27
|
+
notificationService
|
|
28
|
+
) {
|
|
22
29
|
super();
|
|
23
30
|
this.extensionService = extensionService;
|
|
24
31
|
this.openerService = openerService;
|
|
@@ -48,30 +55,30 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
|
|
|
48
55
|
},
|
|
49
56
|
openExternalUri: async (uri, ctx, token) => {
|
|
50
57
|
try {
|
|
51
|
-
await this.proxy.$openUri(id, {
|
|
52
|
-
|
|
53
|
-
|
|
58
|
+
await this.proxy.$openUri(id, {
|
|
59
|
+
resolvedUri: uri,
|
|
60
|
+
sourceUri: ctx.sourceUri
|
|
61
|
+
}, token);
|
|
62
|
+
} catch (e) {
|
|
54
63
|
if (!isCancellationError(e)) {
|
|
55
|
-
const openDefaultAction = ( new Action(
|
|
64
|
+
const openDefaultAction = ( new Action("default", ( localize(2559, "Open using default opener")), undefined, undefined, async () => {
|
|
56
65
|
await this.openerService.open(uri, {
|
|
57
66
|
allowTunneling: false,
|
|
58
|
-
allowContributedOpeners: defaultExternalUriOpenerId
|
|
67
|
+
allowContributedOpeners: defaultExternalUriOpenerId
|
|
59
68
|
});
|
|
60
69
|
}));
|
|
61
70
|
openDefaultAction.tooltip = ( uri.toString());
|
|
62
71
|
this.notificationService.notify({
|
|
63
72
|
severity: Severity.Error,
|
|
64
|
-
message: ( localize(
|
|
73
|
+
message: ( localize(2560, "Could not open uri with '{0}': {1}", id, (e.toString()))),
|
|
65
74
|
actions: {
|
|
66
|
-
primary: [
|
|
67
|
-
openDefaultAction
|
|
68
|
-
]
|
|
75
|
+
primary: [openDefaultAction]
|
|
69
76
|
}
|
|
70
77
|
});
|
|
71
78
|
}
|
|
72
79
|
}
|
|
73
80
|
return true;
|
|
74
|
-
}
|
|
81
|
+
}
|
|
75
82
|
};
|
|
76
83
|
}
|
|
77
84
|
async $registerUriOpener(id, schemes, extensionId, label) {
|
|
@@ -81,7 +88,7 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
|
|
|
81
88
|
this._registeredOpeners.set(id, {
|
|
82
89
|
schemes: ( new Set(schemes)),
|
|
83
90
|
label,
|
|
84
|
-
extensionId
|
|
91
|
+
extensionId
|
|
85
92
|
});
|
|
86
93
|
this._contributedExternalUriOpenersStore.didRegisterOpener(id, extensionId.value);
|
|
87
94
|
}
|
|
@@ -94,13 +101,6 @@ let MainThreadUriOpeners = class MainThreadUriOpeners extends Disposable {
|
|
|
94
101
|
this._registeredOpeners.clear();
|
|
95
102
|
}
|
|
96
103
|
};
|
|
97
|
-
MainThreadUriOpeners = __decorate([
|
|
98
|
-
extHostNamedCustomer(MainContext.MainThreadUriOpeners),
|
|
99
|
-
( __param(1, IStorageService)),
|
|
100
|
-
( __param(2, IExternalUriOpenerService)),
|
|
101
|
-
( __param(3, IExtensionService)),
|
|
102
|
-
( __param(4, IOpenerService)),
|
|
103
|
-
( __param(5, INotificationService))
|
|
104
|
-
], MainThreadUriOpeners);
|
|
104
|
+
MainThreadUriOpeners = __decorate([extHostNamedCustomer(MainContext.MainThreadUriOpeners), ( __param(1, IStorageService)), ( __param(2, IExternalUriOpenerService)), ( __param(3, IExtensionService)), ( __param(4, IOpenerService)), ( __param(5, INotificationService))], MainThreadUriOpeners);
|
|
105
105
|
|
|
106
106
|
export { MainThreadUriOpeners };
|
|
@@ -34,7 +34,10 @@ let MainThreadUrls = class MainThreadUrls extends Disposable {
|
|
|
34
34
|
async $registerUriHandler(handle, extensionId, extensionDisplayName) {
|
|
35
35
|
const handler = ( new ExtensionUrlHandler(this.proxy, handle, extensionId, extensionDisplayName));
|
|
36
36
|
const disposable = this.urlService.registerHandler(handler);
|
|
37
|
-
this.handlers.set(handle, {
|
|
37
|
+
this.handlers.set(handle, {
|
|
38
|
+
extensionId,
|
|
39
|
+
disposable
|
|
40
|
+
});
|
|
38
41
|
this.extensionUrlHandler.registerExtensionHandler(extensionId, handler);
|
|
39
42
|
return undefined;
|
|
40
43
|
}
|
|
@@ -43,7 +46,10 @@ let MainThreadUrls = class MainThreadUrls extends Disposable {
|
|
|
43
46
|
if (!tuple) {
|
|
44
47
|
return undefined;
|
|
45
48
|
}
|
|
46
|
-
const {
|
|
49
|
+
const {
|
|
50
|
+
extensionId,
|
|
51
|
+
disposable
|
|
52
|
+
} = tuple;
|
|
47
53
|
this.extensionUrlHandler.unregisterExtensionHandler(extensionId);
|
|
48
54
|
this.handlers.delete(handle);
|
|
49
55
|
disposable.dispose();
|
|
@@ -54,15 +60,14 @@ let MainThreadUrls = class MainThreadUrls extends Disposable {
|
|
|
54
60
|
}
|
|
55
61
|
dispose() {
|
|
56
62
|
super.dispose();
|
|
57
|
-
this.handlers.forEach((
|
|
63
|
+
this.handlers.forEach((
|
|
64
|
+
{
|
|
65
|
+
disposable
|
|
66
|
+
}
|
|
67
|
+
) => disposable.dispose());
|
|
58
68
|
this.handlers.clear();
|
|
59
69
|
}
|
|
60
70
|
};
|
|
61
|
-
MainThreadUrls = __decorate([
|
|
62
|
-
extHostNamedCustomer(MainContext.MainThreadUrls),
|
|
63
|
-
( __param(1, ITrustedDomainService)),
|
|
64
|
-
( __param(2, IURLService)),
|
|
65
|
-
( __param(3, IExtensionUrlHandler))
|
|
66
|
-
], MainThreadUrls);
|
|
71
|
+
MainThreadUrls = __decorate([extHostNamedCustomer(MainContext.MainThreadUrls), ( __param(1, ITrustedDomainService)), ( __param(2, IURLService)), ( __param(3, IExtensionUrlHandler))], MainThreadUrls);
|
|
67
72
|
|
|
68
73
|
export { MainThreadUrls };
|
|
@@ -15,19 +15,27 @@ let MainThreadWebviewManager = class MainThreadWebviewManager extends Disposable
|
|
|
15
15
|
super();
|
|
16
16
|
const webviews = this._register(instantiationService.createInstance(MainThreadWebviews, context));
|
|
17
17
|
context.set(MainContext.MainThreadWebviews, webviews);
|
|
18
|
-
const webviewPanels = this._register(
|
|
18
|
+
const webviewPanels = this._register(
|
|
19
|
+
instantiationService.createInstance(MainThreadWebviewPanels, context, webviews)
|
|
20
|
+
);
|
|
19
21
|
context.set(MainContext.MainThreadWebviewPanels, webviewPanels);
|
|
20
|
-
const customEditors = this._register(
|
|
22
|
+
const customEditors = this._register(
|
|
23
|
+
instantiationService.createInstance(MainThreadCustomEditors, context, webviews, webviewPanels)
|
|
24
|
+
);
|
|
21
25
|
context.set(MainContext.MainThreadCustomEditors, customEditors);
|
|
22
|
-
const webviewViews = this._register(
|
|
26
|
+
const webviewViews = this._register(
|
|
27
|
+
instantiationService.createInstance(MainThreadWebviewsViews, context, webviews)
|
|
28
|
+
);
|
|
23
29
|
context.set(MainContext.MainThreadWebviewViews, webviewViews);
|
|
24
|
-
const chatOutputRenderers = this._register(
|
|
25
|
-
|
|
30
|
+
const chatOutputRenderers = this._register(
|
|
31
|
+
instantiationService.createInstance(MainThreadChatOutputRenderer, context, webviews)
|
|
32
|
+
);
|
|
33
|
+
context.set(
|
|
34
|
+
MainContext.MainThreadChatOutputRenderer,
|
|
35
|
+
chatOutputRenderers
|
|
36
|
+
);
|
|
26
37
|
}
|
|
27
38
|
};
|
|
28
|
-
MainThreadWebviewManager = __decorate([
|
|
29
|
-
extHostCustomer,
|
|
30
|
-
( __param(1, IInstantiationService))
|
|
31
|
-
], MainThreadWebviewManager);
|
|
39
|
+
MainThreadWebviewManager = __decorate([extHostCustomer, ( __param(1, IInstantiationService))], MainThreadWebviewManager);
|
|
32
40
|
|
|
33
41
|
export { MainThreadWebviewManager };
|
|
@@ -58,42 +58,59 @@ class WebviewViewTypeTransformer {
|
|
|
58
58
|
return this.prefix + viewType;
|
|
59
59
|
}
|
|
60
60
|
toExternal(viewType) {
|
|
61
|
-
return viewType.startsWith(this.prefix)
|
|
62
|
-
? viewType.substr(this.prefix.length)
|
|
63
|
-
: undefined;
|
|
61
|
+
return viewType.startsWith(this.prefix) ? viewType.substr(this.prefix.length) : undefined;
|
|
64
62
|
}
|
|
65
63
|
}
|
|
66
64
|
let MainThreadWebviewPanels = class MainThreadWebviewPanels extends Disposable {
|
|
67
|
-
constructor(
|
|
65
|
+
constructor(
|
|
66
|
+
context,
|
|
67
|
+
_mainThreadWebviews,
|
|
68
|
+
_configurationService,
|
|
69
|
+
_editorGroupService,
|
|
70
|
+
_editorService,
|
|
71
|
+
extensionService,
|
|
72
|
+
storageService,
|
|
73
|
+
_webviewWorkbenchService
|
|
74
|
+
) {
|
|
68
75
|
super();
|
|
69
76
|
this._mainThreadWebviews = _mainThreadWebviews;
|
|
70
77
|
this._configurationService = _configurationService;
|
|
71
78
|
this._editorGroupService = _editorGroupService;
|
|
72
79
|
this._editorService = _editorService;
|
|
73
80
|
this._webviewWorkbenchService = _webviewWorkbenchService;
|
|
74
|
-
this.webviewPanelViewType = ( new WebviewViewTypeTransformer(
|
|
81
|
+
this.webviewPanelViewType = ( new WebviewViewTypeTransformer("mainThreadWebview-"));
|
|
75
82
|
this._webviewInputs = ( new WebviewInputStore());
|
|
76
83
|
this._revivers = this._register(( new DisposableMap()));
|
|
77
|
-
this.webviewOriginStore = ( new ExtensionKeyedWebviewOriginStore(
|
|
84
|
+
this.webviewOriginStore = ( new ExtensionKeyedWebviewOriginStore("mainThreadWebviewPanel.origins", storageService));
|
|
78
85
|
this._proxy = ( context.getProxy(ExtHostContext.ExtHostWebviewPanels));
|
|
79
|
-
this._register(Event.any(
|
|
86
|
+
this._register(Event.any(
|
|
87
|
+
_editorService.onDidActiveEditorChange,
|
|
88
|
+
_editorService.onDidVisibleEditorsChange,
|
|
89
|
+
_editorGroupService.onDidAddGroup,
|
|
90
|
+
_editorGroupService.onDidRemoveGroup,
|
|
91
|
+
_editorGroupService.onDidMoveGroup
|
|
92
|
+
)(() => {
|
|
80
93
|
this.updateWebviewViewStates(this._editorService.activeEditor);
|
|
81
94
|
}));
|
|
82
95
|
this._register(_webviewWorkbenchService.onDidChangeActiveWebviewEditor(input => {
|
|
83
96
|
this.updateWebviewViewStates(input);
|
|
84
97
|
}));
|
|
85
98
|
this._register(_webviewWorkbenchService.registerResolver({
|
|
86
|
-
canResolve:
|
|
99
|
+
canResolve: webview => {
|
|
87
100
|
const viewType = this.webviewPanelViewType.toExternal(webview.viewType);
|
|
88
|
-
if (typeof viewType ===
|
|
101
|
+
if (typeof viewType === "string") {
|
|
89
102
|
extensionService.activateByEvent(`onWebviewPanel:${viewType}`);
|
|
90
103
|
}
|
|
91
104
|
return false;
|
|
92
105
|
},
|
|
93
|
-
resolveWebview: () => {
|
|
106
|
+
resolveWebview: () => {
|
|
107
|
+
throw ( new Error("not implemented"));
|
|
108
|
+
}
|
|
94
109
|
}));
|
|
95
110
|
}
|
|
96
|
-
get webviewInputs() {
|
|
111
|
+
get webviewInputs() {
|
|
112
|
+
return this._webviewInputs;
|
|
113
|
+
}
|
|
97
114
|
addWebviewInput(handle, input, options) {
|
|
98
115
|
this._webviewInputs.add(handle, input);
|
|
99
116
|
this._mainThreadWebviews.addWebview(handle, input.webview, options);
|
|
@@ -120,7 +137,9 @@ let MainThreadWebviewPanels = class MainThreadWebviewPanels extends Disposable {
|
|
|
120
137
|
contentOptions: reviveWebviewContentOptions(initData.webviewOptions),
|
|
121
138
|
extension
|
|
122
139
|
}, this.webviewPanelViewType.fromExternal(viewType), initData.title, undefined, mainThreadShowOptions);
|
|
123
|
-
this.addWebviewInput(handle, webview, {
|
|
140
|
+
this.addWebviewInput(handle, webview, {
|
|
141
|
+
serializeBuffersForPostMessage: initData.serializeBuffersForPostMessage
|
|
142
|
+
});
|
|
124
143
|
}
|
|
125
144
|
$disposeWebview(handle) {
|
|
126
145
|
const webview = this.tryGetWebviewInput(handle);
|
|
@@ -147,9 +166,7 @@ let MainThreadWebviewPanels = class MainThreadWebviewPanels extends Disposable {
|
|
|
147
166
|
this._webviewWorkbenchService.revealWebview(webview, targetGroup, !!showOptions.preserveFocus);
|
|
148
167
|
}
|
|
149
168
|
getTargetGroupFromShowOptions(showOptions) {
|
|
150
|
-
if (typeof showOptions.viewColumn ===
|
|
151
|
-
|| showOptions.viewColumn === ACTIVE_GROUP
|
|
152
|
-
|| (this._editorGroupService.count === 1 && this._editorGroupService.activeGroup.isEmpty)) {
|
|
169
|
+
if (typeof showOptions.viewColumn === "undefined" || showOptions.viewColumn === ACTIVE_GROUP || (this._editorGroupService.count === 1 && this._editorGroupService.activeGroup.isEmpty)) {
|
|
153
170
|
return ACTIVE_GROUP;
|
|
154
171
|
}
|
|
155
172
|
if (showOptions.viewColumn === SIDE_GROUP) {
|
|
@@ -160,7 +177,9 @@ let MainThreadWebviewPanels = class MainThreadWebviewPanels extends Disposable {
|
|
|
160
177
|
if (groupInColumn) {
|
|
161
178
|
return groupInColumn.id;
|
|
162
179
|
}
|
|
163
|
-
const newGroup = this._editorGroupService.findGroup({
|
|
180
|
+
const newGroup = this._editorGroupService.findGroup({
|
|
181
|
+
location: GroupLocation.LAST
|
|
182
|
+
});
|
|
164
183
|
if (newGroup) {
|
|
165
184
|
const direction = preferredSideBySideGroupDirection(this._configurationService);
|
|
166
185
|
return this._editorGroupService.addGroup(newGroup, direction);
|
|
@@ -173,13 +192,15 @@ let MainThreadWebviewPanels = class MainThreadWebviewPanels extends Disposable {
|
|
|
173
192
|
throw ( new Error(`Reviver for ${viewType} already registered`));
|
|
174
193
|
}
|
|
175
194
|
this._revivers.set(viewType, this._webviewWorkbenchService.registerResolver({
|
|
176
|
-
canResolve:
|
|
195
|
+
canResolve: webviewInput => {
|
|
177
196
|
return webviewInput.viewType === this.webviewPanelViewType.fromExternal(viewType);
|
|
178
197
|
},
|
|
179
|
-
resolveWebview: async
|
|
198
|
+
resolveWebview: async webviewInput => {
|
|
180
199
|
const viewType = this.webviewPanelViewType.toExternal(webviewInput.viewType);
|
|
181
200
|
if (!viewType) {
|
|
182
|
-
webviewInput.webview.setHtml(
|
|
201
|
+
webviewInput.webview.setHtml(
|
|
202
|
+
this._mainThreadWebviews.getWebviewResolvedFailedContent(webviewInput.viewType)
|
|
203
|
+
);
|
|
183
204
|
return;
|
|
184
205
|
}
|
|
185
206
|
const handle = generateUuid();
|
|
@@ -188,9 +209,8 @@ let MainThreadWebviewPanels = class MainThreadWebviewPanels extends Disposable {
|
|
|
188
209
|
if (webviewInput.webview.state) {
|
|
189
210
|
try {
|
|
190
211
|
state = JSON.parse(webviewInput.webview.state);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
console.error('Could not load webview state', e, webviewInput.webview.state);
|
|
212
|
+
} catch (e) {
|
|
213
|
+
console.error("Could not load webview state", e, webviewInput.webview.state);
|
|
194
214
|
}
|
|
195
215
|
}
|
|
196
216
|
try {
|
|
@@ -199,10 +219,9 @@ let MainThreadWebviewPanels = class MainThreadWebviewPanels extends Disposable {
|
|
|
199
219
|
state,
|
|
200
220
|
panelOptions: webviewInput.webview.options,
|
|
201
221
|
webviewOptions: webviewInput.webview.contentOptions,
|
|
202
|
-
active: webviewInput === this._editorService.activeEditor
|
|
222
|
+
active: webviewInput === this._editorService.activeEditor
|
|
203
223
|
}, editorGroupToColumn(this._editorGroupService, webviewInput.group || 0));
|
|
204
|
-
}
|
|
205
|
-
catch (error) {
|
|
224
|
+
} catch (error) {
|
|
206
225
|
onUnexpectedError(error);
|
|
207
226
|
webviewInput.webview.setHtml(this._mainThreadWebviews.getWebviewResolvedFailedContent(viewType));
|
|
208
227
|
}
|
|
@@ -230,7 +249,7 @@ let MainThreadWebviewPanels = class MainThreadWebviewPanels extends Disposable {
|
|
|
230
249
|
viewStates[handle] = {
|
|
231
250
|
visible: topLevelInput === group.activeEditor,
|
|
232
251
|
active: editorInput === activeEditorInput,
|
|
233
|
-
position: editorGroupToColumn(this._editorGroupService, group.id)
|
|
252
|
+
position: editorGroupToColumn(this._editorGroupService, group.id)
|
|
234
253
|
};
|
|
235
254
|
}
|
|
236
255
|
};
|
|
@@ -239,8 +258,7 @@ let MainThreadWebviewPanels = class MainThreadWebviewPanels extends Disposable {
|
|
|
239
258
|
if (input instanceof DiffEditorInput) {
|
|
240
259
|
updateViewStatesForInput(group, input, input.primary);
|
|
241
260
|
updateViewStatesForInput(group, input, input.secondary);
|
|
242
|
-
}
|
|
243
|
-
else {
|
|
261
|
+
} else {
|
|
244
262
|
updateViewStatesForInput(group, input, input);
|
|
245
263
|
}
|
|
246
264
|
}
|
|
@@ -253,14 +271,7 @@ let MainThreadWebviewPanels = class MainThreadWebviewPanels extends Disposable {
|
|
|
253
271
|
return this._webviewInputs.getInputForHandle(handle);
|
|
254
272
|
}
|
|
255
273
|
};
|
|
256
|
-
MainThreadWebviewPanels = ( __decorate([
|
|
257
|
-
( __param(2, IConfigurationService)),
|
|
258
|
-
( __param(3, IEditorGroupsService)),
|
|
259
|
-
( __param(4, IEditorService)),
|
|
260
|
-
( __param(5, IExtensionService)),
|
|
261
|
-
( __param(6, IStorageService)),
|
|
262
|
-
( __param(7, IWebviewWorkbenchService))
|
|
263
|
-
], MainThreadWebviewPanels));
|
|
274
|
+
MainThreadWebviewPanels = ( __decorate([( __param(2, IConfigurationService)), ( __param(3, IEditorGroupsService)), ( __param(4, IEditorService)), ( __param(5, IExtensionService)), ( __param(6, IStorageService)), ( __param(7, IWebviewWorkbenchService))], MainThreadWebviewPanels));
|
|
264
275
|
function reviveWebviewIcon(value) {
|
|
265
276
|
if (!value) {
|
|
266
277
|
return undefined;
|
|
@@ -270,13 +281,13 @@ function reviveWebviewIcon(value) {
|
|
|
270
281
|
}
|
|
271
282
|
return {
|
|
272
283
|
light: URI.revive(value.light),
|
|
273
|
-
dark: URI.revive(value.dark)
|
|
284
|
+
dark: URI.revive(value.dark)
|
|
274
285
|
};
|
|
275
286
|
}
|
|
276
287
|
function reviveWebviewOptions(panelOptions) {
|
|
277
288
|
return {
|
|
278
289
|
enableFindWidget: panelOptions.enableFindWidget,
|
|
279
|
-
retainContextWhenHidden: panelOptions.retainContextWhenHidden
|
|
290
|
+
retainContextWhenHidden: panelOptions.retainContextWhenHidden
|
|
280
291
|
};
|
|
281
292
|
}
|
|
282
293
|
|
|
@@ -43,14 +43,15 @@ let MainThreadWebviewsViews = class MainThreadWebviewsViews extends Disposable {
|
|
|
43
43
|
resolve: async (webviewView, cancellation) => {
|
|
44
44
|
const handle = generateUuid();
|
|
45
45
|
this._webviewViews.set(handle, webviewView);
|
|
46
|
-
this.mainThreadWebviews.addWebview(handle, webviewView.webview, {
|
|
46
|
+
this.mainThreadWebviews.addWebview(handle, webviewView.webview, {
|
|
47
|
+
serializeBuffersForPostMessage: options.serializeBuffersForPostMessage
|
|
48
|
+
});
|
|
47
49
|
let state = undefined;
|
|
48
50
|
if (webviewView.webview.state) {
|
|
49
51
|
try {
|
|
50
52
|
state = JSON.parse(webviewView.webview.state);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
console.error('Could not load webview state', e, webviewView.webview.state);
|
|
53
|
+
} catch (e) {
|
|
54
|
+
console.error("Could not load webview state", e, webviewView.webview.state);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
webviewView.webview.extension = extension;
|
|
@@ -66,14 +67,13 @@ let MainThreadWebviewsViews = class MainThreadWebviewsViews extends Disposable {
|
|
|
66
67
|
this._webviewViews.deleteAndDispose(handle);
|
|
67
68
|
subscriptions.dispose();
|
|
68
69
|
}));
|
|
69
|
-
this._telemetryService.publicLog2(
|
|
70
|
+
this._telemetryService.publicLog2("webviews:createWebviewView", {
|
|
70
71
|
extensionId: extension.id.value,
|
|
71
|
-
id: viewType
|
|
72
|
+
id: viewType
|
|
72
73
|
});
|
|
73
74
|
try {
|
|
74
75
|
await this._proxy.$resolveWebviewView(handle, viewType, webviewView.title, state, cancellation);
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
76
|
+
} catch (error) {
|
|
77
77
|
onUnexpectedError(error);
|
|
78
78
|
webviewView.webview.setHtml(this.mainThreadWebviews.getWebviewResolvedFailedContent(viewType));
|
|
79
79
|
}
|
|
@@ -90,14 +90,11 @@ let MainThreadWebviewsViews = class MainThreadWebviewsViews extends Disposable {
|
|
|
90
90
|
getWebviewView(handle) {
|
|
91
91
|
const webviewView = this._webviewViews.get(handle);
|
|
92
92
|
if (!webviewView) {
|
|
93
|
-
throw ( new Error(
|
|
93
|
+
throw ( new Error("unknown webview view"));
|
|
94
94
|
}
|
|
95
95
|
return webviewView;
|
|
96
96
|
}
|
|
97
97
|
};
|
|
98
|
-
MainThreadWebviewsViews = ( __decorate([
|
|
99
|
-
( __param(2, ITelemetryService)),
|
|
100
|
-
( __param(3, IWebviewViewService))
|
|
101
|
-
], MainThreadWebviewsViews));
|
|
98
|
+
MainThreadWebviewsViews = ( __decorate([( __param(2, ITelemetryService)), ( __param(3, IWebviewViewService))], MainThreadWebviewsViews));
|
|
102
99
|
|
|
103
100
|
export { MainThreadWebviewsViews };
|