|
@@ -266,6 +266,9 @@ const attachGuest = function (event, embedderFrameId, elementInstanceId, guestIn
|
|
|
// Remove an guest-embedder relationship.
|
|
|
const detachGuest = function (embedder, guestInstanceId) {
|
|
|
const guestInstance = guestInstances[guestInstanceId];
|
|
|
+
|
|
|
+ if (!guestInstance) return;
|
|
|
+
|
|
|
if (embedder !== guestInstance.embedder) {
|
|
|
return;
|
|
|
}
|
|
@@ -356,6 +359,10 @@ handleMessage('ELECTRON_GUEST_VIEW_MANAGER_ATTACH_GUEST', function (event, embed
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+handleMessageSync('ELECTRON_GUEST_VIEW_MANAGER_DETACH_GUEST', function (event, guestInstanceId) {
|
|
|
+ return detachGuest(event.sender, guestInstanceId);
|
|
|
+});
|
|
|
+
|
|
|
// this message is sent by the actual <webview>
|
|
|
ipcMainInternal.on('ELECTRON_GUEST_VIEW_MANAGER_FOCUS_CHANGE', function (event, focus, guestInstanceId) {
|
|
|
const guest = getGuest(guestInstanceId);
|