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

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

Issue 1832713002: Optimize dartium dart:html bindings so real world application performance is acceptable. Improves d… (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: update cached patches Created 4 years, 8 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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 146
147 $if JSINTEROP 147 $if JSINTEROP
148 set _svgClassName(AnimatedString value) => 148 set _svgClassName(AnimatedString value) =>
149 _blink.BlinkSVGElement.instance.className_Setter_(unwrap_jso(this), unwrap _jso(value)); 149 _blink.BlinkSVGElement.instance.className_Setter_(this, value);
150 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 151 $endif
162 $!MEMBERS 152 $!MEMBERS
163 } 153 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698