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.
If there was a pending
requestAnimationFrame
for chunking when thedom-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 thedom-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 asitems
), since we don't gate all ofdom-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