| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 // WARNING: Do not edit - generated code. | 5 // WARNING: Do not edit - generated code. |
| 6 | 6 |
| 7 part of $LIBRARYNAME; | 7 part of $LIBRARYNAME; |
| 8 | 8 |
| 9 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { | 9 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { |
| 10 $!MEMBERS | 10 $!MEMBERS |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 237 * | 237 * |
| 238 * main() { | 238 * main() { |
| 239 * document.register('x-bar', BarElement); | 239 * document.register('x-bar', BarElement); |
| 240 * var myBar = new Element.tag('input', 'x-bar'); | 240 * var myBar = new Element.tag('input', 'x-bar'); |
| 241 * // prints 'BarElement created!' to the console. | 241 * // prints 'BarElement created!' to the console. |
| 242 * } | 242 * } |
| 243 * | 243 * |
| 244 * This custom element can also be instantiated via HTML using the syntax | 244 * This custom element can also be instantiated via HTML using the syntax |
| 245 * `<input is="x-bar"></input>` | 245 * `<input is="x-bar"></input>` |
| 246 * | 246 * |
| 247 * The [nativeTagName] parameter is needed by platforms without native support | |
| 248 * when subclassing a native type other than: | |
| 249 * | |
| 250 * * HtmlElement | |
| 251 * * SvgElement | |
| 252 * * AnchorElement | |
| 253 * * AudioElement | |
| 254 * * ButtonElement | |
| 255 * * CanvasElement | |
| 256 * * DivElement | |
| 257 * * ImageElement | |
| 258 * * InputElement | |
| 259 * * LIElement | |
| 260 * * LabelElement | |
| 261 * * MenuElement | |
| 262 * * MeterElement | |
| 263 * * OListElement | |
| 264 * * OptionElement | |
| 265 * * OutputElement | |
| 266 * * ParagraphElement | |
| 267 * * PreElement | |
| 268 * * ProgressElement | |
| 269 * * SelectElement | |
| 270 * * SpanElement | |
| 271 * * UListElement | |
| 272 * * VideoElement | |
| 273 */ | 247 */ |
| 274 $if DART2JS | 248 $if DART2JS |
| 275 void register(String tag, Type customElementClass, {String extendsTag}) { | 249 void register(String tag, Type customElementClass, {String extendsTag}) { |
| 276 _registerCustomElement(JS('', 'window'), this, tag, customElementClass, | 250 _registerCustomElement(JS('', 'window'), this, tag, customElementClass, |
| 277 extendsTag); | 251 extendsTag); |
| 278 } | 252 } |
| 279 $else | 253 $else |
| 280 void register(String tag, Type customElementClass, {String extendsTag}) { | 254 void register(String tag, Type customElementClass, {String extendsTag}) { |
| 281 _Utils.register(this, tag, customElementClass, extendsTag); | 255 _Utils.register(this, tag, customElementClass, extendsTag); |
| 282 } | 256 } |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 314 return 'webkitvisibilitychange'; | 288 return 'webkitvisibilitychange'; |
| 315 $endif | 289 $endif |
| 316 } | 290 } |
| 317 | 291 |
| 318 @SupportedBrowser(SupportedBrowser.CHROME) | 292 @SupportedBrowser(SupportedBrowser.CHROME) |
| 319 @SupportedBrowser(SupportedBrowser.FIREFOX) | 293 @SupportedBrowser(SupportedBrowser.FIREFOX) |
| 320 @SupportedBrowser(SupportedBrowser.IE, '10') | 294 @SupportedBrowser(SupportedBrowser.IE, '10') |
| 321 @Experimental() | 295 @Experimental() |
| 322 Stream<Event> get onVisibilityChange => | 296 Stream<Event> get onVisibilityChange => |
| 323 visibilityChangeEvent.forTarget(this); | 297 visibilityChangeEvent.forTarget(this); |
| 298 |
| 299 /// Creates an element upgrader which can be used to change the Dart wrapper |
| 300 /// type for elements. |
| 301 /// |
| 302 /// The type specified must be a subclass of HtmlElement, when an element is |
| 303 /// upgraded then the created constructor will be invoked on that element. |
| 304 /// |
| 305 /// If the type is not a direct subclass of HtmlElement then the extendsTag |
| 306 /// parameter must be provided. |
| 307 @Experimental() |
| 308 ElementUpgrader createElementUpgrader(Type type, {String extendsTag}) { |
| 309 $if DART2JS |
| 310 return new _JSElementUpgrader(this, type, extendsTag); |
| 311 $else |
| 312 return new _VMElementUpgrader(this, type, extendsTag); |
| 313 $endif |
| 314 } |
| 324 } | 315 } |
| 316 |
| 317 /// A utility for changing the Dart wrapper type for elements. |
| 318 abstract class ElementUpgrader { |
| 319 /// Upgrade the specified element to be of the Dart type this was created for. |
| 320 /// |
| 321 /// After upgrading the element passed in is invalid and the returned value |
| 322 /// should be used instead. |
| 323 Element upgrade(Element element); |
| 324 } |
| OLD | NEW |