There are actually several issues here: 1) (AnimationEffect or EffectCallback or OneOrMoreKeyframes) is not a valid WebIDL union, because EffectCallback is a callback type an OneOrMoreKeyframes is a union of a dictionary type (ish) and a sequence type. But callbacks and dictionaries are not distinguishable, so can't be used in the same union. 2) The "KeyFrame" not-really-a-dictionary thing doesn't have a clear processing model defined. Specifically: a) In section 5.14.6 step 7 there is no definition of what "Iterate over the properties of keyframe input." means. There are several possible definitions, which lead to different observable behavior. b) Step 7 talks about setting properties of keyframe input, which doesn't make sense. Does it mean to talk about setting properties of keyframe result? c) Nothing seems to define _when_ the algorithm of section 5.14.6 is invoked. For example, when animate() is called with two arguments, the first of which is a sequence, is that algorithm performed on elements of the sequence before the second argument is coerced to (double or TimingInput)? This matters, because that coercion can have side-effects, as can the algorithm in question, and the ordering needs to be defined. It seems like what's really wanted here is to define the first argument of animate() to be "object?" and then in the prose for the method define the actual processing model for determining which sort of thing it should be. That would solve problems (1) and (2c) above. (2a) and (2b) would need to be addressed separately... -BorisReceived on Wednesday, 16 April 2014 05:49:34 UTC
This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:49:49 UTC