From 626a1550dc3cd37cb151aff8b9a651bfb9289bd6 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 12 Jun 2017 12:58:26 -0700 Subject: [PATCH] Send cached visibility state when guest DOM is ready --- lib/browser/guest-view-manager.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/browser/guest-view-manager.js b/lib/browser/guest-view-manager.js index 0bf1f6db7e81..49a37b1ae585 100644 --- a/lib/browser/guest-view-manager.js +++ b/lib/browser/guest-view-manager.js @@ -143,6 +143,14 @@ const createGuest = function (embedder, params) { sendToEmbedder('ELECTRON_GUEST_VIEW_INTERNAL_SIZE_CHANGED', ...args) }) + // Notify guest of embedder window visibility when it is ready + guest.on('dom-ready', function () { + const guestInstance = guestInstances[guestInstanceId] + if (guestInstance != null && guestInstance.visibilityState != null) { + guest.send('ELECTRON_GUEST_INSTANCE_VISIBILITY_CHANGE', guestInstance.visibilityState) + } + }) + // Forward internal web contents event to embedder to handle // native window.open setup guest.on('-add-new-contents', (...args) => { @@ -280,6 +288,7 @@ const watchEmbedder = function (embedder) { const onVisibilityChange = function (visibilityState) { for (const guestInstanceId of Object.keys(guestInstances)) { const guestInstance = guestInstances[guestInstanceId] + guestInstance.visibilityState = visibilityState if (guestInstance.embedder === embedder) { guestInstance.guest.send('ELECTRON_GUEST_INSTANCE_VISIBILITY_CHANGE', visibilityState) }