@lvce-editor/iframe-worker 5.36.0 → 6.1.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,55 @@ 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 object = value => {
94
+ const type = getType(value);
95
+ if (type !== Object$1) {
96
+ throw new AssertionError('expected value to be of type object');
97
+ }
98
+ };
99
+ const number = value => {
100
+ const type = getType(value);
101
+ if (type !== Number) {
102
+ throw new AssertionError('expected value to be of type number');
103
+ }
104
+ };
105
+
57
106
  const isMessagePort = value => {
58
107
  return value && value instanceof MessagePort;
59
108
  };
@@ -464,7 +513,7 @@ const IpcParentWithMessagePort$1 = {
464
513
  };
465
514
 
466
515
  const Two = '2.0';
467
- const create$4 = (method, params) => {
516
+ const create$4$1 = (method, params) => {
468
517
  return {
469
518
  jsonrpc: Two,
470
519
  method,
@@ -472,7 +521,7 @@ const create$4 = (method, params) => {
472
521
  };
473
522
  };
474
523
  const callbacks = Object.create(null);
475
- const set$3 = (id, fn) => {
524
+ const set$4 = (id, fn) => {
476
525
  callbacks[id] = fn;
477
526
  };
478
527
  const get$2 = id => {
@@ -491,7 +540,7 @@ const registerPromise = () => {
491
540
  resolve,
492
541
  promise
493
542
  } = Promise.withResolvers();
494
- set$3(id, resolve);
543
+ set$4(id, resolve);
495
544
  return {
496
545
  id,
497
546
  promise
@@ -719,7 +768,7 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
719
768
  const errorProperty = getErrorProperty(error, prettyError);
720
769
  return create$1$1(id, errorProperty);
721
770
  };
722
- const create$5 = (message, result) => {
771
+ const create$7 = (message, result) => {
723
772
  return {
724
773
  jsonrpc: Two,
725
774
  id: message.id,
@@ -728,7 +777,7 @@ const create$5 = (message, result) => {
728
777
  };
729
778
  const getSuccessResponse = (message, result) => {
730
779
  const resultProperty = result ?? null;
731
- return create$5(message, resultProperty);
780
+ return create$7(message, resultProperty);
732
781
  };
733
782
  const getErrorResponseSimple = (id, error) => {
734
783
  return {
@@ -833,13 +882,13 @@ const invokeHelper = async (ipc, method, params, useSendAndTransfer) => {
833
882
  return unwrapJsonRpcResult(responseMessage);
834
883
  };
835
884
  const send = (transport, method, ...params) => {
836
- const message = create$4(method, params);
885
+ const message = create$4$1(method, params);
837
886
  transport.send(message);
838
887
  };
839
- const invoke$6 = (ipc, method, ...params) => {
888
+ const invoke$5 = (ipc, method, ...params) => {
840
889
  return invokeHelper(ipc, method, params, false);
841
890
  };
842
- const invokeAndTransfer$5 = (ipc, method, ...params) => {
891
+ const invokeAndTransfer$4 = (ipc, method, ...params) => {
843
892
  return invokeHelper(ipc, method, params, true);
844
893
  };
845
894
 
@@ -875,10 +924,10 @@ const createRpc = ipc => {
875
924
  send(ipc, method, ...params);
876
925
  },
877
926
  invoke(method, ...params) {
878
- return invoke$6(ipc, method, ...params);
927
+ return invoke$5(ipc, method, ...params);
879
928
  },
880
929
  invokeAndTransfer(method, ...params) {
881
- return invokeAndTransfer$5(ipc, method, ...params);
930
+ return invokeAndTransfer$4(ipc, method, ...params);
882
931
  },
883
932
  async dispose() {
884
933
  await ipc?.dispose();
@@ -936,7 +985,54 @@ const MessagePortRpcParent = {
936
985
  __proto__: null,
937
986
  create: create$e
938
987
  };
988
+ const create$5 = async ({
989
+ commandMap,
990
+ messagePort
991
+ }) => {
992
+ // TODO create a commandMap per rpc instance
993
+ register$4(commandMap);
994
+ const rawIpc = await IpcParentWithMessagePort$1.create({
995
+ messagePort,
996
+ isMessagePortOpen: true
997
+ });
998
+ const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
999
+ handleIpc(ipc);
1000
+ const rpc = createRpc(ipc);
1001
+ messagePort.start();
1002
+ return rpc;
1003
+ };
1004
+ const create$4 = async ({
1005
+ commandMap,
1006
+ messagePort
1007
+ }) => {
1008
+ return create$5({
1009
+ commandMap,
1010
+ messagePort
1011
+ });
1012
+ };
1013
+ const PlainMessagePortRpcParent = {
1014
+ __proto__: null,
1015
+ create: create$4
1016
+ };
939
1017
  const create$3 = async ({
1018
+ commandMap,
1019
+ send
1020
+ }) => {
1021
+ const {
1022
+ port1,
1023
+ port2
1024
+ } = new MessageChannel();
1025
+ await send(port1);
1026
+ return create$5({
1027
+ commandMap,
1028
+ messagePort: port2
1029
+ });
1030
+ };
1031
+ const TransferMessagePortRpcParent = {
1032
+ __proto__: null,
1033
+ create: create$3
1034
+ };
1035
+ const create$6 = async ({
940
1036
  commandMap
941
1037
  }) => {
942
1038
  // TODO create a commandMap per rpc instance
@@ -948,14 +1044,39 @@ const create$3 = async ({
948
1044
  };
949
1045
  const WebWorkerRpcClient = {
950
1046
  __proto__: null,
951
- create: create$3
1047
+ create: create$6
1048
+ };
1049
+ const createMockRpc = ({
1050
+ commandMap
1051
+ }) => {
1052
+ const invocations = [];
1053
+ const invoke = (method, ...params) => {
1054
+ invocations.push([method, ...params]);
1055
+ const command = commandMap[method];
1056
+ if (!command) {
1057
+ throw new Error(`command ${method} not found`);
1058
+ }
1059
+ return command(...params);
1060
+ };
1061
+ const mockRpc = {
1062
+ invoke,
1063
+ invokeAndTransfer: invoke,
1064
+ invocations
1065
+ };
1066
+ return mockRpc;
952
1067
  };
953
1068
 
1069
+ const Script = 2;
1070
+
954
1071
  const DebugWorker = 55;
1072
+ const ExtensionHostWorker = 44;
955
1073
  const RendererWorker$1 = 1;
956
1074
 
957
1075
  const rpcs$1 = Object.create(null);
958
- const set$2 = (id, rpc) => {
1076
+ const set$3 = (id, rpc) => {
1077
+ if (rpcs$1[id]) {
1078
+ throw new Error(`rpc with id ${id} is already registered`);
1079
+ }
959
1080
  rpcs$1[id] = rpc;
960
1081
  };
961
1082
  const get$1 = id => {
@@ -964,6 +1085,10 @@ const get$1 = id => {
964
1085
 
965
1086
  const create$2 = rpcId => {
966
1087
  return {
1088
+ async dispose() {
1089
+ const rpc = get$1(rpcId);
1090
+ await rpc.dispose();
1091
+ },
967
1092
  // @ts-ignore
968
1093
  invoke(method, ...params) {
969
1094
  const rpc = get$1(rpcId);
@@ -977,275 +1102,336 @@ const create$2 = rpcId => {
977
1102
  return rpc.invokeAndTransfer(method, ...params);
978
1103
  },
979
1104
  set(rpc) {
980
- set$2(rpcId, rpc);
981
- },
982
- async dispose() {
983
- const rpc = get$1(rpcId);
984
- await rpc.dispose();
1105
+ set$3(rpcId, rpc);
985
1106
  }
986
1107
  };
987
1108
  };
988
1109
 
989
1110
  const {
990
- invoke: invoke$5,
991
- invokeAndTransfer: invokeAndTransfer$4,
992
- set: set$1,
993
- dispose
1111
+ invoke: invoke$4,
1112
+ invokeAndTransfer: invokeAndTransfer$3,
1113
+ set: set$2
1114
+ } = create$2(ExtensionHostWorker);
1115
+
1116
+ const {
1117
+ dispose,
1118
+ invoke: invoke$3,
1119
+ invokeAndTransfer: invokeAndTransfer$2,
1120
+ set: set$1
994
1121
  } = create$2(RendererWorker$1);
995
1122
  const searchFileHtml = async uri => {
996
- return invoke$5('ExtensionHost.searchFileWithHtml', uri);
1123
+ return invoke$3('ExtensionHost.searchFileWithHtml', uri);
997
1124
  };
998
1125
  const getFilePathElectron = async file => {
999
- return invoke$5('FileSystemHandle.getFilePathElectron', file);
1126
+ return invoke$3('FileSystemHandle.getFilePathElectron', file);
1000
1127
  };
1128
+ /**
1129
+ * @deprecated
1130
+ */
1001
1131
  const showContextMenu = async (x, y, id, ...args) => {
1002
- return invoke$5('ContextMenu.show', x, y, id, ...args);
1132
+ return invoke$3('ContextMenu.show', x, y, id, ...args);
1133
+ };
1134
+ const showContextMenu2 = async (uid, menuId, x, y, args) => {
1135
+ number(uid);
1136
+ number(menuId);
1137
+ number(x);
1138
+ number(y);
1139
+ // @ts-ignore
1140
+ await invoke$3('ContextMenu.show2', uid, menuId, x, y, args);
1003
1141
  };
1004
1142
  const getElectronVersion = async () => {
1005
- return invoke$5('Process.getElectronVersion');
1143
+ return invoke$3('Process.getElectronVersion');
1006
1144
  };
1007
1145
  const applyBulkReplacement = async bulkEdits => {
1008
- await invoke$5('BulkReplacement.applyBulkReplacement', bulkEdits);
1146
+ await invoke$3('BulkReplacement.applyBulkReplacement', bulkEdits);
1009
1147
  };
1010
1148
  const setColorTheme = async id => {
1011
1149
  // @ts-ignore
1012
- return invoke$5(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
1150
+ return invoke$3(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
1013
1151
  };
1014
1152
  const getNodeVersion = async () => {
1015
- return invoke$5('Process.getNodeVersion');
1153
+ return invoke$3('Process.getNodeVersion');
1016
1154
  };
1017
1155
  const getChromeVersion = async () => {
1018
- return invoke$5('Process.getChromeVersion');
1156
+ return invoke$3('Process.getChromeVersion');
1019
1157
  };
1020
1158
  const getV8Version = async () => {
1021
- return invoke$5('Process.getV8Version');
1159
+ return invoke$3('Process.getV8Version');
1022
1160
  };
1023
1161
  const getFileHandles = async fileIds => {
1024
- const files = await invoke$5('FileSystemHandle.getFileHandles', fileIds);
1162
+ const files = await invoke$3('FileSystemHandle.getFileHandles', fileIds);
1025
1163
  return files;
1026
1164
  };
1027
1165
  const setWorkspacePath = async path => {
1028
- await invoke$5('Workspace.setPath', path);
1166
+ await invoke$3('Workspace.setPath', path);
1029
1167
  };
1030
1168
  const registerWebViewInterceptor = async (id, port) => {
1031
- await invokeAndTransfer$4('WebView.registerInterceptor', id, port);
1169
+ await invokeAndTransfer$2('WebView.registerInterceptor', id, port);
1032
1170
  };
1033
1171
  const unregisterWebViewInterceptor = async id => {
1034
- await invoke$5('WebView.unregisterInterceptor', id);
1172
+ await invoke$3('WebView.unregisterInterceptor', id);
1035
1173
  };
1036
1174
  const sendMessagePortToEditorWorker = async (port, rpcId) => {
1037
1175
  const command = 'HandleMessagePort.handleMessagePort';
1038
1176
  // @ts-ignore
1039
- await invokeAndTransfer$4('SendMessagePortToExtensionHostWorker.sendMessagePortToEditorWorker', port, command, rpcId);
1177
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToEditorWorker', port, command, rpcId);
1040
1178
  };
1041
1179
  const sendMessagePortToErrorWorker = async (port, rpcId) => {
1042
1180
  const command = 'Errors.handleMessagePort';
1043
1181
  // @ts-ignore
1044
- await invokeAndTransfer$4('SendMessagePortToExtensionHostWorker.sendMessagePortToErrorWorker', port, command, rpcId);
1182
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToErrorWorker', port, command, rpcId);
1045
1183
  };
1046
1184
  const sendMessagePortToMarkdownWorker = async (port, rpcId) => {
1047
1185
  const command = 'Markdown.handleMessagePort';
1048
1186
  // @ts-ignore
1049
- await invokeAndTransfer$4('SendMessagePortToExtensionHostWorker.sendMessagePortToMarkdownWorker', port, command, rpcId);
1187
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToMarkdownWorker', port, command, rpcId);
1188
+ };
1189
+ const sendMessagePortToIconThemeWorker = async (port, rpcId) => {
1190
+ const command = 'IconTheme.handleMessagePort';
1191
+ // @ts-ignore
1192
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToIconThemeWorker', port, command, rpcId);
1050
1193
  };
1051
1194
  const sendMessagePortToFileSystemWorker = async (port, rpcId) => {
1052
1195
  const command = 'FileSystem.handleMessagePort';
1053
1196
  // @ts-ignore
1054
- await invokeAndTransfer$4('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
1197
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
1055
1198
  };
1056
1199
  const readFile$1 = async uri => {
1057
- return invoke$5('FileSystem.readFile', uri);
1200
+ return invoke$3('FileSystem.readFile', uri);
1058
1201
  };
1059
1202
  const getWebViewSecret = async key => {
1060
1203
  // @ts-ignore
1061
- return invoke$5('WebView.getSecret', key);
1204
+ return invoke$3('WebView.getSecret', key);
1062
1205
  };
1063
1206
  const setWebViewPort = async (uid, port, origin, portType) => {
1064
- return invokeAndTransfer$4('WebView.setPort', uid, port, origin, portType);
1207
+ return invokeAndTransfer$2('WebView.setPort', uid, port, origin, portType);
1065
1208
  };
1066
1209
  const setFocus = key => {
1067
- return invoke$5('Focus.setFocus', key);
1210
+ return invoke$3('Focus.setFocus', key);
1068
1211
  };
1069
1212
  const getFileIcon = async options => {
1070
- return invoke$5('IconTheme.getFileIcon', options);
1213
+ return invoke$3('IconTheme.getFileIcon', options);
1071
1214
  };
1072
1215
  const getColorThemeNames = async () => {
1073
- return invoke$5('ColorTheme.getColorThemeNames');
1216
+ return invoke$3('ColorTheme.getColorThemeNames');
1074
1217
  };
1075
1218
  const disableExtension = async id => {
1076
1219
  // @ts-ignore
1077
- return invoke$5('ExtensionManagement.disable', id);
1220
+ return invoke$3('ExtensionManagement.disable', id);
1078
1221
  };
1079
1222
  const enableExtension = async id => {
1080
1223
  // @ts-ignore
1081
- return invoke$5('ExtensionManagement.enable', id);
1224
+ return invoke$3('ExtensionManagement.enable', id);
1082
1225
  };
1083
1226
  const handleDebugChange = async params => {
1084
1227
  // @ts-ignore
1085
- return invoke$5('Run And Debug.handleChange', params);
1228
+ return invoke$3('Run And Debug.handleChange', params);
1086
1229
  };
1087
1230
  const getFolderIcon = async options => {
1088
- return invoke$5('IconTheme.getFolderIcon', options);
1231
+ return invoke$3('IconTheme.getFolderIcon', options);
1232
+ };
1233
+ const handleWorkspaceRefresh = async () => {
1234
+ return invoke$3('Layout.handleWorkspaceRefresh');
1089
1235
  };
1090
1236
  const closeWidget = async widgetId => {
1091
- return invoke$5('Viewlet.closeWidget', widgetId);
1237
+ return invoke$3('Viewlet.closeWidget', widgetId);
1092
1238
  };
1093
1239
  const sendMessagePortToExtensionHostWorker = async (port, rpcId = 0) => {
1094
1240
  const command = 'HandleMessagePort.handleMessagePort2';
1095
- await invokeAndTransfer$4('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
1241
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
1096
1242
  };
1097
1243
  const sendMessagePortToSearchProcess = async port => {
1098
- await invokeAndTransfer$4('SendMessagePortToElectron.sendMessagePortToElectron', port, 'HandleMessagePortForSearchProcess.handleMessagePortForSearchProcess');
1244
+ await invokeAndTransfer$2('SendMessagePortToElectron.sendMessagePortToElectron', port, 'HandleMessagePortForSearchProcess.handleMessagePortForSearchProcess');
1099
1245
  };
1100
1246
  const confirm = async (message, options) => {
1101
1247
  // @ts-ignore
1102
- const result = await invoke$5('ConfirmPrompt.prompt', message, options);
1248
+ const result = await invoke$3('ConfirmPrompt.prompt', message, options);
1103
1249
  return result;
1104
1250
  };
1105
1251
  const getRecentlyOpened = async () => {
1106
- return invoke$5(/* RecentlyOpened.getRecentlyOpened */'RecentlyOpened.getRecentlyOpened');
1252
+ return invoke$3(/* RecentlyOpened.getRecentlyOpened */'RecentlyOpened.getRecentlyOpened');
1107
1253
  };
1108
1254
  const getKeyBindings = async () => {
1109
- return invoke$5('KeyBindingsInitial.getKeyBindings');
1255
+ return invoke$3('KeyBindingsInitial.getKeyBindings');
1110
1256
  };
1111
1257
  const writeClipBoardText = async text => {
1112
- await invoke$5('ClipBoard.writeText', /* text */text);
1258
+ await invoke$3('ClipBoard.writeText', /* text */text);
1259
+ };
1260
+ const readClipBoardText = async () => {
1261
+ return invoke$3('ClipBoard.readText');
1113
1262
  };
1114
1263
  const writeClipBoardImage = async blob => {
1115
1264
  // @ts-ignore
1116
- await invoke$5('ClipBoard.writeImage', /* text */blob);
1265
+ await invoke$3('ClipBoard.writeImage', /* text */blob);
1117
1266
  };
1118
1267
  const searchFileMemory = async uri => {
1119
1268
  // @ts-ignore
1120
- return invoke$5('ExtensionHost.searchFileWithMemory', uri);
1269
+ return invoke$3('ExtensionHost.searchFileWithMemory', uri);
1121
1270
  };
1122
1271
  const searchFileFetch = async uri => {
1123
- return invoke$5('ExtensionHost.searchFileWithFetch', uri);
1272
+ return invoke$3('ExtensionHost.searchFileWithFetch', uri);
1124
1273
  };
1125
1274
  const showMessageBox = async options => {
1126
- return invoke$5('ElectronDialog.showMessageBox', options);
1275
+ return invoke$3('ElectronDialog.showMessageBox', options);
1127
1276
  };
1128
1277
  const handleDebugResumed = async params => {
1129
- await invoke$5('Run And Debug.handleResumed', params);
1278
+ await invoke$3('Run And Debug.handleResumed', params);
1130
1279
  };
1131
1280
  const openWidget = async name => {
1132
- await invoke$5('Viewlet.openWidget', name);
1281
+ await invoke$3('Viewlet.openWidget', name);
1133
1282
  };
1134
1283
  const getIcons = async requests => {
1135
- const icons = await invoke$5('IconTheme.getIcons', requests);
1284
+ const icons = await invoke$3('IconTheme.getIcons', requests);
1136
1285
  return icons;
1137
1286
  };
1138
1287
  const activateByEvent = event => {
1139
- return invoke$5('ExtensionHostManagement.activateByEvent', event);
1288
+ return invoke$3('ExtensionHostManagement.activateByEvent', event);
1140
1289
  };
1141
1290
  const setAdditionalFocus = focusKey => {
1142
1291
  // @ts-ignore
1143
- return invoke$5('Focus.setAdditionalFocus', focusKey);
1292
+ return invoke$3('Focus.setAdditionalFocus', focusKey);
1144
1293
  };
1145
1294
  const getActiveEditorId = () => {
1146
1295
  // @ts-ignore
1147
- return invoke$5('GetActiveEditor.getActiveEditorId');
1296
+ return invoke$3('GetActiveEditor.getActiveEditorId');
1148
1297
  };
1149
1298
  const getWorkspacePath = () => {
1150
- return invoke$5('Workspace.getPath');
1299
+ return invoke$3('Workspace.getPath');
1151
1300
  };
1152
1301
  const sendMessagePortToRendererProcess = async port => {
1153
1302
  const command = 'HandleMessagePort.handleMessagePort';
1154
1303
  // @ts-ignore
1155
- await invokeAndTransfer$4('SendMessagePortToExtensionHostWorker.sendMessagePortToRendererProcess', port, command, DebugWorker);
1304
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToRendererProcess', port, command, DebugWorker);
1305
+ };
1306
+ const sendMessagePortToTextMeasurementWorker = async port => {
1307
+ const command = 'TextMeasurement.handleMessagePort';
1308
+ // @ts-ignore
1309
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToTextMeasurementWorker', port, command, 0);
1310
+ };
1311
+ const sendMessagePortToSourceControlWorker = async port => {
1312
+ const command = 'SourceControl.handleMessagePort';
1313
+ // @ts-ignore
1314
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToSourceControlWorker', port, command, 0);
1315
+ };
1316
+ const sendMessagePortToSharedProcess = async port => {
1317
+ const command = 'HandleElectronMessagePort.handleElectronMessagePort';
1318
+ // @ts-ignore
1319
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToSharedProcess', port, command, 0);
1320
+ };
1321
+ const sendMessagePortToFileSystemProcess = async (port, rpcId) => {
1322
+ const command = 'HandleMessagePortForFileSystemProcess.handleMessagePortForFileSystemProcess';
1323
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToSharedProcess', port, command, rpcId);
1324
+ };
1325
+ const sendMessagePortToIframeWorker = async (port, rpcId) => {
1326
+ const command = 'Iframes.handleMessagePort';
1327
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToIframeWorker', port, command, rpcId);
1328
+ };
1329
+ const sendMessagePortToExtensionManagementWorker = async (port, rpcId) => {
1330
+ const command = 'Extensions.handleMessagePort';
1331
+ await invokeAndTransfer$2('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionManagementWorker', port, command, rpcId);
1156
1332
  };
1157
1333
  const getPreference = async key => {
1158
- return await invoke$5('Preferences.get', key);
1334
+ return await invoke$3('Preferences.get', key);
1159
1335
  };
1160
1336
  const getAllExtensions = async () => {
1161
- return invoke$5('ExtensionManagement.getAllExtensions');
1337
+ return invoke$3('ExtensionManagement.getAllExtensions');
1162
1338
  };
1163
1339
  const rerenderEditor = async key => {
1164
1340
  // @ts-ignore
1165
- return invoke$5('Editor.rerender', key);
1341
+ return invoke$3('Editor.rerender', key);
1166
1342
  };
1167
1343
  const handleDebugPaused = async params => {
1168
- await invoke$5('Run And Debug.handlePaused', params);
1344
+ await invoke$3('Run And Debug.handlePaused', params);
1169
1345
  };
1170
1346
  const openUri = async (uri, focus, options) => {
1171
- await invoke$5('Main.openUri', uri, focus, options);
1347
+ await invoke$3('Main.openUri', uri, focus, options);
1172
1348
  };
1173
1349
  const sendMessagePortToSyntaxHighlightingWorker = async port => {
1174
- await invokeAndTransfer$4(
1350
+ await invokeAndTransfer$2(
1175
1351
  // @ts-ignore
1176
1352
  'SendMessagePortToSyntaxHighlightingWorker.sendMessagePortToSyntaxHighlightingWorker', port, 'HandleMessagePort.handleMessagePort2');
1177
1353
  };
1178
1354
  const handleDebugScriptParsed = async script => {
1179
- await invoke$5('Run And Debug.handleScriptParsed', script);
1355
+ await invoke$3('Run And Debug.handleScriptParsed', script);
1180
1356
  };
1181
1357
  const getWindowId = async () => {
1182
- return invoke$5('GetWindowId.getWindowId');
1358
+ return invoke$3('GetWindowId.getWindowId');
1183
1359
  };
1184
1360
  const getBlob = async uri => {
1185
1361
  // @ts-ignore
1186
- return invoke$5('FileSystem.getBlob', uri);
1362
+ return invoke$3('FileSystem.getBlob', uri);
1187
1363
  };
1188
1364
  const getExtensionCommands = async () => {
1189
- return invoke$5('ExtensionHost.getCommands');
1365
+ return invoke$3('ExtensionHost.getCommands');
1190
1366
  };
1191
1367
  const showErrorDialog = async errorInfo => {
1192
1368
  // @ts-ignore
1193
- await invoke$5('ErrorHandling.showErrorDialog', errorInfo);
1369
+ await invoke$3('ErrorHandling.showErrorDialog', errorInfo);
1194
1370
  };
1195
1371
  const getFolderSize = async uri => {
1196
1372
  // @ts-ignore
1197
- return await invoke$5('FileSystem.getFolderSize', uri);
1373
+ return await invoke$3('FileSystem.getFolderSize', uri);
1198
1374
  };
1199
1375
  const getExtension = async id => {
1200
1376
  // @ts-ignore
1201
- return invoke$5('ExtensionManagement.getExtension', id);
1377
+ return invoke$3('ExtensionManagement.getExtension', id);
1202
1378
  };
1203
1379
  const getMarkdownDom = async html => {
1204
1380
  // @ts-ignore
1205
- return invoke$5('Markdown.getVirtualDom', html);
1381
+ return invoke$3('Markdown.getVirtualDom', html);
1206
1382
  };
1207
1383
  const renderMarkdown = async (markdown, options) => {
1208
1384
  // @ts-ignore
1209
- return invoke$5('Markdown.renderMarkdown', markdown, options);
1385
+ return invoke$3('Markdown.renderMarkdown', markdown, options);
1210
1386
  };
1211
1387
  const openNativeFolder = async uri => {
1212
1388
  // @ts-ignore
1213
- await invoke$5('OpenNativeFolder.openNativeFolder', uri);
1389
+ await invoke$3('OpenNativeFolder.openNativeFolder', uri);
1214
1390
  };
1215
1391
  const uninstallExtension = async id => {
1216
- return invoke$5('ExtensionManagement.uninstall', id);
1392
+ return invoke$3('ExtensionManagement.uninstall', id);
1217
1393
  };
1218
1394
  const installExtension = async id => {
1219
1395
  // @ts-ignore
1220
- return invoke$5('ExtensionManagement.install', id);
1396
+ return invoke$3('ExtensionManagement.install', id);
1221
1397
  };
1222
1398
  const openExtensionSearch = async () => {
1223
1399
  // @ts-ignore
1224
- return invoke$5('SideBar.openViewlet', 'Extensions');
1400
+ return invoke$3('SideBar.openViewlet', 'Extensions');
1225
1401
  };
1226
1402
  const setExtensionsSearchValue = async searchValue => {
1227
1403
  // @ts-ignore
1228
- return invoke$5('Extensions.handleInput', searchValue);
1404
+ return invoke$3('Extensions.handleInput', searchValue, Script);
1229
1405
  };
1230
1406
  const openExternal = async uri => {
1231
1407
  // @ts-ignore
1232
- await invoke$5('Open.openExternal', uri);
1408
+ await invoke$3('Open.openExternal', uri);
1233
1409
  };
1234
1410
  const openUrl = async uri => {
1235
1411
  // @ts-ignore
1236
- await invoke$5('Open.openUrl', uri);
1412
+ await invoke$3('Open.openUrl', uri);
1237
1413
  };
1238
1414
  const getAllPreferences = async () => {
1239
1415
  // @ts-ignore
1240
- return invoke$5('Preferences.getAll');
1416
+ return invoke$3('Preferences.getAll');
1241
1417
  };
1242
1418
  const showSaveFilePicker = async () => {
1243
1419
  // @ts-ignore
1244
- return invoke$5('FilePicker.showSaveFilePicker');
1420
+ return invoke$3('FilePicker.showSaveFilePicker');
1245
1421
  };
1246
1422
  const getLogsDir = async () => {
1247
1423
  // @ts-ignore
1248
- return invoke$5('PlatformPaths.getLogsDir');
1424
+ return invoke$3('PlatformPaths.getLogsDir');
1425
+ };
1426
+ const measureTextBlockHeight = async (actualInput, fontFamily, fontSize, lineHeightPx, width) => {
1427
+ return invoke$3(`MeasureTextHeight.measureTextBlockHeight`, actualInput, fontFamily, fontSize, lineHeightPx, width);
1428
+ };
1429
+ const registerMockRpc = commandMap => {
1430
+ const mockRpc = createMockRpc({
1431
+ commandMap
1432
+ });
1433
+ set$1(mockRpc);
1434
+ return mockRpc;
1249
1435
  };
1250
1436
 
1251
1437
  const RendererWorker = {
@@ -1286,16 +1472,20 @@ const RendererWorker = {
1286
1472
  handleDebugPaused,
1287
1473
  handleDebugResumed,
1288
1474
  handleDebugScriptParsed,
1475
+ handleWorkspaceRefresh,
1289
1476
  installExtension,
1290
- invoke: invoke$5,
1291
- invokeAndTransfer: invokeAndTransfer$4,
1477
+ invoke: invoke$3,
1478
+ invokeAndTransfer: invokeAndTransfer$2,
1479
+ measureTextBlockHeight,
1292
1480
  openExtensionSearch,
1293
1481
  openExternal,
1294
1482
  openNativeFolder,
1295
1483
  openUri,
1296
1484
  openUrl,
1297
1485
  openWidget,
1486
+ readClipBoardText,
1298
1487
  readFile: readFile$1,
1488
+ registerMockRpc,
1299
1489
  registerWebViewInterceptor,
1300
1490
  renderMarkdown,
1301
1491
  rerenderEditor,
@@ -1305,11 +1495,18 @@ const RendererWorker = {
1305
1495
  sendMessagePortToEditorWorker,
1306
1496
  sendMessagePortToErrorWorker,
1307
1497
  sendMessagePortToExtensionHostWorker,
1498
+ sendMessagePortToExtensionManagementWorker,
1499
+ sendMessagePortToFileSystemProcess,
1308
1500
  sendMessagePortToFileSystemWorker,
1501
+ sendMessagePortToIconThemeWorker,
1502
+ sendMessagePortToIframeWorker,
1309
1503
  sendMessagePortToMarkdownWorker,
1310
1504
  sendMessagePortToRendererProcess,
1311
1505
  sendMessagePortToSearchProcess,
1506
+ sendMessagePortToSharedProcess,
1507
+ sendMessagePortToSourceControlWorker,
1312
1508
  sendMessagePortToSyntaxHighlightingWorker,
1509
+ sendMessagePortToTextMeasurementWorker,
1313
1510
  set: set$1,
1314
1511
  setAdditionalFocus,
1315
1512
  setColorTheme,
@@ -1318,6 +1515,7 @@ const RendererWorker = {
1318
1515
  setWebViewPort,
1319
1516
  setWorkspacePath,
1320
1517
  showContextMenu,
1518
+ showContextMenu2,
1321
1519
  showErrorDialog,
1322
1520
  showMessageBox,
1323
1521
  showSaveFilePicker,
@@ -1327,20 +1525,6 @@ const RendererWorker = {
1327
1525
  writeClipBoardText
1328
1526
  };
1329
1527
 
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
1528
  const getCredentialLess = locationHost => {
1345
1529
  if (locationHost.startsWith('localhost:')) {
1346
1530
  // disabled to improve performance and make testing easier
@@ -1547,9 +1731,12 @@ const getPortTuple = () => {
1547
1731
  };
1548
1732
  };
1549
1733
 
1734
+ const {
1735
+ invoke: invoke$2} = RendererWorker;
1736
+
1550
1737
  const getSavedState = async () => {
1551
1738
  // @ts-ignore
1552
- return invoke$4('WebView.getSavedState');
1739
+ return invoke$2('WebView.getSavedState');
1553
1740
  };
1554
1741
 
1555
1742
  const getSavedWebViewState = async id => {
@@ -1619,7 +1806,7 @@ const getIframePermissionPolicy = webView => {
1619
1806
 
1620
1807
  const getWebViews = async () => {
1621
1808
  // @ts-ignore
1622
- return invoke$4('WebView.getWebViews');
1809
+ return invoke$3('WebView.getWebViews');
1623
1810
  };
1624
1811
 
1625
1812
  const AllowScripts = 'allow-scripts';
@@ -1667,13 +1854,13 @@ const getPort = () => {
1667
1854
  return location.port;
1668
1855
  };
1669
1856
 
1670
- const invoke$2 = async (method, ...params) => {
1857
+ const invoke$1 = async (method, ...params) => {
1671
1858
  // @ts-ignore
1672
- return invoke$4('WebView.compatRendererProcessInvoke', method, ...params);
1859
+ return invoke$3('WebView.compatRendererProcessInvoke', method, ...params);
1673
1860
  };
1674
1861
  const invokeAndTransfer$1 = async (method, ...params) => {
1675
1862
  // @ts-ignore
1676
- return invokeAndTransfer$3('WebView.compatRendererProcessInvokeAndTransfer', method, ...params);
1863
+ return invokeAndTransfer$2('WebView.compatRendererProcessInvokeAndTransfer', method, ...params);
1677
1864
  };
1678
1865
 
1679
1866
  const WebView = 'lvce-oss-webview';
@@ -1682,28 +1869,28 @@ const setPort = async (uid, port, origin, portType) => {
1682
1869
  await invokeAndTransfer$1('WebView.setPort', uid, port, origin, portType);
1683
1870
  };
1684
1871
 
1685
- const invoke$1 = async (method, ...params) => {
1872
+ const invoke = async (method, ...params) => {
1686
1873
  // @ts-ignore
1687
- return invoke$4('WebView.compatSharedProcessInvoke', method, ...params);
1874
+ return invoke$3('WebView.compatSharedProcessInvoke', method, ...params);
1688
1875
  };
1689
1876
 
1690
1877
  const registerProtocol = async () => {
1691
- await invoke$1('WebViewServer.registerProtocol');
1878
+ await invoke('WebViewServer.registerProtocol');
1692
1879
  };
1693
1880
  const create = async (previewServerId, useNewWebViewHandler) => {
1694
- await invoke$1('WebViewServer.create', previewServerId, useNewWebViewHandler);
1881
+ await invoke('WebViewServer.create', previewServerId, useNewWebViewHandler);
1695
1882
  };
1696
1883
  const start = async (previewServerId, webViewPort) => {
1697
- await invoke$1('WebViewServer.start', previewServerId, webViewPort);
1884
+ await invoke('WebViewServer.start', previewServerId, webViewPort);
1698
1885
  };
1699
1886
  const setInfo2 = async info => {
1700
- await invoke$1('WebViewServer.setInfo2', info);
1887
+ await invoke('WebViewServer.setInfo2', info);
1701
1888
  };
1702
1889
  const setInfo = async (previewServerId, webViewId, webViewRoot, contentSecurityPolicy, iframeContent) => {
1703
- await invoke$1('WebViewServer.setInfo', previewServerId, webViewId, webViewRoot, contentSecurityPolicy, iframeContent);
1890
+ await invoke('WebViewServer.setInfo', previewServerId, webViewId, webViewRoot, contentSecurityPolicy, iframeContent);
1704
1891
  };
1705
1892
  const setHandler = async (previewServerId, frameAncestors, webViewRoot, contentSecurityPolicy, iframeContent, remotePathPrefix) => {
1706
- await invoke$1('WebViewServer.setHandler', previewServerId, frameAncestors, webViewRoot, contentSecurityPolicy, iframeContent);
1893
+ await invoke('WebViewServer.setHandler', previewServerId, frameAncestors, webViewRoot, contentSecurityPolicy, iframeContent);
1707
1894
  };
1708
1895
 
1709
1896
  const register$3 = async (previewServerId, webViewPort, frameAncestors, webViewRoot, csp, iframeContent, webViewId, remotePathPrefix, useNewWebViewHandler) => {
@@ -1769,7 +1956,7 @@ const create2 = async ({
1769
1956
  }) => {
1770
1957
  let root = '';
1771
1958
  if (platform === Remote) {
1772
- root = await invoke$1('Platform.getRoot');
1959
+ root = await invoke('Platform.getRoot');
1773
1960
  }
1774
1961
  const webViews = await getWebViews();
1775
1962
  const locationProtocol = getProtocol$1();
@@ -1801,7 +1988,7 @@ const create2 = async ({
1801
1988
  const permissionPolicyString = permissionPolicy.join('; ');
1802
1989
  const iframeCsp = platform === Web ? csp : '';
1803
1990
  const credentialless = getCredentialLess(locationHost);
1804
- await invoke$4('ExtensionHostManagement.activateByEvent', `onWebView:${webViewId}`);
1991
+ await invoke$2('ExtensionHostManagement.activateByEvent', `onWebView:${webViewId}`);
1805
1992
  const {
1806
1993
  port1,
1807
1994
  port2
@@ -1809,18 +1996,18 @@ const create2 = async ({
1809
1996
  const portId = create$1();
1810
1997
  const remotePathPrefix = '/remote';
1811
1998
  await register(previewServerId, webViewPort, frameAncestors, webViewRoot, csp, iframeContent, platform, webViewId, remotePathPrefix);
1812
- await invoke$2('WebView.create', id, iframeSrc, sandbox, iframeCsp, credentialless, permissionPolicyString, frameTitle);
1999
+ await invoke$1('WebView.create', id, iframeSrc, sandbox, iframeCsp, credentialless, permissionPolicyString, frameTitle);
1813
2000
 
1814
2001
  // TODO maybe iframe waitForLoad is not needed. since it cannot be used detect errors anyway
1815
2002
  // and causes flash of unstyled content, maybe a better way would be to just send the
1816
2003
  // port and wait for the first port message
1817
- await invoke$2('WebView.load', id);
2004
+ await invoke$1('WebView.load', id);
1818
2005
  const origin = getWebViewOrigin(webViewPort, platform, webViewScheme, webViewId);
1819
2006
  const portType = '';
1820
2007
  await setPort(id, port1, origin, portType);
1821
- await invokeAndTransfer$2('ExtensionHostWebView.create', webViewId, port2, uri, id, origin, webView);
2008
+ await invokeAndTransfer$3('ExtensionHostWebView.create', webViewId, port2, uri, id, origin, webView);
1822
2009
  const savedState = await getSavedWebViewState(webViewId);
1823
- await invoke$3('ExtensionHostWebView.load', webViewId, savedState);
2010
+ await invoke$4('ExtensionHostWebView.load', webViewId, savedState);
1824
2011
  return {
1825
2012
  csp: iframeCsp,
1826
2013
  iframeSrc,
@@ -1831,26 +2018,22 @@ const create2 = async ({
1831
2018
  };
1832
2019
 
1833
2020
  const createAndLoadWebView = async (id, iframeSrc, sandbox, iframeCsp, credentialless, permissionPolicyString, frameTitle) => {
1834
- await invoke$2('WebView.create', id, iframeSrc, sandbox, iframeCsp, credentialless, permissionPolicyString, frameTitle);
2021
+ await invoke$1('WebView.create', id, iframeSrc, sandbox, iframeCsp, credentialless, permissionPolicyString, frameTitle);
1835
2022
 
1836
2023
  // TODO maybe iframe waitForLoad is not needed. since it cannot be used detect errors anyway
1837
2024
  // and causes flash of unstyled content, maybe a better way would be to just send the
1838
2025
  // port and wait for the first port message
1839
- await invoke$2('WebView.load', id);
2026
+ await invoke$1('WebView.load', id);
1840
2027
  };
1841
2028
 
1842
- const invoke = async (method, ...params) => {
1843
- // @ts-ignore
1844
- return invoke$4('WebView.compatRendererWorkerInvoke', method, ...params);
2029
+ const createSecondaryWebViewConnection = async (uid, origin, port) => {
2030
+ const portType = 'application';
2031
+ await invokeAndTransfer$2('WebView.setPort', uid, port, origin, portType);
1845
2032
  };
2033
+
1846
2034
  const invokeAndTransfer = async (method, ...params) => {
1847
2035
  // @ts-ignore
1848
- return invokeAndTransfer$3('WebView.compatRendererWorkerInvokeAndTransfer', method, ...params);
1849
- };
1850
-
1851
- const createSecondaryWebViewConnection = async (uid, origin, port) => {
1852
- const portType = 'application';
1853
- await invokeAndTransfer('WebView.setPort', uid, port, origin, portType);
2036
+ return invokeAndTransfer$2(method, ...params);
1854
2037
  };
1855
2038
 
1856
2039
  const createWebViewConnection = async (uid, origin) => {
@@ -1888,7 +2071,7 @@ const getPortQuadruple = () => {
1888
2071
  };
1889
2072
 
1890
2073
  const readFile = uri => {
1891
- return invoke('FileSystem.readFile', uri);
2074
+ return invoke$3('FileSystem.readFile', uri);
1892
2075
  };
1893
2076
 
1894
2077
  const RE_PROTOCOL = /^([a-z-]+):\/\//;
@@ -1919,9 +2102,11 @@ const getAll$1 = () => {
1919
2102
  // 5. provide objectUrl to extension
1920
2103
 
1921
2104
  const getRemoteUrlForWebView = async options => {
2105
+ object(options);
1922
2106
  const webView = get(options.id);
2107
+ object(webView);
1923
2108
  const rpcPromise = createWebViewConnection(webView.webViewUid, webView.origin);
1924
- const blobPromise = invoke('FileSystem.getBlob', options.uri);
2109
+ const blobPromise = invoke$3('FileSystem.getBlob', options.uri);
1925
2110
  const [rpc, blob] = await Promise.all([rpcPromise, blobPromise]);
1926
2111
  const objectUrl = await rpc.invoke('createObjectUrl', blob);
1927
2112
  return objectUrl;
@@ -1964,22 +2149,16 @@ const commandMap$1 = {
1964
2149
  };
1965
2150
 
1966
2151
  const getWebViewWorkerRpc2 = async rpcInfo => {
1967
- const {
1968
- port1,
1969
- port2
1970
- } = getPortTuple();
1971
- const rpcPromise = MessagePortRpcParent.create({
2152
+ const rpc = await TransferMessagePortRpcParent.create({
1972
2153
  commandMap: commandMap$1,
1973
- isMessagePortOpen: true,
1974
- messagePort: port2
2154
+ async send(port) {
2155
+ await invokeAndTransfer$3('WebView.createWebViewWorkerRpc2', rpcInfo, port);
2156
+ }
1975
2157
  });
1976
2158
  // TODO
1977
2159
  // 1. ask extension host worker to ask renderer worker to ask renderer process to create a worker with given url
1978
2160
  // 2. send the port through renderer worker to renderer process to the worker for a direct connection
1979
- await invokeAndTransfer$2('WebView.createWebViewWorkerRpc2', rpcInfo, port1);
1980
- const rpc = await rpcPromise;
1981
2161
  // TODO rpc module should start the port
1982
- port2.start();
1983
2162
  return rpc;
1984
2163
  };
1985
2164
 
@@ -2090,7 +2269,7 @@ const getWebViewWorkerRpc = async rpcInfo => {
2090
2269
  isMessagePortOpen: true,
2091
2270
  messagePort: port2
2092
2271
  });
2093
- await invokeAndTransfer$2('WebView.createWebViewWorkerRpc', rpcInfo, port1);
2272
+ await invokeAndTransfer$3('WebView.createWebViewWorkerRpc', rpcInfo, port1);
2094
2273
  const rpc = await rpcPromise;
2095
2274
  // TODO rpc module should start the port
2096
2275
  port2.start();
@@ -2131,7 +2310,7 @@ const createWebViewRpc = async (webView, savedState, uri, portId, webViewUid, or
2131
2310
  if (!webView || !webView.rpc || typeof webView.rpc !== 'string') {
2132
2311
  return;
2133
2312
  }
2134
- const rpcInfo = await invoke$3('WebView.getRpcInfo', webView.rpc);
2313
+ const rpcInfo = await invoke$4('WebView.getRpcInfo', webView.rpc);
2135
2314
  if (rpcInfo && rpcInfo.type === 'web-worker-2') {
2136
2315
  return createWebWorkerRpc2(rpcInfo, webView, savedState, uri, portId, webViewUid, origin);
2137
2316
  }
@@ -2182,7 +2361,7 @@ const create3 = async ({
2182
2361
  setPlatform(platform);
2183
2362
  let root = '';
2184
2363
  if (platform === Remote) {
2185
- root = await invoke$1('Platform.getRoot');
2364
+ root = await invoke('Platform.getRoot');
2186
2365
  }
2187
2366
  const webViews = await getWebViews();
2188
2367
  const webViewId = getWebViewId(webViews, uri);
@@ -2218,7 +2397,7 @@ const create3 = async ({
2218
2397
  const credentialless = getCredentialLess(locationHost);
2219
2398
 
2220
2399
  // TODO remove this
2221
- await invoke$4('ExtensionHostManagement.activateByEvent', `onWebView:${webViewId}`);
2400
+ await invoke$2('ExtensionHostManagement.activateByEvent', `onWebView:${webViewId}`);
2222
2401
  const portId = create$1();
2223
2402
  const remotePathPrefix = '/remote';
2224
2403
  await register(previewServerId, webViewPort, frameAncestors, webViewRoot, csp, iframeContent, platform, webViewId, remotePathPrefix, useNewWebViewHandler);
@@ -2232,11 +2411,11 @@ const create3 = async ({
2232
2411
  } = getPortTuple();
2233
2412
  const portType = '';
2234
2413
  await setPort(id, port1, origin, portType);
2235
- await invokeAndTransfer$2('ExtensionHostWebView.create', webViewId, port2, uri, id, origin, webView);
2414
+ await invokeAndTransfer$3('ExtensionHostWebView.create', webViewId, port2, uri, id, origin, webView);
2236
2415
  }
2237
2416
  const savedState = await getSavedWebViewState(webViewId);
2238
2417
  if (hasOldRpc) {
2239
- await invoke$3('ExtensionHostWebView.load', webViewId, savedState);
2418
+ await invoke$4('ExtensionHostWebView.load', webViewId, savedState);
2240
2419
  }
2241
2420
  await createWebViewRpc(webView, savedState, uri, portId, id, origin);
2242
2421
  return {
@@ -2250,11 +2429,11 @@ const create3 = async ({
2250
2429
 
2251
2430
  const executeCommand = (method, ...params) => {
2252
2431
  // @ts-ignore
2253
- return invoke$4('ExecuteExternalCommand.executeExternalCommand', method, ...params);
2432
+ return invoke$2('ExecuteExternalCommand.executeExternalCommand', method, ...params);
2254
2433
  };
2255
2434
 
2256
2435
  const getSecret = async key => {
2257
- return invoke('WebView.getSecret', key);
2436
+ return invoke$3('WebView.getSecret', key);
2258
2437
  };
2259
2438
 
2260
2439
  const getWebViewInfo = webViewId => {
@@ -2270,6 +2449,28 @@ const getWebViewInfo = webViewId => {
2270
2449
  return undefined;
2271
2450
  };
2272
2451
 
2452
+ const handleMessagePort2 = async (port, rpcId) => {
2453
+ object(port);
2454
+ const rpc = await PlainMessagePortRpcParent.create({
2455
+ commandMap: {},
2456
+ messagePort: port
2457
+ });
2458
+ if (rpcId) {
2459
+ set$3(rpcId, rpc);
2460
+ }
2461
+ };
2462
+
2463
+ const initialize = async platform => {
2464
+ setPlatform(platform);
2465
+ const rpc = await TransferMessagePortRpcParent.create({
2466
+ commandMap: {},
2467
+ async send(port) {
2468
+ await sendMessagePortToExtensionHostWorker(port, 0);
2469
+ }
2470
+ });
2471
+ set$2(rpc);
2472
+ };
2473
+
2273
2474
  const saveState = async () => {
2274
2475
  const all = getAll$1();
2275
2476
  const serialized = [];
@@ -2296,6 +2497,8 @@ const unregisterInterceptor = async id => {
2296
2497
  };
2297
2498
 
2298
2499
  const commandMap = {
2500
+ 'Iframes.handleMessagePort': handleMessagePort2,
2501
+ 'Iframes.initialize': initialize,
2299
2502
  'WebView.create2': create2,
2300
2503
  'WebView.create3': create3,
2301
2504
  'WebView.executeExternalCommand': executeCommand,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/iframe-worker",
3
- "version": "5.36.0",
3
+ "version": "6.1.0",
4
4
  "description": "Web Worker to manage creation and lifecycle of iframes in Lvce Editor",
5
5
  "keywords": [
6
6
  "iframe"