Skip to content
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

Merged
merged 2 commits into from
Oct 29, 2016

Conversation

dvoytenko
Copy link
Contributor

@dvoytenko dvoytenko commented Oct 29, 2016

Full fix for #5828

}
this.implementation_ = new newImplClass(this);
if (this.everAttached) {
this.tryUpgrade_();
Copy link
Contributor

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?

Copy link
Contributor Author

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', () => {
Copy link
Member

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?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@dvoytenko dvoytenko merged commit 4959dbc into ampproject:master Oct 29, 2016
@dvoytenko dvoytenko deleted the upgrade4 branch October 29, 2016 22:49
samiamorwas pushed a commit to samiamorwas/amphtml that referenced this pull request Oct 31, 2016
…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)
  ...
lannka pushed a commit that referenced this pull request Oct 31, 2016
* Defer full upgrade until the element is connected

* docs
Lith pushed a commit to Lith/amphtml that referenced this pull request Dec 22, 2016
* Defer full upgrade until the element is connected

* docs
Lith pushed a commit to Lith/amphtml that referenced this pull request Dec 22, 2016
* Defer full upgrade until the element is connected

* docs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants