@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.
@@ -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$5 = (message, result) => {
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$5(message, resultProperty);
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$3
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
- set: set$1,
993
- dispose
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$5('ExtensionHost.searchFileWithHtml', uri);
1115
+ return invoke$4('ExtensionHost.searchFileWithHtml', uri);
997
1116
  };
998
1117
  const getFilePathElectron = async file => {
999
- return invoke$5('FileSystemHandle.getFilePathElectron', file);
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$5('ContextMenu.show', x, y, id, ...args);
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$5('Process.getElectronVersion');
1135
+ return invoke$4('Process.getElectronVersion');
1006
1136
  };
1007
1137
  const applyBulkReplacement = async bulkEdits => {
1008
- await invoke$5('BulkReplacement.applyBulkReplacement', bulkEdits);
1138
+ await invoke$4('BulkReplacement.applyBulkReplacement', bulkEdits);
1009
1139
  };
1010
1140
  const setColorTheme = async id => {
1011
1141
  // @ts-ignore
1012
- return invoke$5(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
1142
+ return invoke$4(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
1013
1143
  };
1014
1144
  const getNodeVersion = async () => {
1015
- return invoke$5('Process.getNodeVersion');
1145
+ return invoke$4('Process.getNodeVersion');
1016
1146
  };
1017
1147
  const getChromeVersion = async () => {
1018
- return invoke$5('Process.getChromeVersion');
1148
+ return invoke$4('Process.getChromeVersion');
1019
1149
  };
1020
1150
  const getV8Version = async () => {
1021
- return invoke$5('Process.getV8Version');
1151
+ return invoke$4('Process.getV8Version');
1022
1152
  };
1023
1153
  const getFileHandles = async fileIds => {
1024
- const files = await invoke$5('FileSystemHandle.getFileHandles', fileIds);
1154
+ const files = await invoke$4('FileSystemHandle.getFileHandles', fileIds);
1025
1155
  return files;
1026
1156
  };
1027
1157
  const setWorkspacePath = async path => {
1028
- await invoke$5('Workspace.setPath', path);
1158
+ await invoke$4('Workspace.setPath', path);
1029
1159
  };
1030
1160
  const registerWebViewInterceptor = async (id, port) => {
1031
- await invokeAndTransfer$4('WebView.registerInterceptor', id, port);
1161
+ await invokeAndTransfer$3('WebView.registerInterceptor', id, port);
1032
1162
  };
1033
1163
  const unregisterWebViewInterceptor = async id => {
1034
- await invoke$5('WebView.unregisterInterceptor', id);
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$4('SendMessagePortToExtensionHostWorker.sendMessagePortToEditorWorker', port, command, rpcId);
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$4('SendMessagePortToExtensionHostWorker.sendMessagePortToErrorWorker', port, command, rpcId);
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$4('SendMessagePortToExtensionHostWorker.sendMessagePortToMarkdownWorker', port, command, rpcId);
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$4('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
1189
+ await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
1055
1190
  };
1056
1191
  const readFile$1 = async uri => {
1057
- return invoke$5('FileSystem.readFile', uri);
1192
+ return invoke$4('FileSystem.readFile', uri);
1058
1193
  };
1059
1194
  const getWebViewSecret = async key => {
1060
1195
  // @ts-ignore
1061
- return invoke$5('WebView.getSecret', key);
1196
+ return invoke$4('WebView.getSecret', key);
1062
1197
  };
1063
1198
  const setWebViewPort = async (uid, port, origin, portType) => {
1064
- return invokeAndTransfer$4('WebView.setPort', uid, port, origin, portType);
1199
+ return invokeAndTransfer$3('WebView.setPort', uid, port, origin, portType);
1065
1200
  };
1066
1201
  const setFocus = key => {
1067
- return invoke$5('Focus.setFocus', key);
1202
+ return invoke$4('Focus.setFocus', key);
1068
1203
  };
1069
1204
  const getFileIcon = async options => {
1070
- return invoke$5('IconTheme.getFileIcon', options);
1205
+ return invoke$4('IconTheme.getFileIcon', options);
1071
1206
  };
1072
1207
  const getColorThemeNames = async () => {
1073
- return invoke$5('ColorTheme.getColorThemeNames');
1208
+ return invoke$4('ColorTheme.getColorThemeNames');
1074
1209
  };
1075
1210
  const disableExtension = async id => {
1076
1211
  // @ts-ignore
1077
- return invoke$5('ExtensionManagement.disable', id);
1212
+ return invoke$4('ExtensionManagement.disable', id);
1078
1213
  };
1079
1214
  const enableExtension = async id => {
1080
1215
  // @ts-ignore
1081
- return invoke$5('ExtensionManagement.enable', id);
1216
+ return invoke$4('ExtensionManagement.enable', id);
1082
1217
  };
1083
1218
  const handleDebugChange = async params => {
1084
1219
  // @ts-ignore
1085
- return invoke$5('Run And Debug.handleChange', params);
1220
+ return invoke$4('Run And Debug.handleChange', params);
1086
1221
  };
1087
1222
  const getFolderIcon = async options => {
1088
- return invoke$5('IconTheme.getFolderIcon', options);
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$5('Viewlet.closeWidget', widgetId);
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$4('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
1233
+ await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
1096
1234
  };
1097
1235
  const sendMessagePortToSearchProcess = async port => {
1098
- await invokeAndTransfer$4('SendMessagePortToElectron.sendMessagePortToElectron', port, 'HandleMessagePortForSearchProcess.handleMessagePortForSearchProcess');
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$5('ConfirmPrompt.prompt', message, options);
1240
+ const result = await invoke$4('ConfirmPrompt.prompt', message, options);
1103
1241
  return result;
1104
1242
  };
1105
1243
  const getRecentlyOpened = async () => {
1106
- return invoke$5(/* RecentlyOpened.getRecentlyOpened */'RecentlyOpened.getRecentlyOpened');
1244
+ return invoke$4(/* RecentlyOpened.getRecentlyOpened */'RecentlyOpened.getRecentlyOpened');
1107
1245
  };
1108
1246
  const getKeyBindings = async () => {
1109
- return invoke$5('KeyBindingsInitial.getKeyBindings');
1247
+ return invoke$4('KeyBindingsInitial.getKeyBindings');
1110
1248
  };
1111
1249
  const writeClipBoardText = async text => {
1112
- await invoke$5('ClipBoard.writeText', /* text */text);
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$5('ClipBoard.writeImage', /* text */blob);
1257
+ await invoke$4('ClipBoard.writeImage', /* text */blob);
1117
1258
  };
1118
1259
  const searchFileMemory = async uri => {
1119
1260
  // @ts-ignore
1120
- return invoke$5('ExtensionHost.searchFileWithMemory', uri);
1261
+ return invoke$4('ExtensionHost.searchFileWithMemory', uri);
1121
1262
  };
1122
1263
  const searchFileFetch = async uri => {
1123
- return invoke$5('ExtensionHost.searchFileWithFetch', uri);
1264
+ return invoke$4('ExtensionHost.searchFileWithFetch', uri);
1124
1265
  };
1125
1266
  const showMessageBox = async options => {
1126
- return invoke$5('ElectronDialog.showMessageBox', options);
1267
+ return invoke$4('ElectronDialog.showMessageBox', options);
1127
1268
  };
1128
1269
  const handleDebugResumed = async params => {
1129
- await invoke$5('Run And Debug.handleResumed', params);
1270
+ await invoke$4('Run And Debug.handleResumed', params);
1130
1271
  };
1131
1272
  const openWidget = async name => {
1132
- await invoke$5('Viewlet.openWidget', name);
1273
+ await invoke$4('Viewlet.openWidget', name);
1133
1274
  };
1134
1275
  const getIcons = async requests => {
1135
- const icons = await invoke$5('IconTheme.getIcons', requests);
1276
+ const icons = await invoke$4('IconTheme.getIcons', requests);
1136
1277
  return icons;
1137
1278
  };
1138
1279
  const activateByEvent = event => {
1139
- return invoke$5('ExtensionHostManagement.activateByEvent', event);
1280
+ return invoke$4('ExtensionHostManagement.activateByEvent', event);
1140
1281
  };
1141
1282
  const setAdditionalFocus = focusKey => {
1142
1283
  // @ts-ignore
1143
- return invoke$5('Focus.setAdditionalFocus', focusKey);
1284
+ return invoke$4('Focus.setAdditionalFocus', focusKey);
1144
1285
  };
1145
1286
  const getActiveEditorId = () => {
1146
1287
  // @ts-ignore
1147
- return invoke$5('GetActiveEditor.getActiveEditorId');
1288
+ return invoke$4('GetActiveEditor.getActiveEditorId');
1148
1289
  };
1149
1290
  const getWorkspacePath = () => {
1150
- return invoke$5('Workspace.getPath');
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$4('SendMessagePortToExtensionHostWorker.sendMessagePortToRendererProcess', port, command, DebugWorker);
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$5('Preferences.get', key);
1326
+ return await invoke$4('Preferences.get', key);
1159
1327
  };
1160
1328
  const getAllExtensions = async () => {
1161
- return invoke$5('ExtensionManagement.getAllExtensions');
1329
+ return invoke$4('ExtensionManagement.getAllExtensions');
1162
1330
  };
1163
1331
  const rerenderEditor = async key => {
1164
1332
  // @ts-ignore
1165
- return invoke$5('Editor.rerender', key);
1333
+ return invoke$4('Editor.rerender', key);
1166
1334
  };
1167
1335
  const handleDebugPaused = async params => {
1168
- await invoke$5('Run And Debug.handlePaused', params);
1336
+ await invoke$4('Run And Debug.handlePaused', params);
1169
1337
  };
1170
1338
  const openUri = async (uri, focus, options) => {
1171
- await invoke$5('Main.openUri', uri, focus, options);
1339
+ await invoke$4('Main.openUri', uri, focus, options);
1172
1340
  };
1173
1341
  const sendMessagePortToSyntaxHighlightingWorker = async port => {
1174
- await invokeAndTransfer$4(
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$5('Run And Debug.handleScriptParsed', script);
1347
+ await invoke$4('Run And Debug.handleScriptParsed', script);
1180
1348
  };
1181
1349
  const getWindowId = async () => {
1182
- return invoke$5('GetWindowId.getWindowId');
1350
+ return invoke$4('GetWindowId.getWindowId');
1183
1351
  };
1184
1352
  const getBlob = async uri => {
1185
1353
  // @ts-ignore
1186
- return invoke$5('FileSystem.getBlob', uri);
1354
+ return invoke$4('FileSystem.getBlob', uri);
1187
1355
  };
1188
1356
  const getExtensionCommands = async () => {
1189
- return invoke$5('ExtensionHost.getCommands');
1357
+ return invoke$4('ExtensionHost.getCommands');
1190
1358
  };
1191
1359
  const showErrorDialog = async errorInfo => {
1192
1360
  // @ts-ignore
1193
- await invoke$5('ErrorHandling.showErrorDialog', errorInfo);
1361
+ await invoke$4('ErrorHandling.showErrorDialog', errorInfo);
1194
1362
  };
1195
1363
  const getFolderSize = async uri => {
1196
1364
  // @ts-ignore
1197
- return await invoke$5('FileSystem.getFolderSize', uri);
1365
+ return await invoke$4('FileSystem.getFolderSize', uri);
1198
1366
  };
1199
1367
  const getExtension = async id => {
1200
1368
  // @ts-ignore
1201
- return invoke$5('ExtensionManagement.getExtension', id);
1369
+ return invoke$4('ExtensionManagement.getExtension', id);
1202
1370
  };
1203
1371
  const getMarkdownDom = async html => {
1204
1372
  // @ts-ignore
1205
- return invoke$5('Markdown.getVirtualDom', html);
1373
+ return invoke$4('Markdown.getVirtualDom', html);
1206
1374
  };
1207
1375
  const renderMarkdown = async (markdown, options) => {
1208
1376
  // @ts-ignore
1209
- return invoke$5('Markdown.renderMarkdown', markdown, options);
1377
+ return invoke$4('Markdown.renderMarkdown', markdown, options);
1210
1378
  };
1211
1379
  const openNativeFolder = async uri => {
1212
1380
  // @ts-ignore
1213
- await invoke$5('OpenNativeFolder.openNativeFolder', uri);
1381
+ await invoke$4('OpenNativeFolder.openNativeFolder', uri);
1214
1382
  };
1215
1383
  const uninstallExtension = async id => {
1216
- return invoke$5('ExtensionManagement.uninstall', id);
1384
+ return invoke$4('ExtensionManagement.uninstall', id);
1217
1385
  };
1218
1386
  const installExtension = async id => {
1219
1387
  // @ts-ignore
1220
- return invoke$5('ExtensionManagement.install', id);
1388
+ return invoke$4('ExtensionManagement.install', id);
1221
1389
  };
1222
1390
  const openExtensionSearch = async () => {
1223
1391
  // @ts-ignore
1224
- return invoke$5('SideBar.openViewlet', 'Extensions');
1392
+ return invoke$4('SideBar.openViewlet', 'Extensions');
1225
1393
  };
1226
1394
  const setExtensionsSearchValue = async searchValue => {
1227
1395
  // @ts-ignore
1228
- return invoke$5('Extensions.handleInput', searchValue);
1396
+ return invoke$4('Extensions.handleInput', searchValue, Script);
1229
1397
  };
1230
1398
  const openExternal = async uri => {
1231
1399
  // @ts-ignore
1232
- await invoke$5('Open.openExternal', uri);
1400
+ await invoke$4('Open.openExternal', uri);
1233
1401
  };
1234
1402
  const openUrl = async uri => {
1235
1403
  // @ts-ignore
1236
- await invoke$5('Open.openUrl', uri);
1404
+ await invoke$4('Open.openUrl', uri);
1237
1405
  };
1238
1406
  const getAllPreferences = async () => {
1239
1407
  // @ts-ignore
1240
- return invoke$5('Preferences.getAll');
1408
+ return invoke$4('Preferences.getAll');
1241
1409
  };
1242
1410
  const showSaveFilePicker = async () => {
1243
1411
  // @ts-ignore
1244
- return invoke$5('FilePicker.showSaveFilePicker');
1412
+ return invoke$4('FilePicker.showSaveFilePicker');
1245
1413
  };
1246
1414
  const getLogsDir = async () => {
1247
1415
  // @ts-ignore
1248
- return invoke$5('PlatformPaths.getLogsDir');
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$5,
1291
- invokeAndTransfer: invokeAndTransfer$4,
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 'title':
1405
- middle.push(`<title>${element.value}</title>`);
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 'css':
1412
- middle.push(`<link rel="stylesheet" href="${locationOrigin}${baseUrl}/${element.path}" />`);
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
- remotePath,
1489
- path
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$4('WebView.getSavedState');
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$4('WebView.getWebViews');
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$4('WebView.compatRendererProcessInvoke', method, ...params);
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$3('WebView.compatRendererProcessInvokeAndTransfer', method, ...params);
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$4('WebView.compatSharedProcessInvoke', method, ...params);
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
- webViewPort,
1763
- webViewId,
1943
+ isGitpod,
1944
+ platform,
1764
1945
  previewServerId,
1765
1946
  uri,
1766
- platform,
1767
- isGitpod,
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$4('ExtensionHostManagement.activateByEvent', `onWebView:${webViewId}`);
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$2('ExtensionHostWebView.create', webViewId, port2, uri, id, origin, webView);
2002
+ await invokeAndTransfer$4('ExtensionHostWebView.create', webViewId, port2, uri, id, origin, webView);
1823
2003
  const savedState = await getSavedWebViewState(webViewId);
1824
- await invoke$3('ExtensionHostWebView.load', webViewId, savedState);
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
- csp: iframeCsp
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$4('WebView.compatRendererWorkerInvoke', method, ...params);
2025
+ return invoke$3('WebView.compatRendererWorkerInvoke', method, ...params);
1846
2026
  };
1847
2027
  const invokeAndTransfer = async (method, ...params) => {
1848
2028
  // @ts-ignore
1849
- return invokeAndTransfer$3('WebView.compatRendererWorkerInvokeAndTransfer', method, ...params);
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
- port1,
1860
- port2
1861
- } = getPortTuple();
1862
- const rpcPromise = MessagePortRpcParent.create({
1863
- messagePort: port2,
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
- messagePort: port2,
1975
- isMessagePortOpen: true
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
- portId: portId,
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
- webViewId: webView.id,
2077
- uri
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
- messagePort: port2,
2092
- isMessagePortOpen: true
2259
+ isMessagePortOpen: true,
2260
+ messagePort: port2
2093
2261
  });
2094
- await invokeAndTransfer$2('WebView.createWebViewWorkerRpc', rpcInfo, port1);
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
- portId: portId,
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
- webViewId: webView.id,
2127
- uri
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$3('WebView.getRpcInfo', webView.rpc);
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
- assetDir,
2180
- webViewScheme,
2181
- useNewWebViewHandler
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$4('ExtensionHostManagement.activateByEvent', `onWebView:${webViewId}`);
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$2('ExtensionHostWebView.create', webViewId, port2, uri, id, origin, webView);
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$3('ExtensionHostWebView.load', webViewId, savedState);
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
- csp: iframeCsp
2415
+ portId,
2416
+ sandbox
2249
2417
  };
2250
2418
  };
2251
2419
 
2252
2420
  const executeCommand = (method, ...params) => {
2253
2421
  // @ts-ignore
2254
- return invoke$4('ExecuteExternalCommand.executeExternalCommand', method, ...params);
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
- uid: value.webViewUid,
2267
- origin: value.origin
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.saveState': saveState,
2482
+ 'WebView.executeExternalCommand': executeCommand,
2303
2483
  'WebView.getSecret': getSecret,
2304
2484
  'WebView.getWebViewInfo': getWebViewInfo,
2305
2485
  'WebView.registerInterceptor': registerInterceptor,
2306
- 'WebView.unregisterInterceptor': unregisterInterceptor,
2307
- 'WebView.executeExternalCommand': executeCommand
2486
+ 'WebView.saveState': saveState,
2487
+ 'WebView.unregisterInterceptor': unregisterInterceptor
2308
2488
  };
2309
2489
 
2310
2490
  const listen = async () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/iframe-worker",
3
- "version": "5.35.0",
3
+ "version": "6.0.0",
4
4
  "description": "Web Worker to manage creation and lifecycle of iframes in Lvce Editor",
5
5
  "keywords": [
6
6
  "iframe"