Re: [csswg-drafts] [css-scroll-anchoring] Should not apply anchoring adjustments from scroll event handlers (#4239)

The CL causes scroll offsets due to scroll anchoring and clamping (but *not* other causes, such as explicitly setting scroll offset via script) to occur after the layout part of the update-the-rendering steps have completed. Therefore the scroll events corresponding to them are sent at the subsequent update-the-rendering event loop opportunity.

i.e. the sequence is:

1. Web app dirties layout
2. Update-the-rendering runs (frame N)
2a. Various things, including firing any scroll events
2b. Layout
2c. Enqueue scroll event
...
3. Update-the-rendering runs (frame N+1)
3a. Fire scroll event enqueued by 2c
...

Before my CL, a scroll anchor or clamp related to a forced layout would enqueue a scroll event right then and there. But I don't think anything in the spec requires this. Instead we can enqueue it after layout during update-the-rendering, resulting in it being fired in the next frame (N+1 in my example above).

-- 
GitHub Notification of comment by chrishtr
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/4239#issuecomment-575853626 using your GitHub account

Received on Saturday, 18 January 2020 01:38:26 UTC