2019-06-14 14:52:24 +00:00
|
|
|
import { Event } from '@electron/internal/renderer/extensions/event'
|
|
|
|
import { IpcMainEvent } from 'electron'
|
2019-02-15 01:24:25 +00:00
|
|
|
const { ipcRendererInternal } = require('@electron/internal/renderer/ipc-renderer-internal')
|
2016-06-16 16:46:26 +00:00
|
|
|
|
2016-06-16 19:07:59 +00:00
|
|
|
class WebNavigation {
|
2019-06-14 14:52:24 +00:00
|
|
|
private onBeforeNavigate = new Event()
|
|
|
|
private onCompleted = new Event()
|
2016-06-16 16:46:26 +00:00
|
|
|
|
2019-06-14 14:52:24 +00:00
|
|
|
constructor () {
|
|
|
|
ipcRendererInternal.on('CHROME_WEBNAVIGATION_ONBEFORENAVIGATE', (event: IpcMainEvent, details: any) => {
|
2016-06-16 19:07:59 +00:00
|
|
|
this.onBeforeNavigate.emit(details)
|
|
|
|
})
|
|
|
|
|
2019-06-14 14:52:24 +00:00
|
|
|
ipcRendererInternal.on('CHROME_WEBNAVIGATION_ONCOMPLETED', (event: IpcMainEvent, details: any) => {
|
2016-06-16 19:07:59 +00:00
|
|
|
this.onCompleted.emit(details)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-06-14 14:52:24 +00:00
|
|
|
export const setup = () => new WebNavigation()
|