| Index: sdk/lib/html/templates/html/impl/impl_Element.darttemplate
|
| diff --git a/sdk/lib/html/templates/html/impl/impl_Element.darttemplate b/sdk/lib/html/templates/html/impl/impl_Element.darttemplate
|
| index bfe269eaf0cdbd66c352e64f2d6ead3a4396d4fa..d475ddfc6e313c3ca491175cb02f49070014e9e9 100644
|
| --- a/sdk/lib/html/templates/html/impl/impl_Element.darttemplate
|
| +++ b/sdk/lib/html/templates/html/impl/impl_Element.darttemplate
|
| @@ -531,16 +531,27 @@ abstract class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
|
| }
|
|
|
| void set elements(Collection<Element> value) {
|
| - final elements = this.elements;
|
| - elements.clear();
|
| - elements.addAll(value);
|
| + this.children = value;
|
| }
|
|
|
| /**
|
| + * Deprecated, use [children] instead.
|
| + */
|
| + List<Element> get elements => this.children;
|
| +
|
| + /**
|
| * @domName childElementCount, firstElementChild, lastElementChild,
|
| * children, Node.nodes.add
|
| */
|
| - List<Element> get elements => new _ChildrenElementList._wrap(this);
|
| + List<Element> get children => new _ChildrenElementList._wrap(this);
|
| +
|
| + void set children(Collection<Element> value) {
|
| + // Copy list first since we don't want liveness during iteration.
|
| + List copy = new List.from(value);
|
| + var children = this.children;
|
| + children.clear();
|
| + children.addAll(copy);
|
| + }
|
|
|
| Element query(String selectors) => $dom_querySelector(selectors);
|
|
|
| @@ -730,15 +741,15 @@ class _ElementFactoryProvider {
|
| temp.innerHTML = html;
|
|
|
| Element element;
|
| - if (temp.elements.length == 1) {
|
| - element = temp.elements[0];
|
| - } else if (parentTag == 'html' && temp.elements.length == 2) {
|
| + if (temp.children.length == 1) {
|
| + element = temp.children[0];
|
| + } else if (parentTag == 'html' && temp.children.length == 2) {
|
| // Work around for edge case in WebKit and possibly other browsers where
|
| // both body and head elements are created even though the inner html
|
| // only contains a head or body element.
|
| - element = temp.elements[tag == 'head' ? 0 : 1];
|
| + element = temp.children[tag == 'head' ? 0 : 1];
|
| } else {
|
| - throw new ArgumentError('HTML had ${temp.elements.length} '
|
| + throw new ArgumentError('HTML had ${temp.children.length} '
|
| 'top level elements but 1 expected');
|
| }
|
| element.remove();
|
|
|