Listen

Description

The source provides an extensive overview of the Chrome browser's scrolling architecture, detailing the division of labor between the Blink rendering engine (main thread) and the Chromium Compositor (CC). It explains that Blink manages the structure and definition of scrollable areas (ScrollableArea, ScrollManager), while the Compositor handles the actual visual movement via its separate thread for maximum performance, often called threaded scrolling. Critical to this system are Property Trees (specifically the Scroll Tree and Transform Tree) which the Compositor uses to efficiently apply scroll offsets to layers without needing main thread input, and the InputHandlerProxy which intelligently routes scroll events to either the fast Compositor path or the slower Blink path based on criteria like the presence of non-passive event listeners. Finally, the text describes the vital role of the commit lifecycle in synchronizing the actual scroll position between the independent threads to maintain visual and logical consistency.