@lvce-editor/main-process 6.27.2 → 6.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mainProcessMain.js +28 -8
- package/package.json +1 -1
package/dist/mainProcessMain.js
CHANGED
|
@@ -4667,6 +4667,33 @@ const load = async (path, env = process.env) => {
|
|
|
4667
4667
|
}
|
|
4668
4668
|
};
|
|
4669
4669
|
|
|
4670
|
+
const createWindowCloseHandler = (window, rpc, onError, dispose = () => {}) => {
|
|
4671
|
+
let closePending = false;
|
|
4672
|
+
const handleWindowClose = event => {
|
|
4673
|
+
event.preventDefault();
|
|
4674
|
+
if (closePending) {
|
|
4675
|
+
return;
|
|
4676
|
+
}
|
|
4677
|
+
closePending = true;
|
|
4678
|
+
void (async () => {
|
|
4679
|
+
try {
|
|
4680
|
+
await rpc.invoke('Window.prepareClose');
|
|
4681
|
+
} catch (error) {
|
|
4682
|
+
onError(error);
|
|
4683
|
+
} finally {
|
|
4684
|
+
try {
|
|
4685
|
+
dispose();
|
|
4686
|
+
} catch (error) {
|
|
4687
|
+
onError(error);
|
|
4688
|
+
}
|
|
4689
|
+
window.off('close', handleWindowClose);
|
|
4690
|
+
window.close();
|
|
4691
|
+
}
|
|
4692
|
+
})();
|
|
4693
|
+
};
|
|
4694
|
+
return handleWindowClose;
|
|
4695
|
+
};
|
|
4696
|
+
|
|
4670
4697
|
const accessControlAllowOrigin = 'access-control-allow-origin';
|
|
4671
4698
|
const getCorsResponseHeaders = (responseHeaders = {}) => {
|
|
4672
4699
|
const hasAccessControlAllowOrigin = Object.keys(responseHeaders).some(key => key.toLowerCase() === accessControlAllowOrigin);
|
|
@@ -5002,14 +5029,7 @@ const createAppWindow = async (windowOptions, parsedArgs, workingDirectory, titl
|
|
|
5002
5029
|
webContents: window.webContents
|
|
5003
5030
|
});
|
|
5004
5031
|
const disposeFullScreenListener = listen$1(window, rpc);
|
|
5005
|
-
const handleWindowClose = (
|
|
5006
|
-
try {
|
|
5007
|
-
disposeFullScreenListener();
|
|
5008
|
-
window.off('close', handleWindowClose);
|
|
5009
|
-
} catch (error) {
|
|
5010
|
-
handleError(new VError(error, `Failed to run window close listener`));
|
|
5011
|
-
}
|
|
5012
|
-
};
|
|
5032
|
+
const handleWindowClose = createWindowCloseHandler(window, rpc, error => handleError(new VError(error, `Failed to prepare window close`)), disposeFullScreenListener);
|
|
5013
5033
|
window.on('close', handleWindowClose);
|
|
5014
5034
|
await loadUrl(window, url);
|
|
5015
5035
|
};
|