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

registration order shouldn't matter as much #14459

Closed
sigmundch opened this issue Oct 25, 2013 · 15 comments
Closed

registration order shouldn't matter as much #14459

sigmundch opened this issue Oct 25, 2013 · 15 comments
Assignees
Labels
closed-obsolete Closed as the reported issue is no longer relevant P1 A high priority bug; for example, a single project is unusable or has many test failures
Milestone

Comments

@sigmundch
Copy link
Member

Consider for example event_path_declaration_test.dart. If we swap the registration order of x-foo and x-bar we see additional unexpected calls to ready();

We need to investigate - this might be a problem in polymer.js as well.

@jmesserly
Copy link

errr, registration order does matter :). Whoever gets upgraded first will see other elements un-upgraded.

I don't know if that's the problem in the tests, or are you seeing something else?

This might be a fatal flaw in our @­CustomTag :|

@blois
Copy link
Contributor

blois commented Oct 25, 2013

If no Polymer elements are expanded until all registrations have completed then the contract of all children being accessible when Polymer.ready is called will continue.

@jmesserly
Copy link

yeah, I think in this case it's an issue with the <template> content, not with super/subclasses.

@sigmundch
Copy link
Member Author

The problem here is that we are getting multiple calls to ready() and created() for the same instance of a custom element.

So far I've only been able to trigger this with custom-events and <content> propagation.

I've attached a code sample that reproduces the problem. I was able to reproduce this without my partial changes to polymer events, btw.


Attachment:
a.html (1.08 KB)

@sigmundch
Copy link
Member Author

err - the error doesn't repro without my changes in polymer-events, however, blink shouldn't do the 2 created calls regardless.

@sigmundch
Copy link
Member Author

Set owner to @sigmundch.
Added Accepted label.

@sigmundch
Copy link
Member Author

Ok - the issue with duplicate 'ready' calls seems gone now in polymer 0.8.8.


Removed this from the Later milestone.
Added this to the M8 milestone.
Added CannotReproduce label.

@sigmundch
Copy link
Member Author

I managed to repro this problem again with event_path_declaration_test. I'll keep investigating.


Added Triaged label.

@sigmundch
Copy link
Member Author

So it seems this is related to the GC issue Pete discovered.

Attached is an updated version that forces GC to trigger the issue.

Seems that we create the new wrapper as we walk up with 'parentNode' from the event target.


Attachment:
a.html (1.16 KB)

@sigmundch
Copy link
Member Author

What really seems strange to me is that saving a reference to the existing node doesn't help. Try attached version instead.


Attachment:
a.html (1.19 KB)

@sigmundch
Copy link
Member Author

Removed this from the M8 milestone.
Added this to the Later milestone.

@sigmundch
Copy link
Member Author

Removed this from the Later milestone.
Added this to the M9 milestone.

@clayberg
Copy link

Removed this from the M9 milestone.
Added this to the 1.1 milestone.

@sigmundch
Copy link
Member Author

Removed this from the 1.1 milestone.
Added this to the 1.2 milestone.

@sigmundch
Copy link
Member Author

Added AssumedStale label.

@sigmundch sigmundch added Type-Defect P1 A high priority bug; for example, a single project is unusable or has many test failures closed-obsolete Closed as the reported issue is no longer relevant labels Jan 29, 2014
@sigmundch sigmundch self-assigned this Jan 29, 2014
@sigmundch sigmundch added this to the 1.2 milestone Jan 29, 2014
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed-obsolete Closed as the reported issue is no longer relevant P1 A high priority bug; for example, a single project is unusable or has many test failures
Projects
None yet
Development

No branches or pull requests

4 participants