Always register closed listeners
This commit is contained in:
parent
208be2a542
commit
fc53ac3d38
1 changed files with 2 additions and 13 deletions
|
@ -80,19 +80,8 @@ const setupGuest = function (embedder, frameName, guest, options) {
|
||||||
embedder.send('ELECTRON_GUEST_WINDOW_MANAGER_WINDOW_CLOSED_' + guestId)
|
embedder.send('ELECTRON_GUEST_WINDOW_MANAGER_WINDOW_CLOSED_' + guestId)
|
||||||
embedder.removeListener('render-view-deleted', closedByEmbedder)
|
embedder.removeListener('render-view-deleted', closedByEmbedder)
|
||||||
}
|
}
|
||||||
if (!options.webPreferences.sandbox) {
|
|
||||||
// These events should only be handled when the guest window is opened by a
|
|
||||||
// non-sandboxed renderer for two reasons:
|
|
||||||
//
|
|
||||||
// - `render-view-deleted` is emitted when the popup is closed by the user,
|
|
||||||
// and that will eventually result in NativeWindow::NotifyWindowClosed
|
|
||||||
// using a dangling pointer since `destroy()` would have been called by
|
|
||||||
// `closeByEmbedded`
|
|
||||||
// - No need to emit `ELECTRON_GUEST_WINDOW_MANAGER_WINDOW_CLOSED_` since
|
|
||||||
// there's no renderer code listening to it.,
|
|
||||||
embedder.once('render-view-deleted', closedByEmbedder)
|
embedder.once('render-view-deleted', closedByEmbedder)
|
||||||
guest.once('closed', closedByUser)
|
guest.once('closed', closedByUser)
|
||||||
}
|
|
||||||
if (frameName) {
|
if (frameName) {
|
||||||
frameToGuest.set(frameName, guest)
|
frameToGuest.set(frameName, guest)
|
||||||
guest.frameName = frameName
|
guest.frameName = frameName
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue