- From: Brian Birtles <notifications@github.com>
- Date: Wed, 08 Aug 2018 16:35:05 -0700
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <heycam/webidl/issues/213/411587572@github.com>
> https://drafts.csswg.org/web-animations/#dictdef-basecomputedkeyframe > https://drafts.csswg.org/web-animations/#dictdef-basepropertyindexedkeyframe > https://drafts.csswg.org/web-animations/#dictdef-basekeyframe > > Yeah, this one is a bit weird. It might have been nicer to have an explicit "default" value or something... @birtles do you recall why null was picked here? I should have asked this in https://bugzilla.mozilla.org/show_bug.cgi?id=1429671... We could have a "default" value, I guess. The reasoning at the time is mostly covered in https://github.com/w3c/csswg-drafts/issues/2072#issuecomment-349195346, where consistency with `offset`, which uses `null` for "auto"-like values, seems to be the main reason. (The second reason listed there concerns whether we represent auto-values by lack of a value or an explicit sentinel value--but either `null` or "default" would work for that). That is you can write: ```js elem.animate({ backgroundColor: ['red', 'green', 'blue', 'orange', 'purple'], offset: [0, null, null, 0.95, 1], }, 1000); ``` (where `null` means, "Calculate the offset for me"). So, it made sense that `composite` should use the same notation (where `null` means, "Use the composite mode specified on the effect"): i.e. ```js elem.animate({ backgroundColor: ['red', 'green', 'blue', 'orange', 'purple'], offset: [0, null, null, 0.95, 1], composite: ['replace', null, null, null, 'replace'], }, 1000); ``` With a default value that would become: ```js elem.animate({ backgroundColor: ['red', 'green', 'blue', 'orange', 'purple'], offset: [0, null, null, 0.95, 1], composite: ['replace', 'auto', 'auto', 'auto', 'replace'], }, 1000); ``` Which could work. We haven't shipped composite modes in any browser but we are planning to ship `getKeyframes()` in Firefox 63 which exposes `BaseComputedKeyframe`, i.e. will return objects with `composite` set to `null`. However we'd still be in time to change this if we want to. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/heycam/webidl/issues/213#issuecomment-411587572
Received on Wednesday, 8 August 2018 23:35:28 UTC