Polymer / polymer

Our original Web Component library.
https://polymer-library.polymer-project.org/
BSD 3-Clause "New" or "Revised" License
22.04k stars 2.01k forks source link

Cancel chunking when disconnected. Fixes #5667 #5668

Closed kevinpschaaf closed 4 years ago

kevinpschaaf commented 4 years ago

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