Skip to content
cc::LayerTreeHostImpl (Input Handler & Scroll Logic) episode artwork

Sep 23, 2025 27 min

cc::LayerTreeHostImpl (Input Handler & Scroll Logic)

from Blink286 Hosted by Free Debreuil

Scroll processing and overscroll detection in the compositor. The LayerTreeHostImpl in cc implements the compositor-thread InputHandler that processes gesture scroll updates and flings. It manages the scroll state of all scroll nodes (via the ScrollTree) and determines when a scroll has hit the extent of an element. Currently, this is where overscroll is detected and reported – but only for the root/viewport. For example, the InputHandler sets did_overscroll_root in the scroll result when the root scroll node reaches its boundary , triggering the elastic effect on the root. To support elastic overscroll on non-root elements, this logic in LayerTreeHostImpl (and its ScrollTree/ScrollNode handling) needs to be generalized: it must detect overscroll on any scrollable node and initiate the overscroll animation (via the helper/controller) for that node instead of chaining upward. Understanding LayerTreeHostImpl and how it yields overscroll information (e.g. populating InputHandlerScrollResult.unused_scroll_delta, accumulated overscroll, and overscroll_behavior flags ) is key, as changes here will route overscroll into the ElasticOverscrollController for the right element rather than exclusively the root.

Episode details come from the podcast's RSS feed.

Embed this episode

Ready to play

cc::LayerTreeHostImpl (Input Handler & Scroll Logic)

0:00 27:14

No transcript yet.

Requests help us decide what to transcribe next.

Frequently asked questions

How long is this episode of Blink286?

This episode is 27 minutes long.

When was this Blink286 episode published?

This episode was published on September 23, 2025.

Can I download this Blink286 episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.