Single-Axis Scroll Containers in the Blink Rendering Engine
Blink28615 Tammi

Single-Axis Scroll Containers in the Blink Rendering Engine

The provided text details a major architectural shift in the Blink rendering engine to support single-axis scroll containers, allowing elements to scroll in one direction while remaining visible or clipped in the other. Historically, the engine forced dual-axis scrolling if either direction was scrollable, which frequently broke sticky positioning and complex layouts. By decoupling these axes, developers can now implement features like wide tables with sticky headers without using inefficient workarounds. The implementation involved deep changes to the StyleAdjuster, LayoutBox, and the compositor pipeline to ensure that each axis can independently determine its scroll ancestors. These updates also refined how scroll snapping and programmatic focus data propagate through the fragment tree. Ultimately, this refactor aligns Chromium with modern CSS standards while maintaining high performance and backward compatibility.