| Index: client/html/release/htmlimpl.dart
|
| diff --git a/client/html/release/htmlimpl.dart b/client/html/release/htmlimpl.dart
|
| index 604a9e5465aaecb540c177e8971476ad4213be63..b031005bf5bdaed23946c4e3607d4a5381a30512 100644
|
| --- a/client/html/release/htmlimpl.dart
|
| +++ b/client/html/release/htmlimpl.dart
|
| @@ -24023,6 +24023,23 @@ class SVGElementWrappingImplementation extends ElementWrappingImplementation imp
|
| LevelDom.wrapSVGElement(dom.document.createElementNS(
|
| "http://www.w3.org/2000/svg", tag));
|
|
|
| + factory SVGElementWrappingImplementation.svg(String svg) {
|
| + Element parentTag;
|
| + final match = ElementWrappingImplementation._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.elements[0];
|
| +
|
| + throw 'SVG had ${parentTag.elements.length} top-level elements but 1 ' +
|
| + 'expected';
|
| + }
|
| +
|
| String get id() { return _ptr.id; }
|
|
|
| void set id(String value) { _ptr.id = value; }
|
| @@ -24034,6 +24051,42 @@ class SVGElementWrappingImplementation extends ElementWrappingImplementation imp
|
| String get xmlbase() { return _ptr.xmlbase; }
|
|
|
| void set xmlbase(String value) { _ptr.xmlbase = value; }
|
| +
|
| + ElementList get elements() {
|
| + if (_elements == null) {
|
| + _elements = new FilteredElementList(this);
|
| + }
|
| + return _elements;
|
| + }
|
| +
|
| + // TODO: The type of value should be Collection<Element>. See http://b/5392897
|
| + void set elements(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);
|
| + }
|
| +
|
| + String get outerHTML() {
|
| + final container = new Element.tag("div");
|
| + container.elements.add(this.clone(true));
|
| + return container.innerHTML;
|
| + }
|
| +
|
| + String get innerHTML() {
|
| + final container = new Element.tag("div");
|
| + container.elements.addAll(this.clone(true).elements);
|
| + return container.innerHTML;
|
| + }
|
| +
|
| + void set innerHTML(String svg) {
|
| + var 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[0].elements;
|
| + }
|
| }
|
| // 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
|
| @@ -24071,7 +24124,7 @@ class SVGSVGElementWrappingImplementation extends SVGElementWrappingImplementati
|
| factory SVGSVGElementWrappingImplementation() {
|
| var el = new SVGElement.tag("svg");
|
| // The SVG spec requires the version attribute to match the spec version
|
| - el.attributes['version'] = 1.1;
|
| + el.attributes['version'] = "1.1";
|
| return el;
|
| }
|
|
|
|
|