Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Unified Diff: sdk/lib/html/dartium/html_dartium.dart

Side-by-side diff isn't available for this file because of its large size.
Issue 11413071: Deprecating Element.elements for Element.children. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Review feedback. Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
Download patch
Index: sdk/lib/html/dartium/html_dartium.dart
diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
index 7a8156ba473b05876794af8b0559aa4d76f93de8..678ab6ba98ca0c601b1a5ba355655d185bdf93b2 100644
--- a/sdk/lib/html/dartium/html_dartium.dart
+++ b/sdk/lib/html/dartium/html_dartium.dart
@@ -8777,22 +8777,30 @@ class DocumentFragment extends Node {
factory DocumentFragment.svg(String svgContent) =>
_DocumentFragmentFactoryProvider.createDocumentFragment_svg(svgContent);
- List<Element> _elements;
+ List<Element> get elements => this.children;
- List<Element> get elements {
- if (_elements == null) {
- _elements = new FilteredElementList(this);
+ // TODO: The type of value should be Collection<Element>. See http://b/5392897
+ void set elements(value) {
+ this.children = value;
+ }
+
+ // Native field is used only by Dart code so does not lead to instantiation
+ // of native classes
+ @Creates('Null')
+ List<Element> _children;
+ List<Element> get children {
+ if (_children == null) {
+ _children = new FilteredElementList(this);
}
- return _elements;
+ return _children;
}
- // TODO: The type of value should be Collection<Element>. See http://b/5392897
- void set elements(value) {
+ void set children(Collection<Element> value) {
// Copy list first since we don't want liveness during iteration.
List copy = new List.from(value);
- final elements = this.elements;
- elements.clear();
- elements.addAll(copy);
+ var children = this.children;
+ children.clear();
+ children.addAll(copy);
}
Element query(String selectors) => $dom_querySelector(selectors);
@@ -9641,16 +9649,27 @@ abstract class Element extends Node implements ElementTraversal {
}
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);
@@ -10035,15 +10054,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();
« no previous file with comments | « sdk/lib/html/dart2js/html_dart2js.dart ('k') | sdk/lib/html/templates/html/impl/impl_DocumentFragment.darttemplate » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698