Use element instant id for GetGuestByInstanceID
This commit is contained in:
parent
9fcb6b2cd1
commit
68381e1b76
6 changed files with 119 additions and 46 deletions
|
@ -35,12 +35,13 @@ createGuest = (embedder, params) ->
|
|||
guestInstanceId: id
|
||||
storagePartitionId: params.storagePartitionId
|
||||
guestInstances[id] = {guest, embedder}
|
||||
preload = params.preload ? ''
|
||||
webViewManager.addGuest id, embedder, guest, params.nodeIntegration, params.plugins, preload
|
||||
|
||||
# Destroy guest when the embedder is gone.
|
||||
embedder.once 'render-view-deleted', ->
|
||||
# Destroy guest when the embedder is gone or navigated.
|
||||
destroyEvents = ['destroyed', 'crashed', 'did-navigate-to-different-page']
|
||||
destroy = ->
|
||||
destroyGuest id if guestInstances[id]?
|
||||
embedder.removeListener event, destroy for event in destroyEvents
|
||||
embedder.once event, destroy for event in destroyEvents
|
||||
|
||||
# Init guest web view after attached.
|
||||
guest.once 'did-attach', ->
|
||||
|
@ -85,6 +86,11 @@ attachGuest = (embedder, elementInstanceId, guestInstanceId, params) ->
|
|||
return unless guestInstances[oldGuestInstanceId]?
|
||||
destroyGuest oldGuestInstanceId
|
||||
|
||||
webViewManager.addGuest guestInstanceId, elementInstanceId, embedder, guest,
|
||||
nodeIntegration: params.nodeIntegration
|
||||
plugins: params.plugins
|
||||
preloadUrl: params.preload ? ''
|
||||
|
||||
guest.attachParams = params
|
||||
embedderElementsMap[key] = guestInstanceId
|
||||
reverseEmbedderElementsMap[guestInstanceId] = key
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue