@lvce-editor/main-process 6.33.1 → 6.33.2
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 +27 -19
- package/package.json +1 -1
package/dist/mainProcessMain.js
CHANGED
|
@@ -6706,6 +6706,31 @@ const send = (method, ...params) => {
|
|
|
6706
6706
|
return rpc.send(method, ...params);
|
|
6707
6707
|
};
|
|
6708
6708
|
|
|
6709
|
+
const webContentsWithEventListeners = new WeakSet();
|
|
6710
|
+
const attachEventListenersToWebContents = (webContentsId, webContents, browserWindow) => {
|
|
6711
|
+
if (webContentsWithEventListeners.has(webContents)) {
|
|
6712
|
+
return;
|
|
6713
|
+
}
|
|
6714
|
+
attach(webContents, browserWindow.webContents);
|
|
6715
|
+
const values = Object.values(ElectronBrowserViewEventListeners);
|
|
6716
|
+
for (const value of values) {
|
|
6717
|
+
const wrappedListener = (...args) => {
|
|
6718
|
+
// @ts-ignore
|
|
6719
|
+
const {
|
|
6720
|
+
messages,
|
|
6721
|
+
result
|
|
6722
|
+
} = value.handler(...args, webContentsId);
|
|
6723
|
+
for (const message of messages) {
|
|
6724
|
+
const [key, ...rest] = message;
|
|
6725
|
+
send(`ElectronWebContents.${key}`, webContentsId, ...rest);
|
|
6726
|
+
}
|
|
6727
|
+
return result;
|
|
6728
|
+
};
|
|
6729
|
+
value.attach(webContents, wrappedListener);
|
|
6730
|
+
}
|
|
6731
|
+
webContentsWithEventListeners.add(webContents);
|
|
6732
|
+
};
|
|
6733
|
+
|
|
6709
6734
|
// TODO use electron 30 webcontentsview api
|
|
6710
6735
|
const createWebContentsView = async () => {
|
|
6711
6736
|
const view = new WebContentsView({
|
|
@@ -6729,6 +6754,7 @@ const createWebContentsView = async () => {
|
|
|
6729
6754
|
id
|
|
6730
6755
|
} = webContents;
|
|
6731
6756
|
add$1(id, browserWindow, view);
|
|
6757
|
+
attachEventListenersToWebContents(id, webContents, browserWindow);
|
|
6732
6758
|
return id;
|
|
6733
6759
|
};
|
|
6734
6760
|
const attachEventListeners = webContentsId => {
|
|
@@ -6738,25 +6764,7 @@ const attachEventListeners = webContentsId => {
|
|
|
6738
6764
|
if (!webContents || !state) {
|
|
6739
6765
|
return;
|
|
6740
6766
|
}
|
|
6741
|
-
|
|
6742
|
-
const values = Object.values(ElectronBrowserViewEventListeners);
|
|
6743
|
-
for (const value of values) {
|
|
6744
|
-
const wrappedListener = (...args) => {
|
|
6745
|
-
// @ts-ignore
|
|
6746
|
-
const {
|
|
6747
|
-
messages,
|
|
6748
|
-
result
|
|
6749
|
-
} = value.handler(...args, webContentsId);
|
|
6750
|
-
for (const message of messages) {
|
|
6751
|
-
const [key, ...rest] = message;
|
|
6752
|
-
send(`ElectronWebContents.${key}`, webContentsId, ...rest);
|
|
6753
|
-
}
|
|
6754
|
-
return result;
|
|
6755
|
-
};
|
|
6756
|
-
// TODO detached listeners when webcontents are disposed
|
|
6757
|
-
// to avoid potential memory leaks
|
|
6758
|
-
value.attach(webContents, wrappedListener);
|
|
6759
|
-
}
|
|
6767
|
+
attachEventListenersToWebContents(webContentsId, webContents, state.browserWindow);
|
|
6760
6768
|
};
|
|
6761
6769
|
const disposeWebContentsView = browserViewId => {
|
|
6762
6770
|
console.log('[main process] dispose browser view', browserViewId);
|