Guard against attachedCallback firing while handling detachedCallback

This commit is contained in:
Kevin Sawicki 2016-11-02 17:28:37 -07:00
parent 18e1de105f
commit 6fda4fc45c

View file

@ -72,9 +72,12 @@ class WebViewImpl {
} }
this.webContents = null this.webContents = null
this.attributes[webViewConstants.ATTRIBUTE_GUESTINSTANCE].setValueIgnoreMutation(undefined)
this.beforeFirstNavigation = true this.beforeFirstNavigation = true
this.attributes[webViewConstants.ATTRIBUTE_PARTITION].validPartitionId = true this.attributes[webViewConstants.ATTRIBUTE_PARTITION].validPartitionId = true
// Set guestinstance last since this can trigger the attachedCallback to fire
// when moving the webview using element.replaceChild
this.attributes[webViewConstants.ATTRIBUTE_GUESTINSTANCE].setValueIgnoreMutation(undefined)
} }
// Sets the <webview>.request property. // Sets the <webview>.request property.
@ -310,8 +313,8 @@ var registerWebViewElement = function () {
} }
guestViewInternal.deregisterEvents(internal.viewInstanceId) guestViewInternal.deregisterEvents(internal.viewInstanceId)
internal.elementAttached = false internal.elementAttached = false
internal.reset()
this.internalInstanceId = 0 this.internalInstanceId = 0
internal.reset()
} }
proto.attachedCallback = function () { proto.attachedCallback = function () {
var internal, instance var internal, instance