| Index: chrome/renderer/resources/extensions/web_view.js
|
| diff --git a/chrome/renderer/resources/extensions/web_view.js b/chrome/renderer/resources/extensions/web_view.js
|
| index 3bed13beaab9d30d95ea6ed93d57b8a732cbccef..f97867a78a2baf7867273dd1a7c1ffa47850a642 100644
|
| --- a/chrome/renderer/resources/extensions/web_view.js
|
| +++ b/chrome/renderer/resources/extensions/web_view.js
|
| @@ -88,6 +88,7 @@ function WebViewInternal(webviewNode) {
|
| privates(webviewNode).internal = this;
|
| this.webviewNode = webviewNode;
|
| this.attached = false;
|
| + this.elementAttached = false;
|
|
|
| this.beforeFirstNavigation = true;
|
| this.validPartitionId = true;
|
| @@ -626,6 +627,10 @@ WebViewInternal.prototype.parseSrcAttribute = function(result) {
|
| return true;
|
| }
|
|
|
| + if (!this.elementAttached) {
|
| + return true;
|
| + }
|
| +
|
| if (!this.hasGuestInstanceID()) {
|
| if (this.beforeFirstNavigation) {
|
| this.beforeFirstNavigation = false;
|
| @@ -853,8 +858,6 @@ function registerWebViewElement() {
|
| new WebViewInternal(this);
|
| };
|
|
|
| - proto.customElementDetached = false;
|
| -
|
| proto.attributeChangedCallback = function(name, oldValue, newValue) {
|
| var internal = privates(this).internal;
|
| if (!internal) {
|
| @@ -864,16 +867,23 @@ function registerWebViewElement() {
|
| };
|
|
|
| proto.detachedCallback = function() {
|
| - this.customElementDetached = true;
|
| + var internal = privates(this).internal;
|
| + if (!internal) {
|
| + return;
|
| + }
|
| + internal.elementAttached = false;
|
| };
|
|
|
| proto.attachedCallback = function() {
|
| - if (this.customElementDetached) {
|
| - var webViewInternal = privates(this).internal;
|
| - webViewInternal.resetUponReattachment();
|
| - webViewInternal.allocateInstanceId();
|
| + var internal = privates(this).internal;
|
| + if (!internal) {
|
| + return;
|
| + }
|
| + if (!internal.elementAttached) {
|
| + internal.elementAttached = true;
|
| + internal.resetUponReattachment();
|
| + internal.parseAttributes();
|
| }
|
| - this.customElementDetached = false;
|
| };
|
|
|
| var methods = [
|
|
|