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

Cancel chunking when disconnected. Fixes #5667 #5668

Merged
merged 2 commits into from
Jul 6, 2020

Conversation

kevinpschaaf
Copy link
Member

If there was a pending requestAnimationFrame for chunking when the dom-repeat was disconnected, cancel the rAF so that we're not spending extra cycles creating DOM that no one will see, especially when tearing down/discarding views. __chunkingId retains its handle upon disconnection as a signal that a render is required to kick chunking back off if the dom-repeat is subsequently re-connected.

Note that this still isn't a guarantee that rendering/chunking can't restart while the dom-repeat is disconnected (e.g. if any render-causing properties change while disconnected, such as items), since we don't gate all of dom-repeat's work on actually being connected; that would be a larger change with the potential to break users relying on the current ability to render while disconnected.

Reference Issue

Fixes #5667

test/unit/dom-repeat.html Outdated Show resolved Hide resolved
@kevinpschaaf kevinpschaaf merged commit 8bd4b6e into master Jul 6, 2020
@kevinpschaaf kevinpschaaf deleted the 5667-cancel-chunking-on-disconnect branch July 6, 2020 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

dom-repeat keeps running asynchronous code after detached if chunking is enabled.
3 participants