- From: Antoine Quint via GitHub <sysbot+gh@w3.org>
- Date: Mon, 09 Dec 2024 21:28:35 +0000
- To: public-css-archive@w3.org
graouts has just created a new issue for https://github.com/w3c/csswg-drafts: == [scroll-animations] `ScrollTimeline` constructor has contradictory IDL and prose == The [`ScrollTimeline` IDL](https://drafts.csswg.org/scroll-animations-1/#scrolltimeline) reads as follows: ``` dictionary ScrollTimelineOptions { Element? source; ScrollAxis axis = "block"; }; [Exposed=Window] interface ScrollTimeline : AnimationTimeline { constructor(optional ScrollTimelineOptions options = {}); }; ``` And its [specification text](https://drafts.csswg.org/scroll-animations-1/#dom-scrolltimeline-scrolltimeline) is: > 1. Let timeline be the new [ScrollTimeline](https://drafts.csswg.org/scroll-animations-1/#scrolltimeline) object. > 2. Set the [source](https://drafts.csswg.org/scroll-animations-1/#dom-scrolltimeline-source) of timeline to: > - If the source member of options is present and not null, > The source member of options. > - Otherwise, > The [scrollingElement](https://drafts.csswg.org/cssom-view-1/#dom-document-scrollingelement) of the [Document](https://dom.spec.whatwg.org/#document) [associated](https://html.spec.whatwg.org/multipage/window-object.html#concept-document-window) with the [Window](https://html.spec.whatwg.org/multipage/nav-history-apis.html#window) that is the [current global object](https://html.spec.whatwg.org/multipage/webappapis.html#current-global-object). To me, the IDL and the spec text are contradictory. Since the constructor is specified as taking `optional ScrollTimelineOptions options = {}` then I don't think we can distinguish between `ScrollTimeline` being constructed without an `options` parameter or with `{ source: null }`. But I believe the spec text is actually trying to distinguish between three cases: 1. `{}` where the source would be set to `document.scrollingElement`, 2. `{ source: null }` where the source would not be set, 3. `{ source: document.body }` where the source would be set to `document.body`. At least this is what is being tested by the WPT test [scroll-animations/scroll-timelines/constructor.html](https://github.com/web-platform-tests/wpt/blob/master/scroll-animations/scroll-timelines/constructor.html). Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/11340 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Monday, 9 December 2024 21:28:36 UTC