| // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| // WARNING: Do not edit - generated code. |
| |
| part of $LIBRARYNAME; |
| |
| $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { |
| $!MEMBERS |
| |
| $if DART2JS |
| @DomName('Document.body') |
| BodyElement body; |
| $else |
| @DomName('Document.body') |
| BodyElement get body => _body; |
| |
| @DomName('Document.body') |
| void set body(BodyElement value) { |
| _body = value; |
| } |
| $endif |
| |
| @DomName('Document.caretRangeFromPoint') |
| Range caretRangeFromPoint(int x, int y) { |
| return _caretRangeFromPoint(x, y); |
| } |
| |
| @DomName('Document.elementFromPoint') |
| Element elementFromPoint(int x, int y) { |
| return _elementFromPoint(x, y); |
| } |
| |
| /** |
| * Checks if the getCssCanvasContext API is supported on the current platform. |
| * |
| * See also: |
| * |
| * * [getCssCanvasContext] |
| */ |
| $if DART2JS |
| static bool get supportsCssCanvasContext => |
| JS('bool', '!!(document.getCSSCanvasContext)'); |
| $else |
| static bool get supportsCssCanvasContext => true; |
| $endif |
| |
| |
| /** |
| * Gets a CanvasRenderingContext which can be used as the CSS background of an |
| * element. |
| * |
| * CSS: |
| * |
| * background: -webkit-canvas(backgroundCanvas) |
| * |
| * Generate the canvas: |
| * |
| * var context = document.getCssCanvasContext('2d', 'backgroundCanvas', |
| * 100, 100); |
| * context.fillStyle = 'red'; |
| * context.fillRect(0, 0, 100, 100); |
| * |
| * See also: |
| * |
| * * [supportsCssCanvasContext] |
| * * [CanvasElement.getContext] |
| */ |
| @SupportedBrowser(SupportedBrowser.CHROME) |
| @SupportedBrowser(SupportedBrowser.SAFARI) |
| @Experimental() |
| @DomName('Document.getCSSCanvasContext') |
| CanvasRenderingContext getCssCanvasContext(String contextId, String name, |
| int width, int height) { |
| return _getCssCanvasContext(contextId, name, width, height); |
| } |
| |
| @DomName('Document.head') |
| HeadElement get head => _head; |
| |
| @DomName('Document.lastModified') |
| String get lastModified => _lastModified; |
| |
| @DomName('Document.preferredStylesheetSet') |
| String get preferredStylesheetSet => _preferredStylesheetSet; |
| |
| @DomName('Document.referrer') |
| String get referrer => _referrer; |
| |
| @DomName('Document.selectedStylesheetSet') |
| String get selectedStylesheetSet => _selectedStylesheetSet; |
| void set selectedStylesheetSet(String value) { |
| _selectedStylesheetSet = value; |
| } |
| |
| @DomName('Document.styleSheets') |
| List<StyleSheet> get styleSheets => _styleSheets; |
| |
| @DomName('Document.title') |
| String get title => _title; |
| |
| @DomName('Document.title') |
| void set title(String value) { |
| _title = value; |
| } |
| |
| @DomName('Document.webkitExitFullscreen') |
| @SupportedBrowser(SupportedBrowser.CHROME) |
| @SupportedBrowser(SupportedBrowser.SAFARI) |
| @Experimental() |
| void exitFullscreen() { |
| _webkitExitFullscreen(); |
| } |
| |
| @DomName('Document.webkitExitPointerLock') |
| @SupportedBrowser(SupportedBrowser.CHROME) |
| @SupportedBrowser(SupportedBrowser.SAFARI) |
| @Experimental() |
| void exitPointerLock() { |
| _webkitExitPointerLock(); |
| } |
| |
| @DomName('Document.webkitFullscreenElement') |
| @SupportedBrowser(SupportedBrowser.CHROME) |
| @SupportedBrowser(SupportedBrowser.SAFARI) |
| @Experimental() |
| Element get fullscreenElement => _webkitFullscreenElement; |
| |
| @DomName('Document.webkitFullscreenEnabled') |
| @SupportedBrowser(SupportedBrowser.CHROME) |
| @SupportedBrowser(SupportedBrowser.SAFARI) |
| @Experimental() |
| bool get fullscreenEnabled => _webkitFullscreenEnabled; |
| |
| @DomName('Document.webkitHidden') |
| @SupportedBrowser(SupportedBrowser.CHROME) |
| @SupportedBrowser(SupportedBrowser.SAFARI) |
| @Experimental() |
| bool get hidden => _webkitHidden; |
| |
| @DomName('Document.webkitPointerLockElement') |
| @SupportedBrowser(SupportedBrowser.CHROME) |
| @SupportedBrowser(SupportedBrowser.SAFARI) |
| @Experimental() |
| Element get pointerLockElement => |
| _webkitPointerLockElement; |
| |
| @DomName('Document.visibilityState') |
| @SupportedBrowser(SupportedBrowser.CHROME) |
| @SupportedBrowser(SupportedBrowser.FIREFOX) |
| @SupportedBrowser(SupportedBrowser.IE, '10') |
| @Experimental() |
| $if DART2JS |
| String get visibilityState => JS('String', |
| '(#.visibilityState || #.mozVisibilityState || #.msVisibilityState ||' |
| '#.webkitVisibilityState)', this, this, this, this); |
| $else |
| String get visibilityState => _webkitVisibilityState; |
| $endif |
| |
| @Experimental() |
| /** |
| * Register a custom subclass of Element to be instantiatable by the DOM. |
| * |
| * This is necessary to allow the construction of any custom elements. |
| * |
| * The class being registered must either subclass HtmlElement or SvgElement. |
| * If they subclass these directly then they can be used as: |
| * |
| * class FooElement extends HtmlElement{ |
| * void created() { |
| * print('FooElement created!'); |
| * } |
| * } |
| * |
| * main() { |
| * document.register('x-foo', FooElement); |
| * var myFoo = new Element.tag('x-foo'); |
| * // prints 'FooElement created!' to the console. |
| * } |
| * |
| * The custom element can also be instantiated via HTML using the syntax |
| * `<x-foo></x-foo>` |
| * |
| * Other elements can be subclassed as well: |
| * |
| * class BarElement extends InputElement{ |
| * void created() { |
| * print('BarElement created!'); |
| * } |
| * } |
| * |
| * main() { |
| * document.register('x-bar', BarElement); |
| * var myBar = new Element.tag('input', 'x-bar'); |
| * // prints 'BarElement created!' to the console. |
| * } |
| * |
| * This custom element can also be instantiated via HTML using the syntax |
| * `<input is="x-bar"></input>` |
| * |
| * The [nativeTagName] parameter is needed by platforms without native support |
| * when subclassing a native type other than: |
| * |
| * * HtmlElement |
| * * SvgElement |
| * * AnchorElement |
| * * AudioElement |
| * * ButtonElement |
| * * CanvasElement |
| * * DivElement |
| * * ImageElement |
| * * InputElement |
| * * LIElement |
| * * LabelElement |
| * * MenuElement |
| * * MeterElement |
| * * OListElement |
| * * OptionElement |
| * * OutputElement |
| * * ParagraphElement |
| * * PreElement |
| * * ProgressElement |
| * * SelectElement |
| * * SpanElement |
| * * UListElement |
| * * VideoElement |
| */ |
| $if DART2JS |
| void register(String tag, Type customElementClass, {String extendsTag}) { |
| _registerCustomElement(JS('', 'window'), this, tag, customElementClass, |
| extendsTag); |
| } |
| $else |
| void register(String tag, Type customElementClass, {String extendsTag}) { |
| _Utils.register(this, tag, customElementClass, extendsTag); |
| } |
| $endif |
| |
| /** |
| * Static factory designed to expose `visibilitychange` events to event |
| * handlers that are not necessarily instances of [Document]. |
| * |
| * See [EventStreamProvider] for usage information. |
| */ |
| @DomName('Document.visibilityChange') |
| @SupportedBrowser(SupportedBrowser.CHROME) |
| @SupportedBrowser(SupportedBrowser.FIREFOX) |
| @SupportedBrowser(SupportedBrowser.IE, '10') |
| @Experimental() |
| static const EventStreamProvider<Event> visibilityChangeEvent = |
| const _CustomEventStreamProvider<Event>( |
| _determineVisibilityChangeEventType); |
| |
| static String _determineVisibilityChangeEventType(EventTarget e) { |
| $if DART2JS |
| if (JS('bool', '(typeof #.hidden !== "undefined")', e)) { |
| // Opera 12.10 and Firefox 18 and later support |
| return 'visibilitychange'; |
| } else if (JS('bool', '(typeof #.mozHidden !== "undefined")', e)) { |
| return 'mozvisibilitychange'; |
| } else if (JS('bool', '(typeof #.msHidden !== "undefined")', e)) { |
| return 'msvisibilitychange'; |
| } else if (JS('bool', '(typeof #.webkitHidden !== "undefined")', e)) { |
| return 'webkitvisibilitychange'; |
| } |
| return 'visibilitychange'; |
| $else |
| return 'webkitvisibilitychange'; |
| $endif |
| } |
| |
| @SupportedBrowser(SupportedBrowser.CHROME) |
| @SupportedBrowser(SupportedBrowser.FIREFOX) |
| @SupportedBrowser(SupportedBrowser.IE, '10') |
| @Experimental() |
| Stream<Event> get onVisibilityChange => |
| visibilityChangeEvent.forTarget(this); |
| } |