-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Defer full upgrade until the element is connected #5908
Conversation
} | ||
this.implementation_ = new newImplClass(this); | ||
if (this.everAttached) { | ||
this.tryUpgrade_(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we do this in connected callback where we know the element is attached?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this case the element has already been connected, but couldn't be upgraded because the implementation wasn't downloaded yet. So, when the implementation is downloaded, we have to run all the upgrade steps. The same tryUpgrade_
method is also executed in the connectedCallback
when the implementation has been downloaded.
@@ -1126,6 +1137,17 @@ describe('CustomElement', () => { | |||
expect(testElementViewportCallback.callCount).to.equal(1); | |||
}); | |||
|
|||
it('StubElement - should be called once upgraded before attach', () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update the description?
should not upgrade when not attached yet
right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
…mp_reddit_extension * 'master' of https://github.com/ampproject/amphtml: (121 commits) `#setOwner` should rewrite `resource.owner_` value if it exist (ampproject#5898) Defer full upgrade until the element is connected (ampproject#5908) Skeleton for an amp-animation component (ampproject#5891) Use upgrade callback to pick the correct carousel class. (ampproject#5899) Add alert role to user-notification by default (ampproject#5896) Fix test-iframe-createIframeWithMessageStub failures on older browsers (ampproject#5895) Make screen readers announce changes in the slides carousel. (ampproject#5892) Separate out implementaton of document-info and remove dependency of … (ampproject#5864) Fixed assertion in key fetch function. (ampproject#5854) Track impression on amp landing page (ampproject#5606) Backward compatible way of stringifying Uint8Array (ampproject#5881) Ensure that a friendly-iframe embed cancels any boilerplate when ready (ampproject#5863) Fix amp-forms broken and flakey tests. (ampproject#5835) Make SW test properly skip when Request == undefined (ampproject#5876) Add Preamble section to AMP Cache Guidelines (ampproject#5873) Adding Adverline to amp-ad (ampproject#5829) Clarify cache guidelines (ampproject#5874) Consider it as non-viewer mode if there is no "origin" in hash param. (ampproject#5867) [amp-youtube] autoplay and test suite to run across all video players that implement the video API (ampproject#5765) Update Forms Docs to reflect availability. (ampproject#5815) ...
* Defer full upgrade until the element is connected * docs
* Defer full upgrade until the element is connected * docs
* Defer full upgrade until the element is connected * docs
Full fix for #5828