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

Side by Side Diff: tools/dom/templates/html/impl/impl_SVGElement.darttemplate

Issue 1321613005: Dartium w/ JsInterop enabled (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of $LIBRARYNAME; 5 part of $LIBRARYNAME;
6 6
7 class _AttributeClassSet extends CssClassSetImpl { 7 class _AttributeClassSet extends CssClassSetImpl {
8 final Element _element; 8 final Element _element;
9 9
10 _AttributeClassSet(this._element); 10 _AttributeClassSet(this._element);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 } 51 }
52 var fragment = parentElement.createFragment(svg, validator: validator, 52 var fragment = parentElement.createFragment(svg, validator: validator,
53 treeSanitizer: treeSanitizer); 53 treeSanitizer: treeSanitizer);
54 return fragment.nodes.where((e) => e is SvgElement).single; 54 return fragment.nodes.where((e) => e is SvgElement).single;
55 } 55 }
56 56
57 CssClassSet get classes => new _AttributeClassSet(this); 57 CssClassSet get classes => new _AttributeClassSet(this);
58 58
59 List<Element> get children => new FilteredElementList(this); 59 List<Element> get children => new FilteredElementList(this);
60 60
61 void set children(List<Element> value) { 61 set children(List<Element> value) {
62 final children = this.children; 62 final children = this.children;
63 children.clear(); 63 children.clear();
64 children.addAll(value); 64 children.addAll(value);
65 } 65 }
66 66
67 String get outerHtml { 67 String get outerHtml {
68 final container = new Element.tag("div"); 68 final container = new Element.tag("div");
69 final SvgElement cloned = this.clone(true); 69 final SvgElement cloned = this.clone(true);
70 container.children.add(cloned); 70 container.children.add(cloned);
71 return container.innerHtml; 71 return container.innerHtml;
72 } 72 }
73 73
74 String get innerHtml { 74 String get innerHtml {
75 final container = new Element.tag("div"); 75 final container = new Element.tag("div");
76 final SvgElement cloned = this.clone(true); 76 final SvgElement cloned = this.clone(true);
77 container.children.addAll(cloned.children); 77 container.children.addAll(cloned.children);
78 return container.innerHtml; 78 return container.innerHtml;
79 } 79 }
80 80
81 void set innerHtml(String value) { 81 set innerHtml(String value) {
82 this.setInnerHtml(value); 82 this.setInnerHtml(value);
83 } 83 }
84 84
85 DocumentFragment createFragment(String svg, 85 DocumentFragment createFragment(String svg,
86 {NodeValidator validator, NodeTreeSanitizer treeSanitizer}) { 86 {NodeValidator validator, NodeTreeSanitizer treeSanitizer}) {
87 87
88 if (treeSanitizer == null) { 88 if (treeSanitizer == null) {
89 if (validator == null) { 89 if (validator == null) {
90 validator = new NodeValidatorBuilder.common() 90 validator = new NodeValidatorBuilder.common()
91 ..allowSvg(); 91 ..allowSvg();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 136
137 /** 137 /**
138 * Checks to see if the SVG element type is supported by the current platform. 138 * Checks to see if the SVG element type is supported by the current platform.
139 * 139 *
140 * The tag should be a valid SVG element tag name. 140 * The tag should be a valid SVG element tag name.
141 */ 141 */
142 static bool isTagSupported(String tag) { 142 static bool isTagSupported(String tag) {
143 var e = new $CLASSNAME.tag(tag); 143 var e = new $CLASSNAME.tag(tag);
144 return e is $CLASSNAME && !(e is UnknownElement); 144 return e is $CLASSNAME && !(e is UnknownElement);
145 } 145 }
146
147 $if JSINTEROP
148 set _svgClassName(AnimatedString value) =>
149 _blink.BlinkSVGElement.instance.className_Setter_(unwrap_jso(this), unwrap _jso(value));
150
151 String get className => _svgClassName.baseVal;
152
153 // Unbelievable hack. We can't create an SvgAnimatedString, but we can get
154 // the existing one and change its baseVal. Then we call the blink setter dire ctly
155 // TODO(alanknight): Handle suppressing the SVGAnimated<*> better
156 set className(String s) {
157 var oldClass = _svgClassName;
158 oldClass.baseVal = s;
159 _svgClassName = oldClass;
160 }
161 $endif
146 $!MEMBERS 162 $!MEMBERS
147 } 163 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698