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.

Reply via email to