We want that layout shifts during drag have hardRecentInput set to true whereas those during scrolls have hadRecentInput set to false. This means we need to wait a bit after pointerdown to determine whether the user is scrolling or dragging. We can wait until pointercancel/pointerup (easiest way), but then many frames may have occurred in between. So in order to properly surface attribution, we want to surface multiple LayoutShift entries. Otherwise we'd have to somehow merge the attributions from multiple frames, which can lead to confusion. Currently we buffer only the scores, so instead we could buffer the whole entries.
We want that layout shifts during drag have
hardRecentInput
set to true whereas those during scrolls havehadRecentInput
set to false. This means we need to wait a bit after pointerdown to determine whether the user is scrolling or dragging. We can wait until pointercancel/pointerup (easiest way), but then many frames may have occurred in between. So in order to properly surface attribution, we want to surface multiple LayoutShift entries. Otherwise we'd have to somehow merge the attributions from multiple frames, which can lead to confusion. Currently we buffer only the scores, so instead we could buffer the whole entries.