@lvce-editor/iframe-worker 5.35.0 → 6.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/iframeWorkerMain.js +370 -190
- package/package.json +1 -1
package/dist/iframeWorkerMain.js
CHANGED
|
@@ -54,6 +54,49 @@ class VError extends Error {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
+
class AssertionError extends Error {
|
|
58
|
+
constructor(message) {
|
|
59
|
+
super(message);
|
|
60
|
+
this.name = 'AssertionError';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const Object$1 = 1;
|
|
64
|
+
const Number = 2;
|
|
65
|
+
const Array$1 = 3;
|
|
66
|
+
const String = 4;
|
|
67
|
+
const Boolean = 5;
|
|
68
|
+
const Function = 6;
|
|
69
|
+
const Null = 7;
|
|
70
|
+
const Unknown = 8;
|
|
71
|
+
const getType = value => {
|
|
72
|
+
switch (typeof value) {
|
|
73
|
+
case 'number':
|
|
74
|
+
return Number;
|
|
75
|
+
case 'function':
|
|
76
|
+
return Function;
|
|
77
|
+
case 'string':
|
|
78
|
+
return String;
|
|
79
|
+
case 'object':
|
|
80
|
+
if (value === null) {
|
|
81
|
+
return Null;
|
|
82
|
+
}
|
|
83
|
+
if (Array.isArray(value)) {
|
|
84
|
+
return Array$1;
|
|
85
|
+
}
|
|
86
|
+
return Object$1;
|
|
87
|
+
case 'boolean':
|
|
88
|
+
return Boolean;
|
|
89
|
+
default:
|
|
90
|
+
return Unknown;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
const number = value => {
|
|
94
|
+
const type = getType(value);
|
|
95
|
+
if (type !== Number) {
|
|
96
|
+
throw new AssertionError('expected value to be of type number');
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
57
100
|
const isMessagePort = value => {
|
|
58
101
|
return value && value instanceof MessagePort;
|
|
59
102
|
};
|
|
@@ -464,7 +507,7 @@ const IpcParentWithMessagePort$1 = {
|
|
|
464
507
|
};
|
|
465
508
|
|
|
466
509
|
const Two = '2.0';
|
|
467
|
-
const create$4 = (method, params) => {
|
|
510
|
+
const create$4$1 = (method, params) => {
|
|
468
511
|
return {
|
|
469
512
|
jsonrpc: Two,
|
|
470
513
|
method,
|
|
@@ -719,7 +762,7 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
|
|
|
719
762
|
const errorProperty = getErrorProperty(error, prettyError);
|
|
720
763
|
return create$1$1(id, errorProperty);
|
|
721
764
|
};
|
|
722
|
-
const create$
|
|
765
|
+
const create$7 = (message, result) => {
|
|
723
766
|
return {
|
|
724
767
|
jsonrpc: Two,
|
|
725
768
|
id: message.id,
|
|
@@ -728,7 +771,7 @@ const create$5 = (message, result) => {
|
|
|
728
771
|
};
|
|
729
772
|
const getSuccessResponse = (message, result) => {
|
|
730
773
|
const resultProperty = result ?? null;
|
|
731
|
-
return create$
|
|
774
|
+
return create$7(message, resultProperty);
|
|
732
775
|
};
|
|
733
776
|
const getErrorResponseSimple = (id, error) => {
|
|
734
777
|
return {
|
|
@@ -833,7 +876,7 @@ const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
|
|
|
833
876
|
return unwrapJsonRpcResult(responseMessage);
|
|
834
877
|
};
|
|
835
878
|
const send = (transport, method, ...params) => {
|
|
836
|
-
const message = create$4(method, params);
|
|
879
|
+
const message = create$4$1(method, params);
|
|
837
880
|
transport.send(message);
|
|
838
881
|
};
|
|
839
882
|
const invoke$6 = (ipc, method, ...params) => {
|
|
@@ -936,7 +979,54 @@ const MessagePortRpcParent = {
|
|
|
936
979
|
__proto__: null,
|
|
937
980
|
create: create$e
|
|
938
981
|
};
|
|
982
|
+
const create$5 = async ({
|
|
983
|
+
commandMap,
|
|
984
|
+
messagePort
|
|
985
|
+
}) => {
|
|
986
|
+
// TODO create a commandMap per rpc instance
|
|
987
|
+
register$4(commandMap);
|
|
988
|
+
const rawIpc = await IpcParentWithMessagePort$1.create({
|
|
989
|
+
messagePort,
|
|
990
|
+
isMessagePortOpen: true
|
|
991
|
+
});
|
|
992
|
+
const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
|
|
993
|
+
handleIpc(ipc);
|
|
994
|
+
const rpc = createRpc(ipc);
|
|
995
|
+
messagePort.start();
|
|
996
|
+
return rpc;
|
|
997
|
+
};
|
|
998
|
+
const create$4 = async ({
|
|
999
|
+
commandMap,
|
|
1000
|
+
messagePort
|
|
1001
|
+
}) => {
|
|
1002
|
+
return create$5({
|
|
1003
|
+
commandMap,
|
|
1004
|
+
messagePort
|
|
1005
|
+
});
|
|
1006
|
+
};
|
|
1007
|
+
const PlainMessagePortRpcParent = {
|
|
1008
|
+
__proto__: null,
|
|
1009
|
+
create: create$4
|
|
1010
|
+
};
|
|
939
1011
|
const create$3 = async ({
|
|
1012
|
+
commandMap,
|
|
1013
|
+
send
|
|
1014
|
+
}) => {
|
|
1015
|
+
const {
|
|
1016
|
+
port1,
|
|
1017
|
+
port2
|
|
1018
|
+
} = new MessageChannel();
|
|
1019
|
+
await send(port1);
|
|
1020
|
+
return create$5({
|
|
1021
|
+
commandMap,
|
|
1022
|
+
messagePort: port2
|
|
1023
|
+
});
|
|
1024
|
+
};
|
|
1025
|
+
const TransferMessagePortRpcParent = {
|
|
1026
|
+
__proto__: null,
|
|
1027
|
+
create: create$3
|
|
1028
|
+
};
|
|
1029
|
+
const create$6 = async ({
|
|
940
1030
|
commandMap
|
|
941
1031
|
}) => {
|
|
942
1032
|
// TODO create a commandMap per rpc instance
|
|
@@ -948,14 +1038,39 @@ const create$3 = async ({
|
|
|
948
1038
|
};
|
|
949
1039
|
const WebWorkerRpcClient = {
|
|
950
1040
|
__proto__: null,
|
|
951
|
-
create: create$
|
|
1041
|
+
create: create$6
|
|
952
1042
|
};
|
|
1043
|
+
const createMockRpc = ({
|
|
1044
|
+
commandMap
|
|
1045
|
+
}) => {
|
|
1046
|
+
const invocations = [];
|
|
1047
|
+
const invoke = (method, ...params) => {
|
|
1048
|
+
invocations.push([method, ...params]);
|
|
1049
|
+
const command = commandMap[method];
|
|
1050
|
+
if (!command) {
|
|
1051
|
+
throw new Error(`command ${method} not found`);
|
|
1052
|
+
}
|
|
1053
|
+
return command(...params);
|
|
1054
|
+
};
|
|
1055
|
+
const mockRpc = {
|
|
1056
|
+
invoke,
|
|
1057
|
+
invokeAndTransfer: invoke,
|
|
1058
|
+
invocations
|
|
1059
|
+
};
|
|
1060
|
+
return mockRpc;
|
|
1061
|
+
};
|
|
1062
|
+
|
|
1063
|
+
const Script = 2;
|
|
953
1064
|
|
|
954
1065
|
const DebugWorker = 55;
|
|
1066
|
+
const ExtensionHostWorker = 44;
|
|
955
1067
|
const RendererWorker$1 = 1;
|
|
956
1068
|
|
|
957
1069
|
const rpcs$1 = Object.create(null);
|
|
958
1070
|
const set$2 = (id, rpc) => {
|
|
1071
|
+
if (rpcs$1[id]) {
|
|
1072
|
+
throw new Error(`rpc with id ${id} is already registered`);
|
|
1073
|
+
}
|
|
959
1074
|
rpcs$1[id] = rpc;
|
|
960
1075
|
};
|
|
961
1076
|
const get$1 = id => {
|
|
@@ -964,6 +1079,10 @@ const get$1 = id => {
|
|
|
964
1079
|
|
|
965
1080
|
const create$2 = rpcId => {
|
|
966
1081
|
return {
|
|
1082
|
+
async dispose() {
|
|
1083
|
+
const rpc = get$1(rpcId);
|
|
1084
|
+
await rpc.dispose();
|
|
1085
|
+
},
|
|
967
1086
|
// @ts-ignore
|
|
968
1087
|
invoke(method, ...params) {
|
|
969
1088
|
const rpc = get$1(rpcId);
|
|
@@ -978,274 +1097,333 @@ const create$2 = rpcId => {
|
|
|
978
1097
|
},
|
|
979
1098
|
set(rpc) {
|
|
980
1099
|
set$2(rpcId, rpc);
|
|
981
|
-
},
|
|
982
|
-
async dispose() {
|
|
983
|
-
const rpc = get$1(rpcId);
|
|
984
|
-
await rpc.dispose();
|
|
985
1100
|
}
|
|
986
1101
|
};
|
|
987
1102
|
};
|
|
988
1103
|
|
|
989
1104
|
const {
|
|
990
1105
|
invoke: invoke$5,
|
|
991
|
-
invokeAndTransfer: invokeAndTransfer$4
|
|
992
|
-
|
|
993
|
-
|
|
1106
|
+
invokeAndTransfer: invokeAndTransfer$4} = create$2(ExtensionHostWorker);
|
|
1107
|
+
|
|
1108
|
+
const {
|
|
1109
|
+
dispose,
|
|
1110
|
+
invoke: invoke$4,
|
|
1111
|
+
invokeAndTransfer: invokeAndTransfer$3,
|
|
1112
|
+
set: set$1
|
|
994
1113
|
} = create$2(RendererWorker$1);
|
|
995
1114
|
const searchFileHtml = async uri => {
|
|
996
|
-
return invoke$
|
|
1115
|
+
return invoke$4('ExtensionHost.searchFileWithHtml', uri);
|
|
997
1116
|
};
|
|
998
1117
|
const getFilePathElectron = async file => {
|
|
999
|
-
return invoke$
|
|
1118
|
+
return invoke$4('FileSystemHandle.getFilePathElectron', file);
|
|
1000
1119
|
};
|
|
1120
|
+
/**
|
|
1121
|
+
* @deprecated
|
|
1122
|
+
*/
|
|
1001
1123
|
const showContextMenu = async (x, y, id, ...args) => {
|
|
1002
|
-
return invoke$
|
|
1124
|
+
return invoke$4('ContextMenu.show', x, y, id, ...args);
|
|
1125
|
+
};
|
|
1126
|
+
const showContextMenu2 = async (uid, menuId, x, y, args) => {
|
|
1127
|
+
number(uid);
|
|
1128
|
+
number(menuId);
|
|
1129
|
+
number(x);
|
|
1130
|
+
number(y);
|
|
1131
|
+
// @ts-ignore
|
|
1132
|
+
await invoke$4('ContextMenu.show2', uid, menuId, x, y, args);
|
|
1003
1133
|
};
|
|
1004
1134
|
const getElectronVersion = async () => {
|
|
1005
|
-
return invoke$
|
|
1135
|
+
return invoke$4('Process.getElectronVersion');
|
|
1006
1136
|
};
|
|
1007
1137
|
const applyBulkReplacement = async bulkEdits => {
|
|
1008
|
-
await invoke$
|
|
1138
|
+
await invoke$4('BulkReplacement.applyBulkReplacement', bulkEdits);
|
|
1009
1139
|
};
|
|
1010
1140
|
const setColorTheme = async id => {
|
|
1011
1141
|
// @ts-ignore
|
|
1012
|
-
return invoke$
|
|
1142
|
+
return invoke$4(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
|
|
1013
1143
|
};
|
|
1014
1144
|
const getNodeVersion = async () => {
|
|
1015
|
-
return invoke$
|
|
1145
|
+
return invoke$4('Process.getNodeVersion');
|
|
1016
1146
|
};
|
|
1017
1147
|
const getChromeVersion = async () => {
|
|
1018
|
-
return invoke$
|
|
1148
|
+
return invoke$4('Process.getChromeVersion');
|
|
1019
1149
|
};
|
|
1020
1150
|
const getV8Version = async () => {
|
|
1021
|
-
return invoke$
|
|
1151
|
+
return invoke$4('Process.getV8Version');
|
|
1022
1152
|
};
|
|
1023
1153
|
const getFileHandles = async fileIds => {
|
|
1024
|
-
const files = await invoke$
|
|
1154
|
+
const files = await invoke$4('FileSystemHandle.getFileHandles', fileIds);
|
|
1025
1155
|
return files;
|
|
1026
1156
|
};
|
|
1027
1157
|
const setWorkspacePath = async path => {
|
|
1028
|
-
await invoke$
|
|
1158
|
+
await invoke$4('Workspace.setPath', path);
|
|
1029
1159
|
};
|
|
1030
1160
|
const registerWebViewInterceptor = async (id, port) => {
|
|
1031
|
-
await invokeAndTransfer$
|
|
1161
|
+
await invokeAndTransfer$3('WebView.registerInterceptor', id, port);
|
|
1032
1162
|
};
|
|
1033
1163
|
const unregisterWebViewInterceptor = async id => {
|
|
1034
|
-
await invoke$
|
|
1164
|
+
await invoke$4('WebView.unregisterInterceptor', id);
|
|
1035
1165
|
};
|
|
1036
1166
|
const sendMessagePortToEditorWorker = async (port, rpcId) => {
|
|
1037
1167
|
const command = 'HandleMessagePort.handleMessagePort';
|
|
1038
1168
|
// @ts-ignore
|
|
1039
|
-
await invokeAndTransfer$
|
|
1169
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToEditorWorker', port, command, rpcId);
|
|
1040
1170
|
};
|
|
1041
1171
|
const sendMessagePortToErrorWorker = async (port, rpcId) => {
|
|
1042
1172
|
const command = 'Errors.handleMessagePort';
|
|
1043
1173
|
// @ts-ignore
|
|
1044
|
-
await invokeAndTransfer$
|
|
1174
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToErrorWorker', port, command, rpcId);
|
|
1045
1175
|
};
|
|
1046
1176
|
const sendMessagePortToMarkdownWorker = async (port, rpcId) => {
|
|
1047
1177
|
const command = 'Markdown.handleMessagePort';
|
|
1048
1178
|
// @ts-ignore
|
|
1049
|
-
await invokeAndTransfer$
|
|
1179
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToMarkdownWorker', port, command, rpcId);
|
|
1180
|
+
};
|
|
1181
|
+
const sendMessagePortToIconThemeWorker = async (port, rpcId) => {
|
|
1182
|
+
const command = 'IconTheme.handleMessagePort';
|
|
1183
|
+
// @ts-ignore
|
|
1184
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToIconThemeWorker', port, command, rpcId);
|
|
1050
1185
|
};
|
|
1051
1186
|
const sendMessagePortToFileSystemWorker = async (port, rpcId) => {
|
|
1052
1187
|
const command = 'FileSystem.handleMessagePort';
|
|
1053
1188
|
// @ts-ignore
|
|
1054
|
-
await invokeAndTransfer$
|
|
1189
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
|
|
1055
1190
|
};
|
|
1056
1191
|
const readFile$1 = async uri => {
|
|
1057
|
-
return invoke$
|
|
1192
|
+
return invoke$4('FileSystem.readFile', uri);
|
|
1058
1193
|
};
|
|
1059
1194
|
const getWebViewSecret = async key => {
|
|
1060
1195
|
// @ts-ignore
|
|
1061
|
-
return invoke$
|
|
1196
|
+
return invoke$4('WebView.getSecret', key);
|
|
1062
1197
|
};
|
|
1063
1198
|
const setWebViewPort = async (uid, port, origin, portType) => {
|
|
1064
|
-
return invokeAndTransfer$
|
|
1199
|
+
return invokeAndTransfer$3('WebView.setPort', uid, port, origin, portType);
|
|
1065
1200
|
};
|
|
1066
1201
|
const setFocus = key => {
|
|
1067
|
-
return invoke$
|
|
1202
|
+
return invoke$4('Focus.setFocus', key);
|
|
1068
1203
|
};
|
|
1069
1204
|
const getFileIcon = async options => {
|
|
1070
|
-
return invoke$
|
|
1205
|
+
return invoke$4('IconTheme.getFileIcon', options);
|
|
1071
1206
|
};
|
|
1072
1207
|
const getColorThemeNames = async () => {
|
|
1073
|
-
return invoke$
|
|
1208
|
+
return invoke$4('ColorTheme.getColorThemeNames');
|
|
1074
1209
|
};
|
|
1075
1210
|
const disableExtension = async id => {
|
|
1076
1211
|
// @ts-ignore
|
|
1077
|
-
return invoke$
|
|
1212
|
+
return invoke$4('ExtensionManagement.disable', id);
|
|
1078
1213
|
};
|
|
1079
1214
|
const enableExtension = async id => {
|
|
1080
1215
|
// @ts-ignore
|
|
1081
|
-
return invoke$
|
|
1216
|
+
return invoke$4('ExtensionManagement.enable', id);
|
|
1082
1217
|
};
|
|
1083
1218
|
const handleDebugChange = async params => {
|
|
1084
1219
|
// @ts-ignore
|
|
1085
|
-
return invoke$
|
|
1220
|
+
return invoke$4('Run And Debug.handleChange', params);
|
|
1086
1221
|
};
|
|
1087
1222
|
const getFolderIcon = async options => {
|
|
1088
|
-
return invoke$
|
|
1223
|
+
return invoke$4('IconTheme.getFolderIcon', options);
|
|
1224
|
+
};
|
|
1225
|
+
const handleWorkspaceRefresh = async () => {
|
|
1226
|
+
return invoke$4('Layout.handleWorkspaceRefresh');
|
|
1089
1227
|
};
|
|
1090
1228
|
const closeWidget = async widgetId => {
|
|
1091
|
-
return invoke$
|
|
1229
|
+
return invoke$4('Viewlet.closeWidget', widgetId);
|
|
1092
1230
|
};
|
|
1093
1231
|
const sendMessagePortToExtensionHostWorker = async (port, rpcId = 0) => {
|
|
1094
1232
|
const command = 'HandleMessagePort.handleMessagePort2';
|
|
1095
|
-
await invokeAndTransfer$
|
|
1233
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
|
|
1096
1234
|
};
|
|
1097
1235
|
const sendMessagePortToSearchProcess = async port => {
|
|
1098
|
-
await invokeAndTransfer$
|
|
1236
|
+
await invokeAndTransfer$3('SendMessagePortToElectron.sendMessagePortToElectron', port, 'HandleMessagePortForSearchProcess.handleMessagePortForSearchProcess');
|
|
1099
1237
|
};
|
|
1100
1238
|
const confirm = async (message, options) => {
|
|
1101
1239
|
// @ts-ignore
|
|
1102
|
-
const result = await invoke$
|
|
1240
|
+
const result = await invoke$4('ConfirmPrompt.prompt', message, options);
|
|
1103
1241
|
return result;
|
|
1104
1242
|
};
|
|
1105
1243
|
const getRecentlyOpened = async () => {
|
|
1106
|
-
return invoke$
|
|
1244
|
+
return invoke$4(/* RecentlyOpened.getRecentlyOpened */'RecentlyOpened.getRecentlyOpened');
|
|
1107
1245
|
};
|
|
1108
1246
|
const getKeyBindings = async () => {
|
|
1109
|
-
return invoke$
|
|
1247
|
+
return invoke$4('KeyBindingsInitial.getKeyBindings');
|
|
1110
1248
|
};
|
|
1111
1249
|
const writeClipBoardText = async text => {
|
|
1112
|
-
await invoke$
|
|
1250
|
+
await invoke$4('ClipBoard.writeText', /* text */text);
|
|
1251
|
+
};
|
|
1252
|
+
const readClipBoardText = async () => {
|
|
1253
|
+
return invoke$4('ClipBoard.readText');
|
|
1113
1254
|
};
|
|
1114
1255
|
const writeClipBoardImage = async blob => {
|
|
1115
1256
|
// @ts-ignore
|
|
1116
|
-
await invoke$
|
|
1257
|
+
await invoke$4('ClipBoard.writeImage', /* text */blob);
|
|
1117
1258
|
};
|
|
1118
1259
|
const searchFileMemory = async uri => {
|
|
1119
1260
|
// @ts-ignore
|
|
1120
|
-
return invoke$
|
|
1261
|
+
return invoke$4('ExtensionHost.searchFileWithMemory', uri);
|
|
1121
1262
|
};
|
|
1122
1263
|
const searchFileFetch = async uri => {
|
|
1123
|
-
return invoke$
|
|
1264
|
+
return invoke$4('ExtensionHost.searchFileWithFetch', uri);
|
|
1124
1265
|
};
|
|
1125
1266
|
const showMessageBox = async options => {
|
|
1126
|
-
return invoke$
|
|
1267
|
+
return invoke$4('ElectronDialog.showMessageBox', options);
|
|
1127
1268
|
};
|
|
1128
1269
|
const handleDebugResumed = async params => {
|
|
1129
|
-
await invoke$
|
|
1270
|
+
await invoke$4('Run And Debug.handleResumed', params);
|
|
1130
1271
|
};
|
|
1131
1272
|
const openWidget = async name => {
|
|
1132
|
-
await invoke$
|
|
1273
|
+
await invoke$4('Viewlet.openWidget', name);
|
|
1133
1274
|
};
|
|
1134
1275
|
const getIcons = async requests => {
|
|
1135
|
-
const icons = await invoke$
|
|
1276
|
+
const icons = await invoke$4('IconTheme.getIcons', requests);
|
|
1136
1277
|
return icons;
|
|
1137
1278
|
};
|
|
1138
1279
|
const activateByEvent = event => {
|
|
1139
|
-
return invoke$
|
|
1280
|
+
return invoke$4('ExtensionHostManagement.activateByEvent', event);
|
|
1140
1281
|
};
|
|
1141
1282
|
const setAdditionalFocus = focusKey => {
|
|
1142
1283
|
// @ts-ignore
|
|
1143
|
-
return invoke$
|
|
1284
|
+
return invoke$4('Focus.setAdditionalFocus', focusKey);
|
|
1144
1285
|
};
|
|
1145
1286
|
const getActiveEditorId = () => {
|
|
1146
1287
|
// @ts-ignore
|
|
1147
|
-
return invoke$
|
|
1288
|
+
return invoke$4('GetActiveEditor.getActiveEditorId');
|
|
1148
1289
|
};
|
|
1149
1290
|
const getWorkspacePath = () => {
|
|
1150
|
-
return invoke$
|
|
1291
|
+
return invoke$4('Workspace.getPath');
|
|
1151
1292
|
};
|
|
1152
1293
|
const sendMessagePortToRendererProcess = async port => {
|
|
1153
1294
|
const command = 'HandleMessagePort.handleMessagePort';
|
|
1154
1295
|
// @ts-ignore
|
|
1155
|
-
await invokeAndTransfer$
|
|
1296
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToRendererProcess', port, command, DebugWorker);
|
|
1297
|
+
};
|
|
1298
|
+
const sendMessagePortToTextMeasurementWorker = async port => {
|
|
1299
|
+
const command = 'TextMeasurement.handleMessagePort';
|
|
1300
|
+
// @ts-ignore
|
|
1301
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToTextMeasurementWorker', port, command, 0);
|
|
1302
|
+
};
|
|
1303
|
+
const sendMessagePortToSourceControlWorker = async port => {
|
|
1304
|
+
const command = 'SourceControl.handleMessagePort';
|
|
1305
|
+
// @ts-ignore
|
|
1306
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToSourceControlWorker', port, command, 0);
|
|
1307
|
+
};
|
|
1308
|
+
const sendMessagePortToSharedProcess = async port => {
|
|
1309
|
+
const command = 'HandleElectronMessagePort.handleElectronMessagePort';
|
|
1310
|
+
// @ts-ignore
|
|
1311
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToSharedProcess', port, command, 0);
|
|
1312
|
+
};
|
|
1313
|
+
const sendMessagePortToFileSystemProcess = async (port, rpcId) => {
|
|
1314
|
+
const command = 'HandleMessagePortForFileSystemProcess.handleMessagePortForFileSystemProcess';
|
|
1315
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToSharedProcess', port, command, rpcId);
|
|
1316
|
+
};
|
|
1317
|
+
const sendMessagePortToIframeWorker = async (port, rpcId) => {
|
|
1318
|
+
const command = 'Iframes.handleMessagePort';
|
|
1319
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToIframeWorker', port, command, rpcId);
|
|
1320
|
+
};
|
|
1321
|
+
const sendMessagePortToExtensionManagementWorker = async (port, rpcId) => {
|
|
1322
|
+
const command = 'Extensions.handleMessagePort';
|
|
1323
|
+
await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionManagementWorker', port, command, rpcId);
|
|
1156
1324
|
};
|
|
1157
1325
|
const getPreference = async key => {
|
|
1158
|
-
return await invoke$
|
|
1326
|
+
return await invoke$4('Preferences.get', key);
|
|
1159
1327
|
};
|
|
1160
1328
|
const getAllExtensions = async () => {
|
|
1161
|
-
return invoke$
|
|
1329
|
+
return invoke$4('ExtensionManagement.getAllExtensions');
|
|
1162
1330
|
};
|
|
1163
1331
|
const rerenderEditor = async key => {
|
|
1164
1332
|
// @ts-ignore
|
|
1165
|
-
return invoke$
|
|
1333
|
+
return invoke$4('Editor.rerender', key);
|
|
1166
1334
|
};
|
|
1167
1335
|
const handleDebugPaused = async params => {
|
|
1168
|
-
await invoke$
|
|
1336
|
+
await invoke$4('Run And Debug.handlePaused', params);
|
|
1169
1337
|
};
|
|
1170
1338
|
const openUri = async (uri, focus, options) => {
|
|
1171
|
-
await invoke$
|
|
1339
|
+
await invoke$4('Main.openUri', uri, focus, options);
|
|
1172
1340
|
};
|
|
1173
1341
|
const sendMessagePortToSyntaxHighlightingWorker = async port => {
|
|
1174
|
-
await invokeAndTransfer$
|
|
1342
|
+
await invokeAndTransfer$3(
|
|
1175
1343
|
// @ts-ignore
|
|
1176
1344
|
'SendMessagePortToSyntaxHighlightingWorker.sendMessagePortToSyntaxHighlightingWorker', port, 'HandleMessagePort.handleMessagePort2');
|
|
1177
1345
|
};
|
|
1178
1346
|
const handleDebugScriptParsed = async script => {
|
|
1179
|
-
await invoke$
|
|
1347
|
+
await invoke$4('Run And Debug.handleScriptParsed', script);
|
|
1180
1348
|
};
|
|
1181
1349
|
const getWindowId = async () => {
|
|
1182
|
-
return invoke$
|
|
1350
|
+
return invoke$4('GetWindowId.getWindowId');
|
|
1183
1351
|
};
|
|
1184
1352
|
const getBlob = async uri => {
|
|
1185
1353
|
// @ts-ignore
|
|
1186
|
-
return invoke$
|
|
1354
|
+
return invoke$4('FileSystem.getBlob', uri);
|
|
1187
1355
|
};
|
|
1188
1356
|
const getExtensionCommands = async () => {
|
|
1189
|
-
return invoke$
|
|
1357
|
+
return invoke$4('ExtensionHost.getCommands');
|
|
1190
1358
|
};
|
|
1191
1359
|
const showErrorDialog = async errorInfo => {
|
|
1192
1360
|
// @ts-ignore
|
|
1193
|
-
await invoke$
|
|
1361
|
+
await invoke$4('ErrorHandling.showErrorDialog', errorInfo);
|
|
1194
1362
|
};
|
|
1195
1363
|
const getFolderSize = async uri => {
|
|
1196
1364
|
// @ts-ignore
|
|
1197
|
-
return await invoke$
|
|
1365
|
+
return await invoke$4('FileSystem.getFolderSize', uri);
|
|
1198
1366
|
};
|
|
1199
1367
|
const getExtension = async id => {
|
|
1200
1368
|
// @ts-ignore
|
|
1201
|
-
return invoke$
|
|
1369
|
+
return invoke$4('ExtensionManagement.getExtension', id);
|
|
1202
1370
|
};
|
|
1203
1371
|
const getMarkdownDom = async html => {
|
|
1204
1372
|
// @ts-ignore
|
|
1205
|
-
return invoke$
|
|
1373
|
+
return invoke$4('Markdown.getVirtualDom', html);
|
|
1206
1374
|
};
|
|
1207
1375
|
const renderMarkdown = async (markdown, options) => {
|
|
1208
1376
|
// @ts-ignore
|
|
1209
|
-
return invoke$
|
|
1377
|
+
return invoke$4('Markdown.renderMarkdown', markdown, options);
|
|
1210
1378
|
};
|
|
1211
1379
|
const openNativeFolder = async uri => {
|
|
1212
1380
|
// @ts-ignore
|
|
1213
|
-
await invoke$
|
|
1381
|
+
await invoke$4('OpenNativeFolder.openNativeFolder', uri);
|
|
1214
1382
|
};
|
|
1215
1383
|
const uninstallExtension = async id => {
|
|
1216
|
-
return invoke$
|
|
1384
|
+
return invoke$4('ExtensionManagement.uninstall', id);
|
|
1217
1385
|
};
|
|
1218
1386
|
const installExtension = async id => {
|
|
1219
1387
|
// @ts-ignore
|
|
1220
|
-
return invoke$
|
|
1388
|
+
return invoke$4('ExtensionManagement.install', id);
|
|
1221
1389
|
};
|
|
1222
1390
|
const openExtensionSearch = async () => {
|
|
1223
1391
|
// @ts-ignore
|
|
1224
|
-
return invoke$
|
|
1392
|
+
return invoke$4('SideBar.openViewlet', 'Extensions');
|
|
1225
1393
|
};
|
|
1226
1394
|
const setExtensionsSearchValue = async searchValue => {
|
|
1227
1395
|
// @ts-ignore
|
|
1228
|
-
return invoke$
|
|
1396
|
+
return invoke$4('Extensions.handleInput', searchValue, Script);
|
|
1229
1397
|
};
|
|
1230
1398
|
const openExternal = async uri => {
|
|
1231
1399
|
// @ts-ignore
|
|
1232
|
-
await invoke$
|
|
1400
|
+
await invoke$4('Open.openExternal', uri);
|
|
1233
1401
|
};
|
|
1234
1402
|
const openUrl = async uri => {
|
|
1235
1403
|
// @ts-ignore
|
|
1236
|
-
await invoke$
|
|
1404
|
+
await invoke$4('Open.openUrl', uri);
|
|
1237
1405
|
};
|
|
1238
1406
|
const getAllPreferences = async () => {
|
|
1239
1407
|
// @ts-ignore
|
|
1240
|
-
return invoke$
|
|
1408
|
+
return invoke$4('Preferences.getAll');
|
|
1241
1409
|
};
|
|
1242
1410
|
const showSaveFilePicker = async () => {
|
|
1243
1411
|
// @ts-ignore
|
|
1244
|
-
return invoke$
|
|
1412
|
+
return invoke$4('FilePicker.showSaveFilePicker');
|
|
1245
1413
|
};
|
|
1246
1414
|
const getLogsDir = async () => {
|
|
1247
1415
|
// @ts-ignore
|
|
1248
|
-
return invoke$
|
|
1416
|
+
return invoke$4('PlatformPaths.getLogsDir');
|
|
1417
|
+
};
|
|
1418
|
+
const measureTextBlockHeight = async (actualInput, fontFamily, fontSize, lineHeightPx, width) => {
|
|
1419
|
+
return invoke$4(`MeasureTextHeight.measureTextBlockHeight`, actualInput, fontFamily, fontSize, lineHeightPx, width);
|
|
1420
|
+
};
|
|
1421
|
+
const registerMockRpc = commandMap => {
|
|
1422
|
+
const mockRpc = createMockRpc({
|
|
1423
|
+
commandMap
|
|
1424
|
+
});
|
|
1425
|
+
set$1(mockRpc);
|
|
1426
|
+
return mockRpc;
|
|
1249
1427
|
};
|
|
1250
1428
|
|
|
1251
1429
|
const RendererWorker = {
|
|
@@ -1286,16 +1464,20 @@ const RendererWorker = {
|
|
|
1286
1464
|
handleDebugPaused,
|
|
1287
1465
|
handleDebugResumed,
|
|
1288
1466
|
handleDebugScriptParsed,
|
|
1467
|
+
handleWorkspaceRefresh,
|
|
1289
1468
|
installExtension,
|
|
1290
|
-
invoke: invoke$
|
|
1291
|
-
invokeAndTransfer: invokeAndTransfer$
|
|
1469
|
+
invoke: invoke$4,
|
|
1470
|
+
invokeAndTransfer: invokeAndTransfer$3,
|
|
1471
|
+
measureTextBlockHeight,
|
|
1292
1472
|
openExtensionSearch,
|
|
1293
1473
|
openExternal,
|
|
1294
1474
|
openNativeFolder,
|
|
1295
1475
|
openUri,
|
|
1296
1476
|
openUrl,
|
|
1297
1477
|
openWidget,
|
|
1478
|
+
readClipBoardText,
|
|
1298
1479
|
readFile: readFile$1,
|
|
1480
|
+
registerMockRpc,
|
|
1299
1481
|
registerWebViewInterceptor,
|
|
1300
1482
|
renderMarkdown,
|
|
1301
1483
|
rerenderEditor,
|
|
@@ -1305,11 +1487,18 @@ const RendererWorker = {
|
|
|
1305
1487
|
sendMessagePortToEditorWorker,
|
|
1306
1488
|
sendMessagePortToErrorWorker,
|
|
1307
1489
|
sendMessagePortToExtensionHostWorker,
|
|
1490
|
+
sendMessagePortToExtensionManagementWorker,
|
|
1491
|
+
sendMessagePortToFileSystemProcess,
|
|
1308
1492
|
sendMessagePortToFileSystemWorker,
|
|
1493
|
+
sendMessagePortToIconThemeWorker,
|
|
1494
|
+
sendMessagePortToIframeWorker,
|
|
1309
1495
|
sendMessagePortToMarkdownWorker,
|
|
1310
1496
|
sendMessagePortToRendererProcess,
|
|
1311
1497
|
sendMessagePortToSearchProcess,
|
|
1498
|
+
sendMessagePortToSharedProcess,
|
|
1499
|
+
sendMessagePortToSourceControlWorker,
|
|
1312
1500
|
sendMessagePortToSyntaxHighlightingWorker,
|
|
1501
|
+
sendMessagePortToTextMeasurementWorker,
|
|
1313
1502
|
set: set$1,
|
|
1314
1503
|
setAdditionalFocus,
|
|
1315
1504
|
setColorTheme,
|
|
@@ -1318,6 +1507,7 @@ const RendererWorker = {
|
|
|
1318
1507
|
setWebViewPort,
|
|
1319
1508
|
setWorkspacePath,
|
|
1320
1509
|
showContextMenu,
|
|
1510
|
+
showContextMenu2,
|
|
1321
1511
|
showErrorDialog,
|
|
1322
1512
|
showMessageBox,
|
|
1323
1513
|
showSaveFilePicker,
|
|
@@ -1327,20 +1517,6 @@ const RendererWorker = {
|
|
|
1327
1517
|
writeClipBoardText
|
|
1328
1518
|
};
|
|
1329
1519
|
|
|
1330
|
-
const {
|
|
1331
|
-
invoke: invoke$4,
|
|
1332
|
-
invokeAndTransfer: invokeAndTransfer$3
|
|
1333
|
-
} = RendererWorker;
|
|
1334
|
-
|
|
1335
|
-
const invoke$3 = async (method, ...params) => {
|
|
1336
|
-
// @ts-ignore
|
|
1337
|
-
return invoke$4('WebView.compatExtensionHostWorkerInvoke', method, ...params);
|
|
1338
|
-
};
|
|
1339
|
-
const invokeAndTransfer$2 = async (method, ...params) => {
|
|
1340
|
-
// @ts-ignore
|
|
1341
|
-
return invokeAndTransfer$3('WebView.compatExtensionHostWorkerInvokeAndTransfer', method, ...params);
|
|
1342
|
-
};
|
|
1343
|
-
|
|
1344
1520
|
const getCredentialLess = locationHost => {
|
|
1345
1521
|
if (locationHost.startsWith('localhost:')) {
|
|
1346
1522
|
// disabled to improve performance and make testing easier
|
|
@@ -1397,19 +1573,18 @@ const getWebViewHtml = (baseUrl, locationOrigin, elements, assetDir) => {
|
|
|
1397
1573
|
if (!elements) {
|
|
1398
1574
|
return '';
|
|
1399
1575
|
}
|
|
1400
|
-
const middle = [];
|
|
1401
|
-
middle.push('<meta charset="utf-8">');
|
|
1576
|
+
const middle = ['<meta charset="utf-8">'];
|
|
1402
1577
|
for (const element of elements) {
|
|
1403
1578
|
switch (element.type) {
|
|
1404
|
-
case '
|
|
1405
|
-
middle.push(`<
|
|
1579
|
+
case 'css':
|
|
1580
|
+
middle.push(`<link rel="stylesheet" href="${locationOrigin}${baseUrl}/${element.path}" />`);
|
|
1406
1581
|
break;
|
|
1407
1582
|
case 'script':
|
|
1408
1583
|
middle.push(`<script type="module" src="${locationOrigin}${assetDir}/js/preview-injected.js"></script>`);
|
|
1409
1584
|
middle.push(`<script type="module" src="${locationOrigin}${baseUrl}/${element.path}"></script>`);
|
|
1410
1585
|
break;
|
|
1411
|
-
case '
|
|
1412
|
-
middle.push(`<
|
|
1586
|
+
case 'title':
|
|
1587
|
+
middle.push(`<title>${element.value}</title>`);
|
|
1413
1588
|
break;
|
|
1414
1589
|
}
|
|
1415
1590
|
}
|
|
@@ -1469,9 +1644,9 @@ const getIframeSrcRemote = (webViews, webViewPort, webViewId, locationProtocol,
|
|
|
1469
1644
|
// - load webviews the same as in web using blob urls
|
|
1470
1645
|
// - load webviews from a pattern like /webviews/:id/:fileName
|
|
1471
1646
|
return {
|
|
1647
|
+
iframeContent,
|
|
1472
1648
|
iframeSrc,
|
|
1473
|
-
webViewRoot
|
|
1474
|
-
iframeContent
|
|
1649
|
+
webViewRoot
|
|
1475
1650
|
};
|
|
1476
1651
|
};
|
|
1477
1652
|
|
|
@@ -1485,8 +1660,8 @@ const getBlobUrl = (content, contentType) => {
|
|
|
1485
1660
|
|
|
1486
1661
|
const getDefaultBaseUrl = webView => {
|
|
1487
1662
|
const {
|
|
1488
|
-
|
|
1489
|
-
|
|
1663
|
+
path,
|
|
1664
|
+
remotePath
|
|
1490
1665
|
} = webView;
|
|
1491
1666
|
if (remotePath) {
|
|
1492
1667
|
if (remotePath.endsWith('/index.html')) {
|
|
@@ -1517,9 +1692,9 @@ const getIframeSrc$1 = (webView, locationOrigin, assetDir) => {
|
|
|
1517
1692
|
if (srcHtml) {
|
|
1518
1693
|
const blobUrl = getBlobUrl(srcHtml, 'text/html');
|
|
1519
1694
|
return {
|
|
1695
|
+
iframeContent: '',
|
|
1520
1696
|
iframeSrc: blobUrl,
|
|
1521
|
-
webViewRoot: ''
|
|
1522
|
-
iframeContent: ''
|
|
1697
|
+
webViewRoot: ''
|
|
1523
1698
|
};
|
|
1524
1699
|
}
|
|
1525
1700
|
return undefined;
|
|
@@ -1548,9 +1723,14 @@ const getPortTuple = () => {
|
|
|
1548
1723
|
};
|
|
1549
1724
|
};
|
|
1550
1725
|
|
|
1726
|
+
const {
|
|
1727
|
+
invoke: invoke$3,
|
|
1728
|
+
invokeAndTransfer: invokeAndTransfer$2
|
|
1729
|
+
} = RendererWorker;
|
|
1730
|
+
|
|
1551
1731
|
const getSavedState = async () => {
|
|
1552
1732
|
// @ts-ignore
|
|
1553
|
-
return invoke$
|
|
1733
|
+
return invoke$3('WebView.getSavedState');
|
|
1554
1734
|
};
|
|
1555
1735
|
|
|
1556
1736
|
const getSavedWebViewState = async id => {
|
|
@@ -1620,7 +1800,7 @@ const getIframePermissionPolicy = webView => {
|
|
|
1620
1800
|
|
|
1621
1801
|
const getWebViews = async () => {
|
|
1622
1802
|
// @ts-ignore
|
|
1623
|
-
return invoke$
|
|
1803
|
+
return invoke$3('WebView.getWebViews');
|
|
1624
1804
|
};
|
|
1625
1805
|
|
|
1626
1806
|
const AllowScripts = 'allow-scripts';
|
|
@@ -1670,11 +1850,11 @@ const getPort = () => {
|
|
|
1670
1850
|
|
|
1671
1851
|
const invoke$2 = async (method, ...params) => {
|
|
1672
1852
|
// @ts-ignore
|
|
1673
|
-
return invoke$
|
|
1853
|
+
return invoke$3('WebView.compatRendererProcessInvoke', method, ...params);
|
|
1674
1854
|
};
|
|
1675
1855
|
const invokeAndTransfer$1 = async (method, ...params) => {
|
|
1676
1856
|
// @ts-ignore
|
|
1677
|
-
return invokeAndTransfer$
|
|
1857
|
+
return invokeAndTransfer$2('WebView.compatRendererProcessInvokeAndTransfer', method, ...params);
|
|
1678
1858
|
};
|
|
1679
1859
|
|
|
1680
1860
|
const WebView = 'lvce-oss-webview';
|
|
@@ -1685,7 +1865,7 @@ const setPort = async (uid, port, origin, portType) => {
|
|
|
1685
1865
|
|
|
1686
1866
|
const invoke$1 = async (method, ...params) => {
|
|
1687
1867
|
// @ts-ignore
|
|
1688
|
-
return invoke$
|
|
1868
|
+
return invoke$3('WebView.compatSharedProcessInvoke', method, ...params);
|
|
1689
1869
|
};
|
|
1690
1870
|
|
|
1691
1871
|
const registerProtocol = async () => {
|
|
@@ -1728,11 +1908,11 @@ const register$2 = async (previewServerId, webViewPort, frameAncestors, webViewR
|
|
|
1728
1908
|
await create(previewServerId, useNewWebViewHandler); // TODO move this up
|
|
1729
1909
|
await start(previewServerId, webViewPort); // TODO move this up
|
|
1730
1910
|
await (useNewWebViewHandler ? setInfo2({
|
|
1731
|
-
webViewRoot,
|
|
1732
|
-
webViewId,
|
|
1733
1911
|
contentSecurityPolicy: csp,
|
|
1734
1912
|
iframeContent,
|
|
1735
|
-
remotePathPrefix
|
|
1913
|
+
remotePathPrefix,
|
|
1914
|
+
webViewId,
|
|
1915
|
+
webViewRoot
|
|
1736
1916
|
}) : setHandler(previewServerId, frameAncestors, webViewRoot, csp, iframeContent));
|
|
1737
1917
|
// TODO make this work in gitpod also
|
|
1738
1918
|
};
|
|
@@ -1743,10 +1923,10 @@ const register$1 = async () => {
|
|
|
1743
1923
|
|
|
1744
1924
|
const getModule = platform => {
|
|
1745
1925
|
switch (platform) {
|
|
1746
|
-
case Remote:
|
|
1747
|
-
return register$2;
|
|
1748
1926
|
case Electron:
|
|
1749
1927
|
return register$3;
|
|
1928
|
+
case Remote:
|
|
1929
|
+
return register$2;
|
|
1750
1930
|
default:
|
|
1751
1931
|
return register$1;
|
|
1752
1932
|
}
|
|
@@ -1758,14 +1938,14 @@ const register = async (previewServerId, webViewPort, frameAncestors, webViewRoo
|
|
|
1758
1938
|
};
|
|
1759
1939
|
|
|
1760
1940
|
const create2 = async ({
|
|
1941
|
+
assetDir = '',
|
|
1761
1942
|
id,
|
|
1762
|
-
|
|
1763
|
-
|
|
1943
|
+
isGitpod,
|
|
1944
|
+
platform,
|
|
1764
1945
|
previewServerId,
|
|
1765
1946
|
uri,
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
assetDir = '',
|
|
1947
|
+
webViewId,
|
|
1948
|
+
webViewPort,
|
|
1769
1949
|
webViewScheme = WebView
|
|
1770
1950
|
}) => {
|
|
1771
1951
|
let root = '';
|
|
@@ -1784,9 +1964,9 @@ const create2 = async ({
|
|
|
1784
1964
|
|
|
1785
1965
|
// TODO move all of this to iframe worker
|
|
1786
1966
|
const {
|
|
1967
|
+
iframeContent,
|
|
1787
1968
|
iframeSrc,
|
|
1788
|
-
webViewRoot
|
|
1789
|
-
iframeContent
|
|
1969
|
+
webViewRoot
|
|
1790
1970
|
} = iframeResult;
|
|
1791
1971
|
const frameAncestors = getWebViewFrameAncestors(locationProtocol, locationHost);
|
|
1792
1972
|
const frameTitle = getWebViewTitle(webView);
|
|
@@ -1802,7 +1982,7 @@ const create2 = async ({
|
|
|
1802
1982
|
const permissionPolicyString = permissionPolicy.join('; ');
|
|
1803
1983
|
const iframeCsp = platform === Web ? csp : '';
|
|
1804
1984
|
const credentialless = getCredentialLess(locationHost);
|
|
1805
|
-
await invoke$
|
|
1985
|
+
await invoke$3('ExtensionHostManagement.activateByEvent', `onWebView:${webViewId}`);
|
|
1806
1986
|
const {
|
|
1807
1987
|
port1,
|
|
1808
1988
|
port2
|
|
@@ -1819,15 +1999,15 @@ const create2 = async ({
|
|
|
1819
1999
|
const origin = getWebViewOrigin(webViewPort, platform, webViewScheme, webViewId);
|
|
1820
2000
|
const portType = '';
|
|
1821
2001
|
await setPort(id, port1, origin, portType);
|
|
1822
|
-
await invokeAndTransfer$
|
|
2002
|
+
await invokeAndTransfer$4('ExtensionHostWebView.create', webViewId, port2, uri, id, origin, webView);
|
|
1823
2003
|
const savedState = await getSavedWebViewState(webViewId);
|
|
1824
|
-
await invoke$
|
|
2004
|
+
await invoke$5('ExtensionHostWebView.load', webViewId, savedState);
|
|
1825
2005
|
return {
|
|
2006
|
+
csp: iframeCsp,
|
|
1826
2007
|
iframeSrc,
|
|
1827
|
-
sandbox,
|
|
1828
|
-
portId,
|
|
1829
2008
|
origin,
|
|
1830
|
-
|
|
2009
|
+
portId,
|
|
2010
|
+
sandbox
|
|
1831
2011
|
};
|
|
1832
2012
|
};
|
|
1833
2013
|
|
|
@@ -1842,11 +2022,11 @@ const createAndLoadWebView = async (id, iframeSrc, sandbox, iframeCsp, credentia
|
|
|
1842
2022
|
|
|
1843
2023
|
const invoke = async (method, ...params) => {
|
|
1844
2024
|
// @ts-ignore
|
|
1845
|
-
return invoke$
|
|
2025
|
+
return invoke$3('WebView.compatRendererWorkerInvoke', method, ...params);
|
|
1846
2026
|
};
|
|
1847
2027
|
const invokeAndTransfer = async (method, ...params) => {
|
|
1848
2028
|
// @ts-ignore
|
|
1849
|
-
return invokeAndTransfer$
|
|
2029
|
+
return invokeAndTransfer$2('WebView.compatRendererWorkerInvokeAndTransfer', method, ...params);
|
|
1850
2030
|
};
|
|
1851
2031
|
|
|
1852
2032
|
const createSecondaryWebViewConnection = async (uid, origin, port) => {
|
|
@@ -1855,19 +2035,13 @@ const createSecondaryWebViewConnection = async (uid, origin, port) => {
|
|
|
1855
2035
|
};
|
|
1856
2036
|
|
|
1857
2037
|
const createWebViewConnection = async (uid, origin) => {
|
|
1858
|
-
const {
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
isMessagePortOpen: false,
|
|
1865
|
-
commandMap: {}
|
|
2038
|
+
const rpc = await TransferMessagePortRpcParent.create({
|
|
2039
|
+
commandMap: {},
|
|
2040
|
+
async send(port) {
|
|
2041
|
+
const portType = 'test';
|
|
2042
|
+
await invokeAndTransfer('WebView.setPort', uid, port, origin, portType);
|
|
2043
|
+
}
|
|
1866
2044
|
});
|
|
1867
|
-
const portType = 'test';
|
|
1868
|
-
await invokeAndTransfer('WebView.setPort', uid, port1, origin, portType);
|
|
1869
|
-
// TODO dispose rpc to avoid memory leak
|
|
1870
|
-
const rpc = await rpcPromise;
|
|
1871
2045
|
return rpc;
|
|
1872
2046
|
};
|
|
1873
2047
|
|
|
@@ -1965,22 +2139,16 @@ const commandMap$1 = {
|
|
|
1965
2139
|
};
|
|
1966
2140
|
|
|
1967
2141
|
const getWebViewWorkerRpc2 = async rpcInfo => {
|
|
1968
|
-
const {
|
|
1969
|
-
port1,
|
|
1970
|
-
port2
|
|
1971
|
-
} = getPortTuple();
|
|
1972
|
-
const rpcPromise = MessagePortRpcParent.create({
|
|
2142
|
+
const rpc = await TransferMessagePortRpcParent.create({
|
|
1973
2143
|
commandMap: commandMap$1,
|
|
1974
|
-
|
|
1975
|
-
|
|
2144
|
+
async send(port) {
|
|
2145
|
+
await invokeAndTransfer$4('WebView.createWebViewWorkerRpc2', rpcInfo, port);
|
|
2146
|
+
}
|
|
1976
2147
|
});
|
|
1977
2148
|
// TODO
|
|
1978
2149
|
// 1. ask extension host worker to ask renderer worker to ask renderer process to create a worker with given url
|
|
1979
2150
|
// 2. send the port through renderer worker to renderer process to the worker for a direct connection
|
|
1980
|
-
await invokeAndTransfer$2('WebView.createWebViewWorkerRpc2', rpcInfo, port1);
|
|
1981
|
-
const rpc = await rpcPromise;
|
|
1982
2151
|
// TODO rpc module should start the port
|
|
1983
|
-
port2.start();
|
|
1984
2152
|
return rpc;
|
|
1985
2153
|
};
|
|
1986
2154
|
|
|
@@ -2039,11 +2207,11 @@ const proxyPorts = (port1, port2) => {
|
|
|
2039
2207
|
const createWebWorkerRpc2 = async (rpcInfo, webView, savedState, uri, portId, webViewUid, origin) => {
|
|
2040
2208
|
const rpc = await getWebViewWorkerRpc2(rpcInfo);
|
|
2041
2209
|
const webViewInfo = {
|
|
2210
|
+
origin,
|
|
2211
|
+
portId: portId,
|
|
2042
2212
|
rpc,
|
|
2043
2213
|
webViewId: webView.id,
|
|
2044
|
-
|
|
2045
|
-
webViewUid,
|
|
2046
|
-
origin
|
|
2214
|
+
webViewUid
|
|
2047
2215
|
};
|
|
2048
2216
|
set(portId, webViewInfo);
|
|
2049
2217
|
|
|
@@ -2073,8 +2241,8 @@ const createWebWorkerRpc2 = async (rpcInfo, webView, savedState, uri, portId, we
|
|
|
2073
2241
|
await rpc.invoke('_WebView.create', {
|
|
2074
2242
|
id: portId,
|
|
2075
2243
|
savedState,
|
|
2076
|
-
|
|
2077
|
-
|
|
2244
|
+
uri,
|
|
2245
|
+
webViewId: webView.id
|
|
2078
2246
|
});
|
|
2079
2247
|
};
|
|
2080
2248
|
|
|
@@ -2088,10 +2256,10 @@ const getWebViewWorkerRpc = async rpcInfo => {
|
|
|
2088
2256
|
} = getPortTuple();
|
|
2089
2257
|
const rpcPromise = MessagePortRpcParent.create({
|
|
2090
2258
|
commandMap: commandMap$1,
|
|
2091
|
-
|
|
2092
|
-
|
|
2259
|
+
isMessagePortOpen: true,
|
|
2260
|
+
messagePort: port2
|
|
2093
2261
|
});
|
|
2094
|
-
await invokeAndTransfer$
|
|
2262
|
+
await invokeAndTransfer$4('WebView.createWebViewWorkerRpc', rpcInfo, port1);
|
|
2095
2263
|
const rpc = await rpcPromise;
|
|
2096
2264
|
// TODO rpc module should start the port
|
|
2097
2265
|
port2.start();
|
|
@@ -2103,11 +2271,11 @@ const createWebViewRpc$1 = async (rpcInfo, webView, savedState, uri, portId, web
|
|
|
2103
2271
|
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
2104
2272
|
const rpc = await getWebViewWorkerRpc(rpcInfo);
|
|
2105
2273
|
const webViewInfo = {
|
|
2274
|
+
origin,
|
|
2275
|
+
portId: portId,
|
|
2106
2276
|
rpc,
|
|
2107
2277
|
webViewId: webView.id,
|
|
2108
|
-
|
|
2109
|
-
webViewUid,
|
|
2110
|
-
origin
|
|
2278
|
+
webViewUid
|
|
2111
2279
|
};
|
|
2112
2280
|
set(portId, webViewInfo);
|
|
2113
2281
|
await rpc.invoke('LoadFile.loadFile', rpcInfo.url);
|
|
@@ -2123,8 +2291,8 @@ const createWebViewRpc$1 = async (rpcInfo, webView, savedState, uri, portId, web
|
|
|
2123
2291
|
await rpc.invoke('_WebView.create', {
|
|
2124
2292
|
id: portId,
|
|
2125
2293
|
savedState,
|
|
2126
|
-
|
|
2127
|
-
|
|
2294
|
+
uri,
|
|
2295
|
+
webViewId: webView.id
|
|
2128
2296
|
});
|
|
2129
2297
|
};
|
|
2130
2298
|
|
|
@@ -2132,7 +2300,7 @@ const createWebViewRpc = async (webView, savedState, uri, portId, webViewUid, or
|
|
|
2132
2300
|
if (!webView || !webView.rpc || typeof webView.rpc !== 'string') {
|
|
2133
2301
|
return;
|
|
2134
2302
|
}
|
|
2135
|
-
const rpcInfo = await invoke$
|
|
2303
|
+
const rpcInfo = await invoke$5('WebView.getRpcInfo', webView.rpc);
|
|
2136
2304
|
if (rpcInfo && rpcInfo.type === 'web-worker-2') {
|
|
2137
2305
|
return createWebWorkerRpc2(rpcInfo, webView, savedState, uri, portId, webViewUid, origin);
|
|
2138
2306
|
}
|
|
@@ -2172,13 +2340,13 @@ const getWebViewPort = (platform, locationPort) => {
|
|
|
2172
2340
|
};
|
|
2173
2341
|
|
|
2174
2342
|
const create3 = async ({
|
|
2343
|
+
assetDir,
|
|
2175
2344
|
id,
|
|
2176
|
-
uri,
|
|
2177
2345
|
isGitpod,
|
|
2178
2346
|
platform,
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2347
|
+
uri,
|
|
2348
|
+
useNewWebViewHandler,
|
|
2349
|
+
webViewScheme
|
|
2182
2350
|
}) => {
|
|
2183
2351
|
setPlatform(platform);
|
|
2184
2352
|
let root = '';
|
|
@@ -2199,9 +2367,9 @@ const create3 = async ({
|
|
|
2199
2367
|
}
|
|
2200
2368
|
const webView = getWebView(webViews, webViewId);
|
|
2201
2369
|
const {
|
|
2370
|
+
iframeContent,
|
|
2202
2371
|
iframeSrc,
|
|
2203
|
-
webViewRoot
|
|
2204
|
-
iframeContent
|
|
2372
|
+
webViewRoot
|
|
2205
2373
|
} = iframeResult;
|
|
2206
2374
|
const frameAncestors = getWebViewFrameAncestors(locationProtocol, locationHost);
|
|
2207
2375
|
const frameTitle = getWebViewTitle(webView);
|
|
@@ -2219,7 +2387,7 @@ const create3 = async ({
|
|
|
2219
2387
|
const credentialless = getCredentialLess(locationHost);
|
|
2220
2388
|
|
|
2221
2389
|
// TODO remove this
|
|
2222
|
-
await invoke$
|
|
2390
|
+
await invoke$3('ExtensionHostManagement.activateByEvent', `onWebView:${webViewId}`);
|
|
2223
2391
|
const portId = create$1();
|
|
2224
2392
|
const remotePathPrefix = '/remote';
|
|
2225
2393
|
await register(previewServerId, webViewPort, frameAncestors, webViewRoot, csp, iframeContent, platform, webViewId, remotePathPrefix, useNewWebViewHandler);
|
|
@@ -2233,25 +2401,25 @@ const create3 = async ({
|
|
|
2233
2401
|
} = getPortTuple();
|
|
2234
2402
|
const portType = '';
|
|
2235
2403
|
await setPort(id, port1, origin, portType);
|
|
2236
|
-
await invokeAndTransfer$
|
|
2404
|
+
await invokeAndTransfer$4('ExtensionHostWebView.create', webViewId, port2, uri, id, origin, webView);
|
|
2237
2405
|
}
|
|
2238
2406
|
const savedState = await getSavedWebViewState(webViewId);
|
|
2239
2407
|
if (hasOldRpc) {
|
|
2240
|
-
await invoke$
|
|
2408
|
+
await invoke$5('ExtensionHostWebView.load', webViewId, savedState);
|
|
2241
2409
|
}
|
|
2242
2410
|
await createWebViewRpc(webView, savedState, uri, portId, id, origin);
|
|
2243
2411
|
return {
|
|
2412
|
+
csp: iframeCsp,
|
|
2244
2413
|
iframeSrc,
|
|
2245
|
-
sandbox,
|
|
2246
|
-
portId,
|
|
2247
2414
|
origin,
|
|
2248
|
-
|
|
2415
|
+
portId,
|
|
2416
|
+
sandbox
|
|
2249
2417
|
};
|
|
2250
2418
|
};
|
|
2251
2419
|
|
|
2252
2420
|
const executeCommand = (method, ...params) => {
|
|
2253
2421
|
// @ts-ignore
|
|
2254
|
-
return invoke$
|
|
2422
|
+
return invoke$3('ExecuteExternalCommand.executeExternalCommand', method, ...params);
|
|
2255
2423
|
};
|
|
2256
2424
|
|
|
2257
2425
|
const getSecret = async key => {
|
|
@@ -2263,14 +2431,24 @@ const getWebViewInfo = webViewId => {
|
|
|
2263
2431
|
for (const value of Object.values(rpcs)) {
|
|
2264
2432
|
if (value.webViewId === webViewId) {
|
|
2265
2433
|
return {
|
|
2266
|
-
|
|
2267
|
-
|
|
2434
|
+
origin: value.origin,
|
|
2435
|
+
uid: value.webViewUid
|
|
2268
2436
|
};
|
|
2269
2437
|
}
|
|
2270
2438
|
}
|
|
2271
2439
|
return undefined;
|
|
2272
2440
|
};
|
|
2273
2441
|
|
|
2442
|
+
const handleMessagePort2 = async (port, rpcId) => {
|
|
2443
|
+
const rpc = await PlainMessagePortRpcParent.create({
|
|
2444
|
+
commandMap: {},
|
|
2445
|
+
messagePort: port
|
|
2446
|
+
});
|
|
2447
|
+
if (rpcId) {
|
|
2448
|
+
set$2(rpcId, rpc);
|
|
2449
|
+
}
|
|
2450
|
+
};
|
|
2451
|
+
|
|
2274
2452
|
const saveState = async () => {
|
|
2275
2453
|
const all = getAll$1();
|
|
2276
2454
|
const serialized = [];
|
|
@@ -2297,14 +2475,16 @@ const unregisterInterceptor = async id => {
|
|
|
2297
2475
|
};
|
|
2298
2476
|
|
|
2299
2477
|
const commandMap = {
|
|
2478
|
+
'Iframes.handleMessagePort': handleMessagePort2,
|
|
2479
|
+
'Iframes.initialize': handleMessagePort2,
|
|
2300
2480
|
'WebView.create2': create2,
|
|
2301
2481
|
'WebView.create3': create3,
|
|
2302
|
-
'WebView.
|
|
2482
|
+
'WebView.executeExternalCommand': executeCommand,
|
|
2303
2483
|
'WebView.getSecret': getSecret,
|
|
2304
2484
|
'WebView.getWebViewInfo': getWebViewInfo,
|
|
2305
2485
|
'WebView.registerInterceptor': registerInterceptor,
|
|
2306
|
-
'WebView.
|
|
2307
|
-
'WebView.
|
|
2486
|
+
'WebView.saveState': saveState,
|
|
2487
|
+
'WebView.unregisterInterceptor': unregisterInterceptor
|
|
2308
2488
|
};
|
|
2309
2489
|
|
|
2310
2490
|
const listen = async () => {
|