[webidl] Fix some problems with iterable declarations. (#72)

1. iterable<> declarations with a single type ("value iterators") now
   always iterates over the object's indexed properties, and disallows
   its use on objects that don't support indexed properties (and have a
   "length" attribute).

2. The entries and keys properties of interface prototypes for
   interfaces that have value iterators are now defined to have values
   equal to the initial values of Array.prototype.{entries,keys},
   similarly to how @@iterator was already defined when indexed
   properties were present.

3. The definitions of @@iterator and forEach for iterable<> declarations
   with two types ("pair iterators") are fixed.  "Default iterator
   objects" now work only for pair iterators, since we don't support
   prose-defined value iterators now.
You can view, comment on, or merge this pull request online at:

  https://github.com/heycam/webidl/pull/72

-- Commit Summary --

  * Fix some problems with iterable declarations.

-- File Changes --

    M index.html (146)
    M index.xml (144)

-- Patch Links --

https://github.com/heycam/webidl/pull/72.patch
https://github.com/heycam/webidl/pull/72.diff

---
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/pull/72

Received on Thursday, 12 November 2015 06:57:59 UTC