"use strict"; const {contextBridge, ipcRenderer, webFrame} = require("electron"); let fileOpenListener = null; contextBridge.exposeInMainWorld("api", { openFileDialog : () => ipcRenderer.send("WindowManager::openFileDialog"), onFileOpen : callback => { if (fileOpenListener) ipcRenderer.off("Ation::openFile", fileOpenListener); fileOpenListener = (_, presentation) => callback(presentation); ipcRenderer.on("Ation::openFile", fileOpenListener); }, openFile : filePath => ipcRenderer.send("WindowManager::openFile", filePath), removeOnFileOpenListener : callback => ipcRenderer.off("Ation::openFile", callback), clearCache : () => webFrame.clearCache() });