|
@@ -108,14 +108,17 @@ const createGuest = function (embedder, params) {
|
|
|
guest.allowPopups = params.allowpopups
|
|
|
})
|
|
|
|
|
|
+ const sendToEmbedder = (channel, ...args) => {
|
|
|
+ const embedder = getEmbedder(guestInstanceId)
|
|
|
+ if (embedder) {
|
|
|
+ embedder.send(`${channel}-${guest.viewInstanceId}`, ...args)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// Dispatch events to embedder.
|
|
|
const fn = function (event) {
|
|
|
guest.on(event, function (_, ...args) {
|
|
|
- const embedder = getEmbedder(guestInstanceId)
|
|
|
- if (!embedder) {
|
|
|
- return
|
|
|
- }
|
|
|
- embedder.send.apply(embedder, ['ELECTRON_GUEST_VIEW_INTERNAL_DISPATCH_EVENT-' + guest.viewInstanceId, event].concat(args))
|
|
|
+ sendToEmbedder('ELECTRON_GUEST_VIEW_INTERNAL_DISPATCH_EVENT', event, ...args)
|
|
|
})
|
|
|
}
|
|
|
for (const event of supportedWebViewEvents) {
|
|
@@ -124,20 +127,12 @@ const createGuest = function (embedder, params) {
|
|
|
|
|
|
// Dispatch guest's IPC messages to embedder.
|
|
|
guest.on('ipc-message-host', function (_, [channel, ...args]) {
|
|
|
- const embedder = getEmbedder(guestInstanceId)
|
|
|
- if (!embedder) {
|
|
|
- return
|
|
|
- }
|
|
|
- embedder.send.apply(embedder, ['ELECTRON_GUEST_VIEW_INTERNAL_IPC_MESSAGE-' + guest.viewInstanceId, channel].concat(args))
|
|
|
+ sendToEmbedder('ELECTRON_GUEST_VIEW_INTERNAL_IPC_MESSAGE', channel, ...args)
|
|
|
})
|
|
|
|
|
|
// Autosize.
|
|
|
guest.on('size-changed', function (_, ...args) {
|
|
|
- const embedder = getEmbedder(guestInstanceId)
|
|
|
- if (!embedder) {
|
|
|
- return
|
|
|
- }
|
|
|
- embedder.send.apply(embedder, ['ELECTRON_GUEST_VIEW_INTERNAL_SIZE_CHANGED-' + guest.viewInstanceId].concat(args))
|
|
|
+ sendToEmbedder('ELECTRON_GUEST_VIEW_INTERNAL_SIZE_CHANGED', ...args)
|
|
|
})
|
|
|
|
|
|
return guestInstanceId
|
|
@@ -146,7 +141,7 @@ const createGuest = function (embedder, params) {
|
|
|
// Attach the guest to an element of embedder.
|
|
|
const attachGuest = function (embedder, elementInstanceId, guestInstanceId, params) {
|
|
|
// Destroy the old guest when attaching.
|
|
|
- const key = (embedder.getId()) + '-' + elementInstanceId
|
|
|
+ const key = `${embedder.getId()}-${elementInstanceId}`
|
|
|
const oldGuestInstanceId = embedderElementsMap[key]
|
|
|
if (oldGuestInstanceId != null) {
|
|
|
// Reattachment to the same guest is just a no-op.
|
|
@@ -166,10 +161,10 @@ const attachGuest = function (embedder, elementInstanceId, guestInstanceId, para
|
|
|
|
|
|
// If this guest is already attached to an element then remove it
|
|
|
if (guestInstance.elementInstanceId) {
|
|
|
- const oldKey = (guestInstance.embedder.getId()) + '-' + guestInstance.elementInstanceId
|
|
|
+ const oldKey = `${guestInstance.embedder.getId()}-${guestInstance.elementInstanceId}`
|
|
|
delete embedderElementsMap[oldKey]
|
|
|
webViewManager.removeGuest(guestInstance.embedder, guestInstanceId)
|
|
|
- guestInstance.embedder.send('ELECTRON_GUEST_VIEW_INTERNAL_DESTROY_GUEST-' + guest.viewInstanceId)
|
|
|
+ guestInstance.embedder.send(`ELECTRON_GUEST_VIEW_INTERNAL_DESTROY_GUEST-${guest.viewInstanceId}`)
|
|
|
}
|
|
|
|
|
|
const webPreferences = {
|
|
@@ -223,7 +218,7 @@ const destroyGuest = function (embedder, guestInstanceId) {
|
|
|
guestInstance.guest.destroy()
|
|
|
delete guestInstances[guestInstanceId]
|
|
|
|
|
|
- const key = embedder.getId() + '-' + guestInstance.elementInstanceId
|
|
|
+ const key = `${embedder.getId()}-${guestInstance.elementInstanceId}`
|
|
|
delete embedderElementsMap[key]
|
|
|
}
|
|
|
|
|
@@ -265,7 +260,7 @@ const watchEmbedder = function (embedder) {
|
|
|
}
|
|
|
|
|
|
ipcMain.on('ELECTRON_GUEST_VIEW_MANAGER_CREATE_GUEST', function (event, params, requestId) {
|
|
|
- event.sender.send('ELECTRON_RESPONSE_' + requestId, createGuest(event.sender, params))
|
|
|
+ event.sender.send(`ELECTRON_RESPONSE_${requestId}`, createGuest(event.sender, params))
|
|
|
})
|
|
|
|
|
|
ipcMain.on('ELECTRON_GUEST_VIEW_MANAGER_ATTACH_GUEST', function (event, elementInstanceId, guestInstanceId, params) {
|