[css-houdini-drafts] [css-typed-om-1] Interfaces with value iterators need additional attributes and operations

rakuco has just created a new issue for 
https://github.com/w3c/css-houdini-drafts:

== [css-typed-om-1] Interfaces with value iterators need additional 
attributes and operations ==
The WebIDL spec [says](https://heycam.github.io/webidl/#idl-iterable):
 "_a value iterator must only be declared on an interface that 
supports indexed properties_".

Another section 
[defines](https://heycam.github.io/webidl/#idl-indexed-properties) 
that an interface "supports indexed properties" when it has an indexed
 property getter and defines an integer-typed attribute named 
“length”. This then gives an interface with an `iterable<V>` 
declaration several operations for free (they come from 
`%ArrayPrototype%`) such as `forEach()` and `keys()`.

With that said:
* `CSSUnparsedValue` has an `iterable<(DOMString or 
CSSVariableReferenceValue)>` declaration with no `length` attribute or
 indexed getter.
* `CSSTransformValue` has an `iterable<CSSTransformComponent>` 
declaration with no `length` attribute or indexed getter.

This means a WebIDL-ECMAScript bindings generator should reject those 
interfaces (which is something I'm trying to implement in Blink).

The css-typed-om-1 spec should be updated to include those missing 
attributes and operations, as well as some prose describing what sort 
of value the getter needs to return.

Please view or discuss this issue at 
https://github.com/w3c/css-houdini-drafts/issues/358 using your GitHub
 account

Received on Monday, 6 February 2017 18:22:55 UTC