- From: vmpstr via GitHub <sysbot+gh@w3.org>
- Date: Thu, 12 Oct 2023 00:10:45 +0000
- To: public-css-archive@w3.org
vmpstr has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-view-transitions] Making the callback param non-nullable == In [css-view-transitions](https://drafts.csswg.org/css-view-transitions-1/#additions-to-document-api), we define the following, an optional nullable callback with the default value of null: ``` partial interface Document { ViewTransition startViewTransition(optional UpdateCallback? updateCallback = null); }; ``` In #8960 we resolved to change the callback (in Level 2) to take either a callback or a dictionary of options. Naively, this would have been the following ``` ViewTransition startViewtransition(optional (UpdateCallback or Dictionary)? param = null) ``` But that's not possible because of the [following restriction](https://webidl.spec.whatwg.org/#idl-nullable-type): > A nullable type is an IDL type constructed from an existing type (called the inner type) [...] The [inner type](https://webidl.spec.whatwg.org/#dfn-inner-type) must not be: > * [...] > * a [union type](https://webidl.spec.whatwg.org/#dfn-union-type) that itself [includes a nullable type](https://webidl.spec.whatwg.org/#dfn-includes-a-nullable-type) or has a dictionary type as one of its [flattened member types](https://webidl.spec.whatwg.org/#dfn-flattened-union-member-types). A simple solution is to just make these non-nullable: ``` ViewTransition startViewtransition(optional (UpdateCallback or Dictionary) param) ``` Additionally, for consistency, it would be nice to make the existing view transition callback non nullable as well, while still remaining optional: ``` ViewTransition startViewtransition(optional UpdateCallback updateCallback) ``` I _believe_ the only script visible change here is that this would preclude `startViewTransition(null)` from being valid. I could be wrong though. If I'm right, then I think that's fine, since that doesn't seem like a correct use of this API. Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/9460 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Thursday, 12 October 2023 00:10:47 UTC