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

Side by Side Diff: sdk/lib/svg/dartium/svg_dartium.dart

Issue 14071002: Added new version of reduce. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Removed more uses of max, and a few bugs. Created 7 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 | Annotate | Revision Log
OLDNEW
1 library dart.dom.svg; 1 library dart.dom.svg;
2 2
3 import 'dart:async'; 3 import 'dart:async';
4 import 'dart:collection'; 4 import 'dart:collection';
5 import 'dart:html'; 5 import 'dart:html';
6 import 'dart:html_common'; 6 import 'dart:html_common';
7 import 'dart:nativewrappers'; 7 import 'dart:nativewrappers';
8 // DO NOT EDIT 8 // DO NOT EDIT
9 // Auto-generated dart:svg library. 9 // Auto-generated dart:svg library.
10 10
(...skipping 3273 matching lines...) Expand 10 before | Expand all | Expand 10 after
3284 3284
3285 Iterator<Length> get iterator { 3285 Iterator<Length> get iterator {
3286 // Note: NodeLists are not fixed size. And most probably length shouldn't 3286 // Note: NodeLists are not fixed size. And most probably length shouldn't
3287 // be cached in both iterator _and_ forEach method. For now caching it 3287 // be cached in both iterator _and_ forEach method. For now caching it
3288 // for consistency. 3288 // for consistency.
3289 return new FixedSizeListIterator<Length>(this); 3289 return new FixedSizeListIterator<Length>(this);
3290 } 3290 }
3291 3291
3292 // SVG Collections expose numberOfItems rather than length. 3292 // SVG Collections expose numberOfItems rather than length.
3293 int get length => numberOfItems; 3293 int get length => numberOfItems;
3294 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Length)) { 3294 Length reduce(Length combine(Length value, Length element)) {
3295 return IterableMixinWorkaround.reduce(this, initialValue, combine); 3295 return IterableMixinWorkaround.reduce(this, combine);
3296 } 3296 }
3297 3297
3298 dynamic fold(dynamic initialValue, dynamic combine(dynamic, Length)) { 3298 dynamic fold(dynamic initialValue,
3299 dynamic combine(dynamic previousValue, Length element)) {
3299 return IterableMixinWorkaround.fold(this, initialValue, combine); 3300 return IterableMixinWorkaround.fold(this, initialValue, combine);
3300 } 3301 }
3301 3302
3302 bool contains(Length element) => IterableMixinWorkaround.contains(this, elemen t); 3303 bool contains(Length element) => IterableMixinWorkaround.contains(this, elemen t);
3303 3304
3304 void forEach(void f(Length element)) => IterableMixinWorkaround.forEach(this, f); 3305 void forEach(void f(Length element)) => IterableMixinWorkaround.forEach(this, f);
3305 3306
3306 String join([String separator = ""]) => 3307 String join([String separator = ""]) =>
3307 IterableMixinWorkaround.joinList(this, separator); 3308 IterableMixinWorkaround.joinList(this, separator);
3308 3309
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
3396 if (this.length > 0) return this[this.length - 1]; 3397 if (this.length > 0) return this[this.length - 1];
3397 throw new StateError("No elements"); 3398 throw new StateError("No elements");
3398 } 3399 }
3399 3400
3400 Length get single { 3401 Length get single {
3401 if (length == 1) return this[0]; 3402 if (length == 1) return this[0];
3402 if (length == 0) throw new StateError("No elements"); 3403 if (length == 0) throw new StateError("No elements");
3403 throw new StateError("More than one element"); 3404 throw new StateError("More than one element");
3404 } 3405 }
3405 3406
3406 Length min([int compare(Length a, Length b)]) =>
3407 IterableMixinWorkaround.min(this, compare);
3408
3409 Length max([int compare(Length a, Length b)]) =>
3410 IterableMixinWorkaround.max(this, compare);
3411
3412 void insert(int index, Length element) { 3407 void insert(int index, Length element) {
3413 throw new UnsupportedError("Cannot add to immutable List."); 3408 throw new UnsupportedError("Cannot add to immutable List.");
3414 } 3409 }
3415 3410
3416 Length removeAt(int pos) { 3411 Length removeAt(int pos) {
3417 throw new UnsupportedError("Cannot remove from immutable List."); 3412 throw new UnsupportedError("Cannot remove from immutable List.");
3418 } 3413 }
3419 3414
3420 Length removeLast() { 3415 Length removeLast() {
3421 throw new UnsupportedError("Cannot remove from immutable List."); 3416 throw new UnsupportedError("Cannot remove from immutable List.");
(...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after
4006 4001
4007 Iterator<Number> get iterator { 4002 Iterator<Number> get iterator {
4008 // Note: NodeLists are not fixed size. And most probably length shouldn't 4003 // Note: NodeLists are not fixed size. And most probably length shouldn't
4009 // be cached in both iterator _and_ forEach method. For now caching it 4004 // be cached in both iterator _and_ forEach method. For now caching it
4010 // for consistency. 4005 // for consistency.
4011 return new FixedSizeListIterator<Number>(this); 4006 return new FixedSizeListIterator<Number>(this);
4012 } 4007 }
4013 4008
4014 // SVG Collections expose numberOfItems rather than length. 4009 // SVG Collections expose numberOfItems rather than length.
4015 int get length => numberOfItems; 4010 int get length => numberOfItems;
4016 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Number)) { 4011 Number reduce(Number combine(Number value, Number element)) {
4017 return IterableMixinWorkaround.reduce(this, initialValue, combine); 4012 return IterableMixinWorkaround.reduce(this, combine);
4018 } 4013 }
4019 4014
4020 dynamic fold(dynamic initialValue, dynamic combine(dynamic, Number)) { 4015 dynamic fold(dynamic initialValue,
4016 dynamic combine(dynamic previousValue, Number element)) {
4021 return IterableMixinWorkaround.fold(this, initialValue, combine); 4017 return IterableMixinWorkaround.fold(this, initialValue, combine);
4022 } 4018 }
4023 4019
4024 bool contains(Number element) => IterableMixinWorkaround.contains(this, elemen t); 4020 bool contains(Number element) => IterableMixinWorkaround.contains(this, elemen t);
4025 4021
4026 void forEach(void f(Number element)) => IterableMixinWorkaround.forEach(this, f); 4022 void forEach(void f(Number element)) => IterableMixinWorkaround.forEach(this, f);
4027 4023
4028 String join([String separator = ""]) => 4024 String join([String separator = ""]) =>
4029 IterableMixinWorkaround.joinList(this, separator); 4025 IterableMixinWorkaround.joinList(this, separator);
4030 4026
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
4118 if (this.length > 0) return this[this.length - 1]; 4114 if (this.length > 0) return this[this.length - 1];
4119 throw new StateError("No elements"); 4115 throw new StateError("No elements");
4120 } 4116 }
4121 4117
4122 Number get single { 4118 Number get single {
4123 if (length == 1) return this[0]; 4119 if (length == 1) return this[0];
4124 if (length == 0) throw new StateError("No elements"); 4120 if (length == 0) throw new StateError("No elements");
4125 throw new StateError("More than one element"); 4121 throw new StateError("More than one element");
4126 } 4122 }
4127 4123
4128 Number min([int compare(Number a, Number b)]) =>
4129 IterableMixinWorkaround.min(this, compare);
4130
4131 Number max([int compare(Number a, Number b)]) =>
4132 IterableMixinWorkaround.max(this, compare);
4133
4134 void insert(int index, Number element) { 4124 void insert(int index, Number element) {
4135 throw new UnsupportedError("Cannot add to immutable List."); 4125 throw new UnsupportedError("Cannot add to immutable List.");
4136 } 4126 }
4137 4127
4138 Number removeAt(int pos) { 4128 Number removeAt(int pos) {
4139 throw new UnsupportedError("Cannot remove from immutable List."); 4129 throw new UnsupportedError("Cannot remove from immutable List.");
4140 } 4130 }
4141 4131
4142 Number removeLast() { 4132 Number removeLast() {
4143 throw new UnsupportedError("Cannot remove from immutable List."); 4133 throw new UnsupportedError("Cannot remove from immutable List.");
(...skipping 1011 matching lines...) Expand 10 before | Expand all | Expand 10 after
5155 5145
5156 Iterator<PathSeg> get iterator { 5146 Iterator<PathSeg> get iterator {
5157 // Note: NodeLists are not fixed size. And most probably length shouldn't 5147 // Note: NodeLists are not fixed size. And most probably length shouldn't
5158 // be cached in both iterator _and_ forEach method. For now caching it 5148 // be cached in both iterator _and_ forEach method. For now caching it
5159 // for consistency. 5149 // for consistency.
5160 return new FixedSizeListIterator<PathSeg>(this); 5150 return new FixedSizeListIterator<PathSeg>(this);
5161 } 5151 }
5162 5152
5163 // SVG Collections expose numberOfItems rather than length. 5153 // SVG Collections expose numberOfItems rather than length.
5164 int get length => numberOfItems; 5154 int get length => numberOfItems;
5165 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, PathSeg)) { 5155 PathSeg reduce(PathSeg combine(PathSeg value, PathSeg element)) {
5166 return IterableMixinWorkaround.reduce(this, initialValue, combine); 5156 return IterableMixinWorkaround.reduce(this, combine);
5167 } 5157 }
5168 5158
5169 dynamic fold(dynamic initialValue, dynamic combine(dynamic, PathSeg)) { 5159 dynamic fold(dynamic initialValue,
5160 dynamic combine(dynamic previousValue, PathSeg element)) {
5170 return IterableMixinWorkaround.fold(this, initialValue, combine); 5161 return IterableMixinWorkaround.fold(this, initialValue, combine);
5171 } 5162 }
5172 5163
5173 bool contains(PathSeg element) => IterableMixinWorkaround.contains(this, eleme nt); 5164 bool contains(PathSeg element) => IterableMixinWorkaround.contains(this, eleme nt);
5174 5165
5175 void forEach(void f(PathSeg element)) => IterableMixinWorkaround.forEach(this, f); 5166 void forEach(void f(PathSeg element)) => IterableMixinWorkaround.forEach(this, f);
5176 5167
5177 String join([String separator = ""]) => 5168 String join([String separator = ""]) =>
5178 IterableMixinWorkaround.joinList(this, separator); 5169 IterableMixinWorkaround.joinList(this, separator);
5179 5170
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
5267 if (this.length > 0) return this[this.length - 1]; 5258 if (this.length > 0) return this[this.length - 1];
5268 throw new StateError("No elements"); 5259 throw new StateError("No elements");
5269 } 5260 }
5270 5261
5271 PathSeg get single { 5262 PathSeg get single {
5272 if (length == 1) return this[0]; 5263 if (length == 1) return this[0];
5273 if (length == 0) throw new StateError("No elements"); 5264 if (length == 0) throw new StateError("No elements");
5274 throw new StateError("More than one element"); 5265 throw new StateError("More than one element");
5275 } 5266 }
5276 5267
5277 PathSeg min([int compare(PathSeg a, PathSeg b)]) =>
5278 IterableMixinWorkaround.min(this, compare);
5279
5280 PathSeg max([int compare(PathSeg a, PathSeg b)]) =>
5281 IterableMixinWorkaround.max(this, compare);
5282
5283 void insert(int index, PathSeg element) { 5268 void insert(int index, PathSeg element) {
5284 throw new UnsupportedError("Cannot add to immutable List."); 5269 throw new UnsupportedError("Cannot add to immutable List.");
5285 } 5270 }
5286 5271
5287 PathSeg removeAt(int pos) { 5272 PathSeg removeAt(int pos) {
5288 throw new UnsupportedError("Cannot remove from immutable List."); 5273 throw new UnsupportedError("Cannot remove from immutable List.");
5289 } 5274 }
5290 5275
5291 PathSeg removeLast() { 5276 PathSeg removeLast() {
5292 throw new UnsupportedError("Cannot remove from immutable List."); 5277 throw new UnsupportedError("Cannot remove from immutable List.");
(...skipping 865 matching lines...) Expand 10 before | Expand all | Expand 10 after
6158 6143
6159 Iterator<String> get iterator { 6144 Iterator<String> get iterator {
6160 // Note: NodeLists are not fixed size. And most probably length shouldn't 6145 // Note: NodeLists are not fixed size. And most probably length shouldn't
6161 // be cached in both iterator _and_ forEach method. For now caching it 6146 // be cached in both iterator _and_ forEach method. For now caching it
6162 // for consistency. 6147 // for consistency.
6163 return new FixedSizeListIterator<String>(this); 6148 return new FixedSizeListIterator<String>(this);
6164 } 6149 }
6165 6150
6166 // SVG Collections expose numberOfItems rather than length. 6151 // SVG Collections expose numberOfItems rather than length.
6167 int get length => numberOfItems; 6152 int get length => numberOfItems;
6168 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, String)) { 6153 String reduce(String combine(String value, String element)) {
6169 return IterableMixinWorkaround.reduce(this, initialValue, combine); 6154 return IterableMixinWorkaround.reduce(this, combine);
6170 } 6155 }
6171 6156
6172 dynamic fold(dynamic initialValue, dynamic combine(dynamic, String)) { 6157 dynamic fold(dynamic initialValue,
6158 dynamic combine(dynamic previousValue, String element)) {
6173 return IterableMixinWorkaround.fold(this, initialValue, combine); 6159 return IterableMixinWorkaround.fold(this, initialValue, combine);
6174 } 6160 }
6175 6161
6176 bool contains(String element) => IterableMixinWorkaround.contains(this, elemen t); 6162 bool contains(String element) => IterableMixinWorkaround.contains(this, elemen t);
6177 6163
6178 void forEach(void f(String element)) => IterableMixinWorkaround.forEach(this, f); 6164 void forEach(void f(String element)) => IterableMixinWorkaround.forEach(this, f);
6179 6165
6180 String join([String separator = ""]) => 6166 String join([String separator = ""]) =>
6181 IterableMixinWorkaround.joinList(this, separator); 6167 IterableMixinWorkaround.joinList(this, separator);
6182 6168
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
6270 if (this.length > 0) return this[this.length - 1]; 6256 if (this.length > 0) return this[this.length - 1];
6271 throw new StateError("No elements"); 6257 throw new StateError("No elements");
6272 } 6258 }
6273 6259
6274 String get single { 6260 String get single {
6275 if (length == 1) return this[0]; 6261 if (length == 1) return this[0];
6276 if (length == 0) throw new StateError("No elements"); 6262 if (length == 0) throw new StateError("No elements");
6277 throw new StateError("More than one element"); 6263 throw new StateError("More than one element");
6278 } 6264 }
6279 6265
6280 String min([int compare(String a, String b)]) =>
6281 IterableMixinWorkaround.min(this, compare);
6282
6283 String max([int compare(String a, String b)]) =>
6284 IterableMixinWorkaround.max(this, compare);
6285
6286 void insert(int index, String element) { 6266 void insert(int index, String element) {
6287 throw new UnsupportedError("Cannot add to immutable List."); 6267 throw new UnsupportedError("Cannot add to immutable List.");
6288 } 6268 }
6289 6269
6290 String removeAt(int pos) { 6270 String removeAt(int pos) {
6291 throw new UnsupportedError("Cannot remove from immutable List."); 6271 throw new UnsupportedError("Cannot remove from immutable List.");
6292 } 6272 }
6293 6273
6294 String removeLast() { 6274 String removeLast() {
6295 throw new UnsupportedError("Cannot remove from immutable List."); 6275 throw new UnsupportedError("Cannot remove from immutable List.");
(...skipping 1130 matching lines...) Expand 10 before | Expand all | Expand 10 after
7426 7406
7427 Iterator<Transform> get iterator { 7407 Iterator<Transform> get iterator {
7428 // Note: NodeLists are not fixed size. And most probably length shouldn't 7408 // Note: NodeLists are not fixed size. And most probably length shouldn't
7429 // be cached in both iterator _and_ forEach method. For now caching it 7409 // be cached in both iterator _and_ forEach method. For now caching it
7430 // for consistency. 7410 // for consistency.
7431 return new FixedSizeListIterator<Transform>(this); 7411 return new FixedSizeListIterator<Transform>(this);
7432 } 7412 }
7433 7413
7434 // SVG Collections expose numberOfItems rather than length. 7414 // SVG Collections expose numberOfItems rather than length.
7435 int get length => numberOfItems; 7415 int get length => numberOfItems;
7436 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, Transform)) { 7416 Transform reduce(Transform combine(Transform value, Transform element)) {
7437 return IterableMixinWorkaround.reduce(this, initialValue, combine); 7417 return IterableMixinWorkaround.reduce(this, combine);
7438 } 7418 }
7439 7419
7440 dynamic fold(dynamic initialValue, dynamic combine(dynamic, Transform)) { 7420 dynamic fold(dynamic initialValue,
7421 dynamic combine(dynamic previousValue, Transform element)) {
7441 return IterableMixinWorkaround.fold(this, initialValue, combine); 7422 return IterableMixinWorkaround.fold(this, initialValue, combine);
7442 } 7423 }
7443 7424
7444 bool contains(Transform element) => IterableMixinWorkaround.contains(this, ele ment); 7425 bool contains(Transform element) => IterableMixinWorkaround.contains(this, ele ment);
7445 7426
7446 void forEach(void f(Transform element)) => IterableMixinWorkaround.forEach(thi s, f); 7427 void forEach(void f(Transform element)) => IterableMixinWorkaround.forEach(thi s, f);
7447 7428
7448 String join([String separator = ""]) => 7429 String join([String separator = ""]) =>
7449 IterableMixinWorkaround.joinList(this, separator); 7430 IterableMixinWorkaround.joinList(this, separator);
7450 7431
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
7538 if (this.length > 0) return this[this.length - 1]; 7519 if (this.length > 0) return this[this.length - 1];
7539 throw new StateError("No elements"); 7520 throw new StateError("No elements");
7540 } 7521 }
7541 7522
7542 Transform get single { 7523 Transform get single {
7543 if (length == 1) return this[0]; 7524 if (length == 1) return this[0];
7544 if (length == 0) throw new StateError("No elements"); 7525 if (length == 0) throw new StateError("No elements");
7545 throw new StateError("More than one element"); 7526 throw new StateError("More than one element");
7546 } 7527 }
7547 7528
7548 Transform min([int compare(Transform a, Transform b)]) =>
7549 IterableMixinWorkaround.min(this, compare);
7550
7551 Transform max([int compare(Transform a, Transform b)]) =>
7552 IterableMixinWorkaround.max(this, compare);
7553
7554 void insert(int index, Transform element) { 7529 void insert(int index, Transform element) {
7555 throw new UnsupportedError("Cannot add to immutable List."); 7530 throw new UnsupportedError("Cannot add to immutable List.");
7556 } 7531 }
7557 7532
7558 Transform removeAt(int pos) { 7533 Transform removeAt(int pos) {
7559 throw new UnsupportedError("Cannot remove from immutable List."); 7534 throw new UnsupportedError("Cannot remove from immutable List.");
7560 } 7535 }
7561 7536
7562 Transform removeLast() { 7537 Transform removeLast() {
7563 throw new UnsupportedError("Cannot remove from immutable List."); 7538 throw new UnsupportedError("Cannot remove from immutable List.");
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after
8018 7993
8019 // From Iterable<ElementInstance>: 7994 // From Iterable<ElementInstance>:
8020 7995
8021 Iterator<ElementInstance> get iterator { 7996 Iterator<ElementInstance> get iterator {
8022 // Note: NodeLists are not fixed size. And most probably length shouldn't 7997 // Note: NodeLists are not fixed size. And most probably length shouldn't
8023 // be cached in both iterator _and_ forEach method. For now caching it 7998 // be cached in both iterator _and_ forEach method. For now caching it
8024 // for consistency. 7999 // for consistency.
8025 return new FixedSizeListIterator<ElementInstance>(this); 8000 return new FixedSizeListIterator<ElementInstance>(this);
8026 } 8001 }
8027 8002
8028 dynamic reduce(dynamic initialValue, dynamic combine(dynamic, ElementInstance) ) { 8003 ElementInstance reduce(ElementInstance combine(ElementInstance value, ElementI nstance element)) {
8029 return IterableMixinWorkaround.reduce(this, initialValue, combine); 8004 return IterableMixinWorkaround.reduce(this, combine);
8030 } 8005 }
8031 8006
8032 dynamic fold(dynamic initialValue, dynamic combine(dynamic, ElementInstance)) { 8007 dynamic fold(dynamic initialValue,
8008 dynamic combine(dynamic previousValue, ElementInstance element)) {
8033 return IterableMixinWorkaround.fold(this, initialValue, combine); 8009 return IterableMixinWorkaround.fold(this, initialValue, combine);
8034 } 8010 }
8035 8011
8036 bool contains(ElementInstance element) => IterableMixinWorkaround.contains(thi s, element); 8012 bool contains(ElementInstance element) => IterableMixinWorkaround.contains(thi s, element);
8037 8013
8038 void forEach(void f(ElementInstance element)) => IterableMixinWorkaround.forEa ch(this, f); 8014 void forEach(void f(ElementInstance element)) => IterableMixinWorkaround.forEa ch(this, f);
8039 8015
8040 String join([String separator = ""]) => 8016 String join([String separator = ""]) =>
8041 IterableMixinWorkaround.joinList(this, separator); 8017 IterableMixinWorkaround.joinList(this, separator);
8042 8018
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
8132 if (this.length > 0) return this[this.length - 1]; 8108 if (this.length > 0) return this[this.length - 1];
8133 throw new StateError("No elements"); 8109 throw new StateError("No elements");
8134 } 8110 }
8135 8111
8136 ElementInstance get single { 8112 ElementInstance get single {
8137 if (length == 1) return this[0]; 8113 if (length == 1) return this[0];
8138 if (length == 0) throw new StateError("No elements"); 8114 if (length == 0) throw new StateError("No elements");
8139 throw new StateError("More than one element"); 8115 throw new StateError("More than one element");
8140 } 8116 }
8141 8117
8142 ElementInstance min([int compare(ElementInstance a, ElementInstance b)]) =>
8143 IterableMixinWorkaround.min(this, compare);
8144
8145 ElementInstance max([int compare(ElementInstance a, ElementInstance b)]) =>
8146 IterableMixinWorkaround.max(this, compare);
8147
8148 void insert(int index, ElementInstance element) { 8118 void insert(int index, ElementInstance element) {
8149 throw new UnsupportedError("Cannot add to immutable List."); 8119 throw new UnsupportedError("Cannot add to immutable List.");
8150 } 8120 }
8151 8121
8152 ElementInstance removeAt(int pos) { 8122 ElementInstance removeAt(int pos) {
8153 throw new UnsupportedError("Cannot remove from immutable List."); 8123 throw new UnsupportedError("Cannot remove from immutable List.");
8154 } 8124 }
8155 8125
8156 ElementInstance removeLast() { 8126 ElementInstance removeLast() {
8157 throw new UnsupportedError("Cannot remove from immutable List."); 8127 throw new UnsupportedError("Cannot remove from immutable List.");
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
8547 @DocsEditable 8517 @DocsEditable
8548 @DomName('SVGVKernElement') 8518 @DomName('SVGVKernElement')
8549 abstract class _SVGVKernElement extends SvgElement { 8519 abstract class _SVGVKernElement extends SvgElement {
8550 _SVGVKernElement.internal() : super.internal(); 8520 _SVGVKernElement.internal() : super.internal();
8551 8521
8552 @DomName('SVGVKernElement.SVGVKernElement') 8522 @DomName('SVGVKernElement.SVGVKernElement')
8553 @DocsEditable 8523 @DocsEditable
8554 factory _SVGVKernElement() => _SvgElementFactoryProvider.createSvgElement_tag( "vkern"); 8524 factory _SVGVKernElement() => _SvgElementFactoryProvider.createSvgElement_tag( "vkern");
8555 8525
8556 } 8526 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698