LGTM1; thanks for continuing to make the platform's APIs more rational. Best,
Alex On Wed, Apr 1, 2026, 4:32 AM Chromestatus <[email protected]> wrote: > *Contact emails* > [email protected] > > *Explainer* > https://github.com/explainers-by-googlers/promisify-scroll > > *Specification* > https://github.com/w3c/csswg-drafts/issues/1562 > > *Design docs* > > https://github.com/explainers-by-googlers/promisify-scroll > > *Summary* > Web developers currently have no way to know when a programmatic > smooth-scroll has completed. This feature provides a solution to the > problem: make the programmatic scroll methods return Promise objects that > get resolved on scroll completion. > > *Blink component* > Blink>Scroll > <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EScroll%22> > > *Web Feature ID* > Missing feature > > *Motivation* > We have multiple scroll methods available through both Element and Window > interfaces. These methods return immediately with the value undefined, > which was fine during the early days of the web when scroll was assumed to > be instant. This behavior no longer seems adequate from a web developer's > perspective today: there is widespread support for smooth-scroll (see > browser_compatibility [1] for the CSS property), and it is not easy for the > developers to determine when a particular call for a smooth-scroll has > completed. This feature makes the programmatic scroll methods return > Promise objects that get resolved on scroll completion. [1] > https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior#browser_compatibility > > *Initial public proposal* > *No information provided* > > *TAG review* > https://github.com/w3ctag/design-reviews/issues/1210 > > *TAG review status* > Pending > > *Goals for experimentation* > None > > *Risks* > > > *Interoperability and Compatibility* > Interop: Given the developers' support in the github discussion and the > easy resolution in the CSWWG, we expect other major browsers to implement > this feature in near future. Compat: To maintain the backward compatibility > for the scroll methods, we would avoid rejecting the returned Promises (as > much as possible). This is because unhandled Promise rejections are treated > as exceptions, which could fail any JS callers that assume that those > methods succeed unconditionally. > > *Gecko*: No signal ( > https://github.com/mozilla/standards-positions/issues/1379) Spec PR was > approved by Mozilla: https://github.com/w3c/csswg-drafts/pull/12355 > > *WebKit*: No signal ( > https://github.com/WebKit/standards-positions/issues/639) WebKit positive > in a follow-up resolution: > https://github.com/w3c/csswg-drafts/issues/12495#issuecomment-4040657058 > > *Web developers*: Positive ( > https://github.com/w3c/csswg-drafts/issues/1562) > > *Other signals*: > > *Security* > None. > > *WebView application risks* > > Does this intent deprecate or change behavior of existing APIs, such that > it has potentially high risk for Android WebView-based applications? > *No information provided* > > > *Debuggability* > Existing DevTools functionalities sufficiently cover this features: the > return values of element/window scroll methods are switched from undefined > to Promises, and the returned Promises can be inspected easily on console. > > *Will this feature be supported on all six Blink platforms (Windows, Mac, > Linux, ChromeOS, Android, and Android WebView)?* > Yes > > *Is this feature fully tested by web-platform-tests > <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?* > Yes > > https://wpt.fyi/results/css/cssom-view?label=master&label=experimental&aligned&q=-scroll-arguments.html%20or%20-scroll-promises.html%20or%20-scroll-promise-interruption.html > > *Flag name on about://flags* > *No information provided* > > *Finch feature name* > ProgrammaticScrollPromise > > *Rollout plan* > Will ship enabled for all users > > *Requires code in //chrome?* > False > > *Tracking bug* > https://issues.chromium.org/41406914 > > *Estimated milestones* > Shipping on desktop 149 > Shipping on Android 149 > Shipping on WebView 149 > > *Anticipated spec changes* > > Open questions about a feature may be a source of future web compat or > interop issues. Please list open issues (e.g. links to known github issues > in the project for the feature specification) whose resolution may > introduce web compat/interop risk (e.g., changing to naming or structure of > the API in a non-backward-compatible way). > *No information provided* > > *Link to entry on the Chrome Platform Status* > https://chromestatus.com/feature/5082138340491264?gate=5098794827644928 > > *Links to previous Intent discussions* > Intent to Prototype: > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO7QpgC2bUgHk6ZWLsNjaR%3DLb-O%3DA5hiOF5vgJicbR9igQ%40mail.gmail.com > > > This intent message was generated by Chrome Platform Status > <https://chromestatus.com>. > > -- > You received this message because you are subscribed to the Google Groups > "blink-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69cc2140.2b0a0220.5f79f.04fa.GAE%40google.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69cc2140.2b0a0220.5f79f.04fa.GAE%40google.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA44PQgwgYfxUMfZ_1cgqh32VRnPru2JJdjZskzoV3TdTRhkWQ%40mail.gmail.com.
