Forward webview visibility change events from browser process
This commit is contained in:
parent
7564a9973b
commit
1d84d83fd4
4 changed files with 16 additions and 10 deletions
|
@ -252,6 +252,17 @@ const watchEmbedder = function (embedder) {
|
|||
}
|
||||
watchedEmbedders.add(embedder)
|
||||
|
||||
// Forward embedder window visiblity change events to guest
|
||||
const onVisibilityChange = function (visibilityState) {
|
||||
for (const guestInstanceId of Object.keys(guestInstances)) {
|
||||
const guestInstance = guestInstances[guestInstanceId]
|
||||
if (guestInstance.embedder === embedder) {
|
||||
guestInstance.guest.send('ELECTRON_RENDERER_WINDOW_VISIBILITY_CHANGE', visibilityState)
|
||||
}
|
||||
}
|
||||
}
|
||||
embedder.on('-window-visibility-change', onVisibilityChange)
|
||||
|
||||
const destroyEvents = ['will-destroy', 'crashed', 'did-navigate']
|
||||
const destroy = function () {
|
||||
for (const guestInstanceId of Object.keys(guestInstances)) {
|
||||
|
@ -263,6 +274,7 @@ const watchEmbedder = function (embedder) {
|
|||
for (const event of destroyEvents) {
|
||||
embedder.removeListener(event, destroy)
|
||||
}
|
||||
embedder.removeListener('-window-visibility-change', onVisibilityChange)
|
||||
|
||||
watchedEmbedders.delete(embedder)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue