@lvce-editor/extension-host-worker 7.1.0 → 8.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/dist/extensionHostWorkerMain.js +124 -135
- package/package.json +1 -1
|
@@ -778,10 +778,14 @@ const setConfigurations = preferences => {
|
|
|
778
778
|
};
|
|
779
779
|
|
|
780
780
|
const DebugWorker$1 = 55;
|
|
781
|
+
const ExtensionManagementWorker = 9006;
|
|
781
782
|
const RendererWorker$1 = 1;
|
|
782
783
|
|
|
783
784
|
const rpcs$2 = Object.create(null);
|
|
784
785
|
const set$c = (id, rpc) => {
|
|
786
|
+
if (rpcs$2[id]) {
|
|
787
|
+
throw new Error(`rpc with id ${id} is already registered`);
|
|
788
|
+
}
|
|
785
789
|
rpcs$2[id] = rpc;
|
|
786
790
|
};
|
|
787
791
|
const get$b = id => {
|
|
@@ -814,16 +818,16 @@ const create$9 = rpcId => {
|
|
|
814
818
|
|
|
815
819
|
const {
|
|
816
820
|
dispose,
|
|
817
|
-
invoke: invoke$
|
|
818
|
-
invokeAndTransfer: invokeAndTransfer$
|
|
821
|
+
invoke: invoke$6,
|
|
822
|
+
invokeAndTransfer: invokeAndTransfer$5,
|
|
819
823
|
set: set$b
|
|
820
824
|
} = create$9(DebugWorker$1);
|
|
821
825
|
|
|
822
826
|
const DebugWorker = {
|
|
823
827
|
__proto__: null,
|
|
824
828
|
dispose,
|
|
825
|
-
invoke: invoke$
|
|
826
|
-
invokeAndTransfer: invokeAndTransfer$
|
|
829
|
+
invoke: invoke$6,
|
|
830
|
+
invokeAndTransfer: invokeAndTransfer$5,
|
|
827
831
|
set: set$b
|
|
828
832
|
};
|
|
829
833
|
|
|
@@ -1711,10 +1715,10 @@ const send$1 = (transport, method, ...params) => {
|
|
|
1711
1715
|
const message = create$4$2(method, params);
|
|
1712
1716
|
transport.send(message);
|
|
1713
1717
|
};
|
|
1714
|
-
const invoke$
|
|
1718
|
+
const invoke$5 = (ipc, method, ...params) => {
|
|
1715
1719
|
return invokeHelper(ipc, method, params, false);
|
|
1716
1720
|
};
|
|
1717
|
-
const invokeAndTransfer$
|
|
1721
|
+
const invokeAndTransfer$4 = (ipc, method, ...params) => {
|
|
1718
1722
|
return invokeHelper(ipc, method, params, true);
|
|
1719
1723
|
};
|
|
1720
1724
|
|
|
@@ -1750,10 +1754,10 @@ const createRpc$1 = ipc => {
|
|
|
1750
1754
|
send$1(ipc, method, ...params);
|
|
1751
1755
|
},
|
|
1752
1756
|
invoke(method, ...params) {
|
|
1753
|
-
return invoke$
|
|
1757
|
+
return invoke$5(ipc, method, ...params);
|
|
1754
1758
|
},
|
|
1755
1759
|
invokeAndTransfer(method, ...params) {
|
|
1756
|
-
return invokeAndTransfer$
|
|
1760
|
+
return invokeAndTransfer$4(ipc, method, ...params);
|
|
1757
1761
|
},
|
|
1758
1762
|
async dispose() {
|
|
1759
1763
|
await ipc?.dispose();
|
|
@@ -1909,15 +1913,49 @@ const WebWorkerRpcClient = {
|
|
|
1909
1913
|
};
|
|
1910
1914
|
|
|
1911
1915
|
const {
|
|
1912
|
-
invoke: invoke$
|
|
1913
|
-
invokeAndTransfer: invokeAndTransfer$
|
|
1916
|
+
invoke: invoke$4,
|
|
1917
|
+
invokeAndTransfer: invokeAndTransfer$3} = create$9(RendererWorker$1);
|
|
1914
1918
|
const sendMessagePortToIframeWorker = async (port, rpcId) => {
|
|
1915
1919
|
const command = 'Iframes.handleMessagePort';
|
|
1916
|
-
await invokeAndTransfer$
|
|
1920
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToIframeWorker', port, command, rpcId);
|
|
1921
|
+
};
|
|
1922
|
+
const sendMessagePortToExtensionManagementWorker = async (port, rpcId) => {
|
|
1923
|
+
const command = 'Extensions.handleMessagePort';
|
|
1924
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionManagementWorker', port, command, rpcId);
|
|
1925
|
+
};
|
|
1926
|
+
|
|
1927
|
+
const createLazyRpc = rpcId => {
|
|
1928
|
+
let rpcPromise;
|
|
1929
|
+
let factory;
|
|
1930
|
+
const createRpc = async () => {
|
|
1931
|
+
const rpc = await factory();
|
|
1932
|
+
set$c(rpcId, rpc);
|
|
1933
|
+
};
|
|
1934
|
+
const ensureRpc = async () => {
|
|
1935
|
+
if (!rpcPromise) {
|
|
1936
|
+
rpcPromise = createRpc();
|
|
1937
|
+
}
|
|
1938
|
+
await rpcPromise;
|
|
1939
|
+
};
|
|
1940
|
+
return {
|
|
1941
|
+
async invoke(method, ...params) {
|
|
1942
|
+
await ensureRpc();
|
|
1943
|
+
const rpc = get$b(rpcId);
|
|
1944
|
+
return rpc.invoke(method, ...params);
|
|
1945
|
+
},
|
|
1946
|
+
async invokeAndTransfer(method, ...params) {
|
|
1947
|
+
await ensureRpc();
|
|
1948
|
+
const rpc = get$b(rpcId);
|
|
1949
|
+
return rpc.invokeAndTransfer(method, ...params);
|
|
1950
|
+
},
|
|
1951
|
+
setFactory(value) {
|
|
1952
|
+
factory = value;
|
|
1953
|
+
}
|
|
1954
|
+
};
|
|
1917
1955
|
};
|
|
1918
1956
|
|
|
1919
1957
|
const {
|
|
1920
|
-
invoke: invoke$
|
|
1958
|
+
invoke: invoke$3
|
|
1921
1959
|
} = DebugWorker;
|
|
1922
1960
|
|
|
1923
1961
|
const state$9 = {
|
|
@@ -1939,20 +1977,20 @@ const registerDebugProvider = debugProvider => {
|
|
|
1939
1977
|
};
|
|
1940
1978
|
const handlePaused = async params => {
|
|
1941
1979
|
// @ts-ignore
|
|
1942
|
-
await invoke$
|
|
1980
|
+
await invoke$3('Debug.paused', params);
|
|
1943
1981
|
};
|
|
1944
1982
|
const handleResumed = async () => {
|
|
1945
1983
|
// @ts-ignore
|
|
1946
|
-
await invoke$
|
|
1984
|
+
await invoke$3('Debug.resumed');
|
|
1947
1985
|
};
|
|
1948
1986
|
const handleScriptParsed = async parsedScript => {
|
|
1949
1987
|
// @ts-ignore
|
|
1950
|
-
await invoke$
|
|
1988
|
+
await invoke$3('Debug.scriptParsed', parsedScript);
|
|
1951
1989
|
};
|
|
1952
1990
|
const handleChange = async params => {
|
|
1953
1991
|
object(params);
|
|
1954
1992
|
// @ts-ignore
|
|
1955
|
-
await invoke$
|
|
1993
|
+
await invoke$3('Debug.handleChange', params);
|
|
1956
1994
|
};
|
|
1957
1995
|
const start = async (protocol, path) => {
|
|
1958
1996
|
try {
|
|
@@ -2138,18 +2176,18 @@ const {
|
|
|
2138
2176
|
|
|
2139
2177
|
const RendererWorker = 1;
|
|
2140
2178
|
|
|
2141
|
-
const invoke$
|
|
2179
|
+
const invoke$2 = (method, ...params) => {
|
|
2142
2180
|
const rpc = get$b(RendererWorker);
|
|
2143
2181
|
return rpc.invoke(method, ...params);
|
|
2144
2182
|
};
|
|
2145
|
-
const invokeAndTransfer$
|
|
2183
|
+
const invokeAndTransfer$2 = (method, ...params) => {
|
|
2146
2184
|
const rpc = get$b(RendererWorker);
|
|
2147
2185
|
return rpc.invokeAndTransfer(method, ...params);
|
|
2148
2186
|
};
|
|
2149
2187
|
|
|
2150
2188
|
const showInformationMessage = message => {
|
|
2151
2189
|
string(message);
|
|
2152
|
-
const result = invoke$
|
|
2190
|
+
const result = invoke$2('ExtensionHostDialog.showInformationMessage', message);
|
|
2153
2191
|
return result;
|
|
2154
2192
|
};
|
|
2155
2193
|
|
|
@@ -2212,24 +2250,24 @@ const readFileExternal = async path => {
|
|
|
2212
2250
|
// this avoid parsing the potentially large message
|
|
2213
2251
|
// and improve performance by not blocking the renderer worker
|
|
2214
2252
|
// when reading / writing large files
|
|
2215
|
-
const content = await invoke$
|
|
2253
|
+
const content = await invoke$2('FileSystem.readFile', path);
|
|
2216
2254
|
return content;
|
|
2217
2255
|
};
|
|
2218
2256
|
const removeExternal = async path => {
|
|
2219
|
-
const content = await invoke$
|
|
2257
|
+
const content = await invoke$2('FileSystem.remove', path);
|
|
2220
2258
|
return content;
|
|
2221
2259
|
};
|
|
2222
2260
|
const existsExternal = async uri => {
|
|
2223
|
-
return await invoke$
|
|
2261
|
+
return await invoke$2('FileSystem.exists', uri);
|
|
2224
2262
|
};
|
|
2225
2263
|
const mkdirExternal = async uri => {
|
|
2226
|
-
return await invoke$
|
|
2264
|
+
return await invoke$2('FileSystem.mkdir', uri);
|
|
2227
2265
|
};
|
|
2228
2266
|
const writeFileExternal = async (uri, content) => {
|
|
2229
|
-
return await invoke$
|
|
2267
|
+
return await invoke$2('FileSystem.writeFile', uri, content);
|
|
2230
2268
|
};
|
|
2231
2269
|
const statExternal = async uri => {
|
|
2232
|
-
return await invoke$
|
|
2270
|
+
return await invoke$2('FileSystem.stat', uri);
|
|
2233
2271
|
};
|
|
2234
2272
|
const readDirWithFileTypesExternal = async path => {
|
|
2235
2273
|
// TODO when file is local,
|
|
@@ -2238,7 +2276,7 @@ const readDirWithFileTypesExternal = async path => {
|
|
|
2238
2276
|
// this avoid parsing the potentially large message
|
|
2239
2277
|
// and improve performance by not blocking the renderer worker
|
|
2240
2278
|
// when reading / writing large files
|
|
2241
|
-
const content = await invoke$
|
|
2279
|
+
const content = await invoke$2('FileSystem.readDirWithFileTypes', path);
|
|
2242
2280
|
return content;
|
|
2243
2281
|
};
|
|
2244
2282
|
const remove$3 = async (protocol, path) => {
|
|
@@ -2381,7 +2419,7 @@ const sendPort = async ({
|
|
|
2381
2419
|
port,
|
|
2382
2420
|
url
|
|
2383
2421
|
}) => {
|
|
2384
|
-
await invokeAndTransfer$
|
|
2422
|
+
await invokeAndTransfer$2('IpcParent.create', {
|
|
2385
2423
|
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
|
|
2386
2424
|
name,
|
|
2387
2425
|
port,
|
|
@@ -2422,7 +2460,7 @@ const IpcParentWithModuleWorkerAndWorkaroundForChromeDevtoolsBug = {
|
|
|
2422
2460
|
};
|
|
2423
2461
|
|
|
2424
2462
|
const sendMessagePortToElectron = async (port, initialCommand) => {
|
|
2425
|
-
await invokeAndTransfer$
|
|
2463
|
+
await invokeAndTransfer$2('SendMessagePortToElectron.sendMessagePortToElectron', port, initialCommand);
|
|
2426
2464
|
};
|
|
2427
2465
|
|
|
2428
2466
|
const getPort = async type => {
|
|
@@ -2582,7 +2620,7 @@ const createNodeRpc = async ({
|
|
|
2582
2620
|
|
|
2583
2621
|
const send = async port => {
|
|
2584
2622
|
const initialCommand = 'FileSystem.handleMessagePort';
|
|
2585
|
-
await invokeAndTransfer$
|
|
2623
|
+
await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, initialCommand);
|
|
2586
2624
|
};
|
|
2587
2625
|
const launchFileSystemProcess = async () => {
|
|
2588
2626
|
const rpc = await TransferMessagePortRpcParent.create({
|
|
@@ -2663,7 +2701,7 @@ const getEnabledProviders = () => {
|
|
|
2663
2701
|
|
|
2664
2702
|
const confirm = message => {
|
|
2665
2703
|
string(message);
|
|
2666
|
-
const result = invoke$
|
|
2704
|
+
const result = invoke$2('ConfirmPrompt.prompt', message);
|
|
2667
2705
|
return result;
|
|
2668
2706
|
};
|
|
2669
2707
|
|
|
@@ -2675,7 +2713,7 @@ const showQuickPick = async ({
|
|
|
2675
2713
|
}) => {
|
|
2676
2714
|
const rawPicks = await getPicks();
|
|
2677
2715
|
const picks = rawPicks.map(toPick);
|
|
2678
|
-
return invoke$
|
|
2716
|
+
return invoke$2(ExtensionHostQuickPickShow, picks);
|
|
2679
2717
|
};
|
|
2680
2718
|
|
|
2681
2719
|
const {
|
|
@@ -2766,7 +2804,7 @@ const extensionHostSubWorkerUrl = getExtensionHostSubWorkerUrl();
|
|
|
2766
2804
|
|
|
2767
2805
|
const set$8 = async (url, contentSecurityPolicy) => {
|
|
2768
2806
|
const pathName = new URL(url).pathname;
|
|
2769
|
-
await invoke$
|
|
2807
|
+
await invoke$2('ExtensionHostWorkerContentSecurityPolicy.set', pathName, contentSecurityPolicy);
|
|
2770
2808
|
};
|
|
2771
2809
|
|
|
2772
2810
|
/**
|
|
@@ -2921,62 +2959,16 @@ const getProtocol = uri => {
|
|
|
2921
2959
|
return '';
|
|
2922
2960
|
};
|
|
2923
2961
|
|
|
2924
|
-
|
|
2925
|
-
const {
|
|
2926
|
-
origin,
|
|
2927
|
-
uid
|
|
2928
|
-
} = webView;
|
|
2929
|
-
const {
|
|
2930
|
-
port1,
|
|
2931
|
-
port2
|
|
2932
|
-
} = getPortTuple();
|
|
2933
|
-
const rpcPromise = MessagePortRpcParent.create({
|
|
2934
|
-
commandMap: {},
|
|
2935
|
-
isMessagePortOpen: false,
|
|
2936
|
-
messagePort: port2
|
|
2937
|
-
});
|
|
2938
|
-
const portType = 'test';
|
|
2939
|
-
await invokeAndTransfer$1('WebView.setPort', uid, port1, origin, portType);
|
|
2940
|
-
// TODO maybe don't send a message port only to get object url?
|
|
2941
|
-
// TODO dispose rpc to avoid memory leak
|
|
2942
|
-
const rpc = await rpcPromise;
|
|
2943
|
-
return rpc;
|
|
2944
|
-
};
|
|
2945
|
-
|
|
2946
|
-
const webViews = Object.create(null);
|
|
2947
|
-
const webViewProviders = Object.create(null);
|
|
2948
|
-
const getProvider = providerId => {
|
|
2949
|
-
return webViewProviders[providerId];
|
|
2950
|
-
};
|
|
2951
|
-
const setProvider = (providerId, provider) => {
|
|
2952
|
-
webViewProviders[providerId] = provider;
|
|
2953
|
-
};
|
|
2954
|
-
const getWebView = id => {
|
|
2955
|
-
return webViews[id];
|
|
2956
|
-
};
|
|
2957
|
-
const setWebView = (id, webView) => {
|
|
2958
|
-
webViews[id] = webView;
|
|
2959
|
-
};
|
|
2960
|
-
const getWebViews$1 = () => {
|
|
2961
|
-
return webViews;
|
|
2962
|
-
};
|
|
2962
|
+
// @ts-ignore
|
|
2963
2963
|
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
// 5. provide objectUrl to extension
|
|
2964
|
+
const {
|
|
2965
|
+
invoke: invoke$1,
|
|
2966
|
+
invokeAndTransfer: invokeAndTransfer$1,
|
|
2967
|
+
setFactory
|
|
2968
|
+
} = createLazyRpc(ExtensionManagementWorker);
|
|
2970
2969
|
|
|
2971
2970
|
const getRemoteUrlForWebView = async (uri, options = {}) => {
|
|
2972
|
-
|
|
2973
|
-
const webView = getWebView(options.webViewId);
|
|
2974
|
-
if (!webView) {
|
|
2975
|
-
throw new Error(`webview ${options.webViewId} not found`);
|
|
2976
|
-
}
|
|
2977
|
-
const [rpc, blob] = await Promise.all([createWebViewIpc(webView), invoke$1('FileSystem.getBlob', uri)]);
|
|
2978
|
-
const objectUrl = await rpc.invoke('createObjectUrl', blob);
|
|
2979
|
-
return objectUrl;
|
|
2971
|
+
return await invoke$1('Extensions.getRemoteUrlForWebView', uri, options);
|
|
2980
2972
|
};
|
|
2981
2973
|
|
|
2982
2974
|
const isFileProtocol = protocol => {
|
|
@@ -3013,7 +3005,7 @@ const getRemoteUrl$1 = async (uri, options = {}) => {
|
|
|
3013
3005
|
return getRemoteUrlForWebView(uri, options);
|
|
3014
3006
|
}
|
|
3015
3007
|
if (uri.startsWith('html://')) {
|
|
3016
|
-
const url = await invoke$
|
|
3008
|
+
const url = await invoke$2('Blob.getSrc', uri);
|
|
3017
3009
|
return url;
|
|
3018
3010
|
}
|
|
3019
3011
|
throw new Error(`unsupported platform for remote url`);
|
|
@@ -3056,7 +3048,7 @@ const getWebExtensions = async () => {
|
|
|
3056
3048
|
};
|
|
3057
3049
|
|
|
3058
3050
|
const getSharedProcessExtensions = () => {
|
|
3059
|
-
return invoke$
|
|
3051
|
+
return invoke$2(/* ExtensionManagement.getExtensions */'ExtensionManagement.getExtensions');
|
|
3060
3052
|
};
|
|
3061
3053
|
const doGetExtensions = async () => {
|
|
3062
3054
|
const meta = state$8.webExtensions;
|
|
@@ -3278,6 +3270,24 @@ const {
|
|
|
3278
3270
|
}
|
|
3279
3271
|
});
|
|
3280
3272
|
|
|
3273
|
+
const webViews = Object.create(null);
|
|
3274
|
+
const webViewProviders = Object.create(null);
|
|
3275
|
+
const getProvider = providerId => {
|
|
3276
|
+
return webViewProviders[providerId];
|
|
3277
|
+
};
|
|
3278
|
+
const setProvider = (providerId, provider) => {
|
|
3279
|
+
webViewProviders[providerId] = provider;
|
|
3280
|
+
};
|
|
3281
|
+
const getWebView = id => {
|
|
3282
|
+
return webViews[id];
|
|
3283
|
+
};
|
|
3284
|
+
const setWebView = (id, webView) => {
|
|
3285
|
+
webViews[id] = webView;
|
|
3286
|
+
};
|
|
3287
|
+
const getWebViews$1 = () => {
|
|
3288
|
+
return webViews;
|
|
3289
|
+
};
|
|
3290
|
+
|
|
3281
3291
|
// TODO pass uuid to allow having multiple webviews open at the same time
|
|
3282
3292
|
|
|
3283
3293
|
/**
|
|
@@ -3364,7 +3374,7 @@ const getWorkspaceFolder = path => {
|
|
|
3364
3374
|
};
|
|
3365
3375
|
const handleWorkspaceRefresh = async () => {
|
|
3366
3376
|
// @ts-ignore
|
|
3367
|
-
await invoke$
|
|
3377
|
+
await invoke$4('Layout.handleWorkspaceRefresh');
|
|
3368
3378
|
};
|
|
3369
3379
|
|
|
3370
3380
|
class FormattingError extends Error {
|
|
@@ -4184,7 +4194,7 @@ const applyBulkReplacement = async (files, ranges, replacement) => {
|
|
|
4184
4194
|
};
|
|
4185
4195
|
|
|
4186
4196
|
const addCssStyleSheet = (id, css) => {
|
|
4187
|
-
return invoke$
|
|
4197
|
+
return invoke$2('Css.addCssStyleSheet', id, css);
|
|
4188
4198
|
};
|
|
4189
4199
|
|
|
4190
4200
|
const warn = (...args) => {
|
|
@@ -4617,10 +4627,10 @@ const GetColorThemeCssCachedIndexedDb = {
|
|
|
4617
4627
|
};
|
|
4618
4628
|
|
|
4619
4629
|
const getText$1 = key => {
|
|
4620
|
-
return invoke$
|
|
4630
|
+
return invoke$2('LocalStorage.getText', key);
|
|
4621
4631
|
};
|
|
4622
4632
|
const setText = (key, value) => {
|
|
4623
|
-
return invoke$
|
|
4633
|
+
return invoke$2('LocalStorage.setText', key, value);
|
|
4624
4634
|
};
|
|
4625
4635
|
|
|
4626
4636
|
const getCacheKey = colorThemeId => {
|
|
@@ -4655,7 +4665,7 @@ const GetColorThemeCssCachedNoop = {
|
|
|
4655
4665
|
};
|
|
4656
4666
|
|
|
4657
4667
|
const get = key => {
|
|
4658
|
-
return invoke$
|
|
4668
|
+
return invoke$2('Preferences.get', key);
|
|
4659
4669
|
};
|
|
4660
4670
|
|
|
4661
4671
|
const getCacheFn = config => {
|
|
@@ -4681,7 +4691,7 @@ const getColorThemeCssCached = async (colorThemeId, getData) => {
|
|
|
4681
4691
|
};
|
|
4682
4692
|
|
|
4683
4693
|
const readJson = url => {
|
|
4684
|
-
return invoke$
|
|
4694
|
+
return invoke$2('FileSystem.readJson', url);
|
|
4685
4695
|
};
|
|
4686
4696
|
|
|
4687
4697
|
const dirname = (pathSeparator, path) => {
|
|
@@ -4763,7 +4773,7 @@ const getMetaThemeColor = colorThemeJson => {
|
|
|
4763
4773
|
};
|
|
4764
4774
|
|
|
4765
4775
|
const setThemeColor = async themeColor => {
|
|
4766
|
-
await invoke$
|
|
4776
|
+
await invoke$2(/* Meta.setThemeColor */'Meta.setThemeColor', /* color */themeColor);
|
|
4767
4777
|
};
|
|
4768
4778
|
|
|
4769
4779
|
// TODO by default color theme should come from local storage, session storage, cache storage, indexeddb or blob url -> fast initial load
|
|
@@ -4799,7 +4809,7 @@ const watch = async id => {
|
|
|
4799
4809
|
return;
|
|
4800
4810
|
}
|
|
4801
4811
|
state$1.watchedTheme = id;
|
|
4802
|
-
await invoke$
|
|
4812
|
+
await invoke$2('ExtensionHost.watchColorTheme', id);
|
|
4803
4813
|
};
|
|
4804
4814
|
const getPreferredColorTheme = () => {
|
|
4805
4815
|
const preferredColorTheme = get('workbench.colorTheme');
|
|
@@ -4872,46 +4882,18 @@ const createWebView3 = async ({
|
|
|
4872
4882
|
};
|
|
4873
4883
|
|
|
4874
4884
|
const createWebViewWorkerRpc2 = async (rpcInfo, port) => {
|
|
4875
|
-
|
|
4876
|
-
// connection between a webview/iframe and it's webworker. For this to work
|
|
4877
|
-
// the iframe worker creates a messagechannel and sends one messageport to the webview
|
|
4878
|
-
// and the other messageport to the webworker. This enables direct communication via
|
|
4879
|
-
// the two message ports
|
|
4880
|
-
|
|
4881
|
-
// TODO have a way so that the worker already includes the webview api and the extension
|
|
4882
|
-
// host subworker doesn't need to import the other file
|
|
4883
|
-
await invokeAndTransfer$1('IpcParent.create', {
|
|
4884
|
-
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
|
|
4885
|
-
name: rpcInfo.name,
|
|
4886
|
-
port,
|
|
4887
|
-
raw: true,
|
|
4888
|
-
url: rpcInfo.url
|
|
4889
|
-
});
|
|
4885
|
+
await invokeAndTransfer$1('Extensions.createWebViewWorkerRpc2', rpcInfo, port);
|
|
4890
4886
|
};
|
|
4891
4887
|
|
|
4892
4888
|
/**
|
|
4893
4889
|
* @deprecated use createWebViewWorkerRpc2 which passes the worker url as a parameter
|
|
4894
4890
|
*/
|
|
4895
4891
|
const createWebViewWorkerRpc = async (rpcInfo, port) => {
|
|
4896
|
-
|
|
4897
|
-
// connection between a webview/iframe and it's webworker. For this to work
|
|
4898
|
-
// the iframe worker creates a messagechannel and sends one messageport to the webview
|
|
4899
|
-
// and the other messageport to the webworker. This enables direct communication via
|
|
4900
|
-
// the two message ports
|
|
4901
|
-
|
|
4902
|
-
// TODO have a way so that the worker already includes the webview api and the extension
|
|
4903
|
-
// host subworker doesn't need to import the other file
|
|
4904
|
-
await invokeAndTransfer$1('IpcParent.create', {
|
|
4905
|
-
method: ModuleWorkerAndWorkaroundForChromeDevtoolsBug,
|
|
4906
|
-
name: rpcInfo.name,
|
|
4907
|
-
port,
|
|
4908
|
-
raw: true,
|
|
4909
|
-
url: extensionHostSubWorkerUrl
|
|
4910
|
-
});
|
|
4892
|
+
await invokeAndTransfer$1('Extensions.createWebViewWorkerRpc', rpcInfo, port);
|
|
4911
4893
|
};
|
|
4912
4894
|
|
|
4913
4895
|
const executeExternalCommand = (method, ...params) => {
|
|
4914
|
-
return invoke$
|
|
4896
|
+
return invoke$2(method, ...params);
|
|
4915
4897
|
};
|
|
4916
4898
|
|
|
4917
4899
|
const BraceCompletionExecuteBraceCompletionProvider = 'ExtensionHostBraceCompletion.executeBraceCompletionProvider';
|
|
@@ -4979,7 +4961,7 @@ const mockExec = () => {
|
|
|
4979
4961
|
try {
|
|
4980
4962
|
// @ts-ignore
|
|
4981
4963
|
api.exec = async (command, args, options) => {
|
|
4982
|
-
const result = await invoke$
|
|
4964
|
+
const result = await invoke$2('Test.executeMockExecFunction', command, args, options);
|
|
4983
4965
|
const {
|
|
4984
4966
|
exitCode,
|
|
4985
4967
|
stderr,
|
|
@@ -5005,7 +4987,7 @@ const mockRpc = () => {
|
|
|
5005
4987
|
try {
|
|
5006
4988
|
return {
|
|
5007
4989
|
async invoke(method, ...params) {
|
|
5008
|
-
const result = await invoke$
|
|
4990
|
+
const result = await invoke$2('Test.executeMockRpcFunction', options.name, method, ...params);
|
|
5009
4991
|
return result;
|
|
5010
4992
|
}
|
|
5011
4993
|
};
|
|
@@ -5479,12 +5461,8 @@ const getIconThemeJson = async iconThemeId => {
|
|
|
5479
5461
|
return getIconThemeJson$1(iconThemeId);
|
|
5480
5462
|
};
|
|
5481
5463
|
|
|
5482
|
-
const getRpcInfo = rpcId => {
|
|
5483
|
-
|
|
5484
|
-
if (!info) {
|
|
5485
|
-
throw new Error(`Rpc not found ${rpcId}`);
|
|
5486
|
-
}
|
|
5487
|
-
return info;
|
|
5464
|
+
const getRpcInfo = async rpcId => {
|
|
5465
|
+
return await invoke$1('Extensions.getRpcInfo', rpcId);
|
|
5488
5466
|
};
|
|
5489
5467
|
|
|
5490
5468
|
const emptyStatus = {
|
|
@@ -5571,7 +5549,7 @@ const handleMessagePort = async (port, rpcId) => {
|
|
|
5571
5549
|
};
|
|
5572
5550
|
|
|
5573
5551
|
const handleIconThemeChange = async () => {
|
|
5574
|
-
await invoke$
|
|
5552
|
+
await invoke$2('IconTheme.handleIconThemeChange');
|
|
5575
5553
|
};
|
|
5576
5554
|
|
|
5577
5555
|
const initialIconTheme = undefined;
|
|
@@ -6326,7 +6304,18 @@ const commandMap = {
|
|
|
6326
6304
|
'WebViews.getWebViews': getWebViews
|
|
6327
6305
|
};
|
|
6328
6306
|
|
|
6307
|
+
const launchExtensionManagementWorker = async () => {
|
|
6308
|
+
const rpc = await TransferMessagePortRpcParent.create({
|
|
6309
|
+
commandMap: {},
|
|
6310
|
+
async send(port) {
|
|
6311
|
+
await sendMessagePortToExtensionManagementWorker(port, 0);
|
|
6312
|
+
}
|
|
6313
|
+
});
|
|
6314
|
+
return rpc;
|
|
6315
|
+
};
|
|
6316
|
+
|
|
6329
6317
|
const listen = async () => {
|
|
6318
|
+
setFactory(launchExtensionManagementWorker);
|
|
6330
6319
|
const rpc = await WebWorkerRpcClient.create({
|
|
6331
6320
|
commandMap: commandMap
|
|
6332
6321
|
});
|