@lvce-editor/iframe-worker 5.4.0 → 5.6.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.
@@ -1108,9 +1108,13 @@ const getWebViewOrigin = (webViewPort, platform, webViewScheme, webViewId) => {
1108
1108
  }
1109
1109
  };
1110
1110
 
1111
+ const CrossOriginIsolated = 'cross-origin-isolated';
1111
1112
  const getIframePermissionPolicy = webView => {
1112
1113
  const extensionAllow = webView.allow || [];
1113
- return extensionAllow;
1114
+ if (extensionAllow.includes(CrossOriginIsolated)) {
1115
+ return extensionAllow;
1116
+ }
1117
+ return [CrossOriginIsolated, ...extensionAllow];
1114
1118
  };
1115
1119
 
1116
1120
  const getWebViews = async () => {
@@ -1291,11 +1295,15 @@ const create2 = async ({
1291
1295
  const portId = create$1();
1292
1296
  await register(previewServerId, webViewPort, frameAncestors, webViewRoot, csp, iframeContent, platform, webViewId);
1293
1297
  await invoke$1('WebView.create', id, iframeSrc, sandbox, iframeCsp, credentialless, permissionPolicyString, frameTitle);
1298
+
1299
+ // TODO maybe iframe waitForLoad is not needed. since it cannot be used detect errors anyway
1300
+ // and causes flash of unstyled content, maybe a better way would be to just send the
1301
+ // port and wait for the first port message
1294
1302
  await invoke$1('WebView.load', id);
1295
1303
  const origin = getWebViewOrigin(webViewPort, platform, webViewScheme, webViewId);
1296
1304
  const portType = '';
1297
1305
  await setPort(id, port1, origin, portType);
1298
- await invokeAndTransfer$1('ExtensionHostWebView.create', webViewId, port2, uri, id, origin);
1306
+ await invokeAndTransfer$1('ExtensionHostWebView.create', webViewId, port2, uri, id, origin, webView);
1299
1307
  const savedState = await getSavedWebViewState(webViewId);
1300
1308
  await invoke$2('ExtensionHostWebView.load', webViewId, savedState);
1301
1309
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/iframe-worker",
3
- "version": "5.4.0",
3
+ "version": "5.6.0",
4
4
  "description": "Web Worker to manage creation and lifecycle of iframes in Lvce Editor",
5
5
  "main": "dist/iframeWorkerMain.js",
6
6
  "type": "module",