Index: client/html/dartium/html_dartium.dart |
diff --git a/client/html/dartium/html_dartium.dart b/client/html/dartium/html_dartium.dart |
index 61082dd47d042a7f617fb846e63d061803cc54ca..e677a682c2935543078b131ee8ab548cb31a2435 100644 |
--- a/client/html/dartium/html_dartium.dart |
+++ b/client/html/dartium/html_dartium.dart |
@@ -188,6 +188,7 @@ _wrap(raw) { |
case "DocumentFragment": return new _DocumentFragmentImpl._wrap(domObject); |
case "DocumentType": return new _DocumentTypeImpl._wrap(domObject); |
case "DynamicsCompressorNode": return new _DynamicsCompressorNodeImpl._wrap(domObject); |
+ case "EXTTextureFilterAnisotropic": return new _EXTTextureFilterAnisotropicImpl._wrap(domObject); |
case "ElementTimeControl": return new _ElementTimeControlImpl._wrap(domObject); |
case "HTMLEmbedElement": return new _EmbedElementImpl._wrap(domObject); |
case "Entity": return new _EntityImpl._wrap(domObject); |
@@ -6739,6 +6740,10 @@ class _DocumentImpl extends _ElementImpl |
return _wrap(_documentPtr.createElement(_unwrap(tagName))); |
} |
+ Element _createElementNS(String namespaceURI, String qualifiedName) { |
+ return _wrap(_documentPtr.createElementNS(_unwrap(namespaceURI), _unwrap(qualifiedName))); |
+ } |
+ |
Event _createEvent(String eventType) { |
return _wrap(_documentPtr.createEvent(_unwrap(eventType))); |
} |
@@ -7323,6 +7328,10 @@ class _DynamicsCompressorNodeImpl extends _AudioNodeImpl implements DynamicsComp |
AudioParam get threshold() => _wrap(_ptr.threshold); |
} |
+ |
+class _EXTTextureFilterAnisotropicImpl extends _DOMTypeBase implements EXTTextureFilterAnisotropic { |
+ _EXTTextureFilterAnisotropicImpl._wrap(ptr) : super._wrap(ptr); |
+} |
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
@@ -7422,7 +7431,7 @@ class _ChildrenElementList implements ElementList { |
Iterator<Element> iterator() => _toList().iterator(); |
- void addAll(Collection<_ElementImpl> collection) { |
+ void addAll(Collection<Element> collection) { |
for (_ElementImpl element in collection) { |
_element._appendChild(element); |
} |
@@ -8689,6 +8698,12 @@ class _FieldSetElementImpl extends _ElementImpl implements FieldSetElement { |
FormElement get form() => _wrap(_ptr.form); |
+ String get name() => _wrap(_ptr.name); |
+ |
+ void set name(String value) { _ptr.name = _unwrap(value); } |
+ |
+ String get type() => _wrap(_ptr.type); |
+ |
String get validationMessage() => _wrap(_ptr.validationMessage); |
ValidityState get validity() => _wrap(_ptr.validity); |
@@ -13836,8 +13851,58 @@ class _SVGDocumentImpl extends _DocumentImpl implements SVGDocument { |
return _wrap(_ptr.createEvent(_unwrap(eventType))); |
} |
} |
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+class _AttributeClassSet extends _CssClassSet { |
+ _AttributeClassSet(element) : super(element); |
+ |
+ String _className() => _element.attributes['class']; |
+ |
+ void _write(Set s) { |
+ _element.attributes['class'] = _formatSet(s); |
+ } |
+} |
class _SVGElementImpl extends _ElementImpl implements SVGElement { |
+ Set<String> get classes() { |
+ if (_cssClassSet === null) { |
+ _cssClassSet = new _AttributeClassSet(_ptr); |
+ } |
+ return _cssClassSet; |
+ } |
+ |
+ ElementList get elements() => new FilteredElementList(this); |
+ |
+ void set elements(Collection<Element> value) { |
+ final elements = this.elements; |
+ elements.clear(); |
+ elements.addAll(value); |
+ } |
+ |
+ String get outerHTML() { |
+ final container = new Element.tag("div"); |
+ final SVGElement clone = this.clone(true); |
+ container.elements.add(clone); |
+ return container.innerHTML; |
+ } |
+ |
+ String get innerHTML() { |
+ final container = new Element.tag("div"); |
+ final SVGElement clone = this.clone(true); |
+ container.elements.addAll(clone.elements); |
+ return container.innerHTML; |
+ } |
+ |
+ void set innerHTML(String svg) { |
+ final container = new Element.tag("div"); |
+ // Wrap the SVG string in <svg> so that SVGElements are created, rather than |
+ // HTMLElements. |
+ container.innerHTML = '<svg version="1.1">$svg</svg>'; |
+ this.elements = container.elements.first.elements; |
+ } |
+ |
_SVGElementImpl._wrap(ptr) : super._wrap(ptr); |
String get id() => _wrap(_ptr.id); |
@@ -13851,6 +13916,7 @@ class _SVGElementImpl extends _ElementImpl implements SVGElement { |
String get xmlbase() => _wrap(_ptr.xmlbase); |
void set xmlbase(String value) { _ptr.xmlbase = _unwrap(value); } |
+ |
} |
class _SVGElementInstanceImpl extends _EventTargetImpl implements SVGElementInstance { |
@@ -17477,6 +17543,8 @@ class _SelectElementImpl extends _ElementImpl implements SelectElement { |
void set selectedIndex(int value) { _ptr.selectedIndex = _unwrap(value); } |
+ HTMLCollection get selectedOptions() => _wrap(_ptr.selectedOptions); |
+ |
int get size() => _wrap(_ptr.size); |
void set size(int value) { _ptr.size = _unwrap(value); } |
@@ -17523,6 +17591,8 @@ class _ShadowElementImpl extends _ElementImpl implements ShadowElement { |
class _ShadowRootImpl extends _DocumentFragmentImpl implements ShadowRoot { |
_ShadowRootImpl._wrap(ptr) : super._wrap(ptr); |
+ Element get activeElement() => _wrap(_ptr.activeElement); |
+ |
Element get host() => _wrap(_ptr.host); |
String get innerHTML() => _wrap(_ptr.innerHTML); |
@@ -18605,10 +18675,6 @@ class _TouchListImpl extends _DOMTypeBase implements TouchList { |
class _TrackElementImpl extends _ElementImpl implements TrackElement { |
_TrackElementImpl._wrap(ptr) : super._wrap(ptr); |
- bool get isDefault() => _wrap(_ptr.isDefault); |
- |
- void set isDefault(bool value) { _ptr.isDefault = _unwrap(value); } |
- |
String get kind() => _wrap(_ptr.kind); |
void set kind(String value) { _ptr.kind = _unwrap(value); } |
@@ -22424,12 +22490,6 @@ interface CSSPrimitiveValue extends CSSValue { |
static final int CSS_URI = 20; |
- static final int CSS_VH = 27; |
- |
- static final int CSS_VMIN = 28; |
- |
- static final int CSS_VW = 26; |
- |
final int primitiveType; |
Counter getCounterValue(); |
@@ -25717,10 +25777,11 @@ interface DocumentFragment extends Element default _DocumentFragmentFactoryProvi |
DocumentFragment.html(String html); |
- // TODO(nweiz): enable these when XML and/or SVG are ported |
+ // TODO(nweiz): enable this when XML is ported |
// /** WARNING: Currently this doesn't work on Dartium (issue 649). */ |
// DocumentFragment.xml(String xml); |
- // DocumentFragment.svg(String svg); |
+ |
+ DocumentFragment.svg(String svg); |
DocumentFragment clone(bool deep); |
@@ -25766,6 +25827,18 @@ interface DynamicsCompressorNode extends AudioNode { |
final AudioParam threshold; |
} |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+// WARNING: Do not edit - generated code. |
+ |
+interface EXTTextureFilterAnisotropic { |
+ |
+ static final int MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; |
+ |
+ static final int TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; |
+} |
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
@@ -26600,6 +26673,10 @@ interface FieldSetElement extends Element { |
final FormElement form; |
+ String name; |
+ |
+ final String type; |
+ |
final String validationMessage; |
final ValidityState validity; |
@@ -30184,9 +30261,13 @@ interface SVGDocument extends Document { |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
-// WARNING: Do not edit - generated code. |
+interface SVGElement extends Element default _SVGElementFactoryProvider { |
+ |
+ SVGElement.tag(String tag); |
+ SVGElement.svg(String svg); |
+ |
+ SVGElement clone(bool deep); |
-interface SVGElement extends Element { |
String id; |
@@ -30195,6 +30276,7 @@ interface SVGElement extends Element { |
final SVGElement viewportElement; |
String xmlbase; |
+ |
} |
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |
@@ -31933,9 +32015,10 @@ interface SVGRenderingIntent { |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
-// WARNING: Do not edit - generated code. |
+interface SVGSVGElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGLocatable, SVGFitToViewBox, SVGZoomAndPan |
+ default _SVGSVGElementFactoryProvider { |
+ SVGSVGElement(); |
-interface SVGSVGElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalResourcesRequired, SVGStylable, SVGLocatable, SVGFitToViewBox, SVGZoomAndPan { |
String contentScriptType; |
@@ -32010,6 +32093,7 @@ interface SVGSVGElement extends SVGElement, SVGTests, SVGLangSpace, SVGExternalR |
void unsuspendRedraw(int suspendHandleId); |
void unsuspendRedrawAll(); |
+ |
} |
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |
@@ -32543,6 +32627,8 @@ interface SelectElement extends Element { |
int selectedIndex; |
+ final HTMLCollection selectedOptions; |
+ |
int size; |
final String type; |
@@ -32583,6 +32669,8 @@ interface ShadowRoot extends DocumentFragment default _ShadowRootFactoryProvider |
ShadowRoot(Element host); |
+ final Element activeElement; |
+ |
final Element host; |
String innerHTML; |
@@ -33320,8 +33408,6 @@ interface TrackElement extends Element { |
static final int NONE = 0; |
- bool isDefault; |
- |
String kind; |
String label; |
@@ -36267,17 +36353,46 @@ class _DocumentFragmentFactoryProvider { |
// return fragment; |
// } |
- // TODO(nweiz): enable this when SVG is ported. |
- // factory DocumentFragment.svg(String svg) { |
- // final fragment = new DocumentFragment(); |
- // final e = new SVGSVGElement(); |
- // e.innerHTML = svg; |
- // |
- // // Copy list first since we don't want liveness during iteration. |
- // final List nodes = new List.from(e.nodes); |
- // fragment.nodes.addAll(nodes); |
- // return fragment; |
- // } |
+ factory DocumentFragment.svg(String svg) { |
+ final fragment = new DocumentFragment(); |
+ final e = new SVGSVGElement(); |
+ e.innerHTML = svg; |
+ |
+ // Copy list first since we don't want liveness during iteration. |
+ final List nodes = new List.from(e.nodes); |
+ fragment.nodes.addAll(nodes); |
+ return fragment; |
+ } |
+} |
+ |
+class _SVGElementFactoryProvider { |
+ factory SVGElement.tag(String tag) => |
+ _document._createElementNS("http://www.w3.org/2000/svg", tag); |
+ |
+ factory SVGElement.svg(String svg) { |
+ Element parentTag; |
+ final match = _START_TAG_REGEXP.firstMatch(svg); |
+ if (match != null && match.group(1).toLowerCase() == 'svg') { |
+ parentTag = new Element.tag('div'); |
+ } else { |
+ parentTag = new SVGSVGElement(); |
+ } |
+ |
+ parentTag.innerHTML = svg; |
+ if (parentTag.elements.length == 1) return parentTag.nodes.removeLast(); |
+ |
+ throw new IllegalArgumentException('SVG had ${parentTag.elements.length} ' + |
+ 'top-level elements but 1 expected'); |
+ } |
+} |
+ |
+class _SVGSVGElementFactoryProvider { |
+ factory SVGSVGElement() { |
+ final el = new SVGElement.tag("svg"); |
+ // The SVG spec requires the version attribute to match the spec version |
+ el.attributes['version'] = "1.1"; |
+ return el; |
+ } |
} |
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |