| Index: client/dom/generated/src/frog/HTMLCollection.dart
 | 
| diff --git a/client/dom/generated/src/frog/HTMLCollection.dart b/client/dom/generated/src/frog/HTMLCollection.dart
 | 
| index 0d125b853afeadb64bc426c502ac1cdf85e2881e..7871c43991ce307d55312ad85a39d6f93932f546 100644
 | 
| --- a/client/dom/generated/src/frog/HTMLCollection.dart
 | 
| +++ b/client/dom/generated/src/frog/HTMLCollection.dart
 | 
| @@ -3,11 +3,78 @@ class HTMLCollectionJs extends DOMTypeJs implements HTMLCollection native "*HTML
 | 
|  
 | 
|    int get length() native "return this.length;";
 | 
|  
 | 
| -  NodeJs operator[](int index) native;
 | 
| +  NodeJs operator[](int index) native "return this[index];";
 | 
|  
 | 
|    void operator[]=(int index, NodeJs value) {
 | 
|      throw new UnsupportedOperationException("Cannot assign element of immutable List.");
 | 
|    }
 | 
| +  // -- start List<Node> mixins.
 | 
| +  // Node is the element type.
 | 
| +
 | 
| +  // From Iterable<Node>:
 | 
| +
 | 
| +  Iterator<Node> iterator() {
 | 
| +    // Note: NodeLists are not fixed size. And most probably length shouldn't
 | 
| +    // be cached in both iterator _and_ forEach method. For now caching it
 | 
| +    // for consistency.
 | 
| +    return new _FixedSizeListIterator<Node>(this);
 | 
| +  }
 | 
| +
 | 
| +  // From Collection<Node>:
 | 
| +
 | 
| +  void add(Node value) {
 | 
| +    throw new UnsupportedOperationException("Cannot add to immutable List.");
 | 
| +  }
 | 
| +
 | 
| +  void addLast(Node value) {
 | 
| +    throw new UnsupportedOperationException("Cannot add to immutable List.");
 | 
| +  }
 | 
| +
 | 
| +  void addAll(Collection<Node> collection) {
 | 
| +    throw new UnsupportedOperationException("Cannot add to immutable List.");
 | 
| +  }
 | 
| +
 | 
| +  void forEach(void f(Node element)) => _Collections.forEach(this, f);
 | 
| +
 | 
| +  Collection map(f(Node element)) => _Collections.map(this, [], f);
 | 
| +
 | 
| +  Collection<Node> filter(bool f(Node element)) =>
 | 
| +     _Collections.filter(this, <Node>[], f);
 | 
| +
 | 
| +  bool every(bool f(Node element)) => _Collections.every(this, f);
 | 
| +
 | 
| +  bool some(bool f(Node element)) => _Collections.some(this, f);
 | 
| +
 | 
| +  bool isEmpty() => this.length == 0;
 | 
| +
 | 
| +  // From List<Node>:
 | 
| +
 | 
| +  void sort(int compare(Node a, Node b)) {
 | 
| +    throw new UnsupportedOperationException("Cannot sort immutable List.");
 | 
| +  }
 | 
| +
 | 
| +  int indexOf(Node element, [int start = 0]) =>
 | 
| +      _Lists.indexOf(this, element, start, this.length);
 | 
| +
 | 
| +  int lastIndexOf(Node element, [int start = 0]) =>
 | 
| +      _Lists.lastIndexOf(this, element, start);
 | 
| +
 | 
| +  Node last() => this[length - 1];
 | 
| +
 | 
| +  // FIXME: implement thesee.
 | 
| +  void setRange(int start, int length, List<Node> from, [int startFrom]) {
 | 
| +    throw new UnsupportedOperationException("Cannot setRange on immutable List.");
 | 
| +  }
 | 
| +  void removeRange(int start, int length) {
 | 
| +    throw new UnsupportedOperationException("Cannot removeRange on immutable List.");
 | 
| +  }
 | 
| +  void insertRange(int start, int length, [Node initialValue]) {
 | 
| +    throw new UnsupportedOperationException("Cannot insertRange on immutable List.");
 | 
| +  }
 | 
| +  List<Node> getRange(int start, int length) =>
 | 
| +      _Lists.getRange(this, start, length, <Node>[]);
 | 
| +
 | 
| +  // -- end List<Node> mixins.
 | 
|  
 | 
|    NodeJs item(int index) native;
 | 
|  
 | 
| 
 |