blob: b7ff13bc73efdb71a11fa26c4b2b5ac69936ffbc [file] [log] [blame]
/**
* HTML elements and other resources for web-based applications that need to
* interact with the browser and the DOM (Document Object Model).
*
* This library includes DOM element types, CSS styling, local storage,
* media, speech, events, and more.
* To get started,
* check out the [Element] class, the base class for many of the HTML
* DOM types.
*
* ## Other resources
*
* * If you've never written a web app before, try our
* tutorials—[A Game of Darts](http://dartlang.org/docs/tutorials).
*
* * To see some web-based Dart apps in action and to play with the code,
* download
* [Dart Editor](http://www.dartlang.org/#get-started)
* and run its built-in examples.
*
* * For even more examples, see
* [Dart HTML5 Samples](https://github.com/dart-lang/dart-html5-samples)
* on Github.
*/
library dart.dom.html;
import 'dart:async';
import 'dart:collection';
import 'dart:_internal' hide Symbol, deprecated;
import 'dart:html_common';
import 'dart:indexed_db';
import 'dart:isolate';
import 'dart:js' as js;
import "dart:convert";
import 'dart:math';
import 'dart:mirrors';
import 'dart:nativewrappers';
import 'dart:typed_data';
import 'dart:web_gl' as gl;
import 'dart:web_sql';
import 'dart:svg' as svg;
import 'dart:svg' show Matrix;
import 'dart:svg' show SvgSvgElement;
import 'dart:web_audio' as web_audio;
import 'dart:_blink' as _blink;
// 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.
// DO NOT EDIT
// Auto-generated dart:html library.
// TODO(vsm): Remove this when we can do the proper checking in
// native code for custom elements.
// Not actually used, but imported since dart:html can generate these objects.
export 'dart:math' show Rectangle, Point;
// Issue 14721, order important for WrappedEvent.
Window _window;
/**
* Top-level container for a web page, which is usually a browser tab or window.
*
* Each web page loaded in the browser has its own [Window], which is a
* container for the web page.
*
* If the web page has any `<iframe>` elements, then each `<iframe>` has its own
* [Window] object, which is accessible only to that `<iframe>`.
*
* See also:
*
* * [Window](https://developer.mozilla.org/en-US/docs/Web/API/window) from MDN.
*/
Window get window {
if (_window != null) {
return _window;
}
_window = _Utils.window();
return _window;
}
HtmlDocument _document;
/**
* Root node for all content in a web page.
*/
HtmlDocument get document {
if (_document != null) {
return _document;
}
_document = window.document;
return _document;
}
/**
* Spawn a DOM isolate using the given URI in the same window.
* This isolate is not concurrent. It runs on the browser thread
* with full access to the DOM.
* Note: this API is still evolving and may move to dart:isolate.
*/
@Experimental()
Future<Isolate> spawnDomUri(Uri uri, List<String> args, message) {
// TODO(17738): Plumb arguments and return value through.
return _Utils.spawnDomUri(uri.toString());
}
// FIXME: Can we make this private?
const htmlBlinkMap = const {
'_HistoryCrossFrame': _HistoryCrossFrame,
'_LocationCrossFrame': _LocationCrossFrame,
'_DOMWindowCrossFrame': _DOMWindowCrossFrame,
// FIXME: Move these to better locations.
'DateTime': DateTime,
'JsObject': js.JsObject,
'JsFunction': js.JsFunction,
'JsArray': js.JsArray,
'AbstractWorker': AbstractWorker,
'Algorithm': Algorithm,
'Animation': Animation,
'ApplicationCache': ApplicationCache,
'Attr': _Attr,
'AutocompleteErrorEvent': AutocompleteErrorEvent,
'BarProp': BarProp,
'BeforeLoadEvent': BeforeLoadEvent,
'BeforeUnloadEvent': BeforeUnloadEvent,
'Blob': Blob,
'CDATASection': CDataSection,
'CSS': Css,
'CSSCharsetRule': CssCharsetRule,
'CSSFontFaceLoadEvent': CssFontFaceLoadEvent,
'CSSFontFaceRule': CssFontFaceRule,
'CSSImportRule': CssImportRule,
'CSSKeyframeRule': CssKeyframeRule,
'CSSKeyframesRule': CssKeyframesRule,
'CSSMediaRule': CssMediaRule,
'CSSPageRule': CssPageRule,
'CSSPrimitiveValue': _CSSPrimitiveValue,
'CSSRule': CssRule,
'CSSRuleList': _CssRuleList,
'CSSStyleDeclaration': CssStyleDeclaration,
'CSSStyleRule': CssStyleRule,
'CSSStyleSheet': CssStyleSheet,
'CSSSupportsRule': CssSupportsRule,
'CSSUnknownRule': _CSSUnknownRule,
'CSSValue': _CSSValue,
'CSSValueList': _CssValueList,
'CSSViewportRule': CssViewportRule,
'Canvas2DContextAttributes': Canvas2DContextAttributes,
'CanvasGradient': CanvasGradient,
'CanvasPattern': CanvasPattern,
'CanvasRenderingContext': CanvasRenderingContext,
'CanvasRenderingContext2D': CanvasRenderingContext2D,
'CharacterData': CharacterData,
'ChildNode': ChildNode,
'ClientRect': _ClientRect,
'ClientRectList': _ClientRectList,
'Clipboard': DataTransfer,
'CloseEvent': CloseEvent,
'Comment': Comment,
'CompositionEvent': CompositionEvent,
'Console': Console,
'ConsoleBase': ConsoleBase,
'Coordinates': Coordinates,
'Counter': _Counter,
'Crypto': Crypto,
'CustomEvent': CustomEvent,
'DOMError': DomError,
'DOMException': DomException,
'DOMFileSystem': FileSystem,
'DOMFileSystemSync': _DOMFileSystemSync,
'DOMImplementation': DomImplementation,
'DOMParser': DomParser,
'DOMSettableTokenList': DomSettableTokenList,
'DOMStringList': DomStringList,
'DOMStringMap': DomStringMap,
'DOMTokenList': DomTokenList,
'DataTransferItem': DataTransferItem,
'DataTransferItemList': DataTransferItemList,
'DatabaseSync': _DatabaseSync,
'DedicatedWorkerGlobalScope': DedicatedWorkerGlobalScope,
'DeprecatedStorageInfo': DeprecatedStorageInfo,
'DeprecatedStorageQuota': DeprecatedStorageQuota,
'DeviceAcceleration': DeviceAcceleration,
'DeviceMotionEvent': DeviceMotionEvent,
'DeviceOrientationEvent': DeviceOrientationEvent,
'DeviceRotationRate': DeviceRotationRate,
'DirectoryEntry': DirectoryEntry,
'DirectoryEntrySync': _DirectoryEntrySync,
'DirectoryReader': DirectoryReader,
'DirectoryReaderSync': _DirectoryReaderSync,
'Document': Document,
'DocumentFragment': DocumentFragment,
'DocumentType': _DocumentType,
'Element': Element,
'Entry': Entry,
'EntrySync': _EntrySync,
'ErrorEvent': ErrorEvent,
'Event': Event,
'EventSource': EventSource,
'EventTarget': EventTarget,
'File': File,
'FileEntry': FileEntry,
'FileEntrySync': _FileEntrySync,
'FileError': FileError,
'FileList': FileList,
'FileReader': FileReader,
'FileReaderSync': _FileReaderSync,
'FileWriter': FileWriter,
'FileWriterSync': _FileWriterSync,
'FocusEvent': FocusEvent,
'FontFace': FontFace,
'FontFaceSet': FontFaceSet,
'FormData': FormData,
'Gamepad': Gamepad,
'GamepadList': _GamepadList,
'Geolocation': Geolocation,
'Geoposition': Geoposition,
'GlobalEventHandlers': GlobalEventHandlers,
'HTMLAllCollection': _HTMLAllCollection,
'HTMLAnchorElement': AnchorElement,
'HTMLAppletElement': _HTMLAppletElement,
'HTMLAreaElement': AreaElement,
'HTMLAudioElement': AudioElement,
'HTMLBRElement': BRElement,
'HTMLBaseElement': BaseElement,
'HTMLBodyElement': BodyElement,
'HTMLButtonElement': ButtonElement,
'HTMLCanvasElement': CanvasElement,
'HTMLCollection': HtmlCollection,
'HTMLContentElement': ContentElement,
'HTMLDListElement': DListElement,
'HTMLDataListElement': DataListElement,
'HTMLDetailsElement': DetailsElement,
'HTMLDialogElement': DialogElement,
'HTMLDirectoryElement': _HTMLDirectoryElement,
'HTMLDivElement': DivElement,
'HTMLDocument': HtmlDocument,
'HTMLElement': HtmlElement,
'HTMLEmbedElement': EmbedElement,
'HTMLFieldSetElement': FieldSetElement,
'HTMLFontElement': _HTMLFontElement,
'HTMLFormControlsCollection': HtmlFormControlsCollection,
'HTMLFormElement': FormElement,
'HTMLFrameElement': _HTMLFrameElement,
'HTMLFrameSetElement': _HTMLFrameSetElement,
'HTMLHRElement': HRElement,
'HTMLHeadElement': HeadElement,
'HTMLHeadingElement': HeadingElement,
'HTMLHtmlElement': HtmlHtmlElement,
'HTMLIFrameElement': IFrameElement,
'HTMLImageElement': ImageElement,
'HTMLInputElement': InputElement,
'HTMLKeygenElement': KeygenElement,
'HTMLLIElement': LIElement,
'HTMLLabelElement': LabelElement,
'HTMLLegendElement': LegendElement,
'HTMLLinkElement': LinkElement,
'HTMLMapElement': MapElement,
'HTMLMarqueeElement': _HTMLMarqueeElement,
'HTMLMediaElement': MediaElement,
'HTMLMenuElement': MenuElement,
'HTMLMetaElement': MetaElement,
'HTMLMeterElement': MeterElement,
'HTMLModElement': ModElement,
'HTMLOListElement': OListElement,
'HTMLObjectElement': ObjectElement,
'HTMLOptGroupElement': OptGroupElement,
'HTMLOptionElement': OptionElement,
'HTMLOptionsCollection': HtmlOptionsCollection,
'HTMLOutputElement': OutputElement,
'HTMLParagraphElement': ParagraphElement,
'HTMLParamElement': ParamElement,
'HTMLPreElement': PreElement,
'HTMLProgressElement': ProgressElement,
'HTMLQuoteElement': QuoteElement,
'HTMLScriptElement': ScriptElement,
'HTMLSelectElement': SelectElement,
'HTMLShadowElement': ShadowElement,
'HTMLSourceElement': SourceElement,
'HTMLSpanElement': SpanElement,
'HTMLStyleElement': StyleElement,
'HTMLTableCaptionElement': TableCaptionElement,
'HTMLTableCellElement': TableCellElement,
'HTMLTableColElement': TableColElement,
'HTMLTableElement': TableElement,
'HTMLTableRowElement': TableRowElement,
'HTMLTableSectionElement': TableSectionElement,
'HTMLTemplateElement': TemplateElement,
'HTMLTextAreaElement': TextAreaElement,
'HTMLTitleElement': TitleElement,
'HTMLTrackElement': TrackElement,
'HTMLUListElement': UListElement,
'HTMLUnknownElement': UnknownElement,
'HTMLVideoElement': VideoElement,
'HashChangeEvent': HashChangeEvent,
'History': History,
'ImageBitmap': ImageBitmap,
'ImageData': ImageData,
'InjectedScriptHost': InjectedScriptHost,
'InputMethodContext': InputMethodContext,
'InstallEvent': InstallEvent,
'InstallPhaseEvent': InstallPhaseEvent,
'Key': CryptoKey,
'KeyPair': KeyPair,
'KeyboardEvent': KeyboardEvent,
'Location': Location,
'MIDIAccess': MidiAccess,
'MIDIAccessPromise': MidiAccessPromise,
'MIDIConnectionEvent': MidiConnectionEvent,
'MIDIInput': MidiInput,
'MIDIMessageEvent': MidiMessageEvent,
'MIDIOutput': MidiOutput,
'MIDIPort': MidiPort,
'MediaController': MediaController,
'MediaError': MediaError,
'MediaKeyError': MediaKeyError,
'MediaKeyEvent': MediaKeyEvent,
'MediaKeyMessageEvent': MediaKeyMessageEvent,
'MediaKeyNeededEvent': MediaKeyNeededEvent,
'MediaKeySession': MediaKeySession,
'MediaKeys': MediaKeys,
'MediaList': MediaList,
'MediaQueryList': MediaQueryList,
'MediaSource': MediaSource,
'MediaStream': MediaStream,
'MediaStreamEvent': MediaStreamEvent,
'MediaStreamTrack': MediaStreamTrack,
'MediaStreamTrackEvent': MediaStreamTrackEvent,
'MemoryInfo': MemoryInfo,
'MessageChannel': MessageChannel,
'MessageEvent': MessageEvent,
'MessagePort': MessagePort,
'Metadata': Metadata,
'MimeType': MimeType,
'MimeTypeArray': MimeTypeArray,
'MouseEvent': MouseEvent,
'MutationEvent': _MutationEvent,
'MutationObserver': MutationObserver,
'MutationRecord': MutationRecord,
'NamedNodeMap': _NamedNodeMap,
'Navigator': Navigator,
'NavigatorID': NavigatorID,
'NavigatorOnLine': NavigatorOnLine,
'NavigatorUserMediaError': NavigatorUserMediaError,
'Node': Node,
'NodeFilter': NodeFilter,
'NodeIterator': NodeIterator,
'NodeList': NodeList,
'Notation': _Notation,
'Notification': Notification,
'NotificationCenter': _NotificationCenter,
'OverflowEvent': OverflowEvent,
'PagePopupController': _PagePopupController,
'PageTransitionEvent': PageTransitionEvent,
'ParentNode': ParentNode,
'Path': Path,
'Performance': Performance,
'PerformanceEntry': PerformanceEntry,
'PerformanceMark': PerformanceMark,
'PerformanceMeasure': PerformanceMeasure,
'PerformanceNavigation': PerformanceNavigation,
'PerformanceResourceTiming': PerformanceResourceTiming,
'PerformanceTiming': PerformanceTiming,
'Player': Player,
'Plugin': Plugin,
'PluginArray': PluginArray,
'PopStateEvent': PopStateEvent,
'PositionError': PositionError,
'ProcessingInstruction': ProcessingInstruction,
'ProgressEvent': ProgressEvent,
'RGBColor': _RGBColor,
'RTCDTMFSender': RtcDtmfSender,
'RTCDTMFToneChangeEvent': RtcDtmfToneChangeEvent,
'RTCDataChannel': RtcDataChannel,
'RTCDataChannelEvent': RtcDataChannelEvent,
'RTCIceCandidate': RtcIceCandidate,
'RTCIceCandidateEvent': RtcIceCandidateEvent,
'RTCPeerConnection': RtcPeerConnection,
'RTCSessionDescription': RtcSessionDescription,
'RTCStatsReport': RtcStatsReport,
'RTCStatsResponse': RtcStatsResponse,
'RadioNodeList': _RadioNodeList,
'Range': Range,
'Rect': _Rect,
'ResourceProgressEvent': ResourceProgressEvent,
'Screen': Screen,
'SecurityPolicyViolationEvent': SecurityPolicyViolationEvent,
'Selection': Selection,
'ServiceWorker': _ServiceWorker,
'ServiceWorkerContainer': ServiceWorkerContainer,
'ServiceWorkerGlobalScope': ServiceWorkerGlobalScope,
'ShadowRoot': ShadowRoot,
'SharedWorker': SharedWorker,
'SharedWorkerGlobalScope': SharedWorkerGlobalScope,
'SourceBuffer': SourceBuffer,
'SourceBufferList': SourceBufferList,
'SourceInfo': SourceInfo,
'SpeechGrammar': SpeechGrammar,
'SpeechGrammarList': SpeechGrammarList,
'SpeechInputEvent': SpeechInputEvent,
'SpeechInputResult': SpeechInputResult,
'SpeechInputResultList': _SpeechInputResultList,
'SpeechRecognition': SpeechRecognition,
'SpeechRecognitionAlternative': SpeechRecognitionAlternative,
'SpeechRecognitionError': SpeechRecognitionError,
'SpeechRecognitionEvent': SpeechRecognitionEvent,
'SpeechRecognitionResult': SpeechRecognitionResult,
'SpeechRecognitionResultList': _SpeechRecognitionResultList,
'SpeechSynthesis': SpeechSynthesis,
'SpeechSynthesisEvent': SpeechSynthesisEvent,
'SpeechSynthesisUtterance': SpeechSynthesisUtterance,
'SpeechSynthesisVoice': SpeechSynthesisVoice,
'Storage': Storage,
'StorageEvent': StorageEvent,
'StorageInfo': StorageInfo,
'StorageQuota': StorageQuota,
'Stream': FileStream,
'StyleMedia': StyleMedia,
'StyleSheet': StyleSheet,
'StyleSheetList': _StyleSheetList,
'SubtleCrypto': _SubtleCrypto,
'Text': Text,
'TextEvent': TextEvent,
'TextMetrics': TextMetrics,
'TextTrack': TextTrack,
'TextTrackCue': TextTrackCue,
'TextTrackCueList': TextTrackCueList,
'TextTrackList': TextTrackList,
'TimeRanges': TimeRanges,
'TimedItem': TimedItem,
'Timeline': Timeline,
'Timing': Timing,
'Touch': Touch,
'TouchEvent': TouchEvent,
'TouchList': TouchList,
'TrackEvent': TrackEvent,
'TransitionEvent': TransitionEvent,
'TreeWalker': TreeWalker,
'UIEvent': UIEvent,
'URL': Url,
'URLUtils': UrlUtils,
'URLUtilsReadOnly': UrlUtilsReadOnly,
'VTTCue': VttCue,
'VTTRegion': VttRegion,
'VTTRegionList': VttRegionList,
'ValidityState': ValidityState,
'VideoPlaybackQuality': VideoPlaybackQuality,
'WebKitAnimationEvent': AnimationEvent,
'WebKitCSSFilterRule': CssFilterRule,
'WebKitCSSFilterValue': _WebKitCSSFilterValue,
'WebKitCSSMatrix': _WebKitCSSMatrix,
'WebKitCSSTransformValue': _WebKitCSSTransformValue,
'WebKitMediaSource': _WebKitMediaSource,
'WebKitNotification': _WebKitNotification,
'WebKitPoint': _DomPoint,
'WebKitSourceBuffer': _WebKitSourceBuffer,
'WebKitSourceBufferList': _WebKitSourceBufferList,
'WebSocket': WebSocket,
'WheelEvent': WheelEvent,
'Window': Window,
'WindowBase64': WindowBase64,
'WindowEventHandlers': WindowEventHandlers,
'WindowTimers': _WindowTimers,
'Worker': Worker,
'WorkerConsole': WorkerConsole,
'WorkerCrypto': WorkerCrypto,
'WorkerGlobalScope': WorkerGlobalScope,
'WorkerLocation': _WorkerLocation,
'WorkerNavigator': _WorkerNavigator,
'WorkerPerformance': WorkerPerformance,
'XMLDocument': XmlDocument,
'XMLHttpRequest': HttpRequest,
'XMLHttpRequestEventTarget': HttpRequestEventTarget,
'XMLHttpRequestProgressEvent': _XMLHttpRequestProgressEvent,
'XMLHttpRequestUpload': HttpRequestUpload,
'XMLSerializer': XmlSerializer,
'XPathEvaluator': XPathEvaluator,
'XPathExpression': XPathExpression,
'XPathNSResolver': XPathNSResolver,
'XPathResult': XPathResult,
'XSLTProcessor': XsltProcessor,
// FIXME: Temporary workaround. The Blink name matches the Dart name
// post Chrome 35. We still generate the old mapping from 'Clipboard'.
'DataTransfer': DataTransfer,
};
// Copyright (c) 2013, 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.
@DocsEditable()
@DomName('AbstractWorker')
abstract class AbstractWorker extends NativeFieldWrapperClass2 implements EventTarget {
// To suppress missing implicit constructor warnings.
factory AbstractWorker._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [AbstractWorker].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('AbstractWorker.errorEvent')
@DocsEditable()
static const EventStreamProvider<ErrorEvent> errorEvent = const EventStreamProvider<ErrorEvent>('error');
/// Stream of `error` events handled by this [AbstractWorker].
@DomName('AbstractWorker.onerror')
@DocsEditable()
Stream<ErrorEvent> get onError => errorEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('Algorithm')
@Experimental() // untriaged
class Algorithm extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Algorithm._() { throw new UnsupportedError("Not supported"); }
@DomName('Algorithm.name')
@DocsEditable()
@Experimental() // untriaged
String get name => _blink.Native_Algorithm_name_Getter(this);
}
// 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.
@DocsEditable()
@DomName('HTMLAnchorElement')
class AnchorElement extends HtmlElement implements UrlUtils {
// To suppress missing implicit constructor warnings.
factory AnchorElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLAnchorElement.HTMLAnchorElement')
@DocsEditable()
factory AnchorElement({String href}) {
var e = document.createElement("a");
if (href != null) e.href = href;
return e;
}
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
AnchorElement.created() : super.created();
@DomName('HTMLAnchorElement.download')
@DocsEditable()
String get download => _blink.Native_HTMLAnchorElement_download_Getter(this);
@DomName('HTMLAnchorElement.download')
@DocsEditable()
void set download(String value) => _blink.Native_HTMLAnchorElement_download_Setter(this, value);
@DomName('HTMLAnchorElement.hreflang')
@DocsEditable()
String get hreflang => _blink.Native_HTMLAnchorElement_hreflang_Getter(this);
@DomName('HTMLAnchorElement.hreflang')
@DocsEditable()
void set hreflang(String value) => _blink.Native_HTMLAnchorElement_hreflang_Setter(this, value);
@DomName('HTMLAnchorElement.rel')
@DocsEditable()
String get rel => _blink.Native_HTMLAnchorElement_rel_Getter(this);
@DomName('HTMLAnchorElement.rel')
@DocsEditable()
void set rel(String value) => _blink.Native_HTMLAnchorElement_rel_Setter(this, value);
@DomName('HTMLAnchorElement.target')
@DocsEditable()
String get target => _blink.Native_HTMLAnchorElement_target_Getter(this);
@DomName('HTMLAnchorElement.target')
@DocsEditable()
void set target(String value) => _blink.Native_HTMLAnchorElement_target_Setter(this, value);
@DomName('HTMLAnchorElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLAnchorElement_type_Getter(this);
@DomName('HTMLAnchorElement.type')
@DocsEditable()
void set type(String value) => _blink.Native_HTMLAnchorElement_type_Setter(this, value);
@DomName('HTMLAnchorElement.hash')
@DocsEditable()
String get hash => _blink.Native_HTMLAnchorElement_hash_Getter(this);
@DomName('HTMLAnchorElement.hash')
@DocsEditable()
void set hash(String value) => _blink.Native_HTMLAnchorElement_hash_Setter(this, value);
@DomName('HTMLAnchorElement.host')
@DocsEditable()
String get host => _blink.Native_HTMLAnchorElement_host_Getter(this);
@DomName('HTMLAnchorElement.host')
@DocsEditable()
void set host(String value) => _blink.Native_HTMLAnchorElement_host_Setter(this, value);
@DomName('HTMLAnchorElement.hostname')
@DocsEditable()
String get hostname => _blink.Native_HTMLAnchorElement_hostname_Getter(this);
@DomName('HTMLAnchorElement.hostname')
@DocsEditable()
void set hostname(String value) => _blink.Native_HTMLAnchorElement_hostname_Setter(this, value);
@DomName('HTMLAnchorElement.href')
@DocsEditable()
String get href => _blink.Native_HTMLAnchorElement_href_Getter(this);
@DomName('HTMLAnchorElement.href')
@DocsEditable()
void set href(String value) => _blink.Native_HTMLAnchorElement_href_Setter(this, value);
@DomName('HTMLAnchorElement.origin')
@DocsEditable()
// WebKit only
@Experimental() // non-standard
String get origin => _blink.Native_HTMLAnchorElement_origin_Getter(this);
@DomName('HTMLAnchorElement.password')
@DocsEditable()
@Experimental() // untriaged
String get password => _blink.Native_HTMLAnchorElement_password_Getter(this);
@DomName('HTMLAnchorElement.password')
@DocsEditable()
@Experimental() // untriaged
void set password(String value) => _blink.Native_HTMLAnchorElement_password_Setter(this, value);
@DomName('HTMLAnchorElement.pathname')
@DocsEditable()
String get pathname => _blink.Native_HTMLAnchorElement_pathname_Getter(this);
@DomName('HTMLAnchorElement.pathname')
@DocsEditable()
void set pathname(String value) => _blink.Native_HTMLAnchorElement_pathname_Setter(this, value);
@DomName('HTMLAnchorElement.port')
@DocsEditable()
String get port => _blink.Native_HTMLAnchorElement_port_Getter(this);
@DomName('HTMLAnchorElement.port')
@DocsEditable()
void set port(String value) => _blink.Native_HTMLAnchorElement_port_Setter(this, value);
@DomName('HTMLAnchorElement.protocol')
@DocsEditable()
String get protocol => _blink.Native_HTMLAnchorElement_protocol_Getter(this);
@DomName('HTMLAnchorElement.protocol')
@DocsEditable()
void set protocol(String value) => _blink.Native_HTMLAnchorElement_protocol_Setter(this, value);
@DomName('HTMLAnchorElement.search')
@DocsEditable()
String get search => _blink.Native_HTMLAnchorElement_search_Getter(this);
@DomName('HTMLAnchorElement.search')
@DocsEditable()
void set search(String value) => _blink.Native_HTMLAnchorElement_search_Setter(this, value);
@DomName('HTMLAnchorElement.username')
@DocsEditable()
@Experimental() // untriaged
String get username => _blink.Native_HTMLAnchorElement_username_Getter(this);
@DomName('HTMLAnchorElement.username')
@DocsEditable()
@Experimental() // untriaged
void set username(String value) => _blink.Native_HTMLAnchorElement_username_Setter(this, value);
@DomName('HTMLAnchorElement.toString')
@DocsEditable()
String toString() => _blink.Native_HTMLAnchorElement_toString_Callback(this);
}
// 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.
@DocsEditable()
@DomName('Animation')
@Experimental() // untriaged
class Animation extends TimedItem {
// To suppress missing implicit constructor warnings.
factory Animation._() { throw new UnsupportedError("Not supported"); }
@DomName('Animation.Animation')
@DocsEditable()
factory Animation(Element target, List<Map> keyframes, [timingInput]) => _blink.Native_Animation_Animation(target, keyframes, timingInput);
}
// 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.
@DocsEditable()
@DomName('WebKitAnimationEvent')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
class AnimationEvent extends Event {
// To suppress missing implicit constructor warnings.
factory AnimationEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('WebKitAnimationEvent.animationName')
@DocsEditable()
String get animationName => _blink.Native_WebKitAnimationEvent_animationName_Getter(this);
@DomName('WebKitAnimationEvent.elapsedTime')
@DocsEditable()
double get elapsedTime => _blink.Native_WebKitAnimationEvent_elapsedTime_Getter(this);
}
// 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.
@DocsEditable()
@DomName('ApplicationCache')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.OPERA)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Unstable()
class ApplicationCache extends EventTarget {
// To suppress missing implicit constructor warnings.
factory ApplicationCache._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `cached` events to event
* handlers that are not necessarily instances of [ApplicationCache].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('ApplicationCache.cachedEvent')
@DocsEditable()
static const EventStreamProvider<Event> cachedEvent = const EventStreamProvider<Event>('cached');
/**
* Static factory designed to expose `checking` events to event
* handlers that are not necessarily instances of [ApplicationCache].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('ApplicationCache.checkingEvent')
@DocsEditable()
static const EventStreamProvider<Event> checkingEvent = const EventStreamProvider<Event>('checking');
/**
* Static factory designed to expose `downloading` events to event
* handlers that are not necessarily instances of [ApplicationCache].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('ApplicationCache.downloadingEvent')
@DocsEditable()
static const EventStreamProvider<Event> downloadingEvent = const EventStreamProvider<Event>('downloading');
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [ApplicationCache].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('ApplicationCache.errorEvent')
@DocsEditable()
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
/**
* Static factory designed to expose `noupdate` events to event
* handlers that are not necessarily instances of [ApplicationCache].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('ApplicationCache.noupdateEvent')
@DocsEditable()
static const EventStreamProvider<Event> noUpdateEvent = const EventStreamProvider<Event>('noupdate');
/**
* Static factory designed to expose `obsolete` events to event
* handlers that are not necessarily instances of [ApplicationCache].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('ApplicationCache.obsoleteEvent')
@DocsEditable()
static const EventStreamProvider<Event> obsoleteEvent = const EventStreamProvider<Event>('obsolete');
/**
* Static factory designed to expose `progress` events to event
* handlers that are not necessarily instances of [ApplicationCache].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('ApplicationCache.progressEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> progressEvent = const EventStreamProvider<ProgressEvent>('progress');
/**
* Static factory designed to expose `updateready` events to event
* handlers that are not necessarily instances of [ApplicationCache].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('ApplicationCache.updatereadyEvent')
@DocsEditable()
static const EventStreamProvider<Event> updateReadyEvent = const EventStreamProvider<Event>('updateready');
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('ApplicationCache.CHECKING')
@DocsEditable()
static const int CHECKING = 2;
@DomName('ApplicationCache.DOWNLOADING')
@DocsEditable()
static const int DOWNLOADING = 3;
@DomName('ApplicationCache.IDLE')
@DocsEditable()
static const int IDLE = 1;
@DomName('ApplicationCache.OBSOLETE')
@DocsEditable()
static const int OBSOLETE = 5;
@DomName('ApplicationCache.UNCACHED')
@DocsEditable()
static const int UNCACHED = 0;
@DomName('ApplicationCache.UPDATEREADY')
@DocsEditable()
static const int UPDATEREADY = 4;
@DomName('ApplicationCache.status')
@DocsEditable()
int get status => _blink.Native_ApplicationCache_status_Getter(this);
@DomName('ApplicationCache.abort')
@DocsEditable()
void abort() => _blink.Native_ApplicationCache_abort_Callback(this);
@DomName('ApplicationCache.swapCache')
@DocsEditable()
void swapCache() => _blink.Native_ApplicationCache_swapCache_Callback(this);
@DomName('ApplicationCache.update')
@DocsEditable()
void update() => _blink.Native_ApplicationCache_update_Callback(this);
/// Stream of `cached` events handled by this [ApplicationCache].
@DomName('ApplicationCache.oncached')
@DocsEditable()
Stream<Event> get onCached => cachedEvent.forTarget(this);
/// Stream of `checking` events handled by this [ApplicationCache].
@DomName('ApplicationCache.onchecking')
@DocsEditable()
Stream<Event> get onChecking => checkingEvent.forTarget(this);
/// Stream of `downloading` events handled by this [ApplicationCache].
@DomName('ApplicationCache.ondownloading')
@DocsEditable()
Stream<Event> get onDownloading => downloadingEvent.forTarget(this);
/// Stream of `error` events handled by this [ApplicationCache].
@DomName('ApplicationCache.onerror')
@DocsEditable()
Stream<Event> get onError => errorEvent.forTarget(this);
/// Stream of `noupdate` events handled by this [ApplicationCache].
@DomName('ApplicationCache.onnoupdate')
@DocsEditable()
Stream<Event> get onNoUpdate => noUpdateEvent.forTarget(this);
/// Stream of `obsolete` events handled by this [ApplicationCache].
@DomName('ApplicationCache.onobsolete')
@DocsEditable()
Stream<Event> get onObsolete => obsoleteEvent.forTarget(this);
/// Stream of `progress` events handled by this [ApplicationCache].
@DomName('ApplicationCache.onprogress')
@DocsEditable()
Stream<ProgressEvent> get onProgress => progressEvent.forTarget(this);
/// Stream of `updateready` events handled by this [ApplicationCache].
@DomName('ApplicationCache.onupdateready')
@DocsEditable()
Stream<Event> get onUpdateReady => updateReadyEvent.forTarget(this);
}
// 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.
@DocsEditable()
/**
* DOM Area Element, which links regions of an image map with a hyperlink.
*
* The element can also define an uninteractive region of the map.
*
* See also:
*
* * [<area>](https://developer.mozilla.org/en-US/docs/HTML/Element/area)
* on MDN.
*/
@DomName('HTMLAreaElement')
class AreaElement extends HtmlElement implements UrlUtils {
// To suppress missing implicit constructor warnings.
factory AreaElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLAreaElement.HTMLAreaElement')
@DocsEditable()
factory AreaElement() => document.createElement("area");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
AreaElement.created() : super.created();
@DomName('HTMLAreaElement.alt')
@DocsEditable()
String get alt => _blink.Native_HTMLAreaElement_alt_Getter(this);
@DomName('HTMLAreaElement.alt')
@DocsEditable()
void set alt(String value) => _blink.Native_HTMLAreaElement_alt_Setter(this, value);
@DomName('HTMLAreaElement.coords')
@DocsEditable()
String get coords => _blink.Native_HTMLAreaElement_coords_Getter(this);
@DomName('HTMLAreaElement.coords')
@DocsEditable()
void set coords(String value) => _blink.Native_HTMLAreaElement_coords_Setter(this, value);
@DomName('HTMLAreaElement.shape')
@DocsEditable()
String get shape => _blink.Native_HTMLAreaElement_shape_Getter(this);
@DomName('HTMLAreaElement.shape')
@DocsEditable()
void set shape(String value) => _blink.Native_HTMLAreaElement_shape_Setter(this, value);
@DomName('HTMLAreaElement.target')
@DocsEditable()
String get target => _blink.Native_HTMLAreaElement_target_Getter(this);
@DomName('HTMLAreaElement.target')
@DocsEditable()
void set target(String value) => _blink.Native_HTMLAreaElement_target_Setter(this, value);
@DomName('HTMLAreaElement.hash')
@DocsEditable()
String get hash => _blink.Native_HTMLAreaElement_hash_Getter(this);
@DomName('HTMLAreaElement.hash')
@DocsEditable()
void set hash(String value) => _blink.Native_HTMLAreaElement_hash_Setter(this, value);
@DomName('HTMLAreaElement.host')
@DocsEditable()
String get host => _blink.Native_HTMLAreaElement_host_Getter(this);
@DomName('HTMLAreaElement.host')
@DocsEditable()
void set host(String value) => _blink.Native_HTMLAreaElement_host_Setter(this, value);
@DomName('HTMLAreaElement.hostname')
@DocsEditable()
String get hostname => _blink.Native_HTMLAreaElement_hostname_Getter(this);
@DomName('HTMLAreaElement.hostname')
@DocsEditable()
void set hostname(String value) => _blink.Native_HTMLAreaElement_hostname_Setter(this, value);
@DomName('HTMLAreaElement.href')
@DocsEditable()
String get href => _blink.Native_HTMLAreaElement_href_Getter(this);
@DomName('HTMLAreaElement.href')
@DocsEditable()
void set href(String value) => _blink.Native_HTMLAreaElement_href_Setter(this, value);
@DomName('HTMLAreaElement.origin')
@DocsEditable()
@Experimental() // untriaged
String get origin => _blink.Native_HTMLAreaElement_origin_Getter(this);
@DomName('HTMLAreaElement.password')
@DocsEditable()
@Experimental() // untriaged
String get password => _blink.Native_HTMLAreaElement_password_Getter(this);
@DomName('HTMLAreaElement.password')
@DocsEditable()
@Experimental() // untriaged
void set password(String value) => _blink.Native_HTMLAreaElement_password_Setter(this, value);
@DomName('HTMLAreaElement.pathname')
@DocsEditable()
String get pathname => _blink.Native_HTMLAreaElement_pathname_Getter(this);
@DomName('HTMLAreaElement.pathname')
@DocsEditable()
void set pathname(String value) => _blink.Native_HTMLAreaElement_pathname_Setter(this, value);
@DomName('HTMLAreaElement.port')
@DocsEditable()
String get port => _blink.Native_HTMLAreaElement_port_Getter(this);
@DomName('HTMLAreaElement.port')
@DocsEditable()
void set port(String value) => _blink.Native_HTMLAreaElement_port_Setter(this, value);
@DomName('HTMLAreaElement.protocol')
@DocsEditable()
String get protocol => _blink.Native_HTMLAreaElement_protocol_Getter(this);
@DomName('HTMLAreaElement.protocol')
@DocsEditable()
void set protocol(String value) => _blink.Native_HTMLAreaElement_protocol_Setter(this, value);
@DomName('HTMLAreaElement.search')
@DocsEditable()
String get search => _blink.Native_HTMLAreaElement_search_Getter(this);
@DomName('HTMLAreaElement.search')
@DocsEditable()
void set search(String value) => _blink.Native_HTMLAreaElement_search_Setter(this, value);
@DomName('HTMLAreaElement.username')
@DocsEditable()
@Experimental() // untriaged
String get username => _blink.Native_HTMLAreaElement_username_Getter(this);
@DomName('HTMLAreaElement.username')
@DocsEditable()
@Experimental() // untriaged
void set username(String value) => _blink.Native_HTMLAreaElement_username_Setter(this, value);
@DomName('HTMLAreaElement.toString')
@DocsEditable()
@Experimental() // untriaged
String toString() => _blink.Native_HTMLAreaElement_toString_Callback(this);
}
// 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.
@DocsEditable()
@DomName('HTMLAudioElement')
class AudioElement extends MediaElement {
// To suppress missing implicit constructor warnings.
factory AudioElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLAudioElement.HTMLAudioElement')
@DocsEditable()
factory AudioElement([String src]) => _blink.Native_HTMLAudioElement_AudioElement(src);
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
AudioElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('AutocompleteErrorEvent')
// http://wiki.whatwg.org/wiki/RequestAutocomplete
@Experimental()
class AutocompleteErrorEvent extends Event {
// To suppress missing implicit constructor warnings.
factory AutocompleteErrorEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('AutocompleteErrorEvent.reason')
@DocsEditable()
String get reason => _blink.Native_AutocompleteErrorEvent_reason_Getter(this);
}
// 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.
@DocsEditable()
@DomName('HTMLBRElement')
class BRElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory BRElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLBRElement.HTMLBRElement')
@DocsEditable()
factory BRElement() => document.createElement("br");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
BRElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('BarProp')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#barprop
@deprecated // standard
class BarProp extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory BarProp._() { throw new UnsupportedError("Not supported"); }
@DomName('BarProp.visible')
@DocsEditable()
bool get visible => _blink.Native_BarProp_visible_Getter(this);
}
// 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.
@DocsEditable()
@DomName('HTMLBaseElement')
class BaseElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory BaseElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLBaseElement.HTMLBaseElement')
@DocsEditable()
factory BaseElement() => document.createElement("base");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
BaseElement.created() : super.created();
@DomName('HTMLBaseElement.href')
@DocsEditable()
String get href => _blink.Native_HTMLBaseElement_href_Getter(this);
@DomName('HTMLBaseElement.href')
@DocsEditable()
void set href(String value) => _blink.Native_HTMLBaseElement_href_Setter(this, value);
@DomName('HTMLBaseElement.target')
@DocsEditable()
String get target => _blink.Native_HTMLBaseElement_target_Getter(this);
@DomName('HTMLBaseElement.target')
@DocsEditable()
void set target(String value) => _blink.Native_HTMLBaseElement_target_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('BeforeLoadEvent')
@Experimental()
class BeforeLoadEvent extends Event {
// To suppress missing implicit constructor warnings.
factory BeforeLoadEvent._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('BeforeUnloadEvent')
class BeforeUnloadEvent extends Event {
// To suppress missing implicit constructor warnings.
factory BeforeUnloadEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('BeforeUnloadEvent.returnValue')
@DocsEditable()
String get returnValue => _blink.Native_BeforeUnloadEvent_returnValue_Getter(this);
@DomName('BeforeUnloadEvent.returnValue')
@DocsEditable()
void set returnValue(String value) => _blink.Native_BeforeUnloadEvent_returnValue_Setter(this, value);
}
// 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.
@DomName('Blob')
class Blob extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Blob._() { throw new UnsupportedError("Not supported"); }
@DomName('Blob.Blob')
@DocsEditable()
factory Blob(List blobParts, [String type, String endings]) => _create(blobParts, type, endings);
@DocsEditable()
static Blob _create(blobParts, type, endings) => _blink.Native_Blob_constructorCallback(blobParts, type, endings);
@DomName('Blob.size')
@DocsEditable()
int get size => _blink.Native_Blob_size_Getter(this);
@DomName('Blob.type')
@DocsEditable()
String get type => _blink.Native_Blob_type_Getter(this);
Blob slice([int start, int end, String contentType]) => _blink.Native_Blob_slice(this, start, end, contentType);
}
// 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.
@DocsEditable()
@DomName('HTMLBodyElement')
class BodyElement extends HtmlElement implements WindowEventHandlers {
// To suppress missing implicit constructor warnings.
factory BodyElement._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `blur` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.blurEvent')
@DocsEditable()
static const EventStreamProvider<Event> blurEvent = const EventStreamProvider<Event>('blur');
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.errorEvent')
@DocsEditable()
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
/**
* Static factory designed to expose `focus` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.focusEvent')
@DocsEditable()
static const EventStreamProvider<Event> focusEvent = const EventStreamProvider<Event>('focus');
/**
* Static factory designed to expose `hashchange` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.hashchangeEvent')
@DocsEditable()
static const EventStreamProvider<Event> hashChangeEvent = const EventStreamProvider<Event>('hashchange');
/**
* Static factory designed to expose `load` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.loadEvent')
@DocsEditable()
static const EventStreamProvider<Event> loadEvent = const EventStreamProvider<Event>('load');
/**
* Static factory designed to expose `message` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.messageEvent')
@DocsEditable()
static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');
/**
* Static factory designed to expose `offline` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.offlineEvent')
@DocsEditable()
static const EventStreamProvider<Event> offlineEvent = const EventStreamProvider<Event>('offline');
/**
* Static factory designed to expose `online` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.onlineEvent')
@DocsEditable()
static const EventStreamProvider<Event> onlineEvent = const EventStreamProvider<Event>('online');
/**
* Static factory designed to expose `popstate` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.popstateEvent')
@DocsEditable()
static const EventStreamProvider<PopStateEvent> popStateEvent = const EventStreamProvider<PopStateEvent>('popstate');
/**
* Static factory designed to expose `resize` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.resizeEvent')
@DocsEditable()
static const EventStreamProvider<Event> resizeEvent = const EventStreamProvider<Event>('resize');
@DomName('HTMLBodyElement.scrollEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> scrollEvent = const EventStreamProvider<Event>('scroll');
/**
* Static factory designed to expose `storage` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.storageEvent')
@DocsEditable()
static const EventStreamProvider<StorageEvent> storageEvent = const EventStreamProvider<StorageEvent>('storage');
/**
* Static factory designed to expose `unload` events to event
* handlers that are not necessarily instances of [BodyElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLBodyElement.unloadEvent')
@DocsEditable()
static const EventStreamProvider<Event> unloadEvent = const EventStreamProvider<Event>('unload');
@DomName('HTMLBodyElement.HTMLBodyElement')
@DocsEditable()
factory BodyElement() => document.createElement("body");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
BodyElement.created() : super.created();
/// Stream of `blur` events handled by this [BodyElement].
@DomName('HTMLBodyElement.onblur')
@DocsEditable()
ElementStream<Event> get onBlur => blurEvent.forElement(this);
/// Stream of `error` events handled by this [BodyElement].
@DomName('HTMLBodyElement.onerror')
@DocsEditable()
ElementStream<Event> get onError => errorEvent.forElement(this);
/// Stream of `focus` events handled by this [BodyElement].
@DomName('HTMLBodyElement.onfocus')
@DocsEditable()
ElementStream<Event> get onFocus => focusEvent.forElement(this);
/// Stream of `hashchange` events handled by this [BodyElement].
@DomName('HTMLBodyElement.onhashchange')
@DocsEditable()
ElementStream<Event> get onHashChange => hashChangeEvent.forElement(this);
/// Stream of `load` events handled by this [BodyElement].
@DomName('HTMLBodyElement.onload')
@DocsEditable()
ElementStream<Event> get onLoad => loadEvent.forElement(this);
/// Stream of `message` events handled by this [BodyElement].
@DomName('HTMLBodyElement.onmessage')
@DocsEditable()
ElementStream<MessageEvent> get onMessage => messageEvent.forElement(this);
/// Stream of `offline` events handled by this [BodyElement].
@DomName('HTMLBodyElement.onoffline')
@DocsEditable()
ElementStream<Event> get onOffline => offlineEvent.forElement(this);
/// Stream of `online` events handled by this [BodyElement].
@DomName('HTMLBodyElement.ononline')
@DocsEditable()
ElementStream<Event> get onOnline => onlineEvent.forElement(this);
/// Stream of `popstate` events handled by this [BodyElement].
@DomName('HTMLBodyElement.onpopstate')
@DocsEditable()
ElementStream<PopStateEvent> get onPopState => popStateEvent.forElement(this);
/// Stream of `resize` events handled by this [BodyElement].
@DomName('HTMLBodyElement.onresize')
@DocsEditable()
ElementStream<Event> get onResize => resizeEvent.forElement(this);
@DomName('HTMLBodyElement.onscroll')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onScroll => scrollEvent.forElement(this);
/// Stream of `storage` events handled by this [BodyElement].
@DomName('HTMLBodyElement.onstorage')
@DocsEditable()
ElementStream<StorageEvent> get onStorage => storageEvent.forElement(this);
/// Stream of `unload` events handled by this [BodyElement].
@DomName('HTMLBodyElement.onunload')
@DocsEditable()
ElementStream<Event> get onUnload => unloadEvent.forElement(this);
}
// 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.
@DocsEditable()
@DomName('HTMLButtonElement')
class ButtonElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory ButtonElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLButtonElement.HTMLButtonElement')
@DocsEditable()
factory ButtonElement() => document.createElement("button");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
ButtonElement.created() : super.created();
@DomName('HTMLButtonElement.autofocus')
@DocsEditable()
bool get autofocus => _blink.Native_HTMLButtonElement_autofocus_Getter(this);
@DomName('HTMLButtonElement.autofocus')
@DocsEditable()
void set autofocus(bool value) => _blink.Native_HTMLButtonElement_autofocus_Setter(this, value);
@DomName('HTMLButtonElement.disabled')
@DocsEditable()
bool get disabled => _blink.Native_HTMLButtonElement_disabled_Getter(this);
@DomName('HTMLButtonElement.disabled')
@DocsEditable()
void set disabled(bool value) => _blink.Native_HTMLButtonElement_disabled_Setter(this, value);
@DomName('HTMLButtonElement.form')
@DocsEditable()
FormElement get form => _blink.Native_HTMLButtonElement_form_Getter(this);
@DomName('HTMLButtonElement.formAction')
@DocsEditable()
String get formAction => _blink.Native_HTMLButtonElement_formAction_Getter(this);
@DomName('HTMLButtonElement.formAction')
@DocsEditable()
void set formAction(String value) => _blink.Native_HTMLButtonElement_formAction_Setter(this, value);
@DomName('HTMLButtonElement.formEnctype')
@DocsEditable()
String get formEnctype => _blink.Native_HTMLButtonElement_formEnctype_Getter(this);
@DomName('HTMLButtonElement.formEnctype')
@DocsEditable()
void set formEnctype(String value) => _blink.Native_HTMLButtonElement_formEnctype_Setter(this, value);
@DomName('HTMLButtonElement.formMethod')
@DocsEditable()
String get formMethod => _blink.Native_HTMLButtonElement_formMethod_Getter(this);
@DomName('HTMLButtonElement.formMethod')
@DocsEditable()
void set formMethod(String value) => _blink.Native_HTMLButtonElement_formMethod_Setter(this, value);
@DomName('HTMLButtonElement.formNoValidate')
@DocsEditable()
bool get formNoValidate => _blink.Native_HTMLButtonElement_formNoValidate_Getter(this);
@DomName('HTMLButtonElement.formNoValidate')
@DocsEditable()
void set formNoValidate(bool value) => _blink.Native_HTMLButtonElement_formNoValidate_Setter(this, value);
@DomName('HTMLButtonElement.formTarget')
@DocsEditable()
String get formTarget => _blink.Native_HTMLButtonElement_formTarget_Getter(this);
@DomName('HTMLButtonElement.formTarget')
@DocsEditable()
void set formTarget(String value) => _blink.Native_HTMLButtonElement_formTarget_Setter(this, value);
@DomName('HTMLButtonElement.labels')
@DocsEditable()
@Unstable()
List<Node> get labels => _blink.Native_HTMLButtonElement_labels_Getter(this);
@DomName('HTMLButtonElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLButtonElement_name_Getter(this);
@DomName('HTMLButtonElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLButtonElement_name_Setter(this, value);
@DomName('HTMLButtonElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLButtonElement_type_Getter(this);
@DomName('HTMLButtonElement.type')
@DocsEditable()
void set type(String value) => _blink.Native_HTMLButtonElement_type_Setter(this, value);
@DomName('HTMLButtonElement.validationMessage')
@DocsEditable()
String get validationMessage => _blink.Native_HTMLButtonElement_validationMessage_Getter(this);
@DomName('HTMLButtonElement.validity')
@DocsEditable()
ValidityState get validity => _blink.Native_HTMLButtonElement_validity_Getter(this);
@DomName('HTMLButtonElement.value')
@DocsEditable()
String get value => _blink.Native_HTMLButtonElement_value_Getter(this);
@DomName('HTMLButtonElement.value')
@DocsEditable()
void set value(String value) => _blink.Native_HTMLButtonElement_value_Setter(this, value);
@DomName('HTMLButtonElement.willValidate')
@DocsEditable()
bool get willValidate => _blink.Native_HTMLButtonElement_willValidate_Getter(this);
@DomName('HTMLButtonElement.checkValidity')
@DocsEditable()
bool checkValidity() => _blink.Native_HTMLButtonElement_checkValidity_Callback(this);
@DomName('HTMLButtonElement.setCustomValidity')
@DocsEditable()
void setCustomValidity(String error) => _blink.Native_HTMLButtonElement_setCustomValidity_Callback(this, error);
}
// 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.
@DocsEditable()
@DomName('CDATASection')
// http://dom.spec.whatwg.org/#cdatasection
@deprecated // deprecated
class CDataSection extends Text {
// To suppress missing implicit constructor warnings.
factory CDataSection._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('Canvas2DContextAttributes')
// http://wiki.whatwg.org/wiki/CanvasOpaque#Suggested_IDL
@Experimental()
class Canvas2DContextAttributes extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Canvas2DContextAttributes._() { throw new UnsupportedError("Not supported"); }
@DomName('Canvas2DContextAttributes.alpha')
@DocsEditable()
bool get alpha => _blink.Native_Canvas2DContextAttributes_alpha_Getter(this);
@DomName('Canvas2DContextAttributes.alpha')
@DocsEditable()
void set alpha(bool value) => _blink.Native_Canvas2DContextAttributes_alpha_Setter(this, value);
}
// 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.
@DomName('HTMLCanvasElement')
class CanvasElement extends HtmlElement implements CanvasImageSource {
// To suppress missing implicit constructor warnings.
factory CanvasElement._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `webglcontextlost` events to event
* handlers that are not necessarily instances of [CanvasElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLCanvasElement.webglcontextlostEvent')
@DocsEditable()
static const EventStreamProvider<gl.ContextEvent> webGlContextLostEvent = const EventStreamProvider<gl.ContextEvent>('webglcontextlost');
/**
* Static factory designed to expose `webglcontextrestored` events to event
* handlers that are not necessarily instances of [CanvasElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLCanvasElement.webglcontextrestoredEvent')
@DocsEditable()
static const EventStreamProvider<gl.ContextEvent> webGlContextRestoredEvent = const EventStreamProvider<gl.ContextEvent>('webglcontextrestored');
@DomName('HTMLCanvasElement.HTMLCanvasElement')
@DocsEditable()
factory CanvasElement({int width, int height}) {
var e = document.createElement("canvas");
if (width != null) e.width = width;
if (height != null) e.height = height;
return e;
}
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
CanvasElement.created() : super.created();
/// The height of this canvas element in CSS pixels.
@DomName('HTMLCanvasElement.height')
@DocsEditable()
int get height => _blink.Native_HTMLCanvasElement_height_Getter(this);
/// The height of this canvas element in CSS pixels.
@DomName('HTMLCanvasElement.height')
@DocsEditable()
void set height(int value) => _blink.Native_HTMLCanvasElement_height_Setter(this, value);
/// The width of this canvas element in CSS pixels.
@DomName('HTMLCanvasElement.width')
@DocsEditable()
int get width => _blink.Native_HTMLCanvasElement_width_Getter(this);
/// The width of this canvas element in CSS pixels.
@DomName('HTMLCanvasElement.width')
@DocsEditable()
void set width(int value) => _blink.Native_HTMLCanvasElement_width_Setter(this, value);
@DomName('HTMLCanvasElement.getContext')
@DocsEditable()
CanvasRenderingContext getContext(String contextId, [Map attrs]) => _blink.Native_HTMLCanvasElement_getContext_Callback(this, contextId, attrs);
@DomName('HTMLCanvasElement.toDataURL')
@DocsEditable()
String _toDataUrl(String type, [num quality]) => _blink.Native_HTMLCanvasElement_toDataURL_Callback(this, type, quality);
/// Stream of `webglcontextlost` events handled by this [CanvasElement].
@DomName('HTMLCanvasElement.onwebglcontextlost')
@DocsEditable()
ElementStream<gl.ContextEvent> get onWebGlContextLost => webGlContextLostEvent.forElement(this);
/// Stream of `webglcontextrestored` events handled by this [CanvasElement].
@DomName('HTMLCanvasElement.onwebglcontextrestored')
@DocsEditable()
ElementStream<gl.ContextEvent> get onWebGlContextRestored => webGlContextRestoredEvent.forElement(this);
/** An API for drawing on this canvas. */
CanvasRenderingContext2D get context2D => getContext('2d');
/**
* Returns a new Web GL context for this canvas.
*
* ## Other resources
*
* * [WebGL fundamentals]
* (http://www.html5rocks.com/en/tutorials/webgl/webgl_fundamentals/) from
* HTML5Rocks.
* * [WebGL homepage] (http://get.webgl.org/).
*/
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@Experimental()
gl.RenderingContext getContext3d({alpha: true, depth: true, stencil: false,
antialias: true, premultipliedAlpha: true, preserveDrawingBuffer: false}) {
var options = {
'alpha': alpha,
'depth': depth,
'stencil': stencil,
'antialias': antialias,
'premultipliedAlpha': premultipliedAlpha,
'preserveDrawingBuffer': preserveDrawingBuffer,
};
var context = getContext('webgl', options);
if (context == null) {
context = getContext('experimental-webgl', options);
}
return context;
}
/**
* Returns a data URI containing a representation of the image in the
* format specified by type (defaults to 'image/png').
*
* Data Uri format is as follow
* `data:[<MIME-type>][;charset=<encoding>][;base64],<data>`
*
* Optional parameter [quality] in the range of 0.0 and 1.0 can be used when
* requesting [type] 'image/jpeg' or 'image/webp'. If [quality] is not passed
* the default value is used. Note: the default value varies by browser.
*
* If the height or width of this canvas element is 0, then 'data:' is
* returned, representing no data.
*
* If the type requested is not 'image/png', and the returned value is
* 'data:image/png', then the requested type is not supported.
*
* Example usage:
*
* CanvasElement canvas = new CanvasElement();
* var ctx = canvas.context2D
* ..fillStyle = "rgb(200,0,0)"
* ..fillRect(10, 10, 55, 50);
* var dataUrl = canvas.toDataUrl("image/jpeg", 0.95);
* // The Data Uri would look similar to
* // 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA
* // AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
* // 9TXL0Y4OHwAAAABJRU5ErkJggg=='
* //Create a new image element from the data URI.
* var img = new ImageElement();
* img.src = dataUrl;
* document.body.children.add(img);
*
* See also:
*
* * [Data URI Scheme](http://en.wikipedia.org/wiki/Data_URI_scheme) from Wikipedia.
*
* * [HTMLCanvasElement](https://developer.mozilla.org/en-US/docs/DOM/HTMLCanvasElement) from MDN.
*
* * [toDataUrl](http://dev.w3.org/html5/spec/the-canvas-element.html#dom-canvas-todataurl) from W3C.
*/
String toDataUrl([String type = 'image/png', num quality]) =>
_toDataUrl(type, quality);
}
// 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.
@DocsEditable()
/**
* An opaque canvas object representing a gradient.
*
* Created by calling [createLinearGradient] or [createRadialGradient] on a
* [CanvasRenderingContext2D] object.
*
* Example usage:
*
* var canvas = new CanvasElement(width: 600, height: 600);
* var ctx = canvas.context2D;
* ctx.clearRect(0, 0, 600, 600);
* ctx.save();
* // Create radial gradient.
* CanvasGradient gradient = ctx.createRadialGradient(0, 0, 0, 0, 0, 600);
* gradient.addColorStop(0, '#000');
* gradient.addColorStop(1, 'rgb(255, 255, 255)');
* // Assign gradients to fill.
* ctx.fillStyle = gradient;
* // Draw a rectangle with a gradient fill.
* ctx.fillRect(0, 0, 600, 600);
* ctx.save();
* document.body.children.add(canvas);
*
* See also:
*
* * [CanvasGradient](https://developer.mozilla.org/en-US/docs/DOM/CanvasGradient) from MDN.
* * [CanvasGradient](http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#canvasgradient) from whatwg.
* * [CanvasGradient](http://www.w3.org/TR/2010/WD-2dcontext-20100304/#canvasgradient) from W3C.
*/
@DomName('CanvasGradient')
class CanvasGradient extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory CanvasGradient._() { throw new UnsupportedError("Not supported"); }
/**
* Adds a color stop to this gradient at the offset.
*
* The [offset] can range between 0.0 and 1.0.
*
* See also:
*
* * [Multiple Color Stops](https://developer.mozilla.org/en-US/docs/CSS/linear-gradient#Gradient_with_multiple_color_stops) from MDN.
*/
@DomName('CanvasGradient.addColorStop')
@DocsEditable()
void addColorStop(num offset, String color) => _blink.Native_CanvasGradient_addColorStop_Callback(this, offset, color);
}
// 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.
@DocsEditable()
/**
* An opaque object representing a pattern of image, canvas, or video.
*
* Created by calling [createPattern] on a [CanvasRenderingContext2D] object.
*
* Example usage:
*
* var canvas = new CanvasElement(width: 600, height: 600);
* var ctx = canvas.context2D;
* var img = new ImageElement();
* // Image src needs to be loaded before pattern is applied.
* img.onLoad.listen((event) {
* // When the image is loaded, create a pattern
* // from the ImageElement.
* CanvasPattern pattern = ctx.createPattern(img, 'repeat');
* ctx.rect(0, 0, canvas.width, canvas.height);
* ctx.fillStyle = pattern;
* ctx.fill();
* });
* img.src = "images/foo.jpg";
* document.body.children.add(canvas);
*
* See also:
* * [CanvasPattern](https://developer.mozilla.org/en-US/docs/DOM/CanvasPattern) from MDN.
* * [CanvasPattern](http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#canvaspattern) from whatwg.
* * [CanvasPattern](http://www.w3.org/TR/2010/WD-2dcontext-20100304/#canvaspattern) from W3C.
*/
@DomName('CanvasPattern')
class CanvasPattern extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory CanvasPattern._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
/**
* A rendering context for a canvas element.
*
* This context is extended by [CanvasRenderingContext2D] and
* [WebGLRenderingContext].
*/
@DomName('CanvasRenderingContext')
class CanvasRenderingContext extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory CanvasRenderingContext._() { throw new UnsupportedError("Not supported"); }
/// Reference to the canvas element to which this context belongs.
@DomName('CanvasRenderingContext.canvas')
@DocsEditable()
CanvasElement get canvas => _blink.Native_CanvasRenderingContext_canvas_Getter(this);
}
// 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.
@DomName('CanvasRenderingContext2D')
class CanvasRenderingContext2D extends CanvasRenderingContext {
// To suppress missing implicit constructor warnings.
factory CanvasRenderingContext2D._() { throw new UnsupportedError("Not supported"); }
@DomName('CanvasRenderingContext2D.currentTransform')
@DocsEditable()
@Experimental() // untriaged
Matrix get currentTransform => _blink.Native_CanvasRenderingContext2D_currentTransform_Getter(this);
@DomName('CanvasRenderingContext2D.currentTransform')
@DocsEditable()
@Experimental() // untriaged
void set currentTransform(Matrix value) => _blink.Native_CanvasRenderingContext2D_currentTransform_Setter(this, value);
@DomName('CanvasRenderingContext2D.fillStyle')
@DocsEditable()
Object get fillStyle => _blink.Native_CanvasRenderingContext2D_fillStyle_Getter(this);
@DomName('CanvasRenderingContext2D.fillStyle')
@DocsEditable()
void set fillStyle(Object value) => _blink.Native_CanvasRenderingContext2D_fillStyle_Setter(this, value);
@DomName('CanvasRenderingContext2D.font')
@DocsEditable()
String get font => _blink.Native_CanvasRenderingContext2D_font_Getter(this);
@DomName('CanvasRenderingContext2D.font')
@DocsEditable()
void set font(String value) => _blink.Native_CanvasRenderingContext2D_font_Setter(this, value);
@DomName('CanvasRenderingContext2D.globalAlpha')
@DocsEditable()
num get globalAlpha => _blink.Native_CanvasRenderingContext2D_globalAlpha_Getter(this);
@DomName('CanvasRenderingContext2D.globalAlpha')
@DocsEditable()
void set globalAlpha(num value) => _blink.Native_CanvasRenderingContext2D_globalAlpha_Setter(this, value);
@DomName('CanvasRenderingContext2D.globalCompositeOperation')
@DocsEditable()
String get globalCompositeOperation => _blink.Native_CanvasRenderingContext2D_globalCompositeOperation_Getter(this);
@DomName('CanvasRenderingContext2D.globalCompositeOperation')
@DocsEditable()
void set globalCompositeOperation(String value) => _blink.Native_CanvasRenderingContext2D_globalCompositeOperation_Setter(this, value);
/**
* Whether images and patterns on this canvas will be smoothed when this
* canvas is scaled.
*
* ## Other resources
*
* * [Image smoothing]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#image-smoothing)
* from WHATWG.
*/
@DomName('CanvasRenderingContext2D.imageSmoothingEnabled')
@DocsEditable()
@Experimental() // untriaged
bool get imageSmoothingEnabled => _blink.Native_CanvasRenderingContext2D_imageSmoothingEnabled_Getter(this);
/**
* Whether images and patterns on this canvas will be smoothed when this
* canvas is scaled.
*
* ## Other resources
*
* * [Image smoothing]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#image-smoothing)
* from WHATWG.
*/
@DomName('CanvasRenderingContext2D.imageSmoothingEnabled')
@DocsEditable()
@Experimental() // untriaged
void set imageSmoothingEnabled(bool value) => _blink.Native_CanvasRenderingContext2D_imageSmoothingEnabled_Setter(this, value);
@DomName('CanvasRenderingContext2D.lineCap')
@DocsEditable()
String get lineCap => _blink.Native_CanvasRenderingContext2D_lineCap_Getter(this);
@DomName('CanvasRenderingContext2D.lineCap')
@DocsEditable()
void set lineCap(String value) => _blink.Native_CanvasRenderingContext2D_lineCap_Setter(this, value);
@DomName('CanvasRenderingContext2D.lineDashOffset')
@DocsEditable()
num get lineDashOffset => _blink.Native_CanvasRenderingContext2D_lineDashOffset_Getter(this);
@DomName('CanvasRenderingContext2D.lineDashOffset')
@DocsEditable()
void set lineDashOffset(num value) => _blink.Native_CanvasRenderingContext2D_lineDashOffset_Setter(this, value);
@DomName('CanvasRenderingContext2D.lineJoin')
@DocsEditable()
String get lineJoin => _blink.Native_CanvasRenderingContext2D_lineJoin_Getter(this);
@DomName('CanvasRenderingContext2D.lineJoin')
@DocsEditable()
void set lineJoin(String value) => _blink.Native_CanvasRenderingContext2D_lineJoin_Setter(this, value);
@DomName('CanvasRenderingContext2D.lineWidth')
@DocsEditable()
num get lineWidth => _blink.Native_CanvasRenderingContext2D_lineWidth_Getter(this);
@DomName('CanvasRenderingContext2D.lineWidth')
@DocsEditable()
void set lineWidth(num value) => _blink.Native_CanvasRenderingContext2D_lineWidth_Setter(this, value);
@DomName('CanvasRenderingContext2D.miterLimit')
@DocsEditable()
num get miterLimit => _blink.Native_CanvasRenderingContext2D_miterLimit_Getter(this);
@DomName('CanvasRenderingContext2D.miterLimit')
@DocsEditable()
void set miterLimit(num value) => _blink.Native_CanvasRenderingContext2D_miterLimit_Setter(this, value);
@DomName('CanvasRenderingContext2D.shadowBlur')
@DocsEditable()
num get shadowBlur => _blink.Native_CanvasRenderingContext2D_shadowBlur_Getter(this);
@DomName('CanvasRenderingContext2D.shadowBlur')
@DocsEditable()
void set shadowBlur(num value) => _blink.Native_CanvasRenderingContext2D_shadowBlur_Setter(this, value);
@DomName('CanvasRenderingContext2D.shadowColor')
@DocsEditable()
String get shadowColor => _blink.Native_CanvasRenderingContext2D_shadowColor_Getter(this);
@DomName('CanvasRenderingContext2D.shadowColor')
@DocsEditable()
void set shadowColor(String value) => _blink.Native_CanvasRenderingContext2D_shadowColor_Setter(this, value);
@DomName('CanvasRenderingContext2D.shadowOffsetX')
@DocsEditable()
num get shadowOffsetX => _blink.Native_CanvasRenderingContext2D_shadowOffsetX_Getter(this);
@DomName('CanvasRenderingContext2D.shadowOffsetX')
@DocsEditable()
void set shadowOffsetX(num value) => _blink.Native_CanvasRenderingContext2D_shadowOffsetX_Setter(this, value);
@DomName('CanvasRenderingContext2D.shadowOffsetY')
@DocsEditable()
num get shadowOffsetY => _blink.Native_CanvasRenderingContext2D_shadowOffsetY_Getter(this);
@DomName('CanvasRenderingContext2D.shadowOffsetY')
@DocsEditable()
void set shadowOffsetY(num value) => _blink.Native_CanvasRenderingContext2D_shadowOffsetY_Setter(this, value);
@DomName('CanvasRenderingContext2D.strokeStyle')
@DocsEditable()
Object get strokeStyle => _blink.Native_CanvasRenderingContext2D_strokeStyle_Getter(this);
@DomName('CanvasRenderingContext2D.strokeStyle')
@DocsEditable()
void set strokeStyle(Object value) => _blink.Native_CanvasRenderingContext2D_strokeStyle_Setter(this, value);
@DomName('CanvasRenderingContext2D.textAlign')
@DocsEditable()
String get textAlign => _blink.Native_CanvasRenderingContext2D_textAlign_Getter(this);
@DomName('CanvasRenderingContext2D.textAlign')
@DocsEditable()
void set textAlign(String value) => _blink.Native_CanvasRenderingContext2D_textAlign_Setter(this, value);
@DomName('CanvasRenderingContext2D.textBaseline')
@DocsEditable()
String get textBaseline => _blink.Native_CanvasRenderingContext2D_textBaseline_Getter(this);
@DomName('CanvasRenderingContext2D.textBaseline')
@DocsEditable()
void set textBaseline(String value) => _blink.Native_CanvasRenderingContext2D_textBaseline_Setter(this, value);
@DomName('CanvasRenderingContext2D.arc')
@DocsEditable()
void _arc(num x, num y, num radius, num startAngle, num endAngle, bool anticlockwise) => _blink.Native_CanvasRenderingContext2D_arc_Callback(this, x, y, radius, startAngle, endAngle, anticlockwise);
@DomName('CanvasRenderingContext2D.arcTo')
@DocsEditable()
void arcTo(num x1, num y1, num x2, num y2, num radius) => _blink.Native_CanvasRenderingContext2D_arcTo_Callback(this, x1, y1, x2, y2, radius);
@DomName('CanvasRenderingContext2D.beginPath')
@DocsEditable()
void beginPath() => _blink.Native_CanvasRenderingContext2D_beginPath_Callback(this);
@DomName('CanvasRenderingContext2D.bezierCurveTo')
@DocsEditable()
void bezierCurveTo(num cp1x, num cp1y, num cp2x, num cp2y, num x, num y) => _blink.Native_CanvasRenderingContext2D_bezierCurveTo_Callback(this, cp1x, cp1y, cp2x, cp2y, x, y);
@DomName('CanvasRenderingContext2D.clearRect')
@DocsEditable()
void clearRect(num x, num y, num width, num height) => _blink.Native_CanvasRenderingContext2D_clearRect_Callback(this, x, y, width, height);
void clip([String winding]) => _blink.Native_CanvasRenderingContext2D_clip(this, winding);
@DomName('CanvasRenderingContext2D.closePath')
@DocsEditable()
void closePath() => _blink.Native_CanvasRenderingContext2D_closePath_Callback(this);
@DomName('CanvasRenderingContext2D.createImageData')
@DocsEditable()
ImageData createImageData(num sw, num sh) => _blink.Native_CanvasRenderingContext2D_createImageData_Callback(this, sw, sh);
@DomName('CanvasRenderingContext2D.createImageDataFromImageData')
@DocsEditable()
ImageData createImageDataFromImageData(ImageData imagedata) => _blink.Native_CanvasRenderingContext2D_createImageDataFromImageData_Callback(this, imagedata);
@DomName('CanvasRenderingContext2D.createLinearGradient')
@DocsEditable()
CanvasGradient createLinearGradient(num x0, num y0, num x1, num y1) => _blink.Native_CanvasRenderingContext2D_createLinearGradient_Callback(this, x0, y0, x1, y1);
@DomName('CanvasRenderingContext2D.createPattern')
@DocsEditable()
CanvasPattern createPattern(CanvasElement canvas, String repetitionType) => _blink.Native_CanvasRenderingContext2D_createPattern_Callback(this, canvas, repetitionType);
@DomName('CanvasRenderingContext2D.createPatternFromImage')
@DocsEditable()
CanvasPattern createPatternFromImage(ImageElement image, String repetitionType) => _blink.Native_CanvasRenderingContext2D_createPatternFromImage_Callback(this, image, repetitionType);
@DomName('CanvasRenderingContext2D.createRadialGradient')
@DocsEditable()
CanvasGradient createRadialGradient(num x0, num y0, num r0, num x1, num y1, num r1) => _blink.Native_CanvasRenderingContext2D_createRadialGradient_Callback(this, x0, y0, r0, x1, y1, r1);
@DomName('CanvasRenderingContext2D.drawCustomFocusRing')
@DocsEditable()
@Experimental() // untriaged
bool drawCustomFocusRing(Element element) => _blink.Native_CanvasRenderingContext2D_drawCustomFocusRing_Callback(this, element);
void _drawImage(canvas_OR_image_OR_imageBitmap_OR_video, num sx_OR_x, num sy_OR_y, [num sw_OR_width, num height_OR_sh, num dx, num dy, num dw, num dh]) => _blink.Native_CanvasRenderingContext2D__drawImage(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh);
@DomName('CanvasRenderingContext2D.ellipse')
@DocsEditable()
@Experimental() // untriaged
void ellipse(num x, num y, num radiusX, num radiusY, num rotation, num startAngle, num endAngle, bool anticlockwise) => _blink.Native_CanvasRenderingContext2D_ellipse_Callback(this, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise);
void fill([String winding]) => _blink.Native_CanvasRenderingContext2D_fill(this, winding);
@DomName('CanvasRenderingContext2D.fillRect')
@DocsEditable()
void fillRect(num x, num y, num width, num height) => _blink.Native_CanvasRenderingContext2D_fillRect_Callback(this, x, y, width, height);
void fillText(String text, num x, num y, [num maxWidth]) => _blink.Native_CanvasRenderingContext2D_fillText(this, text, x, y, maxWidth);
@DomName('CanvasRenderingContext2D.getContextAttributes')
@DocsEditable()
// http://wiki.whatwg.org/wiki/CanvasOpaque#Suggested_IDL
@Experimental()
Canvas2DContextAttributes getContextAttributes() => _blink.Native_CanvasRenderingContext2D_getContextAttributes_Callback(this);
@DomName('CanvasRenderingContext2D.getImageData')
@DocsEditable()
ImageData getImageData(num sx, num sy, num sw, num sh) => _blink.Native_CanvasRenderingContext2D_getImageData_Callback(this, sx, sy, sw, sh);
@DomName('CanvasRenderingContext2D.getLineDash')
@DocsEditable()
List<num> _getLineDash() => _blink.Native_CanvasRenderingContext2D_getLineDash_Callback(this);
bool isPointInPath(num x, num y, [String winding]) => _blink.Native_CanvasRenderingContext2D_isPointInPath(this, x, y, winding);
@DomName('CanvasRenderingContext2D.isPointInStroke')
@DocsEditable()
bool isPointInStroke(num x, num y) => _blink.Native_CanvasRenderingContext2D_isPointInStroke_Callback(this, x, y);
@DomName('CanvasRenderingContext2D.lineTo')
@DocsEditable()
void lineTo(num x, num y) => _blink.Native_CanvasRenderingContext2D_lineTo_Callback(this, x, y);
@DomName('CanvasRenderingContext2D.measureText')
@DocsEditable()
TextMetrics measureText(String text) => _blink.Native_CanvasRenderingContext2D_measureText_Callback(this, text);
@DomName('CanvasRenderingContext2D.moveTo')
@DocsEditable()
void moveTo(num x, num y) => _blink.Native_CanvasRenderingContext2D_moveTo_Callback(this, x, y);
void putImageData(ImageData imagedata, num dx, num dy, [num dirtyX, num dirtyY, num dirtyWidth, num dirtyHeight]) => _blink.Native_CanvasRenderingContext2D_putImageData(this, imagedata, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
@DomName('CanvasRenderingContext2D.quadraticCurveTo')
@DocsEditable()
void quadraticCurveTo(num cpx, num cpy, num x, num y) => _blink.Native_CanvasRenderingContext2D_quadraticCurveTo_Callback(this, cpx, cpy, x, y);
@DomName('CanvasRenderingContext2D.rect')
@DocsEditable()
void rect(num x, num y, num width, num height) => _blink.Native_CanvasRenderingContext2D_rect_Callback(this, x, y, width, height);
@DomName('CanvasRenderingContext2D.resetTransform')
@DocsEditable()
@Experimental() // untriaged
void resetTransform() => _blink.Native_CanvasRenderingContext2D_resetTransform_Callback(this);
@DomName('CanvasRenderingContext2D.restore')
@DocsEditable()
void restore() => _blink.Native_CanvasRenderingContext2D_restore_Callback(this);
@DomName('CanvasRenderingContext2D.rotate')
@DocsEditable()
void rotate(num angle) => _blink.Native_CanvasRenderingContext2D_rotate_Callback(this, angle);
@DomName('CanvasRenderingContext2D.save')
@DocsEditable()
void save() => _blink.Native_CanvasRenderingContext2D_save_Callback(this);
@DomName('CanvasRenderingContext2D.scale')
@DocsEditable()
void scale(num sx, num sy) => _blink.Native_CanvasRenderingContext2D_scale_Callback(this, sx, sy);
@DomName('CanvasRenderingContext2D.setLineDash')
@DocsEditable()
void setLineDash(List<num> dash) => _blink.Native_CanvasRenderingContext2D_setLineDash_Callback(this, dash);
@DomName('CanvasRenderingContext2D.setTransform')
@DocsEditable()
void setTransform(num m11, num m12, num m21, num m22, num dx, num dy) => _blink.Native_CanvasRenderingContext2D_setTransform_Callback(this, m11, m12, m21, m22, dx, dy);
@DomName('CanvasRenderingContext2D.stroke')
@DocsEditable()
void stroke() => _blink.Native_CanvasRenderingContext2D_stroke_Callback(this);
@DomName('CanvasRenderingContext2D.strokeRect')
@DocsEditable()
void strokeRect(num x, num y, num width, num height) => _blink.Native_CanvasRenderingContext2D_strokeRect_Callback(this, x, y, width, height);
void strokeText(String text, num x, num y, [num maxWidth]) => _blink.Native_CanvasRenderingContext2D_strokeText(this, text, x, y, maxWidth);
@DomName('CanvasRenderingContext2D.transform')
@DocsEditable()
void transform(num m11, num m12, num m21, num m22, num dx, num dy) => _blink.Native_CanvasRenderingContext2D_transform_Callback(this, m11, m12, m21, m22, dx, dy);
@DomName('CanvasRenderingContext2D.translate')
@DocsEditable()
void translate(num tx, num ty) => _blink.Native_CanvasRenderingContext2D_translate_Callback(this, tx, ty);
/**
* Sets the color used inside shapes.
* [r], [g], [b] are 0-255, [a] is 0-1.
*/
void setFillColorRgb(int r, int g, int b, [num a = 1]) {
this.fillStyle = 'rgba($r, $g, $b, $a)';
}
/**
* Sets the color used inside shapes.
* [h] is in degrees, 0-360.
* [s], [l] are in percent, 0-100.
* [a] is 0-1.
*/
void setFillColorHsl(int h, num s, num l, [num a = 1]) {
this.fillStyle = 'hsla($h, $s%, $l%, $a)';
}
/**
* Sets the color used for stroking shapes.
* [r], [g], [b] are 0-255, [a] is 0-1.
*/
void setStrokeColorRgb(int r, int g, int b, [num a = 1]) {
this.strokeStyle = 'rgba($r, $g, $b, $a)';
}
/**
* Sets the color used for stroking shapes.
* [h] is in degrees, 0-360.
* [s], [l] are in percent, 0-100.
* [a] is 0-1.
*/
void setStrokeColorHsl(int h, num s, num l, [num a = 1]) {
this.strokeStyle = 'hsla($h, $s%, $l%, $a)';
}
@DomName('CanvasRenderingContext2D.arc')
void arc(num x, num y, num radius, num startAngle, num endAngle,
[bool anticlockwise = false]) {
_arc(x, y, radius, startAngle, endAngle, anticlockwise);
}
/**
* Draws an image from a CanvasImageSource to an area of this canvas.
*
* The image will be drawn to an area of this canvas defined by
* [destRect]. [sourceRect] defines the region of the source image that is
* drawn.
* If [sourceRect] is not provided, then
* the entire rectangular image from [source] will be drawn to this context.
*
* If the image is larger than canvas
* will allow, the image will be clipped to fit the available space.
*
* CanvasElement canvas = new CanvasElement(width: 600, height: 600);
* CanvasRenderingContext2D ctx = canvas.context2D;
* ImageElement img = document.query('img');
* img.width = 100;
* img.height = 100;
*
* // Scale the image to 20x20.
* ctx.drawImageToRect(img, new Rectangle(50, 50, 20, 20));
*
* VideoElement video = document.query('video');
* video.width = 100;
* video.height = 100;
* // Take the middle 20x20 pixels from the video and stretch them.
* ctx.drawImageToRect(video, new Rectangle(50, 50, 100, 100),
* sourceRect: new Rectangle(40, 40, 20, 20));
*
* // Draw the top 100x20 pixels from the otherCanvas.
* CanvasElement otherCanvas = document.query('canvas');
* ctx.drawImageToRect(otherCanvas, new Rectangle(0, 0, 100, 20),
* sourceRect: new Rectangle(0, 0, 100, 20));
*
* See also:
*
* * [CanvasImageSource] for more information on what data is retrieved
* from [source].
* * [drawImage](http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-drawimage)
* from the WHATWG.
*/
@DomName('CanvasRenderingContext2D.drawImage')
void drawImageToRect(CanvasImageSource source, Rectangle destRect,
{Rectangle sourceRect}) {
if (sourceRect == null) {
_drawImage(source,
destRect.left,
destRect.top,
destRect.width,
destRect.height);
} else {
_drawImage(source,
sourceRect.left,
sourceRect.top,
sourceRect.width,
sourceRect.height,
destRect.left,
destRect.top,
destRect.width,
destRect.height);
}
}
/**
* Draws an image from a CanvasImageSource to this canvas.
*
* The entire image from [source] will be drawn to this context with its top
* left corner at the point ([destX], [destY]). If the image is
* larger than canvas will allow, the image will be clipped to fit the
* available space.
*
* CanvasElement canvas = new CanvasElement(width: 600, height: 600);
* CanvasRenderingContext2D ctx = canvas.context2D;
* ImageElement img = document.query('img');
*
* ctx.drawImage(img, 100, 100);
*
* VideoElement video = document.query('video');
* ctx.drawImage(video, 0, 0);
*
* CanvasElement otherCanvas = document.query('canvas');
* otherCanvas.width = 100;
* otherCanvas.height = 100;
* ctx.drawImage(otherCanvas, 590, 590); // will get clipped
*
* See also:
*
* * [CanvasImageSource] for more information on what data is retrieved
* from [source].
* * [drawImage](http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-drawimage)
* from the WHATWG.
*/
@DomName('CanvasRenderingContext2D.drawImage')
void drawImage(CanvasImageSource source, num destX, num destY) {
_drawImage(source, destX, destY);
}
/**
* Draws an image from a CanvasImageSource to an area of this canvas.
*
* The image will be drawn to this context with its top left corner at the
* point ([destX], [destY]) and will be scaled to be [destWidth] wide and
* [destHeight] tall.
*
* If the image is larger than canvas
* will allow, the image will be clipped to fit the available space.
*
* CanvasElement canvas = new CanvasElement(width: 600, height: 600);
* CanvasRenderingContext2D ctx = canvas.context2D;
* ImageElement img = document.query('img');
* img.width = 100;
* img.height = 100;
*
* // Scale the image to 300x50 at the point (20, 20)
* ctx.drawImageScaled(img, 20, 20, 300, 50);
*
* See also:
*
* * [CanvasImageSource] for more information on what data is retrieved
* from [source].
* * [drawImage](http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-drawimage)
* from the WHATWG.
*/
@DomName('CanvasRenderingContext2D.drawImage')
void drawImageScaled(CanvasImageSource source,
num destX, num destY, num destWidth, num destHeight) {
_drawImage(source, destX, destY, destWidth, destHeight);
}
/**
* Draws an image from a CanvasImageSource to an area of this canvas.
*
* The image is a region of [source] that is [sourceWidth] wide and
* [destHeight] tall with top left corner at ([sourceX], [sourceY]).
* The image will be drawn to this context with its top left corner at the
* point ([destX], [destY]) and will be scaled to be [destWidth] wide and
* [destHeight] tall.
*
* If the image is larger than canvas
* will allow, the image will be clipped to fit the available space.
*
* VideoElement video = document.query('video');
* video.width = 100;
* video.height = 100;
* // Take the middle 20x20 pixels from the video and stretch them.
* ctx.drawImageScaledFromSource(video, 40, 40, 20, 20, 50, 50, 100, 100);
*
* // Draw the top 100x20 pixels from the otherCanvas to this one.
* CanvasElement otherCanvas = document.query('canvas');
* ctx.drawImageScaledFromSource(otherCanvas, 0, 0, 100, 20, 0, 0, 100, 20);
*
* See also:
*
* * [CanvasImageSource] for more information on what data is retrieved
* from [source].
* * [drawImage](http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-drawimage)
* from the WHATWG.
*/
@DomName('CanvasRenderingContext2D.drawImage')
void drawImageScaledFromSource(CanvasImageSource source,
num sourceX, num sourceY, num sourceWidth, num sourceHeight,
num destX, num destY, num destWidth, num destHeight) {
_drawImage(source, sourceX, sourceY, sourceWidth, sourceHeight,
destX, destY, destWidth, destHeight);
}
// TODO(amouravski): Add Dartium native methods for drawImage once we figure
// out how to not break native bindings.
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@SupportedBrowser(SupportedBrowser.IE, '11')
@Unstable()
@DomName('CanvasRenderingContext2D.getLineDash')
List<num> getLineDash() {
// TODO(14316): Firefox has this functionality with mozDash, but it's a bit
// different.
var result = _getLineDash();
if (result == null) {
result = [];
}
return result;
}
/** Deprecated always returns 1.0 */
@DomName('CanvasRenderingContext2D.webkitBackingStorePixelRation')
@Experimental()
@deprecated
double get backingStorePixelRatio => 1.0;
}
// 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.
@DocsEditable()
@DomName('CharacterData')
class CharacterData extends Node implements ChildNode {
// To suppress missing implicit constructor warnings.
factory CharacterData._() { throw new UnsupportedError("Not supported"); }
@DomName('CharacterData.data')
@DocsEditable()
String get data => _blink.Native_CharacterData_data_Getter(this);
@DomName('CharacterData.data')
@DocsEditable()
void set data(String value) => _blink.Native_CharacterData_data_Setter(this, value);
@DomName('CharacterData.length')
@DocsEditable()
int get length => _blink.Native_CharacterData_length_Getter(this);
@DomName('CharacterData.appendData')
@DocsEditable()
void appendData(String data) => _blink.Native_CharacterData_appendData_Callback(this, data);
@DomName('CharacterData.deleteData')
@DocsEditable()
void deleteData(int offset, int length) => _blink.Native_CharacterData_deleteData_Callback(this, offset, length);
@DomName('CharacterData.insertData')
@DocsEditable()
void insertData(int offset, String data) => _blink.Native_CharacterData_insertData_Callback(this, offset, data);
@DomName('CharacterData.replaceData')
@DocsEditable()
void replaceData(int offset, int length, String data) => _blink.Native_CharacterData_replaceData_Callback(this, offset, length, data);
@DomName('CharacterData.substringData')
@DocsEditable()
String substringData(int offset, int length) => _blink.Native_CharacterData_substringData_Callback(this, offset, length);
@DomName('CharacterData.nextElementSibling')
@DocsEditable()
Element get nextElementSibling => _blink.Native_CharacterData_nextElementSibling_Getter(this);
@DomName('CharacterData.previousElementSibling')
@DocsEditable()
Element get previousElementSibling => _blink.Native_CharacterData_previousElementSibling_Getter(this);
}
// 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.
@DocsEditable()
@DomName('ChildNode')
@Experimental() // untriaged
abstract class ChildNode extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory ChildNode._() { throw new UnsupportedError("Not supported"); }
@DomName('ChildNode.nextElementSibling')
@DocsEditable()
@Experimental() // untriaged
Element get nextElementSibling => _blink.Native_ChildNode_nextElementSibling_Getter(this);
@DomName('ChildNode.previousElementSibling')
@DocsEditable()
@Experimental() // untriaged
Element get previousElementSibling => _blink.Native_ChildNode_previousElementSibling_Getter(this);
@DomName('ChildNode.remove')
@DocsEditable()
@Experimental() // untriaged
void remove() => _blink.Native_ChildNode_remove_Callback(this);
}
// 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.
@DocsEditable()
@DomName('CloseEvent')
class CloseEvent extends Event {
// To suppress missing implicit constructor warnings.
factory CloseEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('CloseEvent.code')
@DocsEditable()
int get code => _blink.Native_CloseEvent_code_Getter(this);
@DomName('CloseEvent.reason')
@DocsEditable()
String get reason => _blink.Native_CloseEvent_reason_Getter(this);
@DomName('CloseEvent.wasClean')
@DocsEditable()
bool get wasClean => _blink.Native_CloseEvent_wasClean_Getter(this);
}
// 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.
@DocsEditable()
@DomName('Comment')
class Comment extends CharacterData {
// To suppress missing implicit constructor warnings.
factory Comment._() { throw new UnsupportedError("Not supported"); }
@DomName('Comment.Comment')
@DocsEditable()
factory Comment([String data]) => _blink.Native_Comment_Comment(data);
}
// Copyright (c) 2013, 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.
@DomName('CompositionEvent')
class CompositionEvent extends UIEvent {
factory CompositionEvent(String type,
{bool canBubble: false, bool cancelable: false, Window view,
String data}) {
if (view == null) {
view = window;
}
var e = document._createEvent("CompositionEvent");
e._initCompositionEvent(type, canBubble, cancelable, view, data);
return e;
}
// To suppress missing implicit constructor warnings.
factory CompositionEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('CompositionEvent.activeSegmentEnd')
@DocsEditable()
@Experimental() // untriaged
int get activeSegmentEnd => _blink.Native_CompositionEvent_activeSegmentEnd_Getter(this);
@DomName('CompositionEvent.activeSegmentStart')
@DocsEditable()
@Experimental() // untriaged
int get activeSegmentStart => _blink.Native_CompositionEvent_activeSegmentStart_Getter(this);
@DomName('CompositionEvent.data')
@DocsEditable()
String get data => _blink.Native_CompositionEvent_data_Getter(this);
@DomName('CompositionEvent.initCompositionEvent')
@DocsEditable()
void _initCompositionEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Window viewArg, String dataArg) => _blink.Native_CompositionEvent_initCompositionEvent_Callback(this, typeArg, canBubbleArg, cancelableArg, viewArg, dataArg);
}
// 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.
@DocsEditable()
@DomName('Console')
class Console extends ConsoleBase {
// To suppress missing implicit constructor warnings.
factory Console._() { throw new UnsupportedError("Not supported"); }
@DomName('Console.memory')
@DocsEditable()
@Experimental()
MemoryInfo get memory => _blink.Native_Console_memory_Getter(this);
}
// 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.
@DocsEditable()
@DomName('ConsoleBase')
@Experimental() // untriaged
class ConsoleBase extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory ConsoleBase._() { throw new UnsupportedError("Not supported"); }
@DomName('ConsoleBase.assertCondition')
@DocsEditable()
@Experimental() // untriaged
void assertCondition(bool condition, Object arg) => _blink.Native_ConsoleBase_assertCondition_Callback(this, condition, arg);
@DomName('ConsoleBase.clear')
@DocsEditable()
@Experimental() // untriaged
void clear(Object arg) => _blink.Native_ConsoleBase_clear_Callback(this, arg);
@DomName('ConsoleBase.count')
@DocsEditable()
@Experimental() // untriaged
void count(Object arg) => _blink.Native_ConsoleBase_count_Callback(this, arg);
@DomName('ConsoleBase.debug')
@DocsEditable()
@Experimental() // untriaged
void debug(Object arg) => _blink.Native_ConsoleBase_debug_Callback(this, arg);
@DomName('ConsoleBase.dir')
@DocsEditable()
@Experimental() // untriaged
void dir(Object arg) => _blink.Native_ConsoleBase_dir_Callback(this, arg);
@DomName('ConsoleBase.dirxml')
@DocsEditable()
@Experimental() // untriaged
void dirxml(Object arg) => _blink.Native_ConsoleBase_dirxml_Callback(this, arg);
@DomName('ConsoleBase.error')
@DocsEditable()
@Experimental() // untriaged
void error(Object arg) => _blink.Native_ConsoleBase_error_Callback(this, arg);
@DomName('ConsoleBase.group')
@DocsEditable()
@Experimental() // untriaged
void group(Object arg) => _blink.Native_ConsoleBase_group_Callback(this, arg);
@DomName('ConsoleBase.groupCollapsed')
@DocsEditable()
@Experimental() // untriaged
void groupCollapsed(Object arg) => _blink.Native_ConsoleBase_groupCollapsed_Callback(this, arg);
@DomName('ConsoleBase.groupEnd')
@DocsEditable()
@Experimental() // untriaged
void groupEnd() => _blink.Native_ConsoleBase_groupEnd_Callback(this);
@DomName('ConsoleBase.info')
@DocsEditable()
@Experimental() // untriaged
void info(Object arg) => _blink.Native_ConsoleBase_info_Callback(this, arg);
@DomName('ConsoleBase.log')
@DocsEditable()
@Experimental() // untriaged
void log(Object arg) => _blink.Native_ConsoleBase_log_Callback(this, arg);
@DomName('ConsoleBase.markTimeline')
@DocsEditable()
@Experimental() // untriaged
void markTimeline(String title) => _blink.Native_ConsoleBase_markTimeline_Callback(this, title);
@DomName('ConsoleBase.profile')
@DocsEditable()
@Experimental() // untriaged
void profile(String title) => _blink.Native_ConsoleBase_profile_Callback(this, title);
@DomName('ConsoleBase.profileEnd')
@DocsEditable()
@Experimental() // untriaged
void profileEnd(String title) => _blink.Native_ConsoleBase_profileEnd_Callback(this, title);
@DomName('ConsoleBase.table')
@DocsEditable()
@Experimental() // untriaged
void table(Object arg) => _blink.Native_ConsoleBase_table_Callback(this, arg);
@DomName('ConsoleBase.time')
@DocsEditable()
@Experimental() // untriaged
void time(String title) => _blink.Native_ConsoleBase_time_Callback(this, title);
@DomName('ConsoleBase.timeEnd')
@DocsEditable()
@Experimental() // untriaged
void timeEnd(String title) => _blink.Native_ConsoleBase_timeEnd_Callback(this, title);
@DomName('ConsoleBase.timeStamp')
@DocsEditable()
@Experimental() // untriaged
void timeStamp(String title) => _blink.Native_ConsoleBase_timeStamp_Callback(this, title);
@DomName('ConsoleBase.timeline')
@DocsEditable()
@Experimental() // untriaged
void timeline(String title) => _blink.Native_ConsoleBase_timeline_Callback(this, title);
@DomName('ConsoleBase.timelineEnd')
@DocsEditable()
@Experimental() // untriaged
void timelineEnd(String title) => _blink.Native_ConsoleBase_timelineEnd_Callback(this, title);
@DomName('ConsoleBase.trace')
@DocsEditable()
@Experimental() // untriaged
void trace(Object arg) => _blink.Native_ConsoleBase_trace_Callback(this, arg);
@DomName('ConsoleBase.warn')
@DocsEditable()
@Experimental() // untriaged
void warn(Object arg) => _blink.Native_ConsoleBase_warn_Callback(this, arg);
}
// 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.
@DocsEditable()
@DomName('HTMLContentElement')
@SupportedBrowser(SupportedBrowser.CHROME, '26')
@Experimental()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#content-element
class ContentElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory ContentElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLContentElement.HTMLContentElement')
@DocsEditable()
factory ContentElement() => document.createElement("content");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
ContentElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLContentElement.resetStyleInheritance')
@DocsEditable()
bool get resetStyleInheritance => _blink.Native_HTMLContentElement_resetStyleInheritance_Getter(this);
@DomName('HTMLContentElement.resetStyleInheritance')
@DocsEditable()
void set resetStyleInheritance(bool value) => _blink.Native_HTMLContentElement_resetStyleInheritance_Setter(this, value);
@DomName('HTMLContentElement.select')
@DocsEditable()
String get select => _blink.Native_HTMLContentElement_select_Getter(this);
@DomName('HTMLContentElement.select')
@DocsEditable()
void set select(String value) => _blink.Native_HTMLContentElement_select_Setter(this, value);
@DomName('HTMLContentElement.getDistributedNodes')
@DocsEditable()
List<Node> getDistributedNodes() => _blink.Native_HTMLContentElement_getDistributedNodes_Callback(this);
}
// 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.
@DocsEditable()
@DomName('Coordinates')
class Coordinates extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Coordinates._() { throw new UnsupportedError("Not supported"); }
@DomName('Coordinates.accuracy')
@DocsEditable()
double get accuracy => _blink.Native_Coordinates_accuracy_Getter(this);
@DomName('Coordinates.altitude')
@DocsEditable()
double get altitude => _blink.Native_Coordinates_altitude_Getter(this);
@DomName('Coordinates.altitudeAccuracy')
@DocsEditable()
double get altitudeAccuracy => _blink.Native_Coordinates_altitudeAccuracy_Getter(this);
@DomName('Coordinates.heading')
@DocsEditable()
double get heading => _blink.Native_Coordinates_heading_Getter(this);
@DomName('Coordinates.latitude')
@DocsEditable()
double get latitude => _blink.Native_Coordinates_latitude_Getter(this);
@DomName('Coordinates.longitude')
@DocsEditable()
double get longitude => _blink.Native_Coordinates_longitude_Getter(this);
@DomName('Coordinates.speed')
@DocsEditable()
double get speed => _blink.Native_Coordinates_speed_Getter(this);
}
// 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.
@DocsEditable()
@DomName('Crypto')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3.org/TR/WebCryptoAPI/
class Crypto extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Crypto._() { throw new UnsupportedError("Not supported"); }
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('Crypto.subtle')
@DocsEditable()
@Experimental() // untriaged
_SubtleCrypto get subtle => _blink.Native_Crypto_subtle_Getter(this);
@DomName('Crypto.getRandomValues')
@DocsEditable()
TypedData getRandomValues(TypedData array) => _blink.Native_Crypto_getRandomValues_Callback(this, array);
}
// 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.
@DocsEditable()
@DomName('Key')
@Experimental() // untriaged
class CryptoKey extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory CryptoKey._() { throw new UnsupportedError("Not supported"); }
@DomName('Key.algorithm')
@DocsEditable()
@Experimental() // untriaged
Algorithm get algorithm => _blink.Native_Key_algorithm_Getter(this);
@DomName('Key.extractable')
@DocsEditable()
@Experimental() // untriaged
bool get extractable => _blink.Native_Key_extractable_Getter(this);
@DomName('Key.type')
@DocsEditable()
@Experimental() // untriaged
String get type => _blink.Native_Key_type_Getter(this);
@DomName('Key.usages')
@DocsEditable()
@Experimental() // untriaged
List<String> get usages => _blink.Native_Key_usages_Getter(this);
}
// 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.
@DocsEditable()
@DomName('CSS')
// http://www.w3.org/TR/css3-conditional/#the-css-interface
@Experimental() // None
class Css extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Css._() { throw new UnsupportedError("Not supported"); }
@DomName('CSS.supports')
@DocsEditable()
bool supports(String property, String value) => _blink.Native_CSS_supports_Callback(this, property, value);
@DomName('CSS.supportsCondition')
@DocsEditable()
bool supportsCondition(String conditionText) => _blink.Native_CSS_supportsCondition_Callback(this, conditionText);
}
// 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.
@DocsEditable()
@DomName('CSSCharsetRule')
// http://dev.w3.org/csswg/cssom/#the-csscharsetrule-interface
@Experimental()
class CssCharsetRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory CssCharsetRule._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSCharsetRule.encoding')
@DocsEditable()
String get encoding => _blink.Native_CSSCharsetRule_encoding_Getter(this);
@DomName('CSSCharsetRule.encoding')
@DocsEditable()
void set encoding(String value) => _blink.Native_CSSCharsetRule_encoding_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('WebKitCSSFilterRule')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3.org/TR/filter-effects/
class CssFilterRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory CssFilterRule._() { throw new UnsupportedError("Not supported"); }
@DomName('WebKitCSSFilterRule.style')
@DocsEditable()
CssStyleDeclaration get style => _blink.Native_WebKitCSSFilterRule_style_Getter(this);
}
// 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.
@DocsEditable()
@DomName('CSSFontFaceLoadEvent')
// http://www.w3.org/TR/css3-fonts/
@Experimental()
class CssFontFaceLoadEvent extends Event {
// To suppress missing implicit constructor warnings.
factory CssFontFaceLoadEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSFontFaceLoadEvent.fontfaces')
@DocsEditable()
@Experimental() // untriaged
List<FontFace> get fontfaces => _blink.Native_CSSFontFaceLoadEvent_fontfaces_Getter(this);
}
// 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.
@DocsEditable()
@DomName('CSSFontFaceRule')
class CssFontFaceRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory CssFontFaceRule._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSFontFaceRule.style')
@DocsEditable()
CssStyleDeclaration get style => _blink.Native_CSSFontFaceRule_style_Getter(this);
}
// 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.
@DocsEditable()
@DomName('CSSImportRule')
class CssImportRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory CssImportRule._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSImportRule.href')
@DocsEditable()
String get href => _blink.Native_CSSImportRule_href_Getter(this);
@DomName('CSSImportRule.media')
@DocsEditable()
MediaList get media => _blink.Native_CSSImportRule_media_Getter(this);
@DomName('CSSImportRule.styleSheet')
@DocsEditable()
CssStyleSheet get styleSheet => _blink.Native_CSSImportRule_styleSheet_Getter(this);
}
// 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.
@DocsEditable()
@DomName('CSSKeyframeRule')
@Experimental() // untriaged
class CssKeyframeRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory CssKeyframeRule._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSKeyframeRule.keyText')
@DocsEditable()
@Experimental() // untriaged
String get keyText => _blink.Native_CSSKeyframeRule_keyText_Getter(this);
@DomName('CSSKeyframeRule.keyText')
@DocsEditable()
@Experimental() // untriaged
void set keyText(String value) => _blink.Native_CSSKeyframeRule_keyText_Setter(this, value);
@DomName('CSSKeyframeRule.style')
@DocsEditable()
@Experimental() // untriaged
CssStyleDeclaration get style => _blink.Native_CSSKeyframeRule_style_Getter(this);
}
// 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.
@DocsEditable()
@DomName('CSSKeyframesRule')
@Experimental() // untriaged
class CssKeyframesRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory CssKeyframesRule._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSKeyframesRule.cssRules')
@DocsEditable()
@Experimental() // untriaged
List<CssRule> get cssRules => _blink.Native_CSSKeyframesRule_cssRules_Getter(this);
@DomName('CSSKeyframesRule.name')
@DocsEditable()
@Experimental() // untriaged
String get name => _blink.Native_CSSKeyframesRule_name_Getter(this);
@DomName('CSSKeyframesRule.name')
@DocsEditable()
@Experimental() // untriaged
void set name(String value) => _blink.Native_CSSKeyframesRule_name_Setter(this, value);
@DomName('CSSKeyframesRule.__getter__')
@DocsEditable()
@Experimental() // untriaged
CssKeyframeRule __getter__(int index) => _blink.Native_CSSKeyframesRule___getter___Callback(this, index);
@DomName('CSSKeyframesRule.deleteRule')
@DocsEditable()
@Experimental() // untriaged
void deleteRule(String key) => _blink.Native_CSSKeyframesRule_deleteRule_Callback(this, key);
@DomName('CSSKeyframesRule.findRule')
@DocsEditable()
@Experimental() // untriaged
CssKeyframeRule findRule(String key) => _blink.Native_CSSKeyframesRule_findRule_Callback(this, key);
@DomName('CSSKeyframesRule.insertRule')
@DocsEditable()
@Experimental() // untriaged
void appendRule(String rule) => _blink.Native_CSSKeyframesRule_insertRule_Callback(this, rule);
}
// 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.
@DocsEditable()
@DomName('CSSMediaRule')
class CssMediaRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory CssMediaRule._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSMediaRule.cssRules')
@DocsEditable()
List<CssRule> get cssRules => _blink.Native_CSSMediaRule_cssRules_Getter(this);
@DomName('CSSMediaRule.media')
@DocsEditable()
MediaList get media => _blink.Native_CSSMediaRule_media_Getter(this);
@DomName('CSSMediaRule.deleteRule')
@DocsEditable()
void deleteRule(int index) => _blink.Native_CSSMediaRule_deleteRule_Callback(this, index);
@DomName('CSSMediaRule.insertRule')
@DocsEditable()
int insertRule(String rule, int index) => _blink.Native_CSSMediaRule_insertRule_Callback(this, rule, index);
}
// 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.
@DocsEditable()
@DomName('CSSPageRule')
class CssPageRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory CssPageRule._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSPageRule.selectorText')
@DocsEditable()
String get selectorText => _blink.Native_CSSPageRule_selectorText_Getter(this);
@DomName('CSSPageRule.selectorText')
@DocsEditable()
void set selectorText(String value) => _blink.Native_CSSPageRule_selectorText_Setter(this, value);
@DomName('CSSPageRule.style')
@DocsEditable()
CssStyleDeclaration get style => _blink.Native_CSSPageRule_style_Getter(this);
}
// 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.
@DocsEditable()
@DomName('CSSRule')
class CssRule extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory CssRule._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSRule.CHARSET_RULE')
@DocsEditable()
static const int CHARSET_RULE = 2;
@DomName('CSSRule.FONT_FACE_RULE')
@DocsEditable()
static const int FONT_FACE_RULE = 5;
@DomName('CSSRule.IMPORT_RULE')
@DocsEditable()
static const int IMPORT_RULE = 3;
@DomName('CSSRule.KEYFRAMES_RULE')
@DocsEditable()
@Experimental() // untriaged
static const int KEYFRAMES_RULE = 7;
@DomName('CSSRule.KEYFRAME_RULE')
@DocsEditable()
@Experimental() // untriaged
static const int KEYFRAME_RULE = 8;
@DomName('CSSRule.MEDIA_RULE')
@DocsEditable()
static const int MEDIA_RULE = 4;
@DomName('CSSRule.PAGE_RULE')
@DocsEditable()
static const int PAGE_RULE = 6;
@DomName('CSSRule.STYLE_RULE')
@DocsEditable()
static const int STYLE_RULE = 1;
@DomName('CSSRule.SUPPORTS_RULE')
@DocsEditable()
static const int SUPPORTS_RULE = 12;
@DomName('CSSRule.VIEWPORT_RULE')
@DocsEditable()
@Experimental() // untriaged
static const int VIEWPORT_RULE = 15;
@DomName('CSSRule.WEBKIT_FILTER_RULE')
@DocsEditable()
// http://www.w3.org/TR/filter-effects/
@Experimental()
static const int WEBKIT_FILTER_RULE = 17;
@DomName('CSSRule.WEBKIT_KEYFRAMES_RULE')
@DocsEditable()
// http://www.w3.org/TR/css3-animations/#cssrule
@Experimental()
static const int WEBKIT_KEYFRAMES_RULE = 7;
@DomName('CSSRule.WEBKIT_KEYFRAME_RULE')
@DocsEditable()
// http://www.w3.org/TR/css3-animations/#cssrule
@Experimental()
static const int WEBKIT_KEYFRAME_RULE = 8;
@DomName('CSSRule.cssText')
@DocsEditable()
String get cssText => _blink.Native_CSSRule_cssText_Getter(this);
@DomName('CSSRule.cssText')
@DocsEditable()
void set cssText(String value) => _blink.Native_CSSRule_cssText_Setter(this, value);
@DomName('CSSRule.parentRule')
@DocsEditable()
CssRule get parentRule => _blink.Native_CSSRule_parentRule_Getter(this);
@DomName('CSSRule.parentStyleSheet')
@DocsEditable()
CssStyleSheet get parentStyleSheet => _blink.Native_CSSRule_parentStyleSheet_Getter(this);
@DomName('CSSRule.type')
@DocsEditable()
int get type => _blink.Native_CSSRule_type_Getter(this);
}
// 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.
@DomName('CSSStyleDeclaration')
class CssStyleDeclaration extends NativeFieldWrapperClass2 with
CssStyleDeclarationBase {
factory CssStyleDeclaration() => new CssStyleDeclaration.css('');
factory CssStyleDeclaration.css(String css) {
final style = new Element.tag('div').style;
style.cssText = css;
return style;
}
String getPropertyValue(String propertyName) {
var propValue = _getPropertyValue(propertyName);
return propValue != null ? propValue : '';
}
@DomName('CSSStyleDeclaration.setProperty')
void setProperty(String propertyName, String value, [String priority]) {
if (priority == null) {
priority = '';
}
_setProperty(propertyName, value, priority);
}
/**
* Checks to see if CSS Transitions are supported.
*/
static bool get supportsTransitions => true;
// To suppress missing implicit constructor warnings.
factory CssStyleDeclaration._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSStyleDeclaration.cssText')
@DocsEditable()
String get cssText => _blink.Native_CSSStyleDeclaration_cssText_Getter(this);
@DomName('CSSStyleDeclaration.cssText')
@DocsEditable()
void set cssText(String value) => _blink.Native_CSSStyleDeclaration_cssText_Setter(this, value);
@DomName('CSSStyleDeclaration.length')
@DocsEditable()
int get length => _blink.Native_CSSStyleDeclaration_length_Getter(this);
@DomName('CSSStyleDeclaration.parentRule')
@DocsEditable()
CssRule get parentRule => _blink.Native_CSSStyleDeclaration_parentRule_Getter(this);
@DomName('CSSStyleDeclaration.__setter__')
@DocsEditable()
void __setter__(String propertyName, String propertyValue) => _blink.Native_CSSStyleDeclaration___setter___Callback(this, propertyName, propertyValue);
@DomName('CSSStyleDeclaration.getPropertyPriority')
@DocsEditable()
String getPropertyPriority(String propertyName) => _blink.Native_CSSStyleDeclaration_getPropertyPriority_Callback(this, propertyName);
@DomName('CSSStyleDeclaration.getPropertyValue')
@DocsEditable()
String _getPropertyValue(String propertyName) => _blink.Native_CSSStyleDeclaration_getPropertyValue_Callback(this, propertyName);
@DomName('CSSStyleDeclaration.item')
@DocsEditable()
String item(int index) => _blink.Native_CSSStyleDeclaration_item_Callback(this, index);
@DomName('CSSStyleDeclaration.removeProperty')
@DocsEditable()
String removeProperty(String propertyName) => _blink.Native_CSSStyleDeclaration_removeProperty_Callback(this, propertyName);
@DomName('CSSStyleDeclaration.setProperty')
@DocsEditable()
void _setProperty(String propertyName, String value, String priority) => _blink.Native_CSSStyleDeclaration_setProperty_Callback(this, propertyName, value, priority);
}
class _CssStyleDeclarationSet extends Object with CssStyleDeclarationBase {
final Iterable<Element> _elementIterable;
Iterable<CssStyleDeclaration> _elementCssStyleDeclarationSetIterable;
_CssStyleDeclarationSet(this._elementIterable) {
_elementCssStyleDeclarationSetIterable = new List.from(
_elementIterable).map((e) => e.style);
}
String getPropertyValue(String propertyName) =>
_elementCssStyleDeclarationSetIterable.first.getPropertyValue(
propertyName);
void setProperty(String propertyName, String value, [String priority]) {
_elementCssStyleDeclarationSetIterable.forEach((e) =>
e.setProperty(propertyName, value, priority));
}
// Important note: CssStyleDeclarationSet does NOT implement every method
// available in CssStyleDeclaration. Some of the methods don't make so much
// sense in terms of having a resonable value to return when you're
// considering a list of Elements. You will need to manually add any of the
// items in the MEMBERS set if you want that functionality.
}
abstract class CssStyleDeclarationBase {
String getPropertyValue(String propertyName);
void setProperty(String propertyName, String value, [String priority]);
// TODO(jacobr): generate this list of properties using the existing script.
/** Gets the value of "align-content" */
String get alignContent =>
getPropertyValue('${Device.cssPrefix}align-content');
/** Sets the value of "align-content" */
void set alignContent(String value) {
setProperty('${Device.cssPrefix}align-content', value, '');
}
/** Gets the value of "align-items" */
String get alignItems =>
getPropertyValue('${Device.cssPrefix}align-items');
/** Sets the value of "align-items" */
void set alignItems(String value) {
setProperty('${Device.cssPrefix}align-items', value, '');
}
/** Gets the value of "align-self" */
String get alignSelf =>
getPropertyValue('${Device.cssPrefix}align-self');
/** Sets the value of "align-self" */
void set alignSelf(String value) {
setProperty('${Device.cssPrefix}align-self', value, '');
}
/** Gets the value of "animation" */
String get animation =>
getPropertyValue('${Device.cssPrefix}animation');
/** Sets the value of "animation" */
void set animation(String value) {
setProperty('${Device.cssPrefix}animation', value, '');
}
/** Gets the value of "animation-delay" */
String get animationDelay =>
getPropertyValue('${Device.cssPrefix}animation-delay');
/** Sets the value of "animation-delay" */
void set animationDelay(String value) {
setProperty('${Device.cssPrefix}animation-delay', value, '');
}
/** Gets the value of "animation-direction" */
String get animationDirection =>
getPropertyValue('${Device.cssPrefix}animation-direction');
/** Sets the value of "animation-direction" */
void set animationDirection(String value) {
setProperty('${Device.cssPrefix}animation-direction', value, '');
}
/** Gets the value of "animation-duration" */
String get animationDuration =>
getPropertyValue('${Device.cssPrefix}animation-duration');
/** Sets the value of "animation-duration" */
void set animationDuration(String value) {
setProperty('${Device.cssPrefix}animation-duration', value, '');
}
/** Gets the value of "animation-fill-mode" */
String get animationFillMode =>
getPropertyValue('${Device.cssPrefix}animation-fill-mode');
/** Sets the value of "animation-fill-mode" */
void set animationFillMode(String value) {
setProperty('${Device.cssPrefix}animation-fill-mode', value, '');
}
/** Gets the value of "animation-iteration-count" */
String get animationIterationCount =>
getPropertyValue('${Device.cssPrefix}animation-iteration-count');
/** Sets the value of "animation-iteration-count" */
void set animationIterationCount(String value) {
setProperty('${Device.cssPrefix}animation-iteration-count', value, '');
}
/** Gets the value of "animation-name" */
String get animationName =>
getPropertyValue('${Device.cssPrefix}animation-name');
/** Sets the value of "animation-name" */
void set animationName(String value) {
setProperty('${Device.cssPrefix}animation-name', value, '');
}
/** Gets the value of "animation-play-state" */
String get animationPlayState =>
getPropertyValue('${Device.cssPrefix}animation-play-state');
/** Sets the value of "animation-play-state" */
void set animationPlayState(String value) {
setProperty('${Device.cssPrefix}animation-play-state', value, '');
}
/** Gets the value of "animation-timing-function" */
String get animationTimingFunction =>
getPropertyValue('${Device.cssPrefix}animation-timing-function');
/** Sets the value of "animation-timing-function" */
void set animationTimingFunction(String value) {
setProperty('${Device.cssPrefix}animation-timing-function', value, '');
}
/** Gets the value of "app-region" */
String get appRegion =>
getPropertyValue('${Device.cssPrefix}app-region');
/** Sets the value of "app-region" */
void set appRegion(String value) {
setProperty('${Device.cssPrefix}app-region', value, '');
}
/** Gets the value of "appearance" */
String get appearance =>
getPropertyValue('${Device.cssPrefix}appearance');
/** Sets the value of "appearance" */
void set appearance(String value) {
setProperty('${Device.cssPrefix}appearance', value, '');
}
/** Gets the value of "aspect-ratio" */
String get aspectRatio =>
getPropertyValue('${Device.cssPrefix}aspect-ratio');
/** Sets the value of "aspect-ratio" */
void set aspectRatio(String value) {
setProperty('${Device.cssPrefix}aspect-ratio', value, '');
}
/** Gets the value of "backface-visibility" */
String get backfaceVisibility =>
getPropertyValue('${Device.cssPrefix}backface-visibility');
/** Sets the value of "backface-visibility" */
void set backfaceVisibility(String value) {
setProperty('${Device.cssPrefix}backface-visibility', value, '');
}
/** Gets the value of "background" */
String get background =>
getPropertyValue('background');
/** Sets the value of "background" */
void set background(String value) {
setProperty('background', value, '');
}
/** Gets the value of "background-attachment" */
String get backgroundAttachment =>
getPropertyValue('background-attachment');
/** Sets the value of "background-attachment" */
void set backgroundAttachment(String value) {
setProperty('background-attachment', value, '');
}
/** Gets the value of "background-clip" */
String get backgroundClip =>
getPropertyValue('background-clip');
/** Sets the value of "background-clip" */
void set backgroundClip(String value) {
setProperty('background-clip', value, '');
}
/** Gets the value of "background-color" */
String get backgroundColor =>
getPropertyValue('background-color');
/** Sets the value of "background-color" */
void set backgroundColor(String value) {
setProperty('background-color', value, '');
}
/** Gets the value of "background-composite" */
String get backgroundComposite =>
getPropertyValue('${Device.cssPrefix}background-composite');
/** Sets the value of "background-composite" */
void set backgroundComposite(String value) {
setProperty('${Device.cssPrefix}background-composite', value, '');
}
/** Gets the value of "background-image" */
String get backgroundImage =>
getPropertyValue('background-image');
/** Sets the value of "background-image" */
void set backgroundImage(String value) {
setProperty('background-image', value, '');
}
/** Gets the value of "background-origin" */
String get backgroundOrigin =>
getPropertyValue('background-origin');
/** Sets the value of "background-origin" */
void set backgroundOrigin(String value) {
setProperty('background-origin', value, '');
}
/** Gets the value of "background-position" */
String get backgroundPosition =>
getPropertyValue('background-position');
/** Sets the value of "background-position" */
void set backgroundPosition(String value) {
setProperty('background-position', value, '');
}
/** Gets the value of "background-position-x" */
String get backgroundPositionX =>
getPropertyValue('background-position-x');
/** Sets the value of "background-position-x" */
void set backgroundPositionX(String value) {
setProperty('background-position-x', value, '');
}
/** Gets the value of "background-position-y" */
String get backgroundPositionY =>
getPropertyValue('background-position-y');
/** Sets the value of "background-position-y" */
void set backgroundPositionY(String value) {
setProperty('background-position-y', value, '');
}
/** Gets the value of "background-repeat" */
String get backgroundRepeat =>
getPropertyValue('background-repeat');
/** Sets the value of "background-repeat" */
void set backgroundRepeat(String value) {
setProperty('background-repeat', value, '');
}
/** Gets the value of "background-repeat-x" */
String get backgroundRepeatX =>
getPropertyValue('background-repeat-x');
/** Sets the value of "background-repeat-x" */
void set backgroundRepeatX(String value) {
setProperty('background-repeat-x', value, '');
}
/** Gets the value of "background-repeat-y" */
String get backgroundRepeatY =>
getPropertyValue('background-repeat-y');
/** Sets the value of "background-repeat-y" */
void set backgroundRepeatY(String value) {
setProperty('background-repeat-y', value, '');
}
/** Gets the value of "background-size" */
String get backgroundSize =>
getPropertyValue('background-size');
/** Sets the value of "background-size" */
void set backgroundSize(String value) {
setProperty('background-size', value, '');
}
/** Gets the value of "blend-mode" */
String get blendMode =>
getPropertyValue('${Device.cssPrefix}blend-mode');
/** Sets the value of "blend-mode" */
void set blendMode(String value) {
setProperty('${Device.cssPrefix}blend-mode', value, '');
}
/** Gets the value of "border" */
String get border =>
getPropertyValue('border');
/** Sets the value of "border" */
void set border(String value) {
setProperty('border', value, '');
}
/** Gets the value of "border-after" */
String get borderAfter =>
getPropertyValue('${Device.cssPrefix}border-after');
/** Sets the value of "border-after" */
void set borderAfter(String value) {
setProperty('${Device.cssPrefix}border-after', value, '');
}
/** Gets the value of "border-after-color" */
String get borderAfterColor =>
getPropertyValue('${Device.cssPrefix}border-after-color');
/** Sets the value of "border-after-color" */
void set borderAfterColor(String value) {
setProperty('${Device.cssPrefix}border-after-color', value, '');
}
/** Gets the value of "border-after-style" */
String get borderAfterStyle =>
getPropertyValue('${Device.cssPrefix}border-after-style');
/** Sets the value of "border-after-style" */
void set borderAfterStyle(String value) {
setProperty('${Device.cssPrefix}border-after-style', value, '');
}
/** Gets the value of "border-after-width" */
String get borderAfterWidth =>
getPropertyValue('${Device.cssPrefix}border-after-width');
/** Sets the value of "border-after-width" */
void set borderAfterWidth(String value) {
setProperty('${Device.cssPrefix}border-after-width', value, '');
}
/** Gets the value of "border-before" */
String get borderBefore =>
getPropertyValue('${Device.cssPrefix}border-before');
/** Sets the value of "border-before" */
void set borderBefore(String value) {
setProperty('${Device.cssPrefix}border-before', value, '');
}
/** Gets the value of "border-before-color" */
String get borderBeforeColor =>
getPropertyValue('${Device.cssPrefix}border-before-color');
/** Sets the value of "border-before-color" */
void set borderBeforeColor(String value) {
setProperty('${Device.cssPrefix}border-before-color', value, '');
}
/** Gets the value of "border-before-style" */
String get borderBeforeStyle =>
getPropertyValue('${Device.cssPrefix}border-before-style');
/** Sets the value of "border-before-style" */
void set borderBeforeStyle(String value) {
setProperty('${Device.cssPrefix}border-before-style', value, '');
}
/** Gets the value of "border-before-width" */
String get borderBeforeWidth =>
getPropertyValue('${Device.cssPrefix}border-before-width');
/** Sets the value of "border-before-width" */
void set borderBeforeWidth(String value) {
setProperty('${Device.cssPrefix}border-before-width', value, '');
}
/** Gets the value of "border-bottom" */
String get borderBottom =>
getPropertyValue('border-bottom');
/** Sets the value of "border-bottom" */
void set borderBottom(String value) {
setProperty('border-bottom', value, '');
}
/** Gets the value of "border-bottom-color" */
String get borderBottomColor =>
getPropertyValue('border-bottom-color');
/** Sets the value of "border-bottom-color" */
void set borderBottomColor(String value) {
setProperty('border-bottom-color', value, '');
}
/** Gets the value of "border-bottom-left-radius" */
String get borderBottomLeftRadius =>
getPropertyValue('border-bottom-left-radius');
/** Sets the value of "border-bottom-left-radius" */
void set borderBottomLeftRadius(String value) {
setProperty('border-bottom-left-radius', value, '');
}
/** Gets the value of "border-bottom-right-radius" */
String get borderBottomRightRadius =>
getPropertyValue('border-bottom-right-radius');
/** Sets the value of "border-bottom-right-radius" */
void set borderBottomRightRadius(String value) {
setProperty('border-bottom-right-radius', value, '');
}
/** Gets the value of "border-bottom-style" */
String get borderBottomStyle =>
getPropertyValue('border-bottom-style');
/** Sets the value of "border-bottom-style" */
void set borderBottomStyle(String value) {
setProperty('border-bottom-style', value, '');
}
/** Gets the value of "border-bottom-width" */
String get borderBottomWidth =>
getPropertyValue('border-bottom-width');
/** Sets the value of "border-bottom-width" */
void set borderBottomWidth(String value) {
setProperty('border-bottom-width', value, '');
}
/** Gets the value of "border-collapse" */
String get borderCollapse =>
getPropertyValue('border-collapse');
/** Sets the value of "border-collapse" */
void set borderCollapse(String value) {
setProperty('border-collapse', value, '');
}
/** Gets the value of "border-color" */
String get borderColor =>
getPropertyValue('border-color');
/** Sets the value of "border-color" */
void set borderColor(String value) {
setProperty('border-color', value, '');
}
/** Gets the value of "border-end" */
String get borderEnd =>
getPropertyValue('${Device.cssPrefix}border-end');
/** Sets the value of "border-end" */
void set borderEnd(String value) {
setProperty('${Device.cssPrefix}border-end', value, '');
}
/** Gets the value of "border-end-color" */
String get borderEndColor =>
getPropertyValue('${Device.cssPrefix}border-end-color');
/** Sets the value of "border-end-color" */
void set borderEndColor(String value) {
setProperty('${Device.cssPrefix}border-end-color', value, '');
}
/** Gets the value of "border-end-style" */
String get borderEndStyle =>
getPropertyValue('${Device.cssPrefix}border-end-style');
/** Sets the value of "border-end-style" */
void set borderEndStyle(String value) {
setProperty('${Device.cssPrefix}border-end-style', value, '');
}
/** Gets the value of "border-end-width" */
String get borderEndWidth =>
getPropertyValue('${Device.cssPrefix}border-end-width');
/** Sets the value of "border-end-width" */
void set borderEndWidth(String value) {
setProperty('${Device.cssPrefix}border-end-width', value, '');
}
/** Gets the value of "border-fit" */
String get borderFit =>
getPropertyValue('${Device.cssPrefix}border-fit');
/** Sets the value of "border-fit" */
void set borderFit(String value) {
setProperty('${Device.cssPrefix}border-fit', value, '');
}
/** Gets the value of "border-horizontal-spacing" */
String get borderHorizontalSpacing =>
getPropertyValue('${Device.cssPrefix}border-horizontal-spacing');
/** Sets the value of "border-horizontal-spacing" */
void set borderHorizontalSpacing(String value) {
setProperty('${Device.cssPrefix}border-horizontal-spacing', value, '');
}
/** Gets the value of "border-image" */
String get borderImage =>
getPropertyValue('border-image');
/** Sets the value of "border-image" */
void set borderImage(String value) {
setProperty('border-image', value, '');
}
/** Gets the value of "border-image-outset" */
String get borderImageOutset =>
getPropertyValue('border-image-outset');
/** Sets the value of "border-image-outset" */
void set borderImageOutset(String value) {
setProperty('border-image-outset', value, '');
}
/** Gets the value of "border-image-repeat" */
String get borderImageRepeat =>
getPropertyValue('border-image-repeat');
/** Sets the value of "border-image-repeat" */
void set borderImageRepeat(String value) {
setProperty('border-image-repeat', value, '');
}
/** Gets the value of "border-image-slice" */
String get borderImageSlice =>
getPropertyValue('border-image-slice');
/** Sets the value of "border-image-slice" */
void set borderImageSlice(String value) {
setProperty('border-image-slice', value, '');
}
/** Gets the value of "border-image-source" */
String get borderImageSource =>
getPropertyValue('border-image-source');
/** Sets the value of "border-image-source" */
void set borderImageSource(String value) {
setProperty('border-image-source', value, '');
}
/** Gets the value of "border-image-width" */
String get borderImageWidth =>
getPropertyValue('border-image-width');
/** Sets the value of "border-image-width" */
void set borderImageWidth(String value) {
setProperty('border-image-width', value, '');
}
/** Gets the value of "border-left" */
String get borderLeft =>
getPropertyValue('border-left');
/** Sets the value of "border-left" */
void set borderLeft(String value) {
setProperty('border-left', value, '');
}
/** Gets the value of "border-left-color" */
String get borderLeftColor =>
getPropertyValue('border-left-color');
/** Sets the value of "border-left-color" */
void set borderLeftColor(String value) {
setProperty('border-left-color', value, '');
}
/** Gets the value of "border-left-style" */
String get borderLeftStyle =>
getPropertyValue('border-left-style');
/** Sets the value of "border-left-style" */
void set borderLeftStyle(String value) {
setProperty('border-left-style', value, '');
}
/** Gets the value of "border-left-width" */
String get borderLeftWidth =>
getPropertyValue('border-left-width');
/** Sets the value of "border-left-width" */
void set borderLeftWidth(String value) {
setProperty('border-left-width', value, '');
}
/** Gets the value of "border-radius" */
String get borderRadius =>
getPropertyValue('border-radius');
/** Sets the value of "border-radius" */
void set borderRadius(String value) {
setProperty('border-radius', value, '');
}
/** Gets the value of "border-right" */
String get borderRight =>
getPropertyValue('border-right');
/** Sets the value of "border-right" */
void set borderRight(String value) {
setProperty('border-right', value, '');
}
/** Gets the value of "border-right-color" */
String get borderRightColor =>
getPropertyValue('border-right-color');
/** Sets the value of "border-right-color" */
void set borderRightColor(String value) {
setProperty('border-right-color', value, '');
}
/** Gets the value of "border-right-style" */
String get borderRightStyle =>
getPropertyValue('border-right-style');
/** Sets the value of "border-right-style" */
void set borderRightStyle(String value) {
setProperty('border-right-style', value, '');
}
/** Gets the value of "border-right-width" */
String get borderRightWidth =>
getPropertyValue('border-right-width');
/** Sets the value of "border-right-width" */
void set borderRightWidth(String value) {
setProperty('border-right-width', value, '');
}
/** Gets the value of "border-spacing" */
String get borderSpacing =>
getPropertyValue('border-spacing');
/** Sets the value of "border-spacing" */
void set borderSpacing(String value) {
setProperty('border-spacing', value, '');
}
/** Gets the value of "border-start" */
String get borderStart =>
getPropertyValue('${Device.cssPrefix}border-start');
/** Sets the value of "border-start" */
void set borderStart(String value) {
setProperty('${Device.cssPrefix}border-start', value, '');
}
/** Gets the value of "border-start-color" */
String get borderStartColor =>
getPropertyValue('${Device.cssPrefix}border-start-color');
/** Sets the value of "border-start-color" */
void set borderStartColor(String value) {
setProperty('${Device.cssPrefix}border-start-color', value, '');
}
/** Gets the value of "border-start-style" */
String get borderStartStyle =>
getPropertyValue('${Device.cssPrefix}border-start-style');
/** Sets the value of "border-start-style" */
void set borderStartStyle(String value) {
setProperty('${Device.cssPrefix}border-start-style', value, '');
}
/** Gets the value of "border-start-width" */
String get borderStartWidth =>
getPropertyValue('${Device.cssPrefix}border-start-width');
/** Sets the value of "border-start-width" */
void set borderStartWidth(String value) {
setProperty('${Device.cssPrefix}border-start-width', value, '');
}
/** Gets the value of "border-style" */
String get borderStyle =>
getPropertyValue('border-style');
/** Sets the value of "border-style" */
void set borderStyle(String value) {
setProperty('border-style', value, '');
}
/** Gets the value of "border-top" */
String get borderTop =>
getPropertyValue('border-top');
/** Sets the value of "border-top" */
void set borderTop(String value) {
setProperty('border-top', value, '');
}
/** Gets the value of "border-top-color" */
String get borderTopColor =>
getPropertyValue('border-top-color');
/** Sets the value of "border-top-color" */
void set borderTopColor(String value) {
setProperty('border-top-color', value, '');
}
/** Gets the value of "border-top-left-radius" */
String get borderTopLeftRadius =>
getPropertyValue('border-top-left-radius');
/** Sets the value of "border-top-left-radius" */
void set borderTopLeftRadius(String value) {
setProperty('border-top-left-radius', value, '');
}
/** Gets the value of "border-top-right-radius" */
String get borderTopRightRadius =>
getPropertyValue('border-top-right-radius');
/** Sets the value of "border-top-right-radius" */
void set borderTopRightRadius(String value) {
setProperty('border-top-right-radius', value, '');
}
/** Gets the value of "border-top-style" */
String get borderTopStyle =>
getPropertyValue('border-top-style');
/** Sets the value of "border-top-style" */
void set borderTopStyle(String value) {
setProperty('border-top-style', value, '');
}
/** Gets the value of "border-top-width" */
String get borderTopWidth =>
getPropertyValue('border-top-width');
/** Sets the value of "border-top-width" */
void set borderTopWidth(String value) {
setProperty('border-top-width', value, '');
}
/** Gets the value of "border-vertical-spacing" */
String get borderVerticalSpacing =>
getPropertyValue('${Device.cssPrefix}border-vertical-spacing');
/** Sets the value of "border-vertical-spacing" */
void set borderVerticalSpacing(String value) {
setProperty('${Device.cssPrefix}border-vertical-spacing', value, '');
}
/** Gets the value of "border-width" */
String get borderWidth =>
getPropertyValue('border-width');
/** Sets the value of "border-width" */
void set borderWidth(String value) {
setProperty('border-width', value, '');
}
/** Gets the value of "bottom" */
String get bottom =>
getPropertyValue('bottom');
/** Sets the value of "bottom" */
void set bottom(String value) {
setProperty('bottom', value, '');
}
/** Gets the value of "box-align" */
String get boxAlign =>
getPropertyValue('${Device.cssPrefix}box-align');
/** Sets the value of "box-align" */
void set boxAlign(String value) {
setProperty('${Device.cssPrefix}box-align', value, '');
}
/** Gets the value of "box-decoration-break" */
String get boxDecorationBreak =>
getPropertyValue('${Device.cssPrefix}box-decoration-break');
/** Sets the value of "box-decoration-break" */
void set boxDecorationBreak(String value) {
setProperty('${Device.cssPrefix}box-decoration-break', value, '');
}
/** Gets the value of "box-direction" */
String get boxDirection =>
getPropertyValue('${Device.cssPrefix}box-direction');
/** Sets the value of "box-direction" */
void set boxDirection(String value) {
setProperty('${Device.cssPrefix}box-direction', value, '');
}
/** Gets the value of "box-flex" */
String get boxFlex =>
getPropertyValue('${Device.cssPrefix}box-flex');
/** Sets the value of "box-flex" */
void set boxFlex(String value) {
setProperty('${Device.cssPrefix}box-flex', value, '');
}
/** Gets the value of "box-flex-group" */
String get boxFlexGroup =>
getPropertyValue('${Device.cssPrefix}box-flex-group');
/** Sets the value of "box-flex-group" */
void set boxFlexGroup(String value) {
setProperty('${Device.cssPrefix}box-flex-group', value, '');
}
/** Gets the value of "box-lines" */
String get boxLines =>
getPropertyValue('${Device.cssPrefix}box-lines');
/** Sets the value of "box-lines" */
void set boxLines(String value) {
setProperty('${Device.cssPrefix}box-lines', value, '');
}
/** Gets the value of "box-ordinal-group" */
String get boxOrdinalGroup =>
getPropertyValue('${Device.cssPrefix}box-ordinal-group');
/** Sets the value of "box-ordinal-group" */
void set boxOrdinalGroup(String value) {
setProperty('${Device.cssPrefix}box-ordinal-group', value, '');
}
/** Gets the value of "box-orient" */
String get boxOrient =>
getPropertyValue('${Device.cssPrefix}box-orient');
/** Sets the value of "box-orient" */
void set boxOrient(String value) {
setProperty('${Device.cssPrefix}box-orient', value, '');
}
/** Gets the value of "box-pack" */
String get boxPack =>
getPropertyValue('${Device.cssPrefix}box-pack');
/** Sets the value of "box-pack" */
void set boxPack(String value) {
setProperty('${Device.cssPrefix}box-pack', value, '');
}
/** Gets the value of "box-reflect" */
String get boxReflect =>
getPropertyValue('${Device.cssPrefix}box-reflect');
/** Sets the value of "box-reflect" */
void set boxReflect(String value) {
setProperty('${Device.cssPrefix}box-reflect', value, '');
}
/** Gets the value of "box-shadow" */
String get boxShadow =>
getPropertyValue('box-shadow');
/** Sets the value of "box-shadow" */
void set boxShadow(String value) {
setProperty('box-shadow', value, '');
}
/** Gets the value of "box-sizing" */
String get boxSizing => Device.isFirefox ?
getPropertyValue('${Device.cssPrefix}box-sizing') :
getPropertyValue('box-sizing');
/** Sets the value of "box-sizing" */
void set boxSizing(String value) {
if (Device.isFirefox) {
setProperty('${Device.cssPrefix}box-sizing', value, '');
} else {
setProperty('box-sizing', value, '');
}
}
/** Gets the value of "caption-side" */
String get captionSide =>
getPropertyValue('caption-side');
/** Sets the value of "caption-side" */
void set captionSide(String value) {
setProperty('caption-side', value, '');
}
/** Gets the value of "clear" */
String get clear =>
getPropertyValue('clear');
/** Sets the value of "clear" */
void set clear(String value) {
setProperty('clear', value, '');
}
/** Gets the value of "clip" */
String get clip =>
getPropertyValue('clip');
/** Sets the value of "clip" */
void set clip(String value) {
setProperty('clip', value, '');
}
/** Gets the value of "clip-path" */
String get clipPath =>
getPropertyValue('${Device.cssPrefix}clip-path');
/** Sets the value of "clip-path" */
void set clipPath(String value) {
setProperty('${Device.cssPrefix}clip-path', value, '');
}
/** Gets the value of "color" */
String get color =>
getPropertyValue('color');
/** Sets the value of "color" */
void set color(String value) {
setProperty('color', value, '');
}
/** Gets the value of "color-correction" */
String get colorCorrection =>
getPropertyValue('${Device.cssPrefix}color-correction');
/** Sets the value of "color-correction" */
void set colorCorrection(String value) {
setProperty('${Device.cssPrefix}color-correction', value, '');
}
/** Gets the value of "column-axis" */
String get columnAxis =>
getPropertyValue('${Device.cssPrefix}column-axis');
/** Sets the value of "column-axis" */
void set columnAxis(String value) {
setProperty('${Device.cssPrefix}column-axis', value, '');
}
/** Gets the value of "column-break-after" */
String get columnBreakAfter =>
getPropertyValue('${Device.cssPrefix}column-break-after');
/** Sets the value of "column-break-after" */
void set columnBreakAfter(String value) {
setProperty('${Device.cssPrefix}column-break-after', value, '');
}
/** Gets the value of "column-break-before" */
String get columnBreakBefore =>
getPropertyValue('${Device.cssPrefix}column-break-before');
/** Sets the value of "column-break-before" */
void set columnBreakBefore(String value) {
setProperty('${Device.cssPrefix}column-break-before', value, '');
}
/** Gets the value of "column-break-inside" */
String get columnBreakInside =>
getPropertyValue('${Device.cssPrefix}column-break-inside');
/** Sets the value of "column-break-inside" */
void set columnBreakInside(String value) {
setProperty('${Device.cssPrefix}column-break-inside', value, '');
}
/** Gets the value of "column-count" */
String get columnCount =>
getPropertyValue('${Device.cssPrefix}column-count');
/** Sets the value of "column-count" */
void set columnCount(String value) {
setProperty('${Device.cssPrefix}column-count', value, '');
}
/** Gets the value of "column-gap" */
String get columnGap =>
getPropertyValue('${Device.cssPrefix}column-gap');
/** Sets the value of "column-gap" */
void set columnGap(String value) {
setProperty('${Device.cssPrefix}column-gap', value, '');
}
/** Gets the value of "column-progression" */
String get columnProgression =>
getPropertyValue('${Device.cssPrefix}column-progression');
/** Sets the value of "column-progression" */
void set columnProgression(String value) {
setProperty('${Device.cssPrefix}column-progression', value, '');
}
/** Gets the value of "column-rule" */
String get columnRule =>
getPropertyValue('${Device.cssPrefix}column-rule');
/** Sets the value of "column-rule" */
void set columnRule(String value) {
setProperty('${Device.cssPrefix}column-rule', value, '');
}
/** Gets the value of "column-rule-color" */
String get columnRuleColor =>
getPropertyValue('${Device.cssPrefix}column-rule-color');
/** Sets the value of "column-rule-color" */
void set columnRuleColor(String value) {
setProperty('${Device.cssPrefix}column-rule-color', value, '');
}
/** Gets the value of "column-rule-style" */
String get columnRuleStyle =>
getPropertyValue('${Device.cssPrefix}column-rule-style');
/** Sets the value of "column-rule-style" */
void set columnRuleStyle(String value) {
setProperty('${Device.cssPrefix}column-rule-style', value, '');
}
/** Gets the value of "column-rule-width" */
String get columnRuleWidth =>
getPropertyValue('${Device.cssPrefix}column-rule-width');
/** Sets the value of "column-rule-width" */
void set columnRuleWidth(String value) {
setProperty('${Device.cssPrefix}column-rule-width', value, '');
}
/** Gets the value of "column-span" */
String get columnSpan =>
getPropertyValue('${Device.cssPrefix}column-span');
/** Sets the value of "column-span" */
void set columnSpan(String value) {
setProperty('${Device.cssPrefix}column-span', value, '');
}
/** Gets the value of "column-width" */
String get columnWidth =>
getPropertyValue('${Device.cssPrefix}column-width');
/** Sets the value of "column-width" */
void set columnWidth(String value) {
setProperty('${Device.cssPrefix}column-width', value, '');
}
/** Gets the value of "columns" */
String get columns =>
getPropertyValue('${Device.cssPrefix}columns');
/** Sets the value of "columns" */
void set columns(String value) {
setProperty('${Device.cssPrefix}columns', value, '');
}
/** Gets the value of "content" */
String get content =>
getPropertyValue('content');
/** Sets the value of "content" */
void set content(String value) {
setProperty('content', value, '');
}
/** Gets the value of "counter-increment" */
String get counterIncrement =>
getPropertyValue('counter-increment');
/** Sets the value of "counter-increment" */
void set counterIncrement(String value) {
setProperty('counter-increment', value, '');
}
/** Gets the value of "counter-reset" */
String get counterReset =>
getPropertyValue('counter-reset');
/** Sets the value of "counter-reset" */
void set counterReset(String value) {
setProperty('counter-reset', value, '');
}
/** Gets the value of "cursor" */
String get cursor =>
getPropertyValue('cursor');
/** Sets the value of "cursor" */
void set cursor(String value) {
setProperty('cursor', value, '');
}
/** Gets the value of "dashboard-region" */
String get dashboardRegion =>
getPropertyValue('${Device.cssPrefix}dashboard-region');
/** Sets the value of "dashboard-region" */
void set dashboardRegion(String value) {
setProperty('${Device.cssPrefix}dashboard-region', value, '');
}
/** Gets the value of "direction" */
String get direction =>
getPropertyValue('direction');
/** Sets the value of "direction" */
void set direction(String value) {
setProperty('direction', value, '');
}
/** Gets the value of "display" */
String get display =>
getPropertyValue('display');
/** Sets the value of "display" */
void set display(String value) {
setProperty('display', value, '');
}
/** Gets the value of "empty-cells" */
String get emptyCells =>
getPropertyValue('empty-cells');
/** Sets the value of "empty-cells" */
void set emptyCells(String value) {
setProperty('empty-cells', value, '');
}
/** Gets the value of "filter" */
String get filter =>
getPropertyValue('${Device.cssPrefix}filter');
/** Sets the value of "filter" */
void set filter(String value) {
setProperty('${Device.cssPrefix}filter', value, '');
}
/** Gets the value of "flex" */
String get flex {
String prefix = Device.cssPrefix;
if (Device.isFirefox) prefix = '';
return getPropertyValue('${prefix}flex');
}
/** Sets the value of "flex" */
void set flex(String value) {
String prefix = Device.cssPrefix;
if (Device.isFirefox) prefix = '';
setProperty('${prefix}flex', value, '');
}
/** Gets the value of "flex-basis" */
String get flexBasis =>
getPropertyValue('${Device.cssPrefix}flex-basis');
/** Sets the value of "flex-basis" */
void set flexBasis(String value) {
setProperty('${Device.cssPrefix}flex-basis', value, '');
}
/** Gets the value of "flex-direction" */
String get flexDirection =>
getPropertyValue('${Device.cssPrefix}flex-direction');
/** Sets the value of "flex-direction" */
void set flexDirection(String value) {
setProperty('${Device.cssPrefix}flex-direction', value, '');
}
/** Gets the value of "flex-flow" */
String get flexFlow =>
getPropertyValue('${Device.cssPrefix}flex-flow');
/** Sets the value of "flex-flow" */
void set flexFlow(String value) {
setProperty('${Device.cssPrefix}flex-flow', value, '');
}
/** Gets the value of "flex-grow" */
String get flexGrow =>
getPropertyValue('${Device.cssPrefix}flex-grow');
/** Sets the value of "flex-grow" */
void set flexGrow(String value) {
setProperty('${Device.cssPrefix}flex-grow', value, '');
}
/** Gets the value of "flex-shrink" */
String get flexShrink =>
getPropertyValue('${Device.cssPrefix}flex-shrink');
/** Sets the value of "flex-shrink" */
void set flexShrink(String value) {
setProperty('${Device.cssPrefix}flex-shrink', value, '');
}
/** Gets the value of "flex-wrap" */
String get flexWrap =>
getPropertyValue('${Device.cssPrefix}flex-wrap');
/** Sets the value of "flex-wrap" */
void set flexWrap(String value) {
setProperty('${Device.cssPrefix}flex-wrap', value, '');
}
/** Gets the value of "float" */
String get float =>
getPropertyValue('float');
/** Sets the value of "float" */
void set float(String value) {
setProperty('float', value, '');
}
/** Gets the value of "flow-from" */
String get flowFrom =>
getPropertyValue('${Device.cssPrefix}flow-from');
/** Sets the value of "flow-from" */
void set flowFrom(String value) {
setProperty('${Device.cssPrefix}flow-from', value, '');
}
/** Gets the value of "flow-into" */
String get flowInto =>
getPropertyValue('${Device.cssPrefix}flow-into');
/** Sets the value of "flow-into" */
void set flowInto(String value) {
setProperty('${Device.cssPrefix}flow-into', value, '');
}
/** Gets the value of "font" */
String get font =>
getPropertyValue('font');
/** Sets the value of "font" */
void set font(String value) {
setProperty('font', value, '');
}
/** Gets the value of "font-family" */
String get fontFamily =>
getPropertyValue('font-family');
/** Sets the value of "font-family" */
void set fontFamily(String value) {
setProperty('font-family', value, '');
}
/** Gets the value of "font-feature-settings" */
String get fontFeatureSettings =>
getPropertyValue('${Device.cssPrefix}font-feature-settings');
/** Sets the value of "font-feature-settings" */
void set fontFeatureSettings(String value) {
setProperty('${Device.cssPrefix}font-feature-settings', value, '');
}
/** Gets the value of "font-kerning" */
String get fontKerning =>
getPropertyValue('${Device.cssPrefix}font-kerning');
/** Sets the value of "font-kerning" */
void set fontKerning(String value) {
setProperty('${Device.cssPrefix}font-kerning', value, '');
}
/** Gets the value of "font-size" */
String get fontSize =>
getPropertyValue('font-size');
/** Sets the value of "font-size" */
void set fontSize(String value) {
setProperty('font-size', value, '');
}
/** Gets the value of "font-size-delta" */
String get fontSizeDelta =>
getPropertyValue('${Device.cssPrefix}font-size-delta');
/** Sets the value of "font-size-delta" */
void set fontSizeDelta(String value) {
setProperty('${Device.cssPrefix}font-size-delta', value, '');
}
/** Gets the value of "font-smoothing" */
String get fontSmoothing =>
getPropertyValue('${Device.cssPrefix}font-smoothing');
/** Sets the value of "font-smoothing" */
void set fontSmoothing(String value) {
setProperty('${Device.cssPrefix}font-smoothing', value, '');
}
/** Gets the value of "font-stretch" */
String get fontStretch =>
getPropertyValue('font-stretch');
/** Sets the value of "font-stretch" */
void set fontStretch(String value) {
setProperty('font-stretch', value, '');
}
/** Gets the value of "font-style" */
String get fontStyle =>
getPropertyValue('font-style');
/** Sets the value of "font-style" */
void set fontStyle(String value) {
setProperty('font-style', value, '');
}
/** Gets the value of "font-variant" */
String get fontVariant =>
getPropertyValue('font-variant');
/** Sets the value of "font-variant" */
void set fontVariant(String value) {
setProperty('font-variant', value, '');
}
/** Gets the value of "font-variant-ligatures" */
String get fontVariantLigatures =>
getPropertyValue('${Device.cssPrefix}font-variant-ligatures');
/** Sets the value of "font-variant-ligatures" */
void set fontVariantLigatures(String value) {
setProperty('${Device.cssPrefix}font-variant-ligatures', value, '');
}
/** Gets the value of "font-weight" */
String get fontWeight =>
getPropertyValue('font-weight');
/** Sets the value of "font-weight" */
void set fontWeight(String value) {
setProperty('font-weight', value, '');
}
/** Gets the value of "grid-column" */
String get gridColumn =>
getPropertyValue('${Device.cssPrefix}grid-column');
/** Sets the value of "grid-column" */
void set gridColumn(String value) {
setProperty('${Device.cssPrefix}grid-column', value, '');
}
/** Gets the value of "grid-columns" */
String get gridColumns =>
getPropertyValue('${Device.cssPrefix}grid-columns');
/** Sets the value of "grid-columns" */
void set gridColumns(String value) {
setProperty('${Device.cssPrefix}grid-columns', value, '');
}
/** Gets the value of "grid-row" */
String get gridRow =>
getPropertyValue('${Device.cssPrefix}grid-row');
/** Sets the value of "grid-row" */
void set gridRow(String value) {
setProperty('${Device.cssPrefix}grid-row', value, '');
}
/** Gets the value of "grid-rows" */
String get gridRows =>
getPropertyValue('${Device.cssPrefix}grid-rows');
/** Sets the value of "grid-rows" */
void set gridRows(String value) {
setProperty('${Device.cssPrefix}grid-rows', value, '');
}
/** Gets the value of "height" */
String get height =>
getPropertyValue('height');
/** Sets the value of "height" */
void set height(String value) {
setProperty('height', value, '');
}
/** Gets the value of "highlight" */
String get highlight =>
getPropertyValue('${Device.cssPrefix}highlight');
/** Sets the value of "highlight" */
void set highlight(String value) {
setProperty('${Device.cssPrefix}highlight', value, '');
}
/** Gets the value of "hyphenate-character" */
String get hyphenateCharacter =>
getPropertyValue('${Device.cssPrefix}hyphenate-character');
/** Sets the value of "hyphenate-character" */
void set hyphenateCharacter(String value) {
setProperty('${Device.cssPrefix}hyphenate-character', value, '');
}
/** Gets the value of "hyphenate-limit-after" */
String get hyphenateLimitAfter =>
getPropertyValue('${Device.cssPrefix}hyphenate-limit-after');
/** Sets the value of "hyphenate-limit-after" */
void set hyphenateLimitAfter(String value) {
setProperty('${Device.cssPrefix}hyphenate-limit-after', value, '');
}
/** Gets the value of "hyphenate-limit-before" */
String get hyphenateLimitBefore =>
getPropertyValue('${Device.cssPrefix}hyphenate-limit-before');
/** Sets the value of "hyphenate-limit-before" */
void set hyphenateLimitBefore(String value) {
setProperty('${Device.cssPrefix}hyphenate-limit-before', value, '');
}
/** Gets the value of "hyphenate-limit-lines" */
String get hyphenateLimitLines =>
getPropertyValue('${Device.cssPrefix}hyphenate-limit-lines');
/** Sets the value of "hyphenate-limit-lines" */
void set hyphenateLimitLines(String value) {
setProperty('${Device.cssPrefix}hyphenate-limit-lines', value, '');
}
/** Gets the value of "hyphens" */
String get hyphens =>
getPropertyValue('${Device.cssPrefix}hyphens');
/** Sets the value of "hyphens" */
void set hyphens(String value) {
setProperty('${Device.cssPrefix}hyphens', value, '');
}
/** Gets the value of "image-orientation" */
String get imageOrientation =>
getPropertyValue('image-orientation');
/** Sets the value of "image-orientation" */
void set imageOrientation(String value) {
setProperty('image-orientation', value, '');
}
/** Gets the value of "image-rendering" */
String get imageRendering =>
getPropertyValue('image-rendering');
/** Sets the value of "image-rendering" */
void set imageRendering(String value) {
setProperty('image-rendering', value, '');
}
/** Gets the value of "image-resolution" */
String get imageResolution =>
getPropertyValue('image-resolution');
/** Sets the value of "image-resolution" */
void set imageResolution(String value) {
setProperty('image-resolution', value, '');
}
/** Gets the value of "justify-content" */
String get justifyContent =>
getPropertyValue('${Device.cssPrefix}justify-content');
/** Sets the value of "justify-content" */
void set justifyContent(String value) {
setProperty('${Device.cssPrefix}justify-content', value, '');
}
/** Gets the value of "left" */
String get left =>
getPropertyValue('left');
/** Sets the value of "left" */
void set left(String value) {
setProperty('left', value, '');
}
/** Gets the value of "letter-spacing" */
String get letterSpacing =>
getPropertyValue('letter-spacing');
/** Sets the value of "letter-spacing" */
void set letterSpacing(String value) {
setProperty('letter-spacing', value, '');
}
/** Gets the value of "line-align" */
String get lineAlign =>
getPropertyValue('${Device.cssPrefix}line-align');
/** Sets the value of "line-align" */
void set lineAlign(String value) {
setProperty('${Device.cssPrefix}line-align', value, '');
}
/** Gets the value of "line-box-contain" */
String get lineBoxContain =>
getPropertyValue('${Device.cssPrefix}line-box-contain');
/** Sets the value of "line-box-contain" */
void set lineBoxContain(String value) {
setProperty('${Device.cssPrefix}line-box-contain', value, '');
}
/** Gets the value of "line-break" */
String get lineBreak =>
getPropertyValue('${Device.cssPrefix}line-break');
/** Sets the value of "line-break" */
void set lineBreak(String value) {
setProperty('${Device.cssPrefix}line-break', value, '');
}
/** Gets the value of "line-clamp" */
String get lineClamp =>
getPropertyValue('${Device.cssPrefix}line-clamp');
/** Sets the value of "line-clamp" */
void set lineClamp(String value) {
setProperty('${Device.cssPrefix}line-clamp', value, '');
}
/** Gets the value of "line-grid" */
String get lineGrid =>
getPropertyValue('${Device.cssPrefix}line-grid');
/** Sets the value of "line-grid" */
void set lineGrid(String value) {
setProperty('${Device.cssPrefix}line-grid', value, '');
}
/** Gets the value of "line-height" */
String get lineHeight =>
getPropertyValue('line-height');
/** Sets the value of "line-height" */
void set lineHeight(String value) {
setProperty('line-height', value, '');
}
/** Gets the value of "line-snap" */
String get lineSnap =>
getPropertyValue('${Device.cssPrefix}line-snap');
/** Sets the value of "line-snap" */
void set lineSnap(String value) {
setProperty('${Device.cssPrefix}line-snap', value, '');
}
/** Gets the value of "list-style" */
String get listStyle =>
getPropertyValue('list-style');
/** Sets the value of "list-style" */
void set listStyle(String value) {
setProperty('list-style', value, '');
}
/** Gets the value of "list-style-image" */
String get listStyleImage =>
getPropertyValue('list-style-image');
/** Sets the value of "list-style-image" */
void set listStyleImage(String value) {
setProperty('list-style-image', value, '');
}
/** Gets the value of "list-style-position" */
String get listStylePosition =>
getPropertyValue('list-style-position');
/** Sets the value of "list-style-position" */
void set listStylePosition(String value) {
setProperty('list-style-position', value, '');
}
/** Gets the value of "list-style-type" */
String get listStyleType =>
getPropertyValue('list-style-type');
/** Sets the value of "list-style-type" */
void set listStyleType(String value) {
setProperty('list-style-type', value, '');
}
/** Gets the value of "locale" */
String get locale =>
getPropertyValue('${Device.cssPrefix}locale');
/** Sets the value of "locale" */
void set locale(String value) {
setProperty('${Device.cssPrefix}locale', value, '');
}
/** Gets the value of "logical-height" */
String get logicalHeight =>
getPropertyValue('${Device.cssPrefix}logical-height');
/** Sets the value of "logical-height" */
void set logicalHeight(String value) {
setProperty('${Device.cssPrefix}logical-height', value, '');
}
/** Gets the value of "logical-width" */
String get logicalWidth =>
getPropertyValue('${Device.cssPrefix}logical-width');
/** Sets the value of "logical-width" */
void set logicalWidth(String value) {
setProperty('${Device.cssPrefix}logical-width', value, '');
}
/** Gets the value of "margin" */
String get margin =>
getPropertyValue('margin');
/** Sets the value of "margin" */
void set margin(String value) {
setProperty('margin', value, '');
}
/** Gets the value of "margin-after" */
String get marginAfter =>
getPropertyValue('${Device.cssPrefix}margin-after');
/** Sets the value of "margin-after" */
void set marginAfter(String value) {
setProperty('${Device.cssPrefix}margin-after', value, '');
}
/** Gets the value of "margin-after-collapse" */
String get marginAfterCollapse =>
getPropertyValue('${Device.cssPrefix}margin-after-collapse');
/** Sets the value of "margin-after-collapse" */
void set marginAfterCollapse(String value) {
setProperty('${Device.cssPrefix}margin-after-collapse', value, '');
}
/** Gets the value of "margin-before" */
String get marginBefore =>
getPropertyValue('${Device.cssPrefix}margin-before');
/** Sets the value of "margin-before" */
void set marginBefore(String value) {
setProperty('${Device.cssPrefix}margin-before', value, '');
}
/** Gets the value of "margin-before-collapse" */
String get marginBeforeCollapse =>
getPropertyValue('${Device.cssPrefix}margin-before-collapse');
/** Sets the value of "margin-before-collapse" */
void set marginBeforeCollapse(String value) {
setProperty('${Device.cssPrefix}margin-before-collapse', value, '');
}
/** Gets the value of "margin-bottom" */
String get marginBottom =>
getPropertyValue('margin-bottom');
/** Sets the value of "margin-bottom" */
void set marginBottom(String value) {
setProperty('margin-bottom', value, '');
}
/** Gets the value of "margin-bottom-collapse" */
String get marginBottomCollapse =>
getPropertyValue('${Device.cssPrefix}margin-bottom-collapse');
/** Sets the value of "margin-bottom-collapse" */
void set marginBottomCollapse(String value) {
setProperty('${Device.cssPrefix}margin-bottom-collapse', value, '');
}
/** Gets the value of "margin-collapse" */
String get marginCollapse =>
getPropertyValue('${Device.cssPrefix}margin-collapse');
/** Sets the value of "margin-collapse" */
void set marginCollapse(String value) {
setProperty('${Device.cssPrefix}margin-collapse', value, '');
}
/** Gets the value of "margin-end" */
String get marginEnd =>
getPropertyValue('${Device.cssPrefix}margin-end');
/** Sets the value of "margin-end" */
void set marginEnd(String value) {
setProperty('${Device.cssPrefix}margin-end', value, '');
}
/** Gets the value of "margin-left" */
String get marginLeft =>
getPropertyValue('margin-left');
/** Sets the value of "margin-left" */
void set marginLeft(String value) {
setProperty('margin-left', value, '');
}
/** Gets the value of "margin-right" */
String get marginRight =>
getPropertyValue('margin-right');
/** Sets the value of "margin-right" */
void set marginRight(String value) {
setProperty('margin-right', value, '');
}
/** Gets the value of "margin-start" */
String get marginStart =>
getPropertyValue('${Device.cssPrefix}margin-start');
/** Sets the value of "margin-start" */
void set marginStart(String value) {
setProperty('${Device.cssPrefix}margin-start', value, '');
}
/** Gets the value of "margin-top" */
String get marginTop =>
getPropertyValue('margin-top');
/** Sets the value of "margin-top" */
void set marginTop(String value) {
setProperty('margin-top', value, '');
}
/** Gets the value of "margin-top-collapse" */
String get marginTopCollapse =>
getPropertyValue('${Device.cssPrefix}margin-top-collapse');
/** Sets the value of "margin-top-collapse" */
void set marginTopCollapse(String value) {
setProperty('${Device.cssPrefix}margin-top-collapse', value, '');
}
/** Gets the value of "marquee" */
String get marquee =>
getPropertyValue('${Device.cssPrefix}marquee');
/** Sets the value of "marquee" */
void set marquee(String value) {
setProperty('${Device.cssPrefix}marquee', value, '');
}
/** Gets the value of "marquee-direction" */
String get marqueeDirection =>
getPropertyValue('${Device.cssPrefix}marquee-direction');
/** Sets the value of "marquee-direction" */
void set marqueeDirection(String value) {
setProperty('${Device.cssPrefix}marquee-direction', value, '');
}
/** Gets the value of "marquee-increment" */
String get marqueeIncrement =>
getPropertyValue('${Device.cssPrefix}marquee-increment');
/** Sets the value of "marquee-increment" */
void set marqueeIncrement(String value) {
setProperty('${Device.cssPrefix}marquee-increment', value, '');
}
/** Gets the value of "marquee-repetition" */
String get marqueeRepetition =>
getPropertyValue('${Device.cssPrefix}marquee-repetition');
/** Sets the value of "marquee-repetition" */
void set marqueeRepetition(String value) {
setProperty('${Device.cssPrefix}marquee-repetition', value, '');
}
/** Gets the value of "marquee-speed" */
String get marqueeSpeed =>
getPropertyValue('${Device.cssPrefix}marquee-speed');
/** Sets the value of "marquee-speed" */
void set marqueeSpeed(String value) {
setProperty('${Device.cssPrefix}marquee-speed', value, '');
}
/** Gets the value of "marquee-style" */
String get marqueeStyle =>
getPropertyValue('${Device.cssPrefix}marquee-style');
/** Sets the value of "marquee-style" */
void set marqueeStyle(String value) {
setProperty('${Device.cssPrefix}marquee-style', value, '');
}
/** Gets the value of "mask" */
String get mask =>
getPropertyValue('${Device.cssPrefix}mask');
/** Sets the value of "mask" */
void set mask(String value) {
setProperty('${Device.cssPrefix}mask', value, '');
}
/** Gets the value of "mask-attachment" */
String get maskAttachment =>
getPropertyValue('${Device.cssPrefix}mask-attachment');
/** Sets the value of "mask-attachment" */
void set maskAttachment(String value) {
setProperty('${Device.cssPrefix}mask-attachment', value, '');
}
/** Gets the value of "mask-box-image" */
String get maskBoxImage =>
getPropertyValue('${Device.cssPrefix}mask-box-image');
/** Sets the value of "mask-box-image" */
void set maskBoxImage(String value) {
setProperty('${Device.cssPrefix}mask-box-image', value, '');
}
/** Gets the value of "mask-box-image-outset" */
String get maskBoxImageOutset =>
getPropertyValue('${Device.cssPrefix}mask-box-image-outset');
/** Sets the value of "mask-box-image-outset" */
void set maskBoxImageOutset(String value) {
setProperty('${Device.cssPrefix}mask-box-image-outset', value, '');
}
/** Gets the value of "mask-box-image-repeat" */
String get maskBoxImageRepeat =>
getPropertyValue('${Device.cssPrefix}mask-box-image-repeat');
/** Sets the value of "mask-box-image-repeat" */
void set maskBoxImageRepeat(String value) {
setProperty('${Device.cssPrefix}mask-box-image-repeat', value, '');
}
/** Gets the value of "mask-box-image-slice" */
String get maskBoxImageSlice =>
getPropertyValue('${Device.cssPrefix}mask-box-image-slice');
/** Sets the value of "mask-box-image-slice" */
void set maskBoxImageSlice(String value) {
setProperty('${Device.cssPrefix}mask-box-image-slice', value, '');
}
/** Gets the value of "mask-box-image-source" */
String get maskBoxImageSource =>
getPropertyValue('${Device.cssPrefix}mask-box-image-source');
/** Sets the value of "mask-box-image-source" */
void set maskBoxImageSource(String value) {
setProperty('${Device.cssPrefix}mask-box-image-source', value, '');
}
/** Gets the value of "mask-box-image-width" */
String get maskBoxImageWidth =>
getPropertyValue('${Device.cssPrefix}mask-box-image-width');
/** Sets the value of "mask-box-image-width" */
void set maskBoxImageWidth(String value) {
setProperty('${Device.cssPrefix}mask-box-image-width', value, '');
}
/** Gets the value of "mask-clip" */
String get maskClip =>
getPropertyValue('${Device.cssPrefix}mask-clip');
/** Sets the value of "mask-clip" */
void set maskClip(String value) {
setProperty('${Device.cssPrefix}mask-clip', value, '');
}
/** Gets the value of "mask-composite" */
String get maskComposite =>
getPropertyValue('${Device.cssPrefix}mask-composite');
/** Sets the value of "mask-composite" */
void set maskComposite(String value) {
setProperty('${Device.cssPrefix}mask-composite', value, '');
}
/** Gets the value of "mask-image" */
String get maskImage =>
getPropertyValue('${Device.cssPrefix}mask-image');
/** Sets the value of "mask-image" */
void set maskImage(String value) {
setProperty('${Device.cssPrefix}mask-image', value, '');
}
/** Gets the value of "mask-origin" */
String get maskOrigin =>
getPropertyValue('${Device.cssPrefix}mask-origin');
/** Sets the value of "mask-origin" */
void set maskOrigin(String value) {
setProperty('${Device.cssPrefix}mask-origin', value, '');
}
/** Gets the value of "mask-position" */
String get maskPosition =>
getPropertyValue('${Device.cssPrefix}mask-position');
/** Sets the value of "mask-position" */
void set maskPosition(String value) {
setProperty('${Device.cssPrefix}mask-position', value, '');
}
/** Gets the value of "mask-position-x" */
String get maskPositionX =>
getPropertyValue('${Device.cssPrefix}mask-position-x');
/** Sets the value of "mask-position-x" */
void set maskPositionX(String value) {
setProperty('${Device.cssPrefix}mask-position-x', value, '');
}
/** Gets the value of "mask-position-y" */
String get maskPositionY =>
getPropertyValue('${Device.cssPrefix}mask-position-y');
/** Sets the value of "mask-position-y" */
void set maskPositionY(String value) {
setProperty('${Device.cssPrefix}mask-position-y', value, '');
}
/** Gets the value of "mask-repeat" */
String get maskRepeat =>
getPropertyValue('${Device.cssPrefix}mask-repeat');
/** Sets the value of "mask-repeat" */
void set maskRepeat(String value) {
setProperty('${Device.cssPrefix}mask-repeat', value, '');
}
/** Gets the value of "mask-repeat-x" */
String get maskRepeatX =>
getPropertyValue('${Device.cssPrefix}mask-repeat-x');
/** Sets the value of "mask-repeat-x" */
void set maskRepeatX(String value) {
setProperty('${Device.cssPrefix}mask-repeat-x', value, '');
}
/** Gets the value of "mask-repeat-y" */
String get maskRepeatY =>
getPropertyValue('${Device.cssPrefix}mask-repeat-y');
/** Sets the value of "mask-repeat-y" */
void set maskRepeatY(String value) {
setProperty('${Device.cssPrefix}mask-repeat-y', value, '');
}
/** Gets the value of "mask-size" */
String get maskSize =>
getPropertyValue('${Device.cssPrefix}mask-size');
/** Sets the value of "mask-size" */
void set maskSize(String value) {
setProperty('${Device.cssPrefix}mask-size', value, '');
}
/** Gets the value of "max-height" */
String get maxHeight =>
getPropertyValue('max-height');
/** Sets the value of "max-height" */
void set maxHeight(String value) {
setProperty('max-height', value, '');
}
/** Gets the value of "max-logical-height" */
String get maxLogicalHeight =>
getPropertyValue('${Device.cssPrefix}max-logical-height');
/** Sets the value of "max-logical-height" */
void set maxLogicalHeight(String value) {
setProperty('${Device.cssPrefix}max-logical-height', value, '');
}
/** Gets the value of "max-logical-width" */
String get maxLogicalWidth =>
getPropertyValue('${Device.cssPrefix}max-logical-width');
/** Sets the value of "max-logical-width" */
void set maxLogicalWidth(String value) {
setProperty('${Device.cssPrefix}max-logical-width', value, '');
}
/** Gets the value of "max-width" */
String get maxWidth =>
getPropertyValue('max-width');
/** Sets the value of "max-width" */
void set maxWidth(String value) {
setProperty('max-width', value, '');
}
/** Gets the value of "max-zoom" */
String get maxZoom =>
getPropertyValue('max-zoom');
/** Sets the value of "max-zoom" */
void set maxZoom(String value) {
setProperty('max-zoom', value, '');
}
/** Gets the value of "min-height" */
String get minHeight =>
getPropertyValue('min-height');
/** Sets the value of "min-height" */
void set minHeight(String value) {
setProperty('min-height', value, '');
}
/** Gets the value of "min-logical-height" */
String get minLogicalHeight =>
getPropertyValue('${Device.cssPrefix}min-logical-height');
/** Sets the value of "min-logical-height" */
void set minLogicalHeight(String value) {
setProperty('${Device.cssPrefix}min-logical-height', value, '');
}
/** Gets the value of "min-logical-width" */
String get minLogicalWidth =>
getPropertyValue('${Device.cssPrefix}min-logical-width');
/** Sets the value of "min-logical-width" */
void set minLogicalWidth(String value) {
setProperty('${Device.cssPrefix}min-logical-width', value, '');
}
/** Gets the value of "min-width" */
String get minWidth =>
getPropertyValue('min-width');
/** Sets the value of "min-width" */
void set minWidth(String value) {
setProperty('min-width', value, '');
}
/** Gets the value of "min-zoom" */
String get minZoom =>
getPropertyValue('min-zoom');
/** Sets the value of "min-zoom" */
void set minZoom(String value) {
setProperty('min-zoom', value, '');
}
/** Gets the value of "nbsp-mode" */
String get nbspMode =>
getPropertyValue('${Device.cssPrefix}nbsp-mode');
/** Sets the value of "nbsp-mode" */
void set nbspMode(String value) {
setProperty('${Device.cssPrefix}nbsp-mode', value, '');
}
/** Gets the value of "opacity" */
String get opacity =>
getPropertyValue('opacity');
/** Sets the value of "opacity" */
void set opacity(String value) {
setProperty('opacity', value, '');
}
/** Gets the value of "order" */
String get order =>
getPropertyValue('${Device.cssPrefix}order');
/** Sets the value of "order" */
void set order(String value) {
setProperty('${Device.cssPrefix}order', value, '');
}
/** Gets the value of "orientation" */
String get orientation =>
getPropertyValue('orientation');
/** Sets the value of "orientation" */
void set orientation(String value) {
setProperty('orientation', value, '');
}
/** Gets the value of "orphans" */
String get orphans =>
getPropertyValue('orphans');
/** Sets the value of "orphans" */
void set orphans(String value) {
setProperty('orphans', value, '');
}
/** Gets the value of "outline" */
String get outline =>
getPropertyValue('outline');
/** Sets the value of "outline" */
void set outline(String value) {
setProperty('outline', value, '');
}
/** Gets the value of "outline-color" */
String get outlineColor =>
getPropertyValue('outline-color');
/** Sets the value of "outline-color" */
void set outlineColor(String value) {
setProperty('outline-color', value, '');
}
/** Gets the value of "outline-offset" */
String get outlineOffset =>
getPropertyValue('outline-offset');
/** Sets the value of "outline-offset" */
void set outlineOffset(String value) {
setProperty('outline-offset', value, '');
}
/** Gets the value of "outline-style" */
String get outlineStyle =>
getPropertyValue('outline-style');
/** Sets the value of "outline-style" */
void set outlineStyle(String value) {
setProperty('outline-style', value, '');
}
/** Gets the value of "outline-width" */
String get outlineWidth =>
getPropertyValue('outline-width');
/** Sets the value of "outline-width" */
void set outlineWidth(String value) {
setProperty('outline-width', value, '');
}
/** Gets the value of "overflow" */
String get overflow =>
getPropertyValue('overflow');
/** Sets the value of "overflow" */
void set overflow(String value) {
setProperty('overflow', value, '');
}
/** Gets the value of "overflow-scrolling" */
String get overflowScrolling =>
getPropertyValue('${Device.cssPrefix}overflow-scrolling');
/** Sets the value of "overflow-scrolling" */
void set overflowScrolling(String value) {
setProperty('${Device.cssPrefix}overflow-scrolling', value, '');
}
/** Gets the value of "overflow-wrap" */
String get overflowWrap =>
getPropertyValue('overflow-wrap');
/** Sets the value of "overflow-wrap" */
void set overflowWrap(String value) {
setProperty('overflow-wrap', value, '');
}
/** Gets the value of "overflow-x" */
String get overflowX =>
getPropertyValue('overflow-x');
/** Sets the value of "overflow-x" */
void set overflowX(String value) {
setProperty('overflow-x', value, '');
}
/** Gets the value of "overflow-y" */
String get overflowY =>
getPropertyValue('overflow-y');
/** Sets the value of "overflow-y" */
void set overflowY(String value) {
setProperty('overflow-y', value, '');
}
/** Gets the value of "padding" */
String get padding =>
getPropertyValue('padding');
/** Sets the value of "padding" */
void set padding(String value) {
setProperty('padding', value, '');
}
/** Gets the value of "padding-after" */
String get paddingAfter =>
getPropertyValue('${Device.cssPrefix}padding-after');
/** Sets the value of "padding-after" */
void set paddingAfter(String value) {
setProperty('${Device.cssPrefix}padding-after', value, '');
}
/** Gets the value of "padding-before" */
String get paddingBefore =>
getPropertyValue('${Device.cssPrefix}padding-before');
/** Sets the value of "padding-before" */
void set paddingBefore(String value) {
setProperty('${Device.cssPrefix}padding-before', value, '');
}
/** Gets the value of "padding-bottom" */
String get paddingBottom =>
getPropertyValue('padding-bottom');
/** Sets the value of "padding-bottom" */
void set paddingBottom(String value) {
setProperty('padding-bottom', value, '');
}
/** Gets the value of "padding-end" */
String get paddingEnd =>
getPropertyValue('${Device.cssPrefix}padding-end');
/** Sets the value of "padding-end" */
void set paddingEnd(String value) {
setProperty('${Device.cssPrefix}padding-end', value, '');
}
/** Gets the value of "padding-left" */
String get paddingLeft =>
getPropertyValue('padding-left');
/** Sets the value of "padding-left" */
void set paddingLeft(String value) {
setProperty('padding-left', value, '');
}
/** Gets the value of "padding-right" */
String get paddingRight =>
getPropertyValue('padding-right');
/** Sets the value of "padding-right" */
void set paddingRight(String value) {
setProperty('padding-right', value, '');
}
/** Gets the value of "padding-start" */
String get paddingStart =>
getPropertyValue('${Device.cssPrefix}padding-start');
/** Sets the value of "padding-start" */
void set paddingStart(String value) {
setProperty('${Device.cssPrefix}padding-start', value, '');
}
/** Gets the value of "padding-top" */
String get paddingTop =>
getPropertyValue('padding-top');
/** Sets the value of "padding-top" */
void set paddingTop(String value) {
setProperty('padding-top', value, '');
}
/** Gets the value of "page" */
String get page =>
getPropertyValue('page');
/** Sets the value of "page" */
void set page(String value) {
setProperty('page', value, '');
}
/** Gets the value of "page-break-after" */
String get pageBreakAfter =>
getPropertyValue('page-break-after');
/** Sets the value of "page-break-after" */
void set pageBreakAfter(String value) {
setProperty('page-break-after', value, '');
}
/** Gets the value of "page-break-before" */
String get pageBreakBefore =>
getPropertyValue('page-break-before');
/** Sets the value of "page-break-before" */
void set pageBreakBefore(String value) {
setProperty('page-break-before', value, '');
}
/** Gets the value of "page-break-inside" */
String get pageBreakInside =>
getPropertyValue('page-break-inside');
/** Sets the value of "page-break-inside" */
void set pageBreakInside(String value) {
setProperty('page-break-inside', value, '');
}
/** Gets the value of "perspective" */
String get perspective =>
getPropertyValue('${Device.cssPrefix}perspective');
/** Sets the value of "perspective" */
void set perspective(String value) {
setProperty('${Device.cssPrefix}perspective', value, '');
}
/** Gets the value of "perspective-origin" */
String get perspectiveOrigin =>
getPropertyValue('${Device.cssPrefix}perspective-origin');
/** Sets the value of "perspective-origin" */
void set perspectiveOrigin(String value) {
setProperty('${Device.cssPrefix}perspective-origin', value, '');
}
/** Gets the value of "perspective-origin-x" */
String get perspectiveOriginX =>
getPropertyValue('${Device.cssPrefix}perspective-origin-x');
/** Sets the value of "perspective-origin-x" */
void set perspectiveOriginX(String value) {
setProperty('${Device.cssPrefix}perspective-origin-x', value, '');
}
/** Gets the value of "perspective-origin-y" */
String get perspectiveOriginY =>
getPropertyValue('${Device.cssPrefix}perspective-origin-y');
/** Sets the value of "perspective-origin-y" */
void set perspectiveOriginY(String value) {
setProperty('${Device.cssPrefix}perspective-origin-y', value, '');
}
/** Gets the value of "pointer-events" */
String get pointerEvents =>
getPropertyValue('pointer-events');
/** Sets the value of "pointer-events" */
void set pointerEvents(String value) {
setProperty('pointer-events', value, '');
}
/** Gets the value of "position" */
String get position =>
getPropertyValue('position');
/** Sets the value of "position" */
void set position(String value) {
setProperty('position', value, '');
}
/** Gets the value of "print-color-adjust" */
String get printColorAdjust =>
getPropertyValue('${Device.cssPrefix}print-color-adjust');
/** Sets the value of "print-color-adjust" */
void set printColorAdjust(String value) {
setProperty('${Device.cssPrefix}print-color-adjust', value, '');
}
/** Gets the value of "quotes" */
String get quotes =>
getPropertyValue('quotes');
/** Sets the value of "quotes" */
void set quotes(String value) {
setProperty('quotes', value, '');
}
/** Gets the value of "region-break-after" */
String get regionBreakAfter =>
getPropertyValue('${Device.cssPrefix}region-break-after');
/** Sets the value of "region-break-after" */
void set regionBreakAfter(String value) {
setProperty('${Device.cssPrefix}region-break-after', value, '');
}
/** Gets the value of "region-break-before" */
String get regionBreakBefore =>
getPropertyValue('${Device.cssPrefix}region-break-before');
/** Sets the value of "region-break-before" */
void set regionBreakBefore(String value) {
setProperty('${Device.cssPrefix}region-break-before', value, '');
}
/** Gets the value of "region-break-inside" */
String get regionBreakInside =>
getPropertyValue('${Device.cssPrefix}region-break-inside');
/** Sets the value of "region-break-inside" */
void set regionBreakInside(String value) {
setProperty('${Device.cssPrefix}region-break-inside', value, '');
}
/** Gets the value of "region-overflow" */
String get regionOverflow =>
getPropertyValue('${Device.cssPrefix}region-overflow');
/** Sets the value of "region-overflow" */
void set regionOverflow(String value) {
setProperty('${Device.cssPrefix}region-overflow', value, '');
}
/** Gets the value of "resize" */
String get resize =>
getPropertyValue('resize');
/** Sets the value of "resize" */
void set resize(String value) {
setProperty('resize', value, '');
}
/** Gets the value of "right" */
String get right =>
getPropertyValue('right');
/** Sets the value of "right" */
void set right(String value) {
setProperty('right', value, '');
}
/** Gets the value of "rtl-ordering" */
String get rtlOrdering =>
getPropertyValue('${Device.cssPrefix}rtl-ordering');
/** Sets the value of "rtl-ordering" */
void set rtlOrdering(String value) {
setProperty('${Device.cssPrefix}rtl-ordering', value, '');
}
/** Gets the value of "shape-inside" */
String get shapeInside =>
getPropertyValue('${Device.cssPrefix}shape-inside');
/** Sets the value of "shape-inside" */
void set shapeInside(String value) {
setProperty('${Device.cssPrefix}shape-inside', value, '');
}
/** Gets the value of "shape-margin" */
String get shapeMargin =>
getPropertyValue('${Device.cssPrefix}shape-margin');
/** Sets the value of "shape-margin" */
void set shapeMargin(String value) {
setProperty('${Device.cssPrefix}shape-margin', value, '');
}
/** Gets the value of "shape-outside" */
String get shapeOutside =>
getPropertyValue('${Device.cssPrefix}shape-outside');
/** Sets the value of "shape-outside" */
void set shapeOutside(String value) {
setProperty('${Device.cssPrefix}shape-outside', value, '');
}
/** Gets the value of "shape-padding" */
String get shapePadding =>
getPropertyValue('${Device.cssPrefix}shape-padding');
/** Sets the value of "shape-padding" */
void set shapePadding(String value) {
setProperty('${Device.cssPrefix}shape-padding', value, '');
}
/** Gets the value of "size" */
String get size =>
getPropertyValue('size');
/** Sets the value of "size" */
void set size(String value) {
setProperty('size', value, '');
}
/** Gets the value of "speak" */
String get speak =>
getPropertyValue('speak');
/** Sets the value of "speak" */
void set speak(String value) {
setProperty('speak', value, '');
}
/** Gets the value of "src" */
String get src =>
getPropertyValue('src');
/** Sets the value of "src" */
void set src(String value) {
setProperty('src', value, '');
}
/** Gets the value of "tab-size" */
String get tabSize =>
getPropertyValue('tab-size');
/** Sets the value of "tab-size" */
void set tabSize(String value) {
setProperty('tab-size', value, '');
}
/** Gets the value of "table-layout" */
String get tableLayout =>
getPropertyValue('table-layout');
/** Sets the value of "table-layout" */
void set tableLayout(String value) {
setProperty('table-layout', value, '');
}
/** Gets the value of "tap-highlight-color" */
String get tapHighlightColor =>
getPropertyValue('${Device.cssPrefix}tap-highlight-color');
/** Sets the value of "tap-highlight-color" */
void set tapHighlightColor(String value) {
setProperty('${Device.cssPrefix}tap-highlight-color', value, '');
}
/** Gets the value of "text-align" */
String get textAlign =>
getPropertyValue('text-align');
/** Sets the value of "text-align" */
void set textAlign(String value) {
setProperty('text-align', value, '');
}
/** Gets the value of "text-align-last" */
String get textAlignLast =>
getPropertyValue('${Device.cssPrefix}text-align-last');
/** Sets the value of "text-align-last" */
void set textAlignLast(String value) {
setProperty('${Device.cssPrefix}text-align-last', value, '');
}
/** Gets the value of "text-combine" */
String get textCombine =>
getPropertyValue('${Device.cssPrefix}text-combine');
/** Sets the value of "text-combine" */
void set textCombine(String value) {
setProperty('${Device.cssPrefix}text-combine', value, '');
}
/** Gets the value of "text-decoration" */
String get textDecoration =>
getPropertyValue('text-decoration');
/** Sets the value of "text-decoration" */
void set textDecoration(String value) {
setProperty('text-decoration', value, '');
}
/** Gets the value of "text-decoration-line" */
String get textDecorationLine =>
getPropertyValue('${Device.cssPrefix}text-decoration-line');
/** Sets the value of "text-decoration-line" */
void set textDecorationLine(String value) {
setProperty('${Device.cssPrefix}text-decoration-line', value, '');
}
/** Gets the value of "text-decoration-style" */
String get textDecorationStyle =>
getPropertyValue('${Device.cssPrefix}text-decoration-style');
/** Sets the value of "text-decoration-style" */
void set textDecorationStyle(String value) {
setProperty('${Device.cssPrefix}text-decoration-style', value, '');
}
/** Gets the value of "text-decorations-in-effect" */
String get textDecorationsInEffect =>
getPropertyValue('${Device.cssPrefix}text-decorations-in-effect');
/** Sets the value of "text-decorations-in-effect" */
void set textDecorationsInEffect(String value) {
setProperty('${Device.cssPrefix}text-decorations-in-effect', value, '');
}
/** Gets the value of "text-emphasis" */
String get textEmphasis =>
getPropertyValue('${Device.cssPrefix}text-emphasis');
/** Sets the value of "text-emphasis" */
void set textEmphasis(String value) {
setProperty('${Device.cssPrefix}text-emphasis', value, '');
}
/** Gets the value of "text-emphasis-color" */
String get textEmphasisColor =>
getPropertyValue('${Device.cssPrefix}text-emphasis-color');
/** Sets the value of "text-emphasis-color" */
void set textEmphasisColor(String value) {
setProperty('${Device.cssPrefix}text-emphasis-color', value, '');
}
/** Gets the value of "text-emphasis-position" */
String get textEmphasisPosition =>
getPropertyValue('${Device.cssPrefix}text-emphasis-position');
/** Sets the value of "text-emphasis-position" */
void set textEmphasisPosition(String value) {
setProperty('${Device.cssPrefix}text-emphasis-position', value, '');
}
/** Gets the value of "text-emphasis-style" */
String get textEmphasisStyle =>
getPropertyValue('${Device.cssPrefix}text-emphasis-style');
/** Sets the value of "text-emphasis-style" */
void set textEmphasisStyle(String value) {
setProperty('${Device.cssPrefix}text-emphasis-style', value, '');
}
/** Gets the value of "text-fill-color" */
String get textFillColor =>
getPropertyValue('${Device.cssPrefix}text-fill-color');
/** Sets the value of "text-fill-color" */
void set textFillColor(String value) {
setProperty('${Device.cssPrefix}text-fill-color', value, '');
}
/** Gets the value of "text-indent" */
String get textIndent =>
getPropertyValue('text-indent');
/** Sets the value of "text-indent" */
void set textIndent(String value) {
setProperty('text-indent', value, '');
}
/** Gets the value of "text-line-through" */
String get textLineThrough =>
getPropertyValue('text-line-through');
/** Sets the value of "text-line-through" */
void set textLineThrough(String value) {
setProperty('text-line-through', value, '');
}
/** Gets the value of "text-line-through-color" */
String get textLineThroughColor =>
getPropertyValue('text-line-through-color');
/** Sets the value of "text-line-through-color" */
void set textLineThroughColor(String value) {
setProperty('text-line-through-color', value, '');
}
/** Gets the value of "text-line-through-mode" */
String get textLineThroughMode =>
getPropertyValue('text-line-through-mode');
/** Sets the value of "text-line-through-mode" */
void set textLineThroughMode(String value) {
setProperty('text-line-through-mode', value, '');
}
/** Gets the value of "text-line-through-style" */
String get textLineThroughStyle =>
getPropertyValue('text-line-through-style');
/** Sets the value of "text-line-through-style" */
void set textLineThroughStyle(String value) {
setProperty('text-line-through-style', value, '');
}
/** Gets the value of "text-line-through-width" */
String get textLineThroughWidth =>
getPropertyValue('text-line-through-width');
/** Sets the value of "text-line-through-width" */
void set textLineThroughWidth(String value) {
setProperty('text-line-through-width', value, '');
}
/** Gets the value of "text-orientation" */
String get textOrientation =>
getPropertyValue('${Device.cssPrefix}text-orientation');
/** Sets the value of "text-orientation" */
void set textOrientation(String value) {
setProperty('${Device.cssPrefix}text-orientation', value, '');
}
/** Gets the value of "text-overflow" */
String get textOverflow =>
getPropertyValue('text-overflow');
/** Sets the value of "text-overflow" */
void set textOverflow(String value) {
setProperty('text-overflow', value, '');
}
/** Gets the value of "text-overline" */
String get textOverline =>
getPropertyValue('text-overline');
/** Sets the value of "text-overline" */
void set textOverline(String value) {
setProperty('text-overline', value, '');
}
/** Gets the value of "text-overline-color" */
String get textOverlineColor =>
getPropertyValue('text-overline-color');
/** Sets the value of "text-overline-color" */
void set textOverlineColor(String value) {
setProperty('text-overline-color', value, '');
}
/** Gets the value of "text-overline-mode" */
String get textOverlineMode =>
getPropertyValue('text-overline-mode');
/** Sets the value of "text-overline-mode" */
void set textOverlineMode(String value) {
setProperty('text-overline-mode', value, '');
}
/** Gets the value of "text-overline-style" */
String get textOverlineStyle =>
getPropertyValue('text-overline-style');
/** Sets the value of "text-overline-style" */
void set textOverlineStyle(String value) {
setProperty('text-overline-style', value, '');
}
/** Gets the value of "text-overline-width" */
String get textOverlineWidth =>
getPropertyValue('text-overline-width');
/** Sets the value of "text-overline-width" */
void set textOverlineWidth(String value) {
setProperty('text-overline-width', value, '');
}
/** Gets the value of "text-rendering" */
String get textRendering =>
getPropertyValue('text-rendering');
/** Sets the value of "text-rendering" */
void set textRendering(String value) {
setProperty('text-rendering', value, '');
}
/** Gets the value of "text-security" */
String get textSecurity =>
getPropertyValue('${Device.cssPrefix}text-security');
/** Sets the value of "text-security" */
void set textSecurity(String value) {
setProperty('${Device.cssPrefix}text-security', value, '');
}
/** Gets the value of "text-shadow" */
String get textShadow =>
getPropertyValue('text-shadow');
/** Sets the value of "text-shadow" */
void set textShadow(String value) {
setProperty('text-shadow', value, '');
}
/** Gets the value of "text-size-adjust" */
String get textSizeAdjust =>
getPropertyValue('${Device.cssPrefix}text-size-adjust');
/** Sets the value of "text-size-adjust" */
void set textSizeAdjust(String value) {
setProperty('${Device.cssPrefix}text-size-adjust', value, '');
}
/** Gets the value of "text-stroke" */
String get textStroke =>
getPropertyValue('${Device.cssPrefix}text-stroke');
/** Sets the value of "text-stroke" */
void set textStroke(String value) {
setProperty('${Device.cssPrefix}text-stroke', value, '');
}
/** Gets the value of "text-stroke-color" */
String get textStrokeColor =>
getPropertyValue('${Device.cssPrefix}text-stroke-color');
/** Sets the value of "text-stroke-color" */
void set textStrokeColor(String value) {
setProperty('${Device.cssPrefix}text-stroke-color', value, '');
}
/** Gets the value of "text-stroke-width" */
String get textStrokeWidth =>
getPropertyValue('${Device.cssPrefix}text-stroke-width');
/** Sets the value of "text-stroke-width" */
void set textStrokeWidth(String value) {
setProperty('${Device.cssPrefix}text-stroke-width', value, '');
}
/** Gets the value of "text-transform" */
String get textTransform =>
getPropertyValue('text-transform');
/** Sets the value of "text-transform" */
void set textTransform(String value) {
setProperty('text-transform', value, '');
}
/** Gets the value of "text-underline" */
String get textUnderline =>
getPropertyValue('text-underline');
/** Sets the value of "text-underline" */
void set textUnderline(String value) {
setProperty('text-underline', value, '');
}
/** Gets the value of "text-underline-color" */
String get textUnderlineColor =>
getPropertyValue('text-underline-color');
/** Sets the value of "text-underline-color" */
void set textUnderlineColor(String value) {
setProperty('text-underline-color', value, '');
}
/** Gets the value of "text-underline-mode" */
String get textUnderlineMode =>
getPropertyValue('text-underline-mode');
/** Sets the value of "text-underline-mode" */
void set textUnderlineMode(String value) {
setProperty('text-underline-mode', value, '');
}
/** Gets the value of "text-underline-style" */
String get textUnderlineStyle =>
getPropertyValue('text-underline-style');
/** Sets the value of "text-underline-style" */
void set textUnderlineStyle(String value) {
setProperty('text-underline-style', value, '');
}
/** Gets the value of "text-underline-width" */
String get textUnderlineWidth =>
getPropertyValue('text-underline-width');
/** Sets the value of "text-underline-width" */
void set textUnderlineWidth(String value) {
setProperty('text-underline-width', value, '');
}
/** Gets the value of "top" */
String get top =>
getPropertyValue('top');
/** Sets the value of "top" */
void set top(String value) {
setProperty('top', value, '');
}
/** Gets the value of "transform" */
String get transform =>
getPropertyValue('${Device.cssPrefix}transform');
/** Sets the value of "transform" */
void set transform(String value) {
setProperty('${Device.cssPrefix}transform', value, '');
}
/** Gets the value of "transform-origin" */
String get transformOrigin =>
getPropertyValue('${Device.cssPrefix}transform-origin');
/** Sets the value of "transform-origin" */
void set transformOrigin(String value) {
setProperty('${Device.cssPrefix}transform-origin', value, '');
}
/** Gets the value of "transform-origin-x" */
String get transformOriginX =>
getPropertyValue('${Device.cssPrefix}transform-origin-x');
/** Sets the value of "transform-origin-x" */
void set transformOriginX(String value) {
setProperty('${Device.cssPrefix}transform-origin-x', value, '');
}
/** Gets the value of "transform-origin-y" */
String get transformOriginY =>
getPropertyValue('${Device.cssPrefix}transform-origin-y');
/** Sets the value of "transform-origin-y" */
void set transformOriginY(String value) {
setProperty('${Device.cssPrefix}transform-origin-y', value, '');
}
/** Gets the value of "transform-origin-z" */
String get transformOriginZ =>
getPropertyValue('${Device.cssPrefix}transform-origin-z');
/** Sets the value of "transform-origin-z" */
void set transformOriginZ(String value) {
setProperty('${Device.cssPrefix}transform-origin-z', value, '');
}
/** Gets the value of "transform-style" */
String get transformStyle =>
getPropertyValue('${Device.cssPrefix}transform-style');
/** Sets the value of "transform-style" */
void set transformStyle(String value) {
setProperty('${Device.cssPrefix}transform-style', value, '');
}
/** Gets the value of "transition" */
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
String get transition =>
getPropertyValue('${Device.cssPrefix}transition');
/** Sets the value of "transition" */
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
void set transition(String value) {
setProperty('${Device.cssPrefix}transition', value, '');
}
/** Gets the value of "transition-delay" */
String get transitionDelay =>
getPropertyValue('${Device.cssPrefix}transition-delay');
/** Sets the value of "transition-delay" */
void set transitionDelay(String value) {
setProperty('${Device.cssPrefix}transition-delay', value, '');
}
/** Gets the value of "transition-duration" */
String get transitionDuration =>
getPropertyValue('${Device.cssPrefix}transition-duration');
/** Sets the value of "transition-duration" */
void set transitionDuration(String value) {
setProperty('${Device.cssPrefix}transition-duration', value, '');
}
/** Gets the value of "transition-property" */
String get transitionProperty =>
getPropertyValue('${Device.cssPrefix}transition-property');
/** Sets the value of "transition-property" */
void set transitionProperty(String value) {
setProperty('${Device.cssPrefix}transition-property', value, '');
}
/** Gets the value of "transition-timing-function" */
String get transitionTimingFunction =>
getPropertyValue('${Device.cssPrefix}transition-timing-function');
/** Sets the value of "transition-timing-function" */
void set transitionTimingFunction(String value) {
setProperty('${Device.cssPrefix}transition-timing-function', value, '');
}
/** Gets the value of "unicode-bidi" */
String get unicodeBidi =>
getPropertyValue('unicode-bidi');
/** Sets the value of "unicode-bidi" */
void set unicodeBidi(String value) {
setProperty('unicode-bidi', value, '');
}
/** Gets the value of "unicode-range" */
String get unicodeRange =>
getPropertyValue('unicode-range');
/** Sets the value of "unicode-range" */
void set unicodeRange(String value) {
setProperty('unicode-range', value, '');
}
/** Gets the value of "user-drag" */
String get userDrag =>
getPropertyValue('${Device.cssPrefix}user-drag');
/** Sets the value of "user-drag" */
void set userDrag(String value) {
setProperty('${Device.cssPrefix}user-drag', value, '');
}
/** Gets the value of "user-modify" */
String get userModify =>
getPropertyValue('${Device.cssPrefix}user-modify');
/** Sets the value of "user-modify" */
void set userModify(String value) {
setProperty('${Device.cssPrefix}user-modify', value, '');
}
/** Gets the value of "user-select" */
String get userSelect =>
getPropertyValue('${Device.cssPrefix}user-select');
/** Sets the value of "user-select" */
void set userSelect(String value) {
setProperty('${Device.cssPrefix}user-select', value, '');
}
/** Gets the value of "user-zoom" */
String get userZoom =>
getPropertyValue('user-zoom');
/** Sets the value of "user-zoom" */
void set userZoom(String value) {
setProperty('user-zoom', value, '');
}
/** Gets the value of "vertical-align" */
String get verticalAlign =>
getPropertyValue('vertical-align');
/** Sets the value of "vertical-align" */
void set verticalAlign(String value) {
setProperty('vertical-align', value, '');
}
/** Gets the value of "visibility" */
String get visibility =>
getPropertyValue('visibility');
/** Sets the value of "visibility" */
void set visibility(String value) {
setProperty('visibility', value, '');
}
/** Gets the value of "white-space" */
String get whiteSpace =>
getPropertyValue('white-space');
/** Sets the value of "white-space" */
void set whiteSpace(String value) {
setProperty('white-space', value, '');
}
/** Gets the value of "widows" */
String get widows =>
getPropertyValue('widows');
/** Sets the value of "widows" */
void set widows(String value) {
setProperty('widows', value, '');
}
/** Gets the value of "width" */
String get width =>
getPropertyValue('width');
/** Sets the value of "width" */
void set width(String value) {
setProperty('width', value, '');
}
/** Gets the value of "word-break" */
String get wordBreak =>
getPropertyValue('word-break');
/** Sets the value of "word-break" */
void set wordBreak(String value) {
setProperty('word-break', value, '');
}
/** Gets the value of "word-spacing" */
String get wordSpacing =>
getPropertyValue('word-spacing');
/** Sets the value of "word-spacing" */
void set wordSpacing(String value) {
setProperty('word-spacing', value, '');
}
/** Gets the value of "word-wrap" */
String get wordWrap =>
getPropertyValue('word-wrap');
/** Sets the value of "word-wrap" */
void set wordWrap(String value) {
setProperty('word-wrap', value, '');
}
/** Gets the value of "wrap" */
String get wrap =>
getPropertyValue('${Device.cssPrefix}wrap');
/** Sets the value of "wrap" */
void set wrap(String value) {
setProperty('${Device.cssPrefix}wrap', value, '');
}
/** Gets the value of "wrap-flow" */
String get wrapFlow =>
getPropertyValue('${Device.cssPrefix}wrap-flow');
/** Sets the value of "wrap-flow" */
void set wrapFlow(String value) {
setProperty('${Device.cssPrefix}wrap-flow', value, '');
}
/** Gets the value of "wrap-through" */
String get wrapThrough =>
getPropertyValue('${Device.cssPrefix}wrap-through');
/** Sets the value of "wrap-through" */
void set wrapThrough(String value) {
setProperty('${Device.cssPrefix}wrap-through', value, '');
}
/** Gets the value of "writing-mode" */
String get writingMode =>
getPropertyValue('${Device.cssPrefix}writing-mode');
/** Sets the value of "writing-mode" */
void set writingMode(String value) {
setProperty('${Device.cssPrefix}writing-mode', value, '');
}
/** Gets the value of "z-index" */
String get zIndex =>
getPropertyValue('z-index');
/** Sets the value of "z-index" */
void set zIndex(String value) {
setProperty('z-index', value, '');
}
/** Gets the value of "zoom" */
String get zoom =>
getPropertyValue('zoom');
/** Sets the value of "zoom" */
void set zoom(String value) {
setProperty('zoom', value, '');
}
}
// 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.
@DocsEditable()
@DomName('CSSStyleRule')
class CssStyleRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory CssStyleRule._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSStyleRule.selectorText')
@DocsEditable()
String get selectorText => _blink.Native_CSSStyleRule_selectorText_Getter(this);
@DomName('CSSStyleRule.selectorText')
@DocsEditable()
void set selectorText(String value) => _blink.Native_CSSStyleRule_selectorText_Setter(this, value);
@DomName('CSSStyleRule.style')
@DocsEditable()
CssStyleDeclaration get style => _blink.Native_CSSStyleRule_style_Getter(this);
}
// 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.
@DocsEditable()
@DomName('CSSStyleSheet')
class CssStyleSheet extends StyleSheet {
// To suppress missing implicit constructor warnings.
factory CssStyleSheet._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSStyleSheet.cssRules')
@DocsEditable()
List<CssRule> get cssRules => _blink.Native_CSSStyleSheet_cssRules_Getter(this);
@DomName('CSSStyleSheet.ownerRule')
@DocsEditable()
CssRule get ownerRule => _blink.Native_CSSStyleSheet_ownerRule_Getter(this);
@DomName('CSSStyleSheet.rules')
@DocsEditable()
@Experimental() // non-standard
List<CssRule> get rules => _blink.Native_CSSStyleSheet_rules_Getter(this);
int addRule(String selector, String style, [int index]) => _blink.Native_CSSStyleSheet_addRule(this, selector, style, index);
@DomName('CSSStyleSheet.deleteRule')
@DocsEditable()
void deleteRule(int index) => _blink.Native_CSSStyleSheet_deleteRule_Callback(this, index);
int insertRule(String rule, [int index]) => _blink.Native_CSSStyleSheet_insertRule(this, rule, index);
@DomName('CSSStyleSheet.removeRule')
@DocsEditable()
@Experimental() // non-standard
void removeRule(int index) => _blink.Native_CSSStyleSheet_removeRule_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('CSSSupportsRule')
class CssSupportsRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory CssSupportsRule._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSSupportsRule.conditionText')
@DocsEditable()
String get conditionText => _blink.Native_CSSSupportsRule_conditionText_Getter(this);
@DomName('CSSSupportsRule.cssRules')
@DocsEditable()
List<CssRule> get cssRules => _blink.Native_CSSSupportsRule_cssRules_Getter(this);
@DomName('CSSSupportsRule.deleteRule')
@DocsEditable()
void deleteRule(int index) => _blink.Native_CSSSupportsRule_deleteRule_Callback(this, index);
@DomName('CSSSupportsRule.insertRule')
@DocsEditable()
int insertRule(String rule, int index) => _blink.Native_CSSSupportsRule_insertRule_Callback(this, rule, index);
}
// 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.
@DocsEditable()
@DomName('CSSViewportRule')
@Experimental() // untriaged
class CssViewportRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory CssViewportRule._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSViewportRule.style')
@DocsEditable()
@Experimental() // untriaged
CssStyleDeclaration get style => _blink.Native_CSSViewportRule_style_Getter(this);
}
// 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.
@DomName('CustomEvent')
class CustomEvent extends Event {
var _dartDetail;
factory CustomEvent(String type,
{bool canBubble: true, bool cancelable: true, Object detail}) {
final CustomEvent e = document._createEvent('CustomEvent');
e._dartDetail = detail;
// Only try setting the detail if it's one of these types to avoid
// first-chance exceptions. Can expand this list in the future as needed.
if (detail is List || detail is Map || detail is String || detail is num) {
try {
e._initCustomEvent(type, canBubble, cancelable, detail);
} catch(_) {
e._initCustomEvent(type, canBubble, cancelable, null);
}
} else {
e._initCustomEvent(type, canBubble, cancelable, null);
}
return e;
}
@DomName('CustomEvent.detail')
get detail {
if (_dartDetail != null) {
return _dartDetail;
}
return _detail;
}
// To suppress missing implicit constructor warnings.
factory CustomEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('CustomEvent.detail')
@DocsEditable()
Object get _detail => _blink.Native_CustomEvent_detail_Getter(this);
@DomName('CustomEvent.initCustomEvent')
@DocsEditable()
void _initCustomEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Object detailArg) => _blink.Native_CustomEvent_initCustomEvent_Callback(this, typeArg, canBubbleArg, cancelableArg, detailArg);
}
// 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.
@DocsEditable()
@DomName('HTMLDListElement')
class DListElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory DListElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLDListElement.HTMLDListElement')
@DocsEditable()
factory DListElement() => document.createElement("dl");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
DListElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('HTMLDataListElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
class DataListElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory DataListElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLDataListElement.HTMLDataListElement')
@DocsEditable()
factory DataListElement() => document.createElement("datalist");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
DataListElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLDataListElement.options')
@DocsEditable()
List<Node> get options => _blink.Native_HTMLDataListElement_options_Getter(this);
}
// 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.
@DocsEditable()
@DomName('Clipboard')
class DataTransfer extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DataTransfer._() { throw new UnsupportedError("Not supported"); }
@DomName('Clipboard.dropEffect')
@DocsEditable()
String get dropEffect => _blink.Native_Clipboard_dropEffect_Getter(this);
@DomName('Clipboard.dropEffect')
@DocsEditable()
void set dropEffect(String value) => _blink.Native_Clipboard_dropEffect_Setter(this, value);
@DomName('Clipboard.effectAllowed')
@DocsEditable()
String get effectAllowed => _blink.Native_Clipboard_effectAllowed_Getter(this);
@DomName('Clipboard.effectAllowed')
@DocsEditable()
void set effectAllowed(String value) => _blink.Native_Clipboard_effectAllowed_Setter(this, value);
@DomName('Clipboard.files')
@DocsEditable()
List<File> get files => _blink.Native_Clipboard_files_Getter(this);
@DomName('Clipboard.items')
@DocsEditable()
DataTransferItemList get items => _blink.Native_Clipboard_items_Getter(this);
@DomName('Clipboard.types')
@DocsEditable()
List<String> get types => _blink.Native_Clipboard_types_Getter(this);
void clearData([String type]) => _blink.Native_Clipboard_clearData(this, type);
/**
* Gets the data for the specified type.
*
* The data is only available from within a drop operation (such as an
* [Element.onDrop] event) and will return null before the event is
* triggered.
*
* Data transfer is prohibited across domains. If a drag originates
* from content from another domain or protocol (HTTP vs HTTPS) then the
* data cannot be accessed.
*
* The [type] can have values such as:
*
* * `'Text'`
* * `'URL'`
*/
@DomName('Clipboard.getData')
@DocsEditable()
String getData(String type) => _blink.Native_Clipboard_getData_Callback(this, type);
@DomName('Clipboard.setData')
@DocsEditable()
bool setData(String type, String data) => _blink.Native_Clipboard_setData_Callback(this, type, data);
@DomName('Clipboard.setDragImage')
@DocsEditable()
void setDragImage(Element image, int x, int y) => _blink.Native_Clipboard_setDragImage_Callback(this, image, x, y);
}
// 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.
@DocsEditable()
@DomName('DataTransferItem')
// http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html#the-datatransferitem-interface
@Experimental()
class DataTransferItem extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DataTransferItem._() { throw new UnsupportedError("Not supported"); }
@DomName('DataTransferItem.kind')
@DocsEditable()
String get kind => _blink.Native_DataTransferItem_kind_Getter(this);
@DomName('DataTransferItem.type')
@DocsEditable()
String get type => _blink.Native_DataTransferItem_type_Getter(this);
@DomName('DataTransferItem.getAsFile')
@DocsEditable()
Blob getAsFile() => _blink.Native_DataTransferItem_getAsFile_Callback(this);
@DomName('DataTransferItem.getAsString')
@DocsEditable()
void _getAsString(_StringCallback callback) => _blink.Native_DataTransferItem_getAsString_Callback(this, callback);
Future<String> getAsString() {
var completer = new Completer<String>();
_getAsString(
(value) { completer.complete(value); });
return completer.future;
}
@DomName('DataTransferItem.webkitGetAsEntry')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
Entry getAsEntry() => _blink.Native_DataTransferItem_webkitGetAsEntry_Callback(this);
}
// Copyright (c) 2013, 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.
@DocsEditable()
@DomName('DataTransferItemList')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransferitemlist-interface
@Experimental()
class DataTransferItemList extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DataTransferItemList._() { throw new UnsupportedError("Not supported"); }
@DomName('DataTransferItemList.length')
@DocsEditable()
int get length => _blink.Native_DataTransferItemList_length_Getter(this);
@DomName('DataTransferItemList.__getter__')
@DocsEditable()
@Experimental() // untriaged
DataTransferItem __getter__(int index) => _blink.Native_DataTransferItemList___getter___Callback(this, index);
DataTransferItem add(data_OR_file, [String type]) => _blink.Native_DataTransferItemList_add(this, data_OR_file, type);
@DomName('DataTransferItemList.addData')
@DocsEditable()
DataTransferItem addData(String data, String type) => _blink.Native_DataTransferItemList_addData_Callback(this, data, type);
@DomName('DataTransferItemList.addFile')
@DocsEditable()
DataTransferItem addFile(File file) => _blink.Native_DataTransferItemList_addFile_Callback(this, file);
@DomName('DataTransferItemList.clear')
@DocsEditable()
void clear() => _blink.Native_DataTransferItemList_clear_Callback(this);
@DomName('DataTransferItemList.remove')
@DocsEditable()
@Experimental() // untriaged
void remove(int index) => _blink.Native_DataTransferItemList_remove_Callback(this, index);
DataTransferItem operator[] (int index) {
return __getter__(index);
}
}
// 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.
@DomName('DatabaseCallback')
// http://www.w3.org/TR/webdatabase/#databasecallback
@Experimental() // deprecated
typedef void DatabaseCallback(database);
// 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.
@DocsEditable()
@DomName('DedicatedWorkerGlobalScope')
@Experimental() // untriaged
class DedicatedWorkerGlobalScope extends WorkerGlobalScope {
// To suppress missing implicit constructor warnings.
factory DedicatedWorkerGlobalScope._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `message` events to event
* handlers that are not necessarily instances of [DedicatedWorkerGlobalScope].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('DedicatedWorkerGlobalScope.messageEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');
@DomName('DedicatedWorkerGlobalScope.postMessage')
@DocsEditable()
@Experimental() // untriaged
void postMessage(Object message, [List<MessagePort> messagePorts]) => _blink.Native_DedicatedWorkerGlobalScope_postMessage_Callback(this, message, messagePorts);
/// Stream of `message` events handled by this [DedicatedWorkerGlobalScope].
@DomName('DedicatedWorkerGlobalScope.onmessage')
@DocsEditable()
@Experimental() // untriaged
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('DeprecatedStorageInfo')
@Experimental() // untriaged
class DeprecatedStorageInfo extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DeprecatedStorageInfo._() { throw new UnsupportedError("Not supported"); }
@DomName('DeprecatedStorageInfo.PERSISTENT')
@DocsEditable()
@Experimental() // untriaged
static const int PERSISTENT = 1;
@DomName('DeprecatedStorageInfo.TEMPORARY')
@DocsEditable()
@Experimental() // untriaged
static const int TEMPORARY = 0;
@DomName('DeprecatedStorageInfo.queryUsageAndQuota')
@DocsEditable()
@Experimental() // untriaged
void queryUsageAndQuota(int storageType, [StorageUsageCallback usageCallback, StorageErrorCallback errorCallback]) => _blink.Native_DeprecatedStorageInfo_queryUsageAndQuota_Callback(this, storageType, usageCallback, errorCallback);
@DomName('DeprecatedStorageInfo.requestQuota')
@DocsEditable()
@Experimental() // untriaged
void requestQuota(int storageType, int newQuotaInBytes, [StorageQuotaCallback quotaCallback, StorageErrorCallback errorCallback]) => _blink.Native_DeprecatedStorageInfo_requestQuota_Callback(this, storageType, newQuotaInBytes, quotaCallback, errorCallback);
}
// 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.
@DocsEditable()
@DomName('DeprecatedStorageQuota')
@Experimental() // untriaged
class DeprecatedStorageQuota extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DeprecatedStorageQuota._() { throw new UnsupportedError("Not supported"); }
@DomName('DeprecatedStorageQuota.queryUsageAndQuota')
@DocsEditable()
@Experimental() // untriaged
void queryUsageAndQuota(StorageUsageCallback usageCallback, [StorageErrorCallback errorCallback]) => _blink.Native_DeprecatedStorageQuota_queryUsageAndQuota_Callback(this, usageCallback, errorCallback);
@DomName('DeprecatedStorageQuota.requestQuota')
@DocsEditable()
@Experimental() // untriaged
void requestQuota(int newQuotaInBytes, [StorageQuotaCallback quotaCallback, StorageErrorCallback errorCallback]) => _blink.Native_DeprecatedStorageQuota_requestQuota_Callback(this, newQuotaInBytes, quotaCallback, errorCallback);
}
// 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.
@DocsEditable()
@DomName('HTMLDetailsElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
class DetailsElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory DetailsElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLDetailsElement.HTMLDetailsElement')
@DocsEditable()
factory DetailsElement() => document.createElement("details");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
DetailsElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLDetailsElement.open')
@DocsEditable()
bool get open => _blink.Native_HTMLDetailsElement_open_Getter(this);
@DomName('HTMLDetailsElement.open')
@DocsEditable()
void set open(bool value) => _blink.Native_HTMLDetailsElement_open_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('DeviceAcceleration')
// http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion
@Experimental()
class DeviceAcceleration extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DeviceAcceleration._() { throw new UnsupportedError("Not supported"); }
@DomName('DeviceAcceleration.x')
@DocsEditable()
double get x => _blink.Native_DeviceAcceleration_x_Getter(this);
@DomName('DeviceAcceleration.y')
@DocsEditable()
double get y => _blink.Native_DeviceAcceleration_y_Getter(this);
@DomName('DeviceAcceleration.z')
@DocsEditable()
double get z => _blink.Native_DeviceAcceleration_z_Getter(this);
}
// 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.
@DocsEditable()
@DomName('DeviceMotionEvent')
// http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion
@Experimental()
class DeviceMotionEvent extends Event {
// To suppress missing implicit constructor warnings.
factory DeviceMotionEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('DeviceMotionEvent.acceleration')
@DocsEditable()
DeviceAcceleration get acceleration => _blink.Native_DeviceMotionEvent_acceleration_Getter(this);
@DomName('DeviceMotionEvent.accelerationIncludingGravity')
@DocsEditable()
DeviceAcceleration get accelerationIncludingGravity => _blink.Native_DeviceMotionEvent_accelerationIncludingGravity_Getter(this);
@DomName('DeviceMotionEvent.interval')
@DocsEditable()
double get interval => _blink.Native_DeviceMotionEvent_interval_Getter(this);
@DomName('DeviceMotionEvent.rotationRate')
@DocsEditable()
DeviceRotationRate get rotationRate => _blink.Native_DeviceMotionEvent_rotationRate_Getter(this);
@DomName('DeviceMotionEvent.initDeviceMotionEvent')
@DocsEditable()
@Experimental() // untriaged
void initDeviceMotionEvent(String type, bool bubbles, bool cancelable, DeviceAcceleration acceleration, DeviceAcceleration accelerationIncludingGravity, DeviceRotationRate rotationRate, num interval) => _blink.Native_DeviceMotionEvent_initDeviceMotionEvent_Callback(this, type, bubbles, cancelable, acceleration, accelerationIncludingGravity, rotationRate, interval);
}
// Copyright (c) 2013, 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.
@DomName('DeviceOrientationEvent')
// http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion
@Experimental()
class DeviceOrientationEvent extends Event {
factory DeviceOrientationEvent(String type,
{bool canBubble: true, bool cancelable: true, num alpha: 0, num beta: 0,
num gamma: 0, bool absolute: false}) {
var e = document._createEvent("DeviceOrientationEvent");
e._initDeviceOrientationEvent(type, canBubble, cancelable, alpha, beta,
gamma, absolute);
return e;
}
// To suppress missing implicit constructor warnings.
factory DeviceOrientationEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('DeviceOrientationEvent.absolute')
@DocsEditable()
bool get absolute => _blink.Native_DeviceOrientationEvent_absolute_Getter(this);
@DomName('DeviceOrientationEvent.alpha')
@DocsEditable()
double get alpha => _blink.Native_DeviceOrientationEvent_alpha_Getter(this);
@DomName('DeviceOrientationEvent.beta')
@DocsEditable()
double get beta => _blink.Native_DeviceOrientationEvent_beta_Getter(this);
@DomName('DeviceOrientationEvent.gamma')
@DocsEditable()
double get gamma => _blink.Native_DeviceOrientationEvent_gamma_Getter(this);
@DomName('DeviceOrientationEvent.initDeviceOrientationEvent')
@DocsEditable()
void _initDeviceOrientationEvent(String type, bool bubbles, bool cancelable, num alpha, num beta, num gamma, bool absolute) => _blink.Native_DeviceOrientationEvent_initDeviceOrientationEvent_Callback(this, type, bubbles, cancelable, alpha, beta, gamma, absolute);
}
// 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.
@DocsEditable()
@DomName('DeviceRotationRate')
// http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion
@Experimental()
class DeviceRotationRate extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DeviceRotationRate._() { throw new UnsupportedError("Not supported"); }
@DomName('DeviceRotationRate.alpha')
@DocsEditable()
double get alpha => _blink.Native_DeviceRotationRate_alpha_Getter(this);
@DomName('DeviceRotationRate.beta')
@DocsEditable()
double get beta => _blink.Native_DeviceRotationRate_beta_Getter(this);
@DomName('DeviceRotationRate.gamma')
@DocsEditable()
double get gamma => _blink.Native_DeviceRotationRate_gamma_Getter(this);
}
// 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.
@DocsEditable()
@DomName('HTMLDialogElement')
@Unstable()
class DialogElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory DialogElement._() { throw new UnsupportedError("Not supported"); }
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
DialogElement.created() : super.created();
@DomName('HTMLDialogElement.open')
@DocsEditable()
bool get open => _blink.Native_HTMLDialogElement_open_Getter(this);
@DomName('HTMLDialogElement.open')
@DocsEditable()
void set open(bool value) => _blink.Native_HTMLDialogElement_open_Setter(this, value);
@DomName('HTMLDialogElement.returnValue')
@DocsEditable()
@Experimental() // untriaged
String get returnValue => _blink.Native_HTMLDialogElement_returnValue_Getter(this);
@DomName('HTMLDialogElement.returnValue')
@DocsEditable()
@Experimental() // untriaged
void set returnValue(String value) => _blink.Native_HTMLDialogElement_returnValue_Setter(this, value);
@DomName('HTMLDialogElement.close')
@DocsEditable()
void close(String returnValue) => _blink.Native_HTMLDialogElement_close_Callback(this, returnValue);
@DomName('HTMLDialogElement.show')
@DocsEditable()
void show() => _blink.Native_HTMLDialogElement_show_Callback(this);
@DomName('HTMLDialogElement.showModal')
@DocsEditable()
void showModal() => _blink.Native_HTMLDialogElement_showModal_Callback(this);
}
// Copyright (c) 2013, 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.
@DomName('DirectoryEntry')
// http://www.w3.org/TR/file-system-api/#the-directoryentry-interface
@Experimental()
class DirectoryEntry extends Entry {
/**
* Create a new directory with the specified `path`. If `exclusive` is true,
* the returned Future will complete with an error if a directory already
* exists with the specified `path`.
*/
Future<Entry> createDirectory(String path, {bool exclusive: false}) {
return _getDirectory(path, options:
{'create': true, 'exclusive': exclusive});
}
/**
* Retrieve an already existing directory entry. The returned future will
* result in an error if a directory at `path` does not exist or if the item
* at `path` is not a directory.
*/
Future<Entry> getDirectory(String path) {
return _getDirectory(path);
}
/**
* Create a new file with the specified `path`. If `exclusive` is true,
* the returned Future will complete with an error if a file already
* exists at the specified `path`.
*/
Future<Entry> createFile(String path, {bool exclusive: false}) {
return _getFile(path, options: {'create': true, 'exclusive': exclusive});
}
/**
* Retrieve an already existing file entry. The returned future will
* result in an error if a file at `path` does not exist or if the item at
* `path` is not a file.
*/
Future<Entry> getFile(String path) {
return _getFile(path);
}
// To suppress missing implicit constructor warnings.
factory DirectoryEntry._() { throw new UnsupportedError("Not supported"); }
@DomName('DirectoryEntry.createReader')
@DocsEditable()
DirectoryReader createReader() => _blink.Native_DirectoryEntry_createReader_Callback(this);
@DomName('DirectoryEntry.getDirectory')
@DocsEditable()
void __getDirectory(String path, {Map options, _EntryCallback successCallback, _ErrorCallback errorCallback}) => _blink.Native_DirectoryEntry_getDirectory_Callback(this, path, options, successCallback, errorCallback);
Future<Entry> _getDirectory(String path, {Map options}) {
var completer = new Completer<Entry>();
__getDirectory(path, options : options,
successCallback : (value) { completer.complete(value); },
errorCallback : (error) { completer.completeError(error); });
return completer.future;
}
@DomName('DirectoryEntry.getFile')
@DocsEditable()
void __getFile(String path, {Map options, _EntryCallback successCallback, _ErrorCallback errorCallback}) => _blink.Native_DirectoryEntry_getFile_Callback(this, path, options, successCallback, errorCallback);
Future<Entry> _getFile(String path, {Map options}) {
var completer = new Completer<Entry>();
__getFile(path, options : options,
successCallback : (value) { completer.complete(value); },
errorCallback : (error) { completer.completeError(error); });
return completer.future;
}
@DomName('DirectoryEntry.removeRecursively')
@DocsEditable()
void _removeRecursively(VoidCallback successCallback, [_ErrorCallback errorCallback]) => _blink.Native_DirectoryEntry_removeRecursively_Callback(this, successCallback, errorCallback);
Future removeRecursively() {
var completer = new Completer();
_removeRecursively(
() { completer.complete(); },
(error) { completer.completeError(error); });
return completer.future;
}
}
// 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.
@DocsEditable()
@DomName('DirectoryReader')
// http://www.w3.org/TR/file-system-api/#the-directoryreader-interface
@Experimental()
class DirectoryReader extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DirectoryReader._() { throw new UnsupportedError("Not supported"); }
@DomName('DirectoryReader.readEntries')
@DocsEditable()
void _readEntries(_EntriesCallback successCallback, [_ErrorCallback errorCallback]) => _blink.Native_DirectoryReader_readEntries_Callback(this, successCallback, errorCallback);
Future<List<Entry>> readEntries() {
var completer = new Completer<List<Entry>>();
_readEntries(
(value) { completer.complete(value); },
(error) { completer.completeError(error); });
return completer.future;
}
}
// 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.
@DocsEditable()
/**
* A generic container for content on an HTML page;
* corresponds to the &lt;div&gt; tag.
*
* The [DivElement] is a generic container and does not have any semantic
* significance. It is functionally similar to [SpanElement].
*
* The [DivElement] is a block-level element, as opposed to [SpanElement],
* which is an inline-level element.
*
* Example usage:
*
* DivElement div = new DivElement();
* div.text = 'Here's my new DivElem
* document.body.elements.add(elem);
*
* See also:
*
* * [HTML <div> element](http://www.w3.org/TR/html-markup/div.html) from W3C.
* * [Block-level element](http://www.w3.org/TR/CSS2/visuren.html#block-boxes) from W3C.
* * [Inline-level element](http://www.w3.org/TR/CSS2/visuren.html#inline-boxes) from W3C.
*/
@DomName('HTMLDivElement')
class DivElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory DivElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLDivElement.HTMLDivElement')
@DocsEditable()
factory DivElement() => document.createElement("div");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
DivElement.created() : super.created();
}
// 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.
@DocsEditable()
/**
* The base class for all documents.
*
* Each web page loaded in the browser has its own [Document] object, which is
* typically an [HtmlDocument].
*
* If you aren't comfortable with DOM concepts, see the Dart tutorial
* [Target 2: Connect Dart & HTML](http://www.dartlang.org/docs/tutorials/connect-dart-html/).
*/
@DomName('Document')
class Document extends Node
{
// To suppress missing implicit constructor warnings.
factory Document._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `readystatechange` events to event
* handlers that are not necessarily instances of [Document].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Document.readystatechangeEvent')
@DocsEditable()
static const EventStreamProvider<Event> readyStateChangeEvent = const EventStreamProvider<Event>('readystatechange');
/**
* Static factory designed to expose `securitypolicyviolation` events to event
* handlers that are not necessarily instances of [Document].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Document.securitypolicyviolationEvent')
@DocsEditable()
// https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#widl-Document-onsecuritypolicyviolation
@Experimental()
static const EventStreamProvider<SecurityPolicyViolationEvent> securityPolicyViolationEvent = const EventStreamProvider<SecurityPolicyViolationEvent>('securitypolicyviolation');
/**
* Static factory designed to expose `selectionchange` events to event
* handlers that are not necessarily instances of [Document].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Document.selectionchangeEvent')
@DocsEditable()
static const EventStreamProvider<Event> selectionChangeEvent = const EventStreamProvider<Event>('selectionchange');
/**
* Static factory designed to expose `pointerlockchange` events to event
* handlers that are not necessarily instances of [Document].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Document.webkitpointerlockchangeEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Document-onpointerlockchange
static const EventStreamProvider<Event> pointerLockChangeEvent = const EventStreamProvider<Event>('webkitpointerlockchange');
/**
* Static factory designed to expose `pointerlockerror` events to event
* handlers that are not necessarily instances of [Document].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Document.webkitpointerlockerrorEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Document-onpointerlockerror
static const EventStreamProvider<Event> pointerLockErrorEvent = const EventStreamProvider<Event>('webkitpointerlockerror');
@DomName('Document.activeElement')
@DocsEditable()
@Experimental() // untriaged
Element get activeElement => _blink.Native_Document_activeElement_Getter(this);
@DomName('Document.body')
@DocsEditable()
HtmlElement get _body => _blink.Native_Document_body_Getter(this);
@DomName('Document.body')
@DocsEditable()
void set _body(HtmlElement value) => _blink.Native_Document_body_Setter(this, value);
@DomName('Document.cookie')
@DocsEditable()
String get cookie => _blink.Native_Document_cookie_Getter(this);
@DomName('Document.cookie')
@DocsEditable()
void set cookie(String value) => _blink.Native_Document_cookie_Setter(this, value);
@DomName('Document.currentScript')
@DocsEditable()
@Experimental() // untriaged
ScriptElement get currentScript => _blink.Native_Document_currentScript_Getter(this);
@DomName('Document.defaultView')
@DocsEditable()
WindowBase get window => _blink.Native_Document_defaultView_Getter(this);
@DomName('Document.documentElement')
@DocsEditable()
Element get documentElement => _blink.Native_Document_documentElement_Getter(this);
@DomName('Document.domain')
@DocsEditable()
String get domain => _blink.Native_Document_domain_Getter(this);
@DomName('Document.fonts')
@DocsEditable()
@Experimental() // untriaged
FontFaceSet get fonts => _blink.Native_Document_fonts_Getter(this);
@DomName('Document.head')
@DocsEditable()
HeadElement get _head => _blink.Native_Document_head_Getter(this);
@DomName('Document.hidden')
@DocsEditable()
@Experimental() // untriaged
bool get hidden => _blink.Native_Document_hidden_Getter(this);
@DomName('Document.implementation')
@DocsEditable()
DomImplementation get implementation => _blink.Native_Document_implementation_Getter(this);
@DomName('Document.lastModified')
@DocsEditable()
String get _lastModified => _blink.Native_Document_lastModified_Getter(this);
@DomName('Document.preferredStylesheetSet')
@DocsEditable()
String get _preferredStylesheetSet => _blink.Native_Document_preferredStylesheetSet_Getter(this);
@DomName('Document.readyState')
@DocsEditable()
String get readyState => _blink.Native_Document_readyState_Getter(this);
@DomName('Document.referrer')
@DocsEditable()
String get _referrer => _blink.Native_Document_referrer_Getter(this);
@DomName('Document.rootElement')
@DocsEditable()
@Experimental() // untriaged
SvgSvgElement get rootElement => _blink.Native_Document_rootElement_Getter(this);
@DomName('Document.selectedStylesheetSet')
@DocsEditable()
String get _selectedStylesheetSet => _blink.Native_Document_selectedStylesheetSet_Getter(this);
@DomName('Document.selectedStylesheetSet')
@DocsEditable()
void set _selectedStylesheetSet(String value) => _blink.Native_Document_selectedStylesheetSet_Setter(this, value);
@DomName('Document.styleSheets')
@DocsEditable()
List<StyleSheet> get _styleSheets => _blink.Native_Document_styleSheets_Getter(this);
@DomName('Document.timeline')
@DocsEditable()
@Experimental() // untriaged
Timeline get timeline => _blink.Native_Document_timeline_Getter(this);
@DomName('Document.title')
@DocsEditable()
String get _title => _blink.Native_Document_title_Getter(this);
@DomName('Document.title')
@DocsEditable()
void set _title(String value) => _blink.Native_Document_title_Setter(this, value);
@DomName('Document.visibilityState')
@DocsEditable()
@Experimental() // untriaged
String get visibilityState => _blink.Native_Document_visibilityState_Getter(this);
@DomName('Document.webkitFullscreenElement')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-fullscreenelement
Element get _webkitFullscreenElement => _blink.Native_Document_webkitFullscreenElement_Getter(this);
@DomName('Document.webkitFullscreenEnabled')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-fullscreenenabled
bool get _webkitFullscreenEnabled => _blink.Native_Document_webkitFullscreenEnabled_Getter(this);
@DomName('Document.webkitHidden')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html#document
bool get _webkitHidden => _blink.Native_Document_webkitHidden_Getter(this);
@DomName('Document.webkitPointerLockElement')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Document-pointerLockElement
Element get _webkitPointerLockElement => _blink.Native_Document_webkitPointerLockElement_Getter(this);
@DomName('Document.webkitVisibilityState')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html#dom-document-visibilitystate
String get _webkitVisibilityState => _blink.Native_Document_webkitVisibilityState_Getter(this);
@DomName('Document.adoptNode')
@DocsEditable()
Node adoptNode(Node node) => _blink.Native_Document_adoptNode_Callback(this, node);
@DomName('Document.caretRangeFromPoint')
@DocsEditable()
// http://www.w3.org/TR/2009/WD-cssom-view-20090804/#dom-documentview-caretrangefrompoint
@Experimental()
Range _caretRangeFromPoint(int x, int y) => _blink.Native_Document_caretRangeFromPoint_Callback(this, x, y);
@DomName('Document.createDocumentFragment')
@DocsEditable()
DocumentFragment createDocumentFragment() => _blink.Native_Document_createDocumentFragment_Callback(this);
@DomName('Document.createElement')
@DocsEditable()
Element _createElement(String localName_OR_tagName, [String typeExtension]) => _blink.Native_Document_createElement_Callback(this, localName_OR_tagName, typeExtension);
@DomName('Document.createElementNS')
@DocsEditable()
Element createElementNS(String namespaceURI, String qualifiedName, [String typeExtension]) => _blink.Native_Document_createElementNS_Callback(this, namespaceURI, qualifiedName, typeExtension);
Event _createEvent([String eventType]) => _blink.Native_Document__createEvent(this, eventType);
NodeIterator _createNodeIterator(Node root, [int whatToShow, NodeFilter filter]) => _blink.Native_Document__createNodeIterator(this, root, whatToShow, filter);
@DomName('Document.createRange')
@DocsEditable()
Range createRange() => _blink.Native_Document_createRange_Callback(this);
@DomName('Document.createTextNode')
@DocsEditable()
Text _createTextNode(String data) => _blink.Native_Document_createTextNode_Callback(this, data);
@DomName('Document.createTouch')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
Touch _createTouch(Window window, EventTarget target, int identifier, int pageX, int pageY, int screenX, int screenY, int webkitRadiusX, int webkitRadiusY, num webkitRotationAngle, num webkitForce) => _blink.Native_Document_createTouch_Callback(this, window, target, identifier, pageX, pageY, screenX, screenY, webkitRadiusX, webkitRadiusY, webkitRotationAngle, webkitForce);
TreeWalker _createTreeWalker(Node root, [int whatToShow, NodeFilter filter]) => _blink.Native_Document__createTreeWalker(this, root, whatToShow, filter);
@DomName('Document.elementFromPoint')
@DocsEditable()
Element _elementFromPoint(int x, int y) => _blink.Native_Document_elementFromPoint_Callback(this, x, y);
@DomName('Document.execCommand')
@DocsEditable()
bool execCommand(String command, bool userInterface, String value) => _blink.Native_Document_execCommand_Callback(this, command, userInterface, value);
@DomName('Document.getCSSCanvasContext')
@DocsEditable()
// https://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariCSSRef/Articles/Functions.html
@Experimental() // non-standard
CanvasRenderingContext _getCssCanvasContext(String contextId, String name, int width, int height) => _blink.Native_Document_getCSSCanvasContext_Callback(this, contextId, name, width, height);
@DomName('Document.getElementById')
@DocsEditable()
Element getElementById(String elementId) => _blink.Native_Document_getElementById_Callback(this, elementId);
@DomName('Document.getElementsByClassName')
@DocsEditable()
List<Node> getElementsByClassName(String classNames) => _blink.Native_Document_getElementsByClassName_Callback(this, classNames);
@DomName('Document.getElementsByName')
@DocsEditable()
List<Node> getElementsByName(String elementName) => _blink.Native_Document_getElementsByName_Callback(this, elementName);
@DomName('Document.getElementsByTagName')
@DocsEditable()
List<Node> getElementsByTagName(String localName) => _blink.Native_Document_getElementsByTagName_Callback(this, localName);
Node importNode(Node node, [bool deep]) => _blink.Native_Document_importNode(this, node, deep);
@DomName('Document.queryCommandEnabled')
@DocsEditable()
bool queryCommandEnabled(String command) => _blink.Native_Document_queryCommandEnabled_Callback(this, command);
@DomName('Document.queryCommandIndeterm')
@DocsEditable()
bool queryCommandIndeterm(String command) => _blink.Native_Document_queryCommandIndeterm_Callback(this, command);
@DomName('Document.queryCommandState')
@DocsEditable()
bool queryCommandState(String command) => _blink.Native_Document_queryCommandState_Callback(this, command);
@DomName('Document.queryCommandSupported')
@DocsEditable()
bool queryCommandSupported(String command) => _blink.Native_Document_queryCommandSupported_Callback(this, command);
@DomName('Document.queryCommandValue')
@DocsEditable()
String queryCommandValue(String command) => _blink.Native_Document_queryCommandValue_Callback(this, command);
/**
* Finds the first descendant element of this document that matches the
* specified group of selectors.
*
* Unless your webpage contains multiple documents, the top-level
* [querySelector]
* method behaves the same as this method, so you should use it instead to
* save typing a few characters.
*
* [selectors] should be a string using CSS selector syntax.
*
* var element1 = document.querySelector('.className');
* var element2 = document.querySelector('#id');
*
* For details about CSS selector syntax, see the
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
*/
@DomName('Document.querySelector')
@DocsEditable()
Element querySelector(String selectors) => _blink.Native_Document_querySelector_Callback(this, selectors);
@DomName('Document.querySelectorAll')
@DocsEditable()
List<Node> _querySelectorAll(String selectors) => _blink.Native_Document_querySelectorAll_Callback(this, selectors);
@DomName('Document.webkitExitFullscreen')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-exitfullscreen
void _webkitExitFullscreen() => _blink.Native_Document_webkitExitFullscreen_Callback(this);
@DomName('Document.webkitExitPointerLock')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Document-exitPointerLock-void
void _webkitExitPointerLock() => _blink.Native_Document_webkitExitPointerLock_Callback(this);
@DomName('Document.childElementCount')
@DocsEditable()
int get _childElementCount => _blink.Native_Document_childElementCount_Getter(this);
@DomName('Document.children')
@DocsEditable()
List<Node> get _children => _blink.Native_Document_children_Getter(this);
@DomName('Document.firstElementChild')
@DocsEditable()
Element get _firstElementChild => _blink.Native_Document_firstElementChild_Getter(this);
@DomName('Document.lastElementChild')
@DocsEditable()
Element get _lastElementChild => _blink.Native_Document_lastElementChild_Getter(this);
/// Stream of `abort` events handled by this [Document].
@DomName('Document.onabort')
@DocsEditable()
Stream<Event> get onAbort => Element.abortEvent.forTarget(this);
/// Stream of `beforecopy` events handled by this [Document].
@DomName('Document.onbeforecopy')
@DocsEditable()
Stream<Event> get onBeforeCopy => Element.beforeCopyEvent.forTarget(this);
/// Stream of `beforecut` events handled by this [Document].
@DomName('Document.onbeforecut')
@DocsEditable()
Stream<Event> get onBeforeCut => Element.beforeCutEvent.forTarget(this);
/// Stream of `beforepaste` events handled by this [Document].
@DomName('Document.onbeforepaste')
@DocsEditable()
Stream<Event> get onBeforePaste => Element.beforePasteEvent.forTarget(this);
/// Stream of `blur` events handled by this [Document].
@DomName('Document.onblur')
@DocsEditable()
Stream<Event> get onBlur => Element.blurEvent.forTarget(this);
/// Stream of `change` events handled by this [Document].
@DomName('Document.onchange')
@DocsEditable()
Stream<Event> get onChange => Element.changeEvent.forTarget(this);
/// Stream of `click` events handled by this [Document].
@DomName('Document.onclick')
@DocsEditable()
Stream<MouseEvent> get onClick => Element.clickEvent.forTarget(this);
/// Stream of `contextmenu` events handled by this [Document].
@DomName('Document.oncontextmenu')
@DocsEditable()
Stream<MouseEvent> get onContextMenu => Element.contextMenuEvent.forTarget(this);
/// Stream of `copy` events handled by this [Document].
@DomName('Document.oncopy')
@DocsEditable()
Stream<Event> get onCopy => Element.copyEvent.forTarget(this);
/// Stream of `cut` events handled by this [Document].
@DomName('Document.oncut')
@DocsEditable()
Stream<Event> get onCut => Element.cutEvent.forTarget(this);
/// Stream of `doubleclick` events handled by this [Document].
@DomName('Document.ondblclick')
@DocsEditable()
Stream<Event> get onDoubleClick => Element.doubleClickEvent.forTarget(this);
/// Stream of `drag` events handled by this [Document].
@DomName('Document.ondrag')
@DocsEditable()
Stream<MouseEvent> get onDrag => Element.dragEvent.forTarget(this);
/// Stream of `dragend` events handled by this [Document].
@DomName('Document.ondragend')
@DocsEditable()
Stream<MouseEvent> get onDragEnd => Element.dragEndEvent.forTarget(this);
/// Stream of `dragenter` events handled by this [Document].
@DomName('Document.ondragenter')
@DocsEditable()
Stream<MouseEvent> get onDragEnter => Element.dragEnterEvent.forTarget(this);
/// Stream of `dragleave` events handled by this [Document].
@DomName('Document.ondragleave')
@DocsEditable()
Stream<MouseEvent> get onDragLeave => Element.dragLeaveEvent.forTarget(this);
/// Stream of `dragover` events handled by this [Document].
@DomName('Document.ondragover')
@DocsEditable()
Stream<MouseEvent> get onDragOver => Element.dragOverEvent.forTarget(this);
/// Stream of `dragstart` events handled by this [Document].
@DomName('Document.ondragstart')
@DocsEditable()
Stream<MouseEvent> get onDragStart => Element.dragStartEvent.forTarget(this);
/// Stream of `drop` events handled by this [Document].
@DomName('Document.ondrop')
@DocsEditable()
Stream<MouseEvent> get onDrop => Element.dropEvent.forTarget(this);
/// Stream of `error` events handled by this [Document].
@DomName('Document.onerror')
@DocsEditable()
Stream<Event> get onError => Element.errorEvent.forTarget(this);
/// Stream of `focus` events handled by this [Document].
@DomName('Document.onfocus')
@DocsEditable()
Stream<Event> get onFocus => Element.focusEvent.forTarget(this);
/// Stream of `input` events handled by this [Document].
@DomName('Document.oninput')
@DocsEditable()
Stream<Event> get onInput => Element.inputEvent.forTarget(this);
/// Stream of `invalid` events handled by this [Document].
@DomName('Document.oninvalid')
@DocsEditable()
Stream<Event> get onInvalid => Element.invalidEvent.forTarget(this);
/// Stream of `keydown` events handled by this [Document].
@DomName('Document.onkeydown')
@DocsEditable()
Stream<KeyboardEvent> get onKeyDown => Element.keyDownEvent.forTarget(this);
/// Stream of `keypress` events handled by this [Document].
@DomName('Document.onkeypress')
@DocsEditable()
Stream<KeyboardEvent> get onKeyPress => Element.keyPressEvent.forTarget(this);
/// Stream of `keyup` events handled by this [Document].
@DomName('Document.onkeyup')
@DocsEditable()
Stream<KeyboardEvent> get onKeyUp => Element.keyUpEvent.forTarget(this);
/// Stream of `load` events handled by this [Document].
@DomName('Document.onload')
@DocsEditable()
Stream<Event> get onLoad => Element.loadEvent.forTarget(this);
/// Stream of `mousedown` events handled by this [Document].
@DomName('Document.onmousedown')
@DocsEditable()
Stream<MouseEvent> get onMouseDown => Element.mouseDownEvent.forTarget(this);
/// Stream of `mouseenter` events handled by this [Document].
@DomName('Document.onmouseenter')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onMouseEnter => Element.mouseEnterEvent.forTarget(this);
/// Stream of `mouseleave` events handled by this [Document].
@DomName('Document.onmouseleave')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onMouseLeave => Element.mouseLeaveEvent.forTarget(this);
/// Stream of `mousemove` events handled by this [Document].
@DomName('Document.onmousemove')
@DocsEditable()
Stream<MouseEvent> get onMouseMove => Element.mouseMoveEvent.forTarget(this);
/// Stream of `mouseout` events handled by this [Document].
@DomName('Document.onmouseout')
@DocsEditable()
Stream<MouseEvent> get onMouseOut => Element.mouseOutEvent.forTarget(this);
/// Stream of `mouseover` events handled by this [Document].
@DomName('Document.onmouseover')
@DocsEditable()
Stream<MouseEvent> get onMouseOver => Element.mouseOverEvent.forTarget(this);
/// Stream of `mouseup` events handled by this [Document].
@DomName('Document.onmouseup')
@DocsEditable()
Stream<MouseEvent> get onMouseUp => Element.mouseUpEvent.forTarget(this);
/// Stream of `mousewheel` events handled by this [Document].
@DomName('Document.onmousewheel')
@DocsEditable()
Stream<WheelEvent> get onMouseWheel => Element.mouseWheelEvent.forTarget(this);
/// Stream of `paste` events handled by this [Document].
@DomName('Document.onpaste')
@DocsEditable()
Stream<Event> get onPaste => Element.pasteEvent.forTarget(this);
/// Stream of `readystatechange` events handled by this [Document].
@DomName('Document.onreadystatechange')
@DocsEditable()
Stream<Event> get onReadyStateChange => readyStateChangeEvent.forTarget(this);
/// Stream of `reset` events handled by this [Document].
@DomName('Document.onreset')
@DocsEditable()
Stream<Event> get onReset => Element.resetEvent.forTarget(this);
@DomName('Document.onresize')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onResize => Element.resizeEvent.forTarget(this);
/// Stream of `scroll` events handled by this [Document].
@DomName('Document.onscroll')
@DocsEditable()
Stream<Event> get onScroll => Element.scrollEvent.forTarget(this);
/// Stream of `search` events handled by this [Document].
@DomName('Document.onsearch')
@DocsEditable()
// http://www.w3.org/TR/html-markup/input.search.html
@Experimental()
Stream<Event> get onSearch => Element.searchEvent.forTarget(this);
/// Stream of `securitypolicyviolation` events handled by this [Document].
@DomName('Document.onsecuritypolicyviolation')
@DocsEditable()
// https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#widl-Document-onsecuritypolicyviolation
@Experimental()
Stream<SecurityPolicyViolationEvent> get onSecurityPolicyViolation => securityPolicyViolationEvent.forTarget(this);
/// Stream of `select` events handled by this [Document].
@DomName('Document.onselect')
@DocsEditable()
Stream<Event> get onSelect => Element.selectEvent.forTarget(this);
/// Stream of `selectionchange` events handled by this [Document].
@DomName('Document.onselectionchange')
@DocsEditable()
Stream<Event> get onSelectionChange => selectionChangeEvent.forTarget(this);
/// Stream of `selectstart` events handled by this [Document].
@DomName('Document.onselectstart')
@DocsEditable()
Stream<Event> get onSelectStart => Element.selectStartEvent.forTarget(this);
/// Stream of `submit` events handled by this [Document].
@DomName('Document.onsubmit')
@DocsEditable()
Stream<Event> get onSubmit => Element.submitEvent.forTarget(this);
/// Stream of `touchcancel` events handled by this [Document].
@DomName('Document.ontouchcancel')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
Stream<TouchEvent> get onTouchCancel => Element.touchCancelEvent.forTarget(this);
/// Stream of `touchend` events handled by this [Document].
@DomName('Document.ontouchend')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
Stream<TouchEvent> get onTouchEnd => Element.touchEndEvent.forTarget(this);
/// Stream of `touchmove` events handled by this [Document].
@DomName('Document.ontouchmove')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
Stream<TouchEvent> get onTouchMove => Element.touchMoveEvent.forTarget(this);
/// Stream of `touchstart` events handled by this [Document].
@DomName('Document.ontouchstart')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
Stream<TouchEvent> get onTouchStart => Element.touchStartEvent.forTarget(this);
/// Stream of `fullscreenchange` events handled by this [Document].
@DomName('Document.onwebkitfullscreenchange')
@DocsEditable()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
@Experimental()
Stream<Event> get onFullscreenChange => Element.fullscreenChangeEvent.forTarget(this);
/// Stream of `fullscreenerror` events handled by this [Document].
@DomName('Document.onwebkitfullscreenerror')
@DocsEditable()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
@Experimental()
Stream<Event> get onFullscreenError => Element.fullscreenErrorEvent.forTarget(this);
/// Stream of `pointerlockchange` events handled by this [Document].
@DomName('Document.onwebkitpointerlockchange')
@DocsEditable()
// https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Document-onpointerlockchange
@Experimental()
Stream<Event> get onPointerLockChange => pointerLockChangeEvent.forTarget(this);
/// Stream of `pointerlockerror` events handled by this [Document].
@DomName('Document.onwebkitpointerlockerror')
@DocsEditable()
// https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Document-onpointerlockerror
@Experimental()
Stream<Event> get onPointerLockError => pointerLockErrorEvent.forTarget(this);
/**
* Finds all descendant elements of this document that match the specified
* group of selectors.
*
* Unless your webpage contains multiple documents, the top-level
* [querySelectorAll]
* method behaves the same as this method, so you should use it instead to
* save typing a few characters.
*
* [selectors] should be a string using CSS selector syntax.
*
* var items = document.querySelectorAll('.itemClassName');
*
* For details about CSS selector syntax, see the
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
*/
ElementList querySelectorAll(String selectors) {
return new _FrozenElementList._wrap(_querySelectorAll(selectors));
}
/**
* Alias for [querySelector]. Note this function is deprecated because its
* semantics will be changing in the future.
*/
@deprecated
@Experimental()
@DomName('Document.querySelector')
Element query(String relativeSelectors) => querySelector(relativeSelectors);
/**
* Alias for [querySelectorAll]. Note this function is deprecated because its
* semantics will be changing in the future.
*/
@deprecated
@Experimental()
@DomName('Document.querySelectorAll')
ElementList queryAll(String relativeSelectors) =>
querySelectorAll(relativeSelectors);
/// Checks if [registerElement] is supported on the current platform.
bool get supportsRegisterElement {
return true;
}
/// *Deprecated*: use [supportsRegisterElement] instead.
@deprecated
bool get supportsRegister => supportsRegisterElement;
@DomName('Document.createElement')
Element createElement(String tagName, [String typeExtension]) {
if (typeExtension != null) {
return _createElement(tagName, typeExtension);
} else {
// Fast-path for Dartium when typeExtension is not needed.
return _Utils.createElement(this, tagName);
}
}
}
// Copyright (c) 2011, 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.
@DomName('DocumentFragment')
class DocumentFragment extends Node implements ParentNode {
factory DocumentFragment() => document.createDocumentFragment();
factory DocumentFragment.html(String html,
{NodeValidator validator, NodeTreeSanitizer treeSanitizer}) {
return document.body.createFragment(html,
validator: validator, treeSanitizer: treeSanitizer);
}
factory DocumentFragment.svg(String svgContent,
{NodeValidator validator, NodeTreeSanitizer treeSanitizer}) {
return new svg.SvgSvgElement().createFragment(svgContent,
validator: validator, treeSanitizer: treeSanitizer);
}
HtmlCollection get _children => throw new UnimplementedError(
'Use _docChildren instead');
List<Element> _docChildren;
List<Element> get children {
if (_docChildren == null) {
_docChildren = new FilteredElementList(this);
}
return _docChildren;
}
void set children(List<Element> value) {
// Copy list first since we don't want liveness during iteration.
List copy = new List.from(value);
var children = this.children;
children.clear();
children.addAll(copy);
}
/**
* Finds all descendant elements of this document fragment that match the
* specified group of selectors.
*
* [selectors] should be a string using CSS selector syntax.
*
* var items = document.querySelectorAll('.itemClassName');
*
* For details about CSS selector syntax, see the
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
*/
ElementList querySelectorAll(String selectors) =>
new _FrozenElementList._wrap(_querySelectorAll(selectors));
String get innerHtml {
final e = new Element.tag("div");
e.append(this.clone(true));
return e.innerHtml;
}
void set innerHtml(String value) {
this.setInnerHtml(value);
}
void setInnerHtml(String html,
{NodeValidator validator, NodeTreeSanitizer treeSanitizer}) {
this.nodes.clear();
append(document.body.createFragment(
html, validator: validator, treeSanitizer: treeSanitizer));
}
/**
* Adds the specified text as a text node after the last child of this
* document fragment.
*/
void appendText(String text) {
this.append(new Text(text));
}
/**
* Parses the specified text as HTML and adds the resulting node after the
* last child of this document fragment.
*/
void appendHtml(String text) {
this.append(new DocumentFragment.html(text));
}
/**
* Alias for [querySelector]. Note this function is deprecated because its
* semantics will be changing in the future.
*/
@deprecated
@Experimental()
@DomName('DocumentFragment.querySelector')
Element query(String relativeSelectors) {
return querySelector(relativeSelectors);
}
/**
* Alias for [querySelectorAll]. Note this function is deprecated because its
* semantics will be changing in the future.
*/
@deprecated
@Experimental()
@DomName('DocumentFragment.querySelectorAll')
ElementList queryAll(String relativeSelectors) {
return querySelectorAll(relativeSelectors);
}
// To suppress missing implicit constructor warnings.
factory DocumentFragment._() { throw new UnsupportedError("Not supported"); }
/**
* Finds the first descendant element of this document fragment that matches
* the specified group of selectors.
*
* [selectors] should be a string using CSS selector syntax.
*
* var element1 = fragment.querySelector('.className');
* var element2 = fragment.querySelector('#id');
*
* For details about CSS selector syntax, see the
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
*/
@DomName('DocumentFragment.querySelector')
@DocsEditable()
Element querySelector(String selectors) => _blink.Native_DocumentFragment_querySelector_Callback(this, selectors);
@DomName('DocumentFragment.querySelectorAll')
@DocsEditable()
List<Node> _querySelectorAll(String selectors) => _blink.Native_DocumentFragment_querySelectorAll_Callback(this, selectors);
@DomName('DocumentFragment.childElementCount')
@DocsEditable()
int get _childElementCount => _blink.Native_DocumentFragment_childElementCount_Getter(this);
@DomName('DocumentFragment.firstElementChild')
@DocsEditable()
Element get _firstElementChild => _blink.Native_DocumentFragment_firstElementChild_Getter(this);
@DomName('DocumentFragment.lastElementChild')
@DocsEditable()
Element get _lastElementChild => _blink.Native_DocumentFragment_lastElementChild_Getter(this);
}
// 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.
@DocsEditable()
@DomName('DOMError')
class DomError extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DomError._() { throw new UnsupportedError("Not supported"); }
@DomName('DOMError.message')
@DocsEditable()
@Experimental() // untriaged
String get message => _blink.Native_DOMError_message_Getter(this);
@DomName('DOMError.name')
@DocsEditable()
String get name => _blink.Native_DOMError_name_Getter(this);
}
// Copyright (c) 2013, 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.
@DomName('DOMException')
@Unstable()
class DomException extends NativeFieldWrapperClass2 {
static const String INDEX_SIZE = 'IndexSizeError';
static const String HIERARCHY_REQUEST = 'HierarchyRequestError';
static const String WRONG_DOCUMENT = 'WrongDocumentError';
static const String INVALID_CHARACTER = 'InvalidCharacterError';
static const String NO_MODIFICATION_ALLOWED = 'NoModificationAllowedError';
static const String NOT_FOUND = 'NotFoundError';
static const String NOT_SUPPORTED = 'NotSupportedError';
static const String INVALID_STATE = 'InvalidStateError';
static const String SYNTAX = 'SyntaxError';
static const String INVALID_MODIFICATION = 'InvalidModificationError';
static const String NAMESPACE = 'NamespaceError';
static const String INVALID_ACCESS = 'InvalidAccessError';
static const String TYPE_MISMATCH = 'TypeMismatchError';
static const String SECURITY = 'SecurityError';
static const String NETWORK = 'NetworkError';
static const String ABORT = 'AbortError';
static const String URL_MISMATCH = 'URLMismatchError';
static const String QUOTA_EXCEEDED = 'QuotaExceededError';
static const String TIMEOUT = 'TimeoutError';
static const String INVALID_NODE_TYPE = 'InvalidNodeTypeError';
static const String DATA_CLONE = 'DataCloneError';
// To suppress missing implicit constructor warnings.
factory DomException._() { throw new UnsupportedError("Not supported"); }
@DomName('DOMException.message')
@DocsEditable()
String get message => _blink.Native_DOMException_message_Getter(this);
@DomName('DOMException.name')
@DocsEditable()
String get name => _blink.Native_DOMException_name_Getter(this);
@DomName('DOMException.toString')
@DocsEditable()
String toString() => _blink.Native_DOMException_toString_Callback(this);
}
// 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.
@DocsEditable()
@DomName('DOMImplementation')
class DomImplementation extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DomImplementation._() { throw new UnsupportedError("Not supported"); }
@DomName('DOMImplementation.createDocument')
@DocsEditable()
XmlDocument createDocument(String namespaceURI, String qualifiedName, _DocumentType doctype) => _blink.Native_DOMImplementation_createDocument_Callback(this, namespaceURI, qualifiedName, doctype);
@DomName('DOMImplementation.createDocumentType')
@DocsEditable()
_DocumentType createDocumentType(String qualifiedName, String publicId, String systemId) => _blink.Native_DOMImplementation_createDocumentType_Callback(this, qualifiedName, publicId, systemId);
@DomName('DOMImplementation.createHTMLDocument')
@DocsEditable()
HtmlDocument createHtmlDocument(String title) => _blink.Native_DOMImplementation_createHTMLDocument_Callback(this, title);
@DomName('DOMImplementation.hasFeature')
@DocsEditable()
bool hasFeature(String feature, String version) => _blink.Native_DOMImplementation_hasFeature_Callback(this, feature, version);
}
// 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.
@DocsEditable()
@DomName('DOMParser')
class DomParser extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DomParser._() { throw new UnsupportedError("Not supported"); }
@DomName('DOMParser.DOMParser')
@DocsEditable()
factory DomParser() => _blink.Native_DOMParser_DomParser();
@DomName('DOMParser.parseFromString')
@DocsEditable()
Document parseFromString(String str, String contentType) => _blink.Native_DOMParser_parseFromString_Callback(this, str, contentType);
}
// 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.
@DocsEditable()
@DomName('DOMSettableTokenList')
class DomSettableTokenList extends DomTokenList {
// To suppress missing implicit constructor warnings.
factory DomSettableTokenList._() { throw new UnsupportedError("Not supported"); }
@DomName('DOMSettableTokenList.value')
@DocsEditable()
String get value => _blink.Native_DOMSettableTokenList_value_Getter(this);
@DomName('DOMSettableTokenList.value')
@DocsEditable()
void set value(String value) => _blink.Native_DOMSettableTokenList_value_Setter(this, value);
@DomName('DOMSettableTokenList.__getter__')
@DocsEditable()
String __getter__(int index) => _blink.Native_DOMSettableTokenList___getter___Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('DOMStringList')
class DomStringList extends NativeFieldWrapperClass2 with ListMixin<String>, ImmutableListMixin<String> implements List<String> {
// To suppress missing implicit constructor warnings.
factory DomStringList._() { throw new UnsupportedError("Not supported"); }
@DomName('DOMStringList.length')
@DocsEditable()
int get length => _blink.Native_DOMStringList_length_Getter(this);
String operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_DOMStringList_NativeIndexed_Getter(this, index);
}
String _nativeIndexedGetter(int index) => _blink.Native_DOMStringList_NativeIndexed_Getter(this, index);
void operator[]=(int index, String value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<String> mixins.
// String is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
String get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
String get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
String get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
String elementAt(int index) => this[index];
// -- end List<String> mixins.
@DomName('DOMStringList.contains')
@DocsEditable()
bool contains(String string) => _blink.Native_DOMStringList_contains_Callback(this, string);
@DomName('DOMStringList.item')
@DocsEditable()
String item(int index) => _blink.Native_DOMStringList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('DOMStringMap')
abstract class DomStringMap extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DomStringMap._() { throw new UnsupportedError("Not supported"); }
bool __delete__(index_OR_name) => _blink.Native_DOMStringMap___delete__(this, index_OR_name);
String __getter__(index_OR_name) => _blink.Native_DOMStringMap___getter__(this, index_OR_name);
void __setter__(index_OR_name, String value) => _blink.Native_DOMStringMap___setter__(this, index_OR_name, value);
}
// 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.
@DocsEditable()
@DomName('DOMTokenList')
class DomTokenList extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory DomTokenList._() { throw new UnsupportedError("Not supported"); }
@DomName('DOMTokenList.length')
@DocsEditable()
int get length => _blink.Native_DOMTokenList_length_Getter(this);
@DomName('DOMTokenList.contains')
@DocsEditable()
bool contains(String token) => _blink.Native_DOMTokenList_contains_Callback(this, token);
@DomName('DOMTokenList.item')
@DocsEditable()
String item(int index) => _blink.Native_DOMTokenList_item_Callback(this, index);
@DomName('DOMTokenList.toString')
@DocsEditable()
String toString() => _blink.Native_DOMTokenList_toString_Callback(this);
bool toggle(String token, [bool force]) => _blink.Native_DOMTokenList_toggle(this, token, force);
}
// 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.
class _ChildrenElementList extends ListBase<Element>
implements NodeListWrapper {
// Raw Element.
final Element _element;
final HtmlCollection _childElements;
_ChildrenElementList._wrap(Element element)
: _childElements = element._children,
_element = element;
bool contains(Object element) => _childElements.contains(element);
bool get isEmpty {
return _element._firstElementChild == null;
}
int get length {
return _childElements.length;
}
Element operator [](int index) {
return _childElements[index];
}
void operator []=(int index, Element value) {
_element._replaceChild(value, _childElements[index]);
}
void set length(int newLength) {
// TODO(jacobr): remove children when length is reduced.
throw new UnsupportedError('Cannot resize element lists');
}
Element add(Element value) {
_element.append(value);
return value;
}
Iterator<Element> get iterator => toList().iterator;
void addAll(Iterable<Element> iterable) {
if (iterable is _ChildNodeListLazy) {
iterable = new List.from(iterable);
}
for (Element element in iterable) {
_element.append(element);
}
}
void sort([int compare(Element a, Element b)]) {
throw new UnsupportedError('Cannot sort element lists');
}
void shuffle([Random random]) {
throw new UnsupportedError('Cannot shuffle element lists');
}
void removeWhere(bool test(Element element)) {
_filter(test, false);
}
void retainWhere(bool test(Element element)) {
_filter(test, true);
}
void _filter(bool test(var element), bool retainMatching) {
var removed;
if (retainMatching) {
removed = _element.children.where((e) => !test(e));
} else {
removed = _element.children.where(test);
}
for (var e in removed) e.remove();
}
void setRange(int start, int end, Iterable<Element> iterable,
[int skipCount = 0]) {
throw new UnimplementedError();
}
void replaceRange(int start, int end, Iterable<Element> iterable) {
throw new UnimplementedError();
}
void fillRange(int start, int end, [Element fillValue]) {
throw new UnimplementedError();
}
bool remove(Object object) {
if (object is Element) {
Element element = object;
if (identical(element.parentNode, _element)) {
_element._removeChild(element);
return true;
}
}
return false;
}
void insert(int index, Element element) {
if (index < 0 || index > length) {
throw new RangeError.range(index, 0, length);
}
if (index == length) {
_element.append(element);
} else {
_element.insertBefore(element, this[index]);
}
}
void setAll(int index, Iterable<Element> iterable) {
throw new UnimplementedError();
}
void clear() {
_element._clearChildren();
}
Element removeAt(int index) {
final result = this[index];
if (result != null) {
_element._removeChild(result);
}
return result;
}
Element removeLast() {
final result = this.last;
if (result != null) {
_element._removeChild(result);
}
return result;
}
Element get first {
Element result = _element._firstElementChild;
if (result == null) throw new StateError("No elements");
return result;
}
Element get last {
Element result = _element._lastElementChild;
if (result == null) throw new StateError("No elements");
return result;
}
Element get single {
if (length > 1) throw new StateError("More than one element");
return first;
}
List<Node> get rawList => _childElements;
}
/**
* An immutable list containing HTML elements. This list contains some
* additional methods when compared to regular lists for ease of CSS
* manipulation on a group of elements.
*/
abstract class ElementList<T extends Element> extends ListBase<T> {
/**
* The union of all CSS classes applied to the elements in this list.
*
* This set makes it easy to add, remove or toggle (add if not present, remove
* if present) the classes applied to a collection of elements.
*
* htmlList.classes.add('selected');
* htmlList.classes.toggle('isOnline');
* htmlList.classes.remove('selected');
*/
CssClassSet get classes;
/** Replace the classes with `value` for every element in this list. */
set classes(Iterable<String> value);
/**
* Access the union of all [CssStyleDeclaration]s that are associated with an
* [ElementList].
*
* Grouping the style objects all together provides easy editing of specific
* properties of a collection of elements. Setting a specific property value
* will set that property in all [Element]s in the [ElementList]. Getting a
* specific property value will return the value of the property of the first
* element in the [ElementList].
*/
CssStyleDeclarationBase get style;
/**
* Access dimensions and position of the Elements in this list.
*
* Setting the height or width properties will set the height or width
* property for all elements in the list. This returns a rectangle with the
* dimenions actually available for content
* in this element, in pixels, regardless of this element's box-sizing
* property. Getting the height or width returns the height or width of the
* first Element in this list.
*
* Unlike [getBoundingClientRect], the dimensions of this rectangle
* will return the same numerical height if the element is hidden or not.
*/
@Experimental()
CssRect get contentEdge;
/**
* Access dimensions and position of the first Element's content + padding box
* in this list.
*
* This returns a rectangle with the dimenions actually available for content
* in this element, in pixels, regardless of this element's box-sizing
* property. Unlike [getBoundingClientRect], the dimensions of this rectangle
* will return the same numerical height if the element is hidden or not. This
* can be used to retrieve jQuery's `innerHeight` value for an element. This
* is also a rectangle equalling the dimensions of clientHeight and
* clientWidth.
*/
@Experimental()
CssRect get paddingEdge;
/**
* Access dimensions and position of the first Element's content + padding +
* border box in this list.
*
* This returns a rectangle with the dimenions actually available for content
* in this element, in pixels, regardless of this element's box-sizing
* property. Unlike [getBoundingClientRect], the dimensions of this rectangle
* will return the same numerical height if the element is hidden or not. This
* can be used to retrieve jQuery's `outerHeight` value for an element.
*/
@Experimental()
CssRect get borderEdge;
/**
* Access dimensions and position of the first Element's content + padding +
* border + margin box in this list.
*
* This returns a rectangle with the dimenions actually available for content
* in this element, in pixels, regardless of this element's box-sizing
* property. Unlike [getBoundingClientRect], the dimensions of this rectangle
* will return the same numerical height if the element is hidden or not. This
* can be used to retrieve jQuery's `outerHeight` value for an element.
*/
@Experimental()
CssRect get marginEdge;
/// Stream of `abort` events handled by this [Element].
@DomName('Element.onabort')
@DocsEditable()
ElementStream<Event> get onAbort;
/// Stream of `beforecopy` events handled by this [Element].
@DomName('Element.onbeforecopy')
@DocsEditable()
ElementStream<Event> get onBeforeCopy;
/// Stream of `beforecut` events handled by this [Element].
@DomName('Element.onbeforecut')
@DocsEditable()
ElementStream<Event> get onBeforeCut;
/// Stream of `beforepaste` events handled by this [Element].
@DomName('Element.onbeforepaste')
@DocsEditable()
ElementStream<Event> get onBeforePaste;
/// Stream of `blur` events handled by this [Element].
@DomName('Element.onblur')
@DocsEditable()
ElementStream<Event> get onBlur;
/// Stream of `change` events handled by this [Element].
@DomName('Element.onchange')
@DocsEditable()
ElementStream<Event> get onChange;
/// Stream of `click` events handled by this [Element].
@DomName('Element.onclick')
@DocsEditable()
ElementStream<MouseEvent> get onClick;
/// Stream of `contextmenu` events handled by this [Element].
@DomName('Element.oncontextmenu')
@DocsEditable()
ElementStream<MouseEvent> get onContextMenu;
/// Stream of `copy` events handled by this [Element].
@DomName('Element.oncopy')
@DocsEditable()
ElementStream<Event> get onCopy;
/// Stream of `cut` events handled by this [Element].
@DomName('Element.oncut')
@DocsEditable()
ElementStream<Event> get onCut;
/// Stream of `doubleclick` events handled by this [Element].
@DomName('Element.ondblclick')
@DocsEditable()
ElementStream<Event> get onDoubleClick;
/**
* A stream of `drag` events fired when this element currently being dragged.
*
* A `drag` event is added to this stream as soon as the drag begins.
* A `drag` event is also added to this stream at intervals while the drag
* operation is still ongoing.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondrag')
@DocsEditable()
ElementStream<MouseEvent> get onDrag;
/**
* A stream of `dragend` events fired when this element completes a drag
* operation.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragend')
@DocsEditable()
ElementStream<MouseEvent> get onDragEnd;
/**
* A stream of `dragenter` events fired when a dragged object is first dragged
* over this element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragenter')
@DocsEditable()
ElementStream<MouseEvent> get onDragEnter;
/**
* A stream of `dragleave` events fired when an object being dragged over this
* element leaves this element's target area.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragleave')
@DocsEditable()
ElementStream<MouseEvent> get onDragLeave;
/**
* A stream of `dragover` events fired when a dragged object is currently
* being dragged over this element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragover')
@DocsEditable()
ElementStream<MouseEvent> get onDragOver;
/**
* A stream of `dragstart` events fired when this element starts being
* dragged.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragstart')
@DocsEditable()
ElementStream<MouseEvent> get onDragStart;
/**
* A stream of `drop` events fired when a dragged object is dropped on this
* element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondrop')
@DocsEditable()
ElementStream<MouseEvent> get onDrop;
/// Stream of `error` events handled by this [Element].
@DomName('Element.onerror')
@DocsEditable()
ElementStream<Event> get onError;
/// Stream of `focus` events handled by this [Element].
@DomName('Element.onfocus')
@DocsEditable()
ElementStream<Event> get onFocus;
/// Stream of `input` events handled by this [Element].
@DomName('Element.oninput')
@DocsEditable()
ElementStream<Event> get onInput;
/// Stream of `invalid` events handled by this [Element].
@DomName('Element.oninvalid')
@DocsEditable()
ElementStream<Event> get onInvalid;
/// Stream of `keydown` events handled by this [Element].
@DomName('Element.onkeydown')
@DocsEditable()
ElementStream<KeyboardEvent> get onKeyDown;
/// Stream of `keypress` events handled by this [Element].
@DomName('Element.onkeypress')
@DocsEditable()
ElementStream<KeyboardEvent> get onKeyPress;
/// Stream of `keyup` events handled by this [Element].
@DomName('Element.onkeyup')
@DocsEditable()
ElementStream<KeyboardEvent> get onKeyUp;
/// Stream of `load` events handled by this [Element].
@DomName('Element.onload')
@DocsEditable()
ElementStream<Event> get onLoad;
/// Stream of `mousedown` events handled by this [Element].
@DomName('Element.onmousedown')
@DocsEditable()
ElementStream<MouseEvent> get onMouseDown;
/// Stream of `mouseenter` events handled by this [Element].
@DomName('Element.onmouseenter')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseEnter;
/// Stream of `mouseleave` events handled by this [Element].
@DomName('Element.onmouseleave')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseLeave;
/// Stream of `mousemove` events handled by this [Element].
@DomName('Element.onmousemove')
@DocsEditable()
ElementStream<MouseEvent> get onMouseMove;
/// Stream of `mouseout` events handled by this [Element].
@DomName('Element.onmouseout')
@DocsEditable()
ElementStream<MouseEvent> get onMouseOut;
/// Stream of `mouseover` events handled by this [Element].
@DomName('Element.onmouseover')
@DocsEditable()
ElementStream<MouseEvent> get onMouseOver;
/// Stream of `mouseup` events handled by this [Element].
@DomName('Element.onmouseup')
@DocsEditable()
ElementStream<MouseEvent> get onMouseUp;
/// Stream of `mousewheel` events handled by this [Element].
@DomName('Element.onmousewheel')
@DocsEditable()
// http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents
@Experimental() // non-standard
ElementStream<WheelEvent> get onMouseWheel;
/// Stream of `paste` events handled by this [Element].
@DomName('Element.onpaste')
@DocsEditable()
ElementStream<Event> get onPaste;
/// Stream of `reset` events handled by this [Element].
@DomName('Element.onreset')
@DocsEditable()
ElementStream<Event> get onReset;
@DomName('Element.onresize')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onResize;
/// Stream of `scroll` events handled by this [Element].
@DomName('Element.onscroll')
@DocsEditable()
ElementStream<Event> get onScroll;
/// Stream of `search` events handled by this [Element].
@DomName('Element.onsearch')
@DocsEditable()
// http://www.w3.org/TR/html-markup/input.search.html
@Experimental()
ElementStream<Event> get onSearch;
/// Stream of `select` events handled by this [Element].
@DomName('Element.onselect')
@DocsEditable()
ElementStream<Event> get onSelect;
/// Stream of `selectstart` events handled by this [Element].
@DomName('Element.onselectstart')
@DocsEditable()
@Experimental() // nonstandard
ElementStream<Event> get onSelectStart;
/// Stream of `submit` events handled by this [Element].
@DomName('Element.onsubmit')
@DocsEditable()
ElementStream<Event> get onSubmit;
/// Stream of `touchcancel` events handled by this [Element].
@DomName('Element.ontouchcancel')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchCancel;
/// Stream of `touchend` events handled by this [Element].
@DomName('Element.ontouchend')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchEnd;
/// Stream of `touchenter` events handled by this [Element].
@DomName('Element.ontouchenter')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchEnter;
/// Stream of `touchleave` events handled by this [Element].
@DomName('Element.ontouchleave')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchLeave;
/// Stream of `touchmove` events handled by this [Element].
@DomName('Element.ontouchmove')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchMove;
/// Stream of `touchstart` events handled by this [Element].
@DomName('Element.ontouchstart')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchStart;
/// Stream of `transitionend` events handled by this [Element].
@DomName('Element.ontransitionend')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
ElementStream<TransitionEvent> get onTransitionEnd;
/// Stream of `fullscreenchange` events handled by this [Element].
@DomName('Element.onwebkitfullscreenchange')
@DocsEditable()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
@Experimental()
ElementStream<Event> get onFullscreenChange;
/// Stream of `fullscreenerror` events handled by this [Element].
@DomName('Element.onwebkitfullscreenerror')
@DocsEditable()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
@Experimental()
ElementStream<Event> get onFullscreenError;
}
// TODO(jacobr): this is an inefficient implementation but it is hard to see
// a better option given that we cannot quite force NodeList to be an
// ElementList as there are valid cases where a NodeList JavaScript object
// contains Node objects that are not Elements.
class _FrozenElementList<T extends Element> extends ListBase<T>
implements ElementList<T>, NodeListWrapper {
final List<Node> _nodeList;
// The subset of _nodeList that are Elements.
List<Element> _elementList;
_FrozenElementList._wrap(this._nodeList) {
_elementList = _nodeList.where((e) => e is Element).toList();
}
int get length => _nodeList.length;
Element operator [](int index) => _nodeList[index];
void operator []=(int index, Element value) {
throw new UnsupportedError('Cannot modify list');
}
void set length(int newLength) {
throw new UnsupportedError('Cannot modify list');
}
void sort([Comparator<Element> compare]) {
throw new UnsupportedError('Cannot sort list');
}
void shuffle([Random random]) {
throw new UnsupportedError('Cannot shuffle list');
}
Element get first => _nodeList.first;
Element get last => _nodeList.last;
Element get single => _nodeList.single;
CssClassSet get classes => new _MultiElementCssClassSet(_elementList);
CssStyleDeclarationBase get style =>
new _CssStyleDeclarationSet(_elementList);
void set classes(Iterable<String> value) {
_elementList.forEach((e) => e.classes = value);
}
CssRect get contentEdge => new _ContentCssListRect(_elementList);
CssRect get paddingEdge => _elementList.first.paddingEdge;
CssRect get borderEdge => _elementList.first.borderEdge;
CssRect get marginEdge => _elementList.first.marginEdge;
List<Node> get rawList => _nodeList;
/// Stream of `abort` events handled by this [Element].
@DomName('Element.onabort')
@DocsEditable()
ElementStream<Event> get onAbort => Element.abortEvent._forElementList(this);
/// Stream of `beforecopy` events handled by this [Element].
@DomName('Element.onbeforecopy')
@DocsEditable()
ElementStream<Event> get onBeforeCopy => Element.beforeCopyEvent._forElementList(this);
/// Stream of `beforecut` events handled by this [Element].
@DomName('Element.onbeforecut')
@DocsEditable()
ElementStream<Event> get onBeforeCut => Element.beforeCutEvent._forElementList(this);
/// Stream of `beforepaste` events handled by this [Element].
@DomName('Element.onbeforepaste')
@DocsEditable()
ElementStream<Event> get onBeforePaste => Element.beforePasteEvent._forElementList(this);
/// Stream of `blur` events handled by this [Element].
@DomName('Element.onblur')
@DocsEditable()
ElementStream<Event> get onBlur => Element.blurEvent._forElementList(this);
/// Stream of `change` events handled by this [Element].
@DomName('Element.onchange')
@DocsEditable()
ElementStream<Event> get onChange => Element.changeEvent._forElementList(this);
/// Stream of `click` events handled by this [Element].
@DomName('Element.onclick')
@DocsEditable()
ElementStream<MouseEvent> get onClick => Element.clickEvent._forElementList(this);
/// Stream of `contextmenu` events handled by this [Element].
@DomName('Element.oncontextmenu')
@DocsEditable()
ElementStream<MouseEvent> get onContextMenu => Element.contextMenuEvent._forElementList(this);
/// Stream of `copy` events handled by this [Element].
@DomName('Element.oncopy')
@DocsEditable()
ElementStream<Event> get onCopy => Element.copyEvent._forElementList(this);
/// Stream of `cut` events handled by this [Element].
@DomName('Element.oncut')
@DocsEditable()
ElementStream<Event> get onCut => Element.cutEvent._forElementList(this);
/// Stream of `doubleclick` events handled by this [Element].
@DomName('Element.ondblclick')
@DocsEditable()
ElementStream<Event> get onDoubleClick => Element.doubleClickEvent._forElementList(this);
/**
* A stream of `drag` events fired when this element currently being dragged.
*
* A `drag` event is added to this stream as soon as the drag begins.
* A `drag` event is also added to this stream at intervals while the drag
* operation is still ongoing.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondrag')
@DocsEditable()
ElementStream<MouseEvent> get onDrag => Element.dragEvent._forElementList(this);
/**
* A stream of `dragend` events fired when this element completes a drag
* operation.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragend')
@DocsEditable()
ElementStream<MouseEvent> get onDragEnd => Element.dragEndEvent._forElementList(this);
/**
* A stream of `dragenter` events fired when a dragged object is first dragged
* over this element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragenter')
@DocsEditable()
ElementStream<MouseEvent> get onDragEnter => Element.dragEnterEvent._forElementList(this);
/**
* A stream of `dragleave` events fired when an object being dragged over this
* element leaves this element's target area.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragleave')
@DocsEditable()
ElementStream<MouseEvent> get onDragLeave => Element.dragLeaveEvent._forElementList(this);
/**
* A stream of `dragover` events fired when a dragged object is currently
* being dragged over this element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragover')
@DocsEditable()
ElementStream<MouseEvent> get onDragOver => Element.dragOverEvent._forElementList(this);
/**
* A stream of `dragstart` events fired when this element starts being
* dragged.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragstart')
@DocsEditable()
ElementStream<MouseEvent> get onDragStart => Element.dragStartEvent._forElementList(this);
/**
* A stream of `drop` events fired when a dragged object is dropped on this
* element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondrop')
@DocsEditable()
ElementStream<MouseEvent> get onDrop => Element.dropEvent._forElementList(this);
/// Stream of `error` events handled by this [Element].
@DomName('Element.onerror')
@DocsEditable()
ElementStream<Event> get onError => Element.errorEvent._forElementList(this);
/// Stream of `focus` events handled by this [Element].
@DomName('Element.onfocus')
@DocsEditable()
ElementStream<Event> get onFocus => Element.focusEvent._forElementList(this);
/// Stream of `input` events handled by this [Element].
@DomName('Element.oninput')
@DocsEditable()
ElementStream<Event> get onInput => Element.inputEvent._forElementList(this);
/// Stream of `invalid` events handled by this [Element].
@DomName('Element.oninvalid')
@DocsEditable()
ElementStream<Event> get onInvalid => Element.invalidEvent._forElementList(this);
/// Stream of `keydown` events handled by this [Element].
@DomName('Element.onkeydown')
@DocsEditable()
ElementStream<KeyboardEvent> get onKeyDown => Element.keyDownEvent._forElementList(this);
/// Stream of `keypress` events handled by this [Element].
@DomName('Element.onkeypress')
@DocsEditable()
ElementStream<KeyboardEvent> get onKeyPress => Element.keyPressEvent._forElementList(this);
/// Stream of `keyup` events handled by this [Element].
@DomName('Element.onkeyup')
@DocsEditable()
ElementStream<KeyboardEvent> get onKeyUp => Element.keyUpEvent._forElementList(this);
/// Stream of `load` events handled by this [Element].
@DomName('Element.onload')
@DocsEditable()
ElementStream<Event> get onLoad => Element.loadEvent._forElementList(this);
/// Stream of `mousedown` events handled by this [Element].
@DomName('Element.onmousedown')
@DocsEditable()
ElementStream<MouseEvent> get onMouseDown => Element.mouseDownEvent._forElementList(this);
/// Stream of `mouseenter` events handled by this [Element].
@DomName('Element.onmouseenter')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseEnter => Element.mouseEnterEvent._forElementList(this);
/// Stream of `mouseleave` events handled by this [Element].
@DomName('Element.onmouseleave')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseLeave => Element.mouseLeaveEvent._forElementList(this);
/// Stream of `mousemove` events handled by this [Element].
@DomName('Element.onmousemove')
@DocsEditable()
ElementStream<MouseEvent> get onMouseMove => Element.mouseMoveEvent._forElementList(this);
/// Stream of `mouseout` events handled by this [Element].
@DomName('Element.onmouseout')
@DocsEditable()
ElementStream<MouseEvent> get onMouseOut => Element.mouseOutEvent._forElementList(this);
/// Stream of `mouseover` events handled by this [Element].
@DomName('Element.onmouseover')
@DocsEditable()
ElementStream<MouseEvent> get onMouseOver => Element.mouseOverEvent._forElementList(this);
/// Stream of `mouseup` events handled by this [Element].
@DomName('Element.onmouseup')
@DocsEditable()
ElementStream<MouseEvent> get onMouseUp => Element.mouseUpEvent._forElementList(this);
/// Stream of `mousewheel` events handled by this [Element].
@DomName('Element.onmousewheel')
@DocsEditable()
// http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents
@Experimental() // non-standard
ElementStream<WheelEvent> get onMouseWheel => Element.mouseWheelEvent._forElementList(this);
/// Stream of `paste` events handled by this [Element].
@DomName('Element.onpaste')
@DocsEditable()
ElementStream<Event> get onPaste => Element.pasteEvent._forElementList(this);
/// Stream of `reset` events handled by this [Element].
@DomName('Element.onreset')
@DocsEditable()
ElementStream<Event> get onReset => Element.resetEvent._forElementList(this);
@DomName('Element.onresize')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onResize => Element.resizeEvent._forElementList(this);
/// Stream of `scroll` events handled by this [Element].
@DomName('Element.onscroll')
@DocsEditable()
ElementStream<Event> get onScroll => Element.scrollEvent._forElementList(this);
/// Stream of `search` events handled by this [Element].
@DomName('Element.onsearch')
@DocsEditable()
// http://www.w3.org/TR/html-markup/input.search.html
@Experimental()
ElementStream<Event> get onSearch => Element.searchEvent._forElementList(this);
/// Stream of `select` events handled by this [Element].
@DomName('Element.onselect')
@DocsEditable()
ElementStream<Event> get onSelect => Element.selectEvent._forElementList(this);
/// Stream of `selectstart` events handled by this [Element].
@DomName('Element.onselectstart')
@DocsEditable()
@Experimental() // nonstandard
ElementStream<Event> get onSelectStart => Element.selectStartEvent._forElementList(this);
/// Stream of `submit` events handled by this [Element].
@DomName('Element.onsubmit')
@DocsEditable()
ElementStream<Event> get onSubmit => Element.submitEvent._forElementList(this);
/// Stream of `touchcancel` events handled by this [Element].
@DomName('Element.ontouchcancel')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchCancel => Element.touchCancelEvent._forElementList(this);
/// Stream of `touchend` events handled by this [Element].
@DomName('Element.ontouchend')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchEnd => Element.touchEndEvent._forElementList(this);
/// Stream of `touchenter` events handled by this [Element].
@DomName('Element.ontouchenter')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchEnter => Element.touchEnterEvent._forElementList(this);
/// Stream of `touchleave` events handled by this [Element].
@DomName('Element.ontouchleave')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchLeave => Element.touchLeaveEvent._forElementList(this);
/// Stream of `touchmove` events handled by this [Element].
@DomName('Element.ontouchmove')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchMove => Element.touchMoveEvent._forElementList(this);
/// Stream of `touchstart` events handled by this [Element].
@DomName('Element.ontouchstart')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchStart => Element.touchStartEvent._forElementList(this);
/// Stream of `transitionend` events handled by this [Element].
@DomName('Element.ontransitionend')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
ElementStream<TransitionEvent> get onTransitionEnd => Element.transitionEndEvent._forElementList(this);
/// Stream of `fullscreenchange` events handled by this [Element].
@DomName('Element.onwebkitfullscreenchange')
@DocsEditable()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
@Experimental()
ElementStream<Event> get onFullscreenChange => Element.fullscreenChangeEvent._forElementList(this);
/// Stream of `fullscreenerror` events handled by this [Element].
@DomName('Element.onwebkitfullscreenerror')
@DocsEditable()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
@Experimental()
ElementStream<Event> get onFullscreenError => Element.fullscreenErrorEvent._forElementList(this);
}
@DocsEditable()
/**
* An abstract class, which all HTML elements extend.
*/
@DomName('Element')
abstract class Element extends Node implements GlobalEventHandlers, ParentNode, ChildNode {
/**
* Creates an HTML element from a valid fragment of HTML.
*
* var element = new Element.html('<div class="foo">content</div>');
*
* The HTML fragment should contain only one single root element, any
* leading or trailing text nodes will be removed.
*
* The HTML fragment is parsed as if it occurred within the context of a
* `<body>` tag, this means that special elements such as `<caption>` which
* must be parsed within the scope of a `<table>` element will be dropped. Use
* [createFragment] to parse contextual HTML fragments.
*
* Unless a validator is provided this will perform the default validation
* and remove all scriptable elements and attributes.
*
* See also:
*
* * [NodeValidator]
*
*/
factory Element.html(String html,
{NodeValidator validator, NodeTreeSanitizer treeSanitizer}) {
var fragment = document.body.createFragment(html, validator: validator,
treeSanitizer: treeSanitizer);
return fragment.nodes.where((e) => e is Element).single;
}
/**
* Custom element creation constructor.
*
* This constructor is used by the DOM when a custom element has been
* created. It can only be invoked by subclasses of Element from
* that classes created constructor.
*
* class CustomElement extends Element {
* factory CustomElement() => new Element.tag('x-custom');
*
* CustomElement.created() : super.created() {
* // Perform any element initialization.
* }
* }
* document.registerElement('x-custom', CustomElement);
*/
Element.created() : super._created() {
// Validate that this is a custom element & perform any additional
// initialization.
_initializeCustomElement(this);
}
/**
* Creates the HTML element specified by the tag name.
*
* This is similar to [Document.createElement].
* [tag] should be a valid HTML tag name. If [tag] is an unknown tag then
* this will create an [UnknownElement].
*
* var divElement = new Element.tag('div');
* print(divElement is DivElement); // 'true'
* var myElement = new Element.tag('unknownTag');
* print(myElement is UnknownElement); // 'true'
*
* For standard elements it is more preferable to use the type constructors:
* var element = new DivElement();
*
* See also:
*
* * [isTagSupported]
*/
factory Element.tag(String tag, [String typeExtention]) =>
_ElementFactoryProvider.createElement_tag(tag, typeExtention);
/// Creates a new `<a>` element.
///
/// This is identical to calling `new Element.tag('a')`.
factory Element.a() => new Element.tag('a');
/// Creates a new `<article>` element.
///
/// This is identical to calling `new Element.tag('article')`.
factory Element.article() => new Element.tag('article');
/// Creates a new `<aside>` element.
///
/// This is identical to calling `new Element.tag('aside')`.
factory Element.aside() => new Element.tag('aside');
/// Creates a new `<audio>` element.
///
/// This is identical to calling `new Element.tag('audio')`.
factory Element.audio() => new Element.tag('audio');
/// Creates a new `<br>` element.
///
/// This is identical to calling `new Element.tag('br')`.
factory Element.br() => new Element.tag('br');
/// Creates a new `<canvas>` element.
///
/// This is identical to calling `new Element.tag('canvas')`.
factory Element.canvas() => new Element.tag('canvas');
/// Creates a new `<div>` element.
///
/// This is identical to calling `new Element.tag('div')`.
factory Element.div() => new Element.tag('div');
/// Creates a new `<footer>` element.
///
/// This is identical to calling `new Element.tag('footer')`.
factory Element.footer() => new Element.tag('footer');
/// Creates a new `<header>` element.
///
/// This is identical to calling `new Element.tag('header')`.
factory Element.header() => new Element.tag('header');
/// Creates a new `<hr>` element.
///
/// This is identical to calling `new Element.tag('hr')`.
factory Element.hr() => new Element.tag('hr');
/// Creates a new `<iframe>` element.
///
/// This is identical to calling `new Element.tag('iframe')`.
factory Element.iframe() => new Element.tag('iframe');
/// Creates a new `<img>` element.
///
/// This is identical to calling `new Element.tag('img')`.
factory Element.img() => new Element.tag('img');
/// Creates a new `<li>` element.
///
/// This is identical to calling `new Element.tag('li')`.
factory Element.li() => new Element.tag('li');
/// Creates a new `<nav>` element.
///
/// This is identical to calling `new Element.tag('nav')`.
factory Element.nav() => new Element.tag('nav');
/// Creates a new `<ol>` element.
///
/// This is identical to calling `new Element.tag('ol')`.
factory Element.ol() => new Element.tag('ol');
/// Creates a new `<option>` element.
///
/// This is identical to calling `new Element.tag('option')`.
factory Element.option() => new Element.tag('option');
/// Creates a new `<p>` element.
///
/// This is identical to calling `new Element.tag('p')`.
factory Element.p() => new Element.tag('p');
/// Creates a new `<pre>` element.
///
/// This is identical to calling `new Element.tag('pre')`.
factory Element.pre() => new Element.tag('pre');
/// Creates a new `<section>` element.
///
/// This is identical to calling `new Element.tag('section')`.
factory Element.section() => new Element.tag('section');
/// Creates a new `<select>` element.
///
/// This is identical to calling `new Element.tag('select')`.
factory Element.select() => new Element.tag('select');
/// Creates a new `<span>` element.
///
/// This is identical to calling `new Element.tag('span')`.
factory Element.span() => new Element.tag('span');
/// Creates a new `<svg>` element.
///
/// This is identical to calling `new Element.tag('svg')`.
factory Element.svg() => new Element.tag('svg');
/// Creates a new `<table>` element.
///
/// This is identical to calling `new Element.tag('table')`.
factory Element.table() => new Element.tag('table');
/// Creates a new `<td>` element.
///
/// This is identical to calling `new Element.tag('td')`.
factory Element.td() => new Element.tag('td');
/// Creates a new `<textarea>` element.
///
/// This is identical to calling `new Element.tag('textarea')`.
factory Element.textarea() => new Element.tag('textarea');
/// Creates a new `<th>` element.
///
/// This is identical to calling `new Element.tag('th')`.
factory Element.th() => new Element.tag('th');
/// Creates a new `<tr>` element.
///
/// This is identical to calling `new Element.tag('tr')`.
factory Element.tr() => new Element.tag('tr');
/// Creates a new `<ul>` element.
///
/// This is identical to calling `new Element.tag('ul')`.
factory Element.ul() => new Element.tag('ul');
/// Creates a new `<video>` element.
///
/// This is identical to calling `new Element.tag('video')`.
factory Element.video() => new Element.tag('video');
/**
* All attributes on this element.
*
* Any modifications to the attribute map will automatically be applied to
* this element.
*
* This only includes attributes which are not in a namespace
* (such as 'xlink:href'), additional attributes can be accessed via
* [getNamespacedAttributes].
*/
Map<String, String> get attributes => new _ElementAttributeMap(this);
void set attributes(Map<String, String> value) {
Map<String, String> attributes = this.attributes;
attributes.clear();
for (String key in value.keys) {
attributes[key] = value[key];
}
}
/**
* List of the direct children of this element.
*
* This collection can be used to add and remove elements from the document.
*
* var item = new DivElement();
* item.text = 'Something';
* document.body.children.add(item) // Item is now displayed on the page.
* for (var element in document.body.children) {
* element.style.background = 'red'; // Turns every child of body red.
* }
*/
List<Element> get children => new _ChildrenElementList._wrap(this);
void set children(List<Element> value) {
// Copy list first since we don't want liveness during iteration.
List copy = new List.from(value);
var children = this.children;
children.clear();
children.addAll(copy);
}
/**
* Finds all descendent elements of this element that match the specified
* group of selectors.
*
* [selectors] should be a string using CSS selector syntax.
*
* var items = element.querySelectorAll('.itemClassName');
*
* For details about CSS selector syntax, see the
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
*/
@DomName('Element.querySelectorAll')
ElementList querySelectorAll(String selectors) =>
new _FrozenElementList._wrap(_querySelectorAll(selectors));
/**
* Alias for [querySelector]. Note this function is deprecated because its
* semantics will be changing in the future.
*/
@deprecated
@DomName('Element.querySelector')
@Experimental()
Element query(String relativeSelectors) => querySelector(relativeSelectors);
/**
* Alias for [querySelectorAll]. Note this function is deprecated because its
* semantics will be changing in the future.
*/
@deprecated
@DomName('Element.querySelectorAll')
@Experimental()
ElementList queryAll(String relativeSelectors) =>
querySelectorAll(relativeSelectors);
/**
* The set of CSS classes applied to this element.
*
* This set makes it easy to add, remove or toggle the classes applied to
* this element.
*
* element.classes.add('selected');
* element.classes.toggle('isOnline');
* element.classes.remove('selected');
*/
CssClassSet get classes => new _ElementCssClassSet(this);
void set classes(Iterable<String> value) {
CssClassSet classSet = classes;
classSet.clear();
classSet.addAll(value);
}
/**
* Allows access to all custom data attributes (data-*) set on this element.
*
* The keys for the map must follow these rules:
*
* * The name must not begin with 'xml'.
* * The name cannot contain a semi-colon (';').
* * The name cannot contain any capital letters.
*
* Any keys from markup will be converted to camel-cased keys in the map.
*
* For example, HTML specified as:
*
* <div data-my-random-value='value'></div>
*
* Would be accessed in Dart as:
*
* var value = element.dataset['myRandomValue'];
*
* See also:
*
* * [Custom data attributes](http://www.w3.org/TR/html5/global-attributes.html#custom-data-attribute)
*/
Map<String, String> get dataset =>
new _DataAttributeMap(attributes);
void set dataset(Map<String, String> value) {
final data = this.dataset;
data.clear();
for (String key in value.keys) {
data[key] = value[key];
}
}
/**
* Gets a map for manipulating the attributes of a particular namespace.
*
* This is primarily useful for SVG attributes such as xref:link.
*/
Map<String, String> getNamespacedAttributes(String namespace) {
return new _NamespacedAttributeMap(this, namespace);
}
/**
* The set of all CSS values applied to this element, including inherited
* and default values.
*
* The computedStyle contains values that are inherited from other
* sources, such as parent elements or stylesheets. This differs from the
* [style] property, which contains only the values specified directly on this
* element.
*
* PseudoElement can be values such as `::after`, `::before`, `::marker`,
* `::line-marker`.
*
* See also:
*
* * [CSS Inheritance and Cascade](http://docs.webplatform.org/wiki/tutorials/inheritance_and_cascade)
* * [Pseudo-elements](http://docs.webplatform.org/wiki/css/selectors/pseudo-elements)
*/
CssStyleDeclaration getComputedStyle([String pseudoElement]) {
if (pseudoElement == null) {
pseudoElement = '';
}
// TODO(jacobr): last param should be null, see b/5045788
return window._getComputedStyle(this, pseudoElement);
}
/**
* Gets the position of this element relative to the client area of the page.
*/
Rectangle get client => new Rectangle(clientLeft, clientTop, clientWidth,
clientHeight);
/**
* Gets the offset of this element relative to its offsetParent.
*/
Rectangle get offset => new Rectangle(offsetLeft, offsetTop, offsetWidth,
offsetHeight);
/**
* Adds the specified text after the last child of this element.
*/
void appendText(String text) {
this.insertAdjacentText('beforeend', text);
}
/**
* Parses the specified text as HTML and adds the resulting node after the
* last child of this element.
*/
void appendHtml(String text) {
this.insertAdjacentHtml('beforeend', text);
}
/**
* Checks to see if the tag name is supported by the current platform.
*
* The tag should be a valid HTML tag name.
*/
static bool isTagSupported(String tag) {
var e = _ElementFactoryProvider.createElement_tag(tag, null);
return e is Element && !(e is UnknownElement);
}
/**
* Called by the DOM when this element has been inserted into the live
* document.
*
* More information can be found in the
* [Custom Elements](http://w3c.github.io/webcomponents/spec/custom/#dfn-attached-callback)
* draft specification.
*/
@Experimental()
void attached() {
// For the deprecation period, call the old callback.
enteredView();
}
/**
* Called by the DOM when this element has been removed from the live
* document.
*
* More information can be found in the
* [Custom Elements](http://w3c.github.io/webcomponents/spec/custom/#dfn-detached-callback)
* draft specification.
*/
@Experimental()
void detached() {
// For the deprecation period, call the old callback.
leftView();
}
/** *Deprecated*: override [attached] instead. */
@Experimental()
@deprecated
void enteredView() {}
/** *Deprecated*: override [detached] instead. */
@Experimental()
@deprecated
void leftView() {}
/**
* Called by the DOM whenever an attribute on this has been changed.
*/
void attributeChanged(String name, String oldValue, String newValue) {}
// Hooks to support custom WebComponents.
Element _xtag;
/**
* Experimental support for [web components][wc]. This field stores a
* reference to the component implementation. It was inspired by Mozilla's
* [x-tags][] project. Please note: in the future it may be possible to
* `extend Element` from your class, in which case this field will be
* deprecated.
*
* If xtag has not been set, it will simply return `this` [Element].
*
* [wc]: http://dvcs.w3.org/hg/webcomponents/raw-file/tip/explainer/index.html
* [x-tags]: http://x-tags.org/
*/
// Note: return type is `dynamic` for convenience to suppress warnings when
// members of the component are used. The actual type is a subtype of Element.
get xtag => _xtag != null ? _xtag : this;
void set xtag(Element value) {
_xtag = value;
}
@DomName('Element.localName')
@DocsEditable()
String get localName => _localName;
/**
* A URI that identifies the XML namespace of this element.
*
* `null` if no namespace URI is specified.
*
* ## Other resources
*
* * [Node.namespaceURI]
* (http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSname) from W3C.
*/
@DomName('Element.namespaceUri')
String get namespaceUri => _namespaceUri;
/**
* The string representation of this element.
*
* This is equivalent to reading the [localName] property.
*/
String toString() => localName;
/**
* Scrolls this element into view.
*
* Only one of of the alignment options may be specified at a time.
*
* If no options are specified then this will attempt to scroll the minimum
* amount needed to bring the element into view.
*
* Note that alignCenter is currently only supported on WebKit platforms. If
* alignCenter is specified but not supported then this will fall back to
* alignTop.
*
* See also:
*
* * [scrollIntoView](http://docs.webplatform.org/wiki/dom/methods/scrollIntoView)
* * [scrollIntoViewIfNeeded](http://docs.webplatform.org/wiki/dom/methods/scrollIntoViewIfNeeded)
*/
void scrollIntoView([ScrollAlignment alignment]) {
var hasScrollIntoViewIfNeeded = true;
if (alignment == ScrollAlignment.TOP) {
this._scrollIntoView(true);
} else if (alignment == ScrollAlignment.BOTTOM) {
this._scrollIntoView(false);
} else if (hasScrollIntoViewIfNeeded) {
if (alignment == ScrollAlignment.CENTER) {
this._scrollIntoViewIfNeeded(true);
} else {
this._scrollIntoViewIfNeeded();
}
} else {
this._scrollIntoView();
}
}
/** Checks if this element or any of its parents match the CSS selectors. */
@Experimental()
bool matchesWithAncestors(String selectors) {
var elem = this;
do {
if (elem.matches(selectors)) return true;
elem = elem.parent;
} while(elem != null);
return false;
}
/**
* Access this element's content position.
*
* This returns a rectangle with the dimenions actually available for content
* in this element, in pixels, regardless of this element's box-sizing
* property. Unlike [getBoundingClientRect], the dimensions of this rectangle
* will return the same numerical height if the element is hidden or not.
*
* _Important_ _note_: use of this method _will_ perform CSS calculations that
* can trigger a browser reflow. Therefore, use of this property _during_ an
* animation frame is discouraged. See also:
* [Browser Reflow](https://developers.google.com/speed/articles/reflow)
*/
@Experimental()
CssRect get contentEdge => new _ContentCssRect(this);
/**
* Access the dimensions and position of this element's content + padding box.
*
* This returns a rectangle with the dimenions actually available for content
* in this element, in pixels, regardless of this element's box-sizing
* property. Unlike [getBoundingClientRect], the dimensions of this rectangle
* will return the same numerical height if the element is hidden or not. This
* can be used to retrieve jQuery's
* [innerHeight](http://api.jquery.com/innerHeight/) value for an element.
* This is also a rectangle equalling the dimensions of clientHeight and
* clientWidth.
*
* _Important_ _note_: use of this method _will_ perform CSS calculations that
* can trigger a browser reflow. Therefore, use of this property _during_ an
* animation frame is discouraged. See also:
* [Browser Reflow](https://developers.google.com/speed/articles/reflow)
*/
@Experimental()
CssRect get paddingEdge => new _PaddingCssRect(this);
/**
* Access the dimensions and position of this element's content + padding +
* border box.
*
* This returns a rectangle with the dimenions actually available for content
* in this element, in pixels, regardless of this element's box-sizing
* property. Unlike [getBoundingClientRect], the dimensions of this rectangle
* will return the same numerical height if the element is hidden or not. This
* can be used to retrieve jQuery's
* [outerHeight](http://api.jquery.com/outerHeight/) value for an element.
*
* _Important_ _note_: use of this method _will_ perform CSS calculations that
* can trigger a browser reflow. Therefore, use of this property _during_ an
* animation frame is discouraged. See also:
* [Browser Reflow](https://developers.google.com/speed/articles/reflow)
*/
@Experimental()
CssRect get borderEdge => new _BorderCssRect(this);
/**
* Access the dimensions and position of this element's content + padding +
* border + margin box.
*
* This returns a rectangle with the dimenions actually available for content
* in this element, in pixels, regardless of this element's box-sizing
* property. Unlike [getBoundingClientRect], the dimensions of this rectangle
* will return the same numerical height if the element is hidden or not. This
* can be used to retrieve jQuery's
* [outerHeight](http://api.jquery.com/outerHeight/) value for an element.
*
* _Important_ _note_: use of this method will perform CSS calculations that
* can trigger a browser reflow. Therefore, use of this property _during_ an
* animation frame is discouraged. See also:
* [Browser Reflow](https://developers.google.com/speed/articles/reflow)
*/
@Experimental()
CssRect get marginEdge => new _MarginCssRect(this);
/**
* Provides the coordinates of the element relative to the top of the
* document.
*
* This method is the Dart equivalent to jQuery's
* [offset](http://api.jquery.com/offset/) method.
*/
@Experimental()
Point get documentOffset => offsetTo(document.documentElement);
/**
* Provides the offset of this element's [borderEdge] relative to the
* specified [parent].
*
* This is the Dart equivalent of jQuery's
* [position](http://api.jquery.com/position/) method. Unlike jQuery's
* position, however, [parent] can be any parent element of `this`,
* rather than only `this`'s immediate [offsetParent]. If the specified
* element is _not_ an offset parent or transitive offset parent to this
* element, an [ArgumentError] is thrown.
*/
@Experimental()
Point offsetTo(Element parent) {
return Element._offsetToHelper(this, parent);
}
static Point _offsetToHelper(Element current, Element parent) {
// We're hopping from _offsetParent_ to offsetParent (not just parent), so
// offsetParent, "tops out" at BODY. But people could conceivably pass in
// the document.documentElement and I want it to return an absolute offset,
// so we have the special case checking for HTML.
bool foundAsParent = identical(current, parent) || parent.tagName == 'HTML';
if (current == null || identical(current, parent)) {
if (foundAsParent) return new Point(0, 0);
throw new ArgumentError("Specified element is not a transitive offset "
"parent of this element.");
}
Element parentOffset = current.offsetParent;
Point p = Element._offsetToHelper(parentOffset, parent);
return new Point(p.x + current.offsetLeft, p.y + current.offsetTop);
}
static HtmlDocument _parseDocument;
static Range _parseRange;
static NodeValidatorBuilder _defaultValidator;
static _ValidatingTreeSanitizer _defaultSanitizer;
/**
* Create a DocumentFragment from the HTML fragment and ensure that it follows
* the sanitization rules specified by the validator or treeSanitizer.
*
* If the default validation behavior is too restrictive then a new
* NodeValidator should be created, either extending or wrapping a default
* validator and overriding the validation APIs.
*
* The treeSanitizer is used to walk the generated node tree and sanitize it.
* A custom treeSanitizer can also be provided to perform special validation
* rules but since the API is more complex to implement this is discouraged.
*
* The returned tree is guaranteed to only contain nodes and attributes which
* are allowed by the provided validator.
*
* See also:
*
* * [NodeValidator]
* * [NodeTreeSanitizer]
*/
DocumentFragment createFragment(String html,
{NodeValidator validator, NodeTreeSanitizer treeSanitizer}) {
if (treeSanitizer == null) {
if (validator == null) {
if (_defaultValidator == null) {
_defaultValidator = new NodeValidatorBuilder.common();
}
validator = _defaultValidator;
}
if (_defaultSanitizer == null) {
_defaultSanitizer = new _ValidatingTreeSanitizer(validator);
} else {
_defaultSanitizer.validator = validator;
}
treeSanitizer = _defaultSanitizer;
} else if (validator != null) {
throw new ArgumentError(
'validator can only be passed if treeSanitizer is null');
}
if (_parseDocument == null) {
_parseDocument = document.implementation.createHtmlDocument('');
_parseRange = _parseDocument.createRange();
// Workaround for Chrome bug 229142- URIs are not resolved in new doc.
var base = _parseDocument.createElement('base');
base.href = document.baseUri;
_parseDocument.head.append(base);
}
var contextElement;
if (this is BodyElement) {
contextElement = _parseDocument.body;
} else {
contextElement = _parseDocument.createElement(tagName);
_parseDocument.body.append(contextElement);
}
var fragment;
if (Range.supportsCreateContextualFragment) {
_parseRange.selectNodeContents(contextElement);
fragment = _parseRange.createContextualFragment(html);
} else {
contextElement._innerHtml = html;
fragment = _parseDocument.createDocumentFragment();
while (contextElement.firstChild != null) {
fragment.append(contextElement.firstChild);
}
}
if (contextElement != _parseDocument.body) {
contextElement.remove();
}
treeSanitizer.sanitizeTree(fragment);
// Copy the fragment over to the main document (fix for 14184)
document.adoptNode(fragment);
return fragment;
}
/**
* Parses the HTML fragment and sets it as the contents of this element.
*
* This uses the default sanitization behavior to sanitize the HTML fragment,
* use [setInnerHtml] to override the default behavior.
*/
void set innerHtml(String html) {
this.setInnerHtml(html);
}
/**
* Parses the HTML fragment and sets it as the contents of this element.
* This ensures that the generated content follows the sanitization rules
* specified by the validator or treeSanitizer.
*
* If the default validation behavior is too restrictive then a new
* NodeValidator should be created, either extending or wrapping a default
* validator and overriding the validation APIs.
*
* The treeSanitizer is used to walk the generated node tree and sanitize it.
* A custom treeSanitizer can also be provided to perform special validation
* rules but since the API is more complex to implement this is discouraged.
*
* The resulting tree is guaranteed to only contain nodes and attributes which
* are allowed by the provided validator.
*
* See also:
*
* * [NodeValidator]
* * [NodeTreeSanitizer]
*/
void setInnerHtml(String html,
{NodeValidator validator, NodeTreeSanitizer treeSanitizer}) {
text = null;
append(createFragment(
html, validator: validator, treeSanitizer: treeSanitizer));
}
String get innerHtml => _innerHtml;
/**
* This is an ease-of-use accessor for event streams which should only be
* used when an explicit accessor is not available.
*/
ElementEvents get on => new ElementEvents(this);
@DomName('Element.offsetHeight')
@DocsEditable()
int get offsetHeight => _blink.Native_Element_offsetHeight_Getter(this).round();
@DomName('Element.offsetLeft')
@DocsEditable()
int get offsetLeft => _blink.Native_Element_offsetLeft_Getter(this).round();
@DomName('Element.offsetTop')
@DocsEditable()
int get offsetTop => _blink.Native_Element_offsetTop_Getter(this).round();
@DomName('Element.offsetWidth')
@DocsEditable()
int get offsetWidth => _blink.Native_Element_offsetWidth_Getter(this).round();
@DomName('Element.clientHeight')
@DocsEditable()
int get clientHeight => _blink.Native_Element_clientHeight_Getter(this).round();
@DomName('Element.clientLeft')
@DocsEditable()
int get clientLeft => _blink.Native_Element_clientLeft_Getter(this).round();
@DomName('Element.clientTop')
@DocsEditable()
int get clientTop => _blink.Native_Element_clientTop_Getter(this).round();
@DomName('Element.clientWidth')
@DocsEditable()
int get clientWidth => _blink.Native_Element_clientWidth_Getter(this).round();
@DomName('Element.scrollHeight')
@DocsEditable()
int get scrollHeight => _blink.Native_Element_scrollHeight_Getter(this).round();
@DomName('Element.scrollLeft')
@DocsEditable()
int get scrollLeft => _blink.Native_Element_scrollLeft_Getter(this).round();
@DomName('Element.scrollLeft')
@DocsEditable()
void set scrollLeft(int value) => _blink.Native_Element_scrollLeft_Setter(this, value.round());
@DomName('Element.scrollTop')
@DocsEditable()
int get scrollTop => _blink.Native_Element_scrollTop_Getter(this).round();
@DomName('Element.scrollTop')
@DocsEditable()
void set scrollTop(int value) => _blink.Native_Element_scrollTop_Setter(this, value.round());
@DomName('Element.scrollWidth')
@DocsEditable()
int get scrollWidth => _blink.Native_Element_scrollWidth_Getter(this).round();
// To suppress missing implicit constructor warnings.
factory Element._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `abort` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.abortEvent')
@DocsEditable()
static const EventStreamProvider<Event> abortEvent = const EventStreamProvider<Event>('abort');
/**
* Static factory designed to expose `beforecopy` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.beforecopyEvent')
@DocsEditable()
static const EventStreamProvider<Event> beforeCopyEvent = const EventStreamProvider<Event>('beforecopy');
/**
* Static factory designed to expose `beforecut` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.beforecutEvent')
@DocsEditable()
static const EventStreamProvider<Event> beforeCutEvent = const EventStreamProvider<Event>('beforecut');
/**
* Static factory designed to expose `beforepaste` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.beforepasteEvent')
@DocsEditable()
static const EventStreamProvider<Event> beforePasteEvent = const EventStreamProvider<Event>('beforepaste');
/**
* Static factory designed to expose `blur` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.blurEvent')
@DocsEditable()
static const EventStreamProvider<Event> blurEvent = const EventStreamProvider<Event>('blur');
/**
* Static factory designed to expose `change` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.changeEvent')
@DocsEditable()
static const EventStreamProvider<Event> changeEvent = const EventStreamProvider<Event>('change');
/**
* Static factory designed to expose `click` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.clickEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> clickEvent = const EventStreamProvider<MouseEvent>('click');
/**
* Static factory designed to expose `contextmenu` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.contextmenuEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> contextMenuEvent = const EventStreamProvider<MouseEvent>('contextmenu');
/**
* Static factory designed to expose `copy` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.copyEvent')
@DocsEditable()
static const EventStreamProvider<Event> copyEvent = const EventStreamProvider<Event>('copy');
/**
* Static factory designed to expose `cut` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.cutEvent')
@DocsEditable()
static const EventStreamProvider<Event> cutEvent = const EventStreamProvider<Event>('cut');
/**
* Static factory designed to expose `doubleclick` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.dblclickEvent')
@DocsEditable()
static const EventStreamProvider<Event> doubleClickEvent = const EventStreamProvider<Event>('dblclick');
/**
* A stream of `drag` events fired when an element is currently being dragged.
*
* A `drag` event is added to this stream as soon as the drag begins.
* A `drag` event is also added to this stream at intervals while the drag
* operation is still ongoing.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.dragEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> dragEvent = const EventStreamProvider<MouseEvent>('drag');
/**
* A stream of `dragend` events fired when an element completes a drag
* operation.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.dragendEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> dragEndEvent = const EventStreamProvider<MouseEvent>('dragend');
/**
* A stream of `dragenter` events fired when a dragged object is first dragged
* over an element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.dragenterEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> dragEnterEvent = const EventStreamProvider<MouseEvent>('dragenter');
/**
* A stream of `dragleave` events fired when an object being dragged over an
* element leaves the element's target area.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.dragleaveEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> dragLeaveEvent = const EventStreamProvider<MouseEvent>('dragleave');
/**
* A stream of `dragover` events fired when a dragged object is currently
* being dragged over an element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.dragoverEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> dragOverEvent = const EventStreamProvider<MouseEvent>('dragover');
/**
* A stream of `dragstart` events for a dragged element whose drag has begun.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.dragstartEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> dragStartEvent = const EventStreamProvider<MouseEvent>('dragstart');
/**
* A stream of `drop` events fired when a dragged object is dropped on an
* element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.dropEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> dropEvent = const EventStreamProvider<MouseEvent>('drop');
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.errorEvent')
@DocsEditable()
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
/**
* Static factory designed to expose `focus` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.focusEvent')
@DocsEditable()
static const EventStreamProvider<Event> focusEvent = const EventStreamProvider<Event>('focus');
/**
* Static factory designed to expose `input` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.inputEvent')
@DocsEditable()
static const EventStreamProvider<Event> inputEvent = const EventStreamProvider<Event>('input');
/**
* Static factory designed to expose `invalid` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.invalidEvent')
@DocsEditable()
static const EventStreamProvider<Event> invalidEvent = const EventStreamProvider<Event>('invalid');
/**
* Static factory designed to expose `keydown` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.keydownEvent')
@DocsEditable()
static const EventStreamProvider<KeyboardEvent> keyDownEvent = const EventStreamProvider<KeyboardEvent>('keydown');
/**
* Static factory designed to expose `keypress` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.keypressEvent')
@DocsEditable()
static const EventStreamProvider<KeyboardEvent> keyPressEvent = const EventStreamProvider<KeyboardEvent>('keypress');
/**
* Static factory designed to expose `keyup` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.keyupEvent')
@DocsEditable()
static const EventStreamProvider<KeyboardEvent> keyUpEvent = const EventStreamProvider<KeyboardEvent>('keyup');
/**
* Static factory designed to expose `load` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.loadEvent')
@DocsEditable()
static const EventStreamProvider<Event> loadEvent = const EventStreamProvider<Event>('load');
/**
* Static factory designed to expose `mousedown` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.mousedownEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> mouseDownEvent = const EventStreamProvider<MouseEvent>('mousedown');
/**
* Static factory designed to expose `mouseenter` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.mouseenterEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseEnterEvent = const EventStreamProvider<MouseEvent>('mouseenter');
/**
* Static factory designed to expose `mouseleave` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.mouseleaveEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseLeaveEvent = const EventStreamProvider<MouseEvent>('mouseleave');
/**
* Static factory designed to expose `mousemove` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.mousemoveEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> mouseMoveEvent = const EventStreamProvider<MouseEvent>('mousemove');
/**
* Static factory designed to expose `mouseout` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.mouseoutEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> mouseOutEvent = const EventStreamProvider<MouseEvent>('mouseout');
/**
* Static factory designed to expose `mouseover` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.mouseoverEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> mouseOverEvent = const EventStreamProvider<MouseEvent>('mouseover');
/**
* Static factory designed to expose `mouseup` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.mouseupEvent')
@DocsEditable()
static const EventStreamProvider<MouseEvent> mouseUpEvent = const EventStreamProvider<MouseEvent>('mouseup');
@DomName('Element.mousewheelEvent')
@DocsEditable()
// http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents
@Experimental() // non-standard
static const EventStreamProvider<WheelEvent> mouseWheelEvent = const EventStreamProvider<WheelEvent>('mousewheel');
/**
* Static factory designed to expose `paste` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.pasteEvent')
@DocsEditable()
static const EventStreamProvider<Event> pasteEvent = const EventStreamProvider<Event>('paste');
/**
* Static factory designed to expose `reset` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.resetEvent')
@DocsEditable()
static const EventStreamProvider<Event> resetEvent = const EventStreamProvider<Event>('reset');
@DomName('Element.resizeEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> resizeEvent = const EventStreamProvider<Event>('resize');
/**
* Static factory designed to expose `scroll` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.scrollEvent')
@DocsEditable()
static const EventStreamProvider<Event> scrollEvent = const EventStreamProvider<Event>('scroll');
/**
* Static factory designed to expose `search` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.searchEvent')
@DocsEditable()
// http://www.w3.org/TR/html-markup/input.search.html
@Experimental()
static const EventStreamProvider<Event> searchEvent = const EventStreamProvider<Event>('search');
/**
* Static factory designed to expose `select` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.selectEvent')
@DocsEditable()
static const EventStreamProvider<Event> selectEvent = const EventStreamProvider<Event>('select');
/**
* Static factory designed to expose `selectstart` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.selectstartEvent')
@DocsEditable()
@Experimental() // nonstandard
static const EventStreamProvider<Event> selectStartEvent = const EventStreamProvider<Event>('selectstart');
/**
* Static factory designed to expose `submit` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.submitEvent')
@DocsEditable()
static const EventStreamProvider<Event> submitEvent = const EventStreamProvider<Event>('submit');
/**
* Static factory designed to expose `touchcancel` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.touchcancelEvent')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
static const EventStreamProvider<TouchEvent> touchCancelEvent = const EventStreamProvider<TouchEvent>('touchcancel');
/**
* Static factory designed to expose `touchend` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.touchendEvent')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
static const EventStreamProvider<TouchEvent> touchEndEvent = const EventStreamProvider<TouchEvent>('touchend');
/**
* Static factory designed to expose `touchenter` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.touchenterEvent')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
static const EventStreamProvider<TouchEvent> touchEnterEvent = const EventStreamProvider<TouchEvent>('touchenter');
/**
* Static factory designed to expose `touchleave` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.touchleaveEvent')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
static const EventStreamProvider<TouchEvent> touchLeaveEvent = const EventStreamProvider<TouchEvent>('touchleave');
/**
* Static factory designed to expose `touchmove` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.touchmoveEvent')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
static const EventStreamProvider<TouchEvent> touchMoveEvent = const EventStreamProvider<TouchEvent>('touchmove');
/**
* Static factory designed to expose `touchstart` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.touchstartEvent')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
static const EventStreamProvider<TouchEvent> touchStartEvent = const EventStreamProvider<TouchEvent>('touchstart');
@DomName('Element.transitionendEvent')
@DocsEditable()
static const EventStreamProvider<TransitionEvent> transitionEndEvent = const EventStreamProvider<TransitionEvent>('transitionend');
/**
* Static factory designed to expose `fullscreenchange` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.webkitfullscreenchangeEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
static const EventStreamProvider<Event> fullscreenChangeEvent = const EventStreamProvider<Event>('webkitfullscreenchange');
/**
* Static factory designed to expose `fullscreenerror` events to event
* handlers that are not necessarily instances of [Element].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Element.webkitfullscreenerrorEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
static const EventStreamProvider<Event> fullscreenErrorEvent = const EventStreamProvider<Event>('webkitfullscreenerror');
String contentEditable;
String dir;
bool draggable;
bool hidden;
bool get isContentEditable;
String lang;
bool spellcheck;
int tabIndex;
String title;
bool translate;
String dropzone;
void click();
@DomName('Element.attributes')
@DocsEditable()
_NamedNodeMap get _attributes => _blink.Native_Element_attributes_Getter(this);
@DomName('Element.className')
@DocsEditable()
String get className => _blink.Native_Element_className_Getter(this);
@DomName('Element.className')
@DocsEditable()
void set className(String value) => _blink.Native_Element_className_Setter(this, value);
@DomName('Element.clientHeight')
@DocsEditable()
int get _clientHeight => _blink.Native_Element_clientHeight_Getter(this);
@DomName('Element.clientLeft')
@DocsEditable()
int get _clientLeft => _blink.Native_Element_clientLeft_Getter(this);
@DomName('Element.clientTop')
@DocsEditable()
int get _clientTop => _blink.Native_Element_clientTop_Getter(this);
@DomName('Element.clientWidth')
@DocsEditable()
int get _clientWidth => _blink.Native_Element_clientWidth_Getter(this);
@DomName('Element.id')
@DocsEditable()
String get id => _blink.Native_Element_id_Getter(this);
@DomName('Element.id')
@DocsEditable()
void set id(String value) => _blink.Native_Element_id_Setter(this, value);
@DomName('Element.innerHTML')
@DocsEditable()
String get _innerHtml => _blink.Native_Element_innerHTML_Getter(this);
@DomName('Element.innerHTML')
@DocsEditable()
void set _innerHtml(String value) => _blink.Native_Element_innerHTML_Setter(this, value);
@DomName('Element.localName')
@DocsEditable()
@Experimental() // untriaged
String get _localName => _blink.Native_Element_localName_Getter(this);
@DomName('Element.namespaceURI')
@DocsEditable()
@Experimental() // untriaged
String get _namespaceUri => _blink.Native_Element_namespaceURI_Getter(this);
@DomName('Element.offsetHeight')
@DocsEditable()
int get _offsetHeight => _blink.Native_Element_offsetHeight_Getter(this);
@DomName('Element.offsetLeft')
@DocsEditable()
int get _offsetLeft => _blink.Native_Element_offsetLeft_Getter(this);
@DomName('Element.offsetParent')
@DocsEditable()
Element get offsetParent => _blink.Native_Element_offsetParent_Getter(this);
@DomName('Element.offsetTop')
@DocsEditable()
int get _offsetTop => _blink.Native_Element_offsetTop_Getter(this);
@DomName('Element.offsetWidth')
@DocsEditable()
int get _offsetWidth => _blink.Native_Element_offsetWidth_Getter(this);
@DomName('Element.outerHTML')
@DocsEditable()
String get outerHtml => _blink.Native_Element_outerHTML_Getter(this);
@DomName('Element.scrollHeight')
@DocsEditable()
int get _scrollHeight => _blink.Native_Element_scrollHeight_Getter(this);
@DomName('Element.scrollLeft')
@DocsEditable()
int get _scrollLeft => _blink.Native_Element_scrollLeft_Getter(this);
@DomName('Element.scrollLeft')
@DocsEditable()
void set _scrollLeft(int value) => _blink.Native_Element_scrollLeft_Setter(this, value);
@DomName('Element.scrollTop')
@DocsEditable()
int get _scrollTop => _blink.Native_Element_scrollTop_Getter(this);
@DomName('Element.scrollTop')
@DocsEditable()
void set _scrollTop(int value) => _blink.Native_Element_scrollTop_Setter(this, value);
@DomName('Element.scrollWidth')
@DocsEditable()
int get _scrollWidth => _blink.Native_Element_scrollWidth_Getter(this);
@DomName('Element.shadowRoot')
@DocsEditable()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#api-shadow-aware-create-shadow-root
@Experimental()
ShadowRoot get shadowRoot => _blink.Native_Element_shadowRoot_Getter(this);
@DomName('Element.style')
@DocsEditable()
CssStyleDeclaration get style => _blink.Native_Element_style_Getter(this);
@DomName('Element.tagName')
@DocsEditable()
String get tagName => _blink.Native_Element_tagName_Getter(this);
Animation animate(List<Map> keyframes, [timingInput]) => _blink.Native_Element_animate(this, keyframes, timingInput);
@DomName('Element.blur')
@DocsEditable()
void blur() => _blink.Native_Element_blur_Callback(this);
@DomName('Element.createShadowRoot')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#api-shadow-aware-create-shadow-root
ShadowRoot createShadowRoot() => _blink.Native_Element_createShadowRoot_Callback(this);
@DomName('Element.focus')
@DocsEditable()
void focus() => _blink.Native_Element_focus_Callback(this);
@DomName('Element.getAttribute')
@DocsEditable()
@Experimental() // untriaged
String getAttribute(String name) => _blink.Native_Element_getAttribute_Callback(this, name);
@DomName('Element.getAttributeNS')
@DocsEditable()
@Experimental() // untriaged
String getAttributeNS(String namespaceURI, String localName) => _blink.Native_Element_getAttributeNS_Callback(this, namespaceURI, localName);
/**
* Returns the smallest bounding rectangle that encompasses this element's
* padding, scrollbar, and border.
*
* ## Other resources
*
* * [Element.getBoundingClientRect]
* (https://developer.mozilla.org/en-US/docs/Web/API/Element.getBoundingClientRect)
* from MDN.
* * [The getBoundingClientRect() method]
* (http://www.w3.org/TR/cssom-view/#the-getclientrects-and-getboundingclientrect-methods)
* from W3C.
*/
@DomName('Element.getBoundingClientRect')
@DocsEditable()
Rectangle getBoundingClientRect() => _blink.Native_Element_getBoundingClientRect_Callback(this);
/**
* Returns a list of bounding rectangles for each box associated with this
* element.
*
* ## Other resources
*
* * [Element.getClientRects]
* (https://developer.mozilla.org/en-US/docs/Web/API/Element.getClientRects)
* from MDN.
* * [The getClientRects() method]
* (http://www.w3.org/TR/cssom-view/#the-getclientrects-and-getboundingclientrect-methods)
* from W3C.
*/
@DomName('Element.getClientRects')
@DocsEditable()
List<Rectangle> getClientRects() => _blink.Native_Element_getClientRects_Callback(this);
/**
* Returns a list of shadow DOM insertion points to which this element is
* distributed.
*
* ## Other resources
*
* * [Shadow DOM specification]
* (https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html)
* from W3C.
*/
@DomName('Element.getDestinationInsertionPoints')
@DocsEditable()
@Experimental() // untriaged
List<Node> getDestinationInsertionPoints() => _blink.Native_Element_getDestinationInsertionPoints_Callback(this);
/**
* Returns a list of nodes with the given class name inside this element.
*
* ## Other resources
*
* * [getElementsByClassName]
* (https://developer.mozilla.org/en-US/docs/Web/API/document.getElementsByClassName)
* from MDN.
* * [DOM specification]
* (http://www.w3.org/TR/domcore/) from W3C.
*/
@DomName('Element.getElementsByClassName')
@DocsEditable()
List<Node> getElementsByClassName(String classNames) => _blink.Native_Element_getElementsByClassName_Callback(this, classNames);
@DomName('Element.getElementsByTagName')
@DocsEditable()
List<Node> _getElementsByTagName(String name) => _blink.Native_Element_getElementsByTagName_Callback(this, name);
@DomName('Element.hasAttribute')
@DocsEditable()
bool _hasAttribute(String name) => _blink.Native_Element_hasAttribute_Callback(this, name);
@DomName('Element.hasAttributeNS')
@DocsEditable()
bool _hasAttributeNS(String namespaceURI, String localName) => _blink.Native_Element_hasAttributeNS_Callback(this, namespaceURI, localName);
@DomName('Element.insertAdjacentElement')
@DocsEditable()
@Experimental() // untriaged
Element insertAdjacentElement(String where, Element element) => _blink.Native_Element_insertAdjacentElement_Callback(this, where, element);
@DomName('Element.insertAdjacentHTML')
@DocsEditable()
@Experimental() // untriaged
void insertAdjacentHtml(String where, String html) => _blink.Native_Element_insertAdjacentHTML_Callback(this, where, html);
@DomName('Element.insertAdjacentText')
@DocsEditable()
@Experimental() // untriaged
void insertAdjacentText(String where, String text) => _blink.Native_Element_insertAdjacentText_Callback(this, where, text);
@DomName('Element.matches')
@DocsEditable()
@Experimental() // untriaged
bool matches(String selectors) => _blink.Native_Element_matches_Callback(this, selectors);
/**
* Finds the first descendant element of this element that matches the
* specified group of selectors.
*
* [selectors] should be a string using CSS selector syntax.
*
* // Gets the first descendant with the class 'classname'
* var element = element.querySelector('.className');
* // Gets the element with id 'id'
* var element = element.querySelector('#id');
* // Gets the first descendant [ImageElement]
* var img = element.querySelector('img');
*
* For details about CSS selector syntax, see the
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
*/
@DomName('Element.querySelector')
@DocsEditable()
Element querySelector(String selectors) => _blink.Native_Element_querySelector_Callback(this, selectors);
@DomName('Element.querySelectorAll')
@DocsEditable()
List<Node> _querySelectorAll(String selectors) => _blink.Native_Element_querySelectorAll_Callback(this, selectors);
@DomName('Element.removeAttribute')
@DocsEditable()
void _removeAttribute(String name) => _blink.Native_Element_removeAttribute_Callback(this, name);
@DomName('Element.removeAttributeNS')
@DocsEditable()
void _removeAttributeNS(String namespaceURI, String localName) => _blink.Native_Element_removeAttributeNS_Callback(this, namespaceURI, localName);
/**
* Scrolls the element by a number of lines.
*
* ## Other resources
*
* * [scrollByLines]
* (http://docs.webplatform.org/wiki/dom/methods/scrollByLines) from WebPlatform.org.
*/
@DomName('Element.scrollByLines')
@DocsEditable()
void scrollByLines(int lines) => _blink.Native_Element_scrollByLines_Callback(this, lines);
/**
* Scrolls the element by a number of pages.
*
* ## Other resources
*
* * [scrollByPages]
* (http://docs.webplatform.org/wiki/dom/methods/scrollByPages) from WebPlatform.org.
*/
@DomName('Element.scrollByPages')
@DocsEditable()
void scrollByPages(int pages) => _blink.Native_Element_scrollByPages_Callback(this, pages);
void _scrollIntoView([bool alignWithTop]) => _blink.Native_Element__scrollIntoView(this, alignWithTop);
void _scrollIntoViewIfNeeded([bool centerIfNeeded]) => _blink.Native_Element__scrollIntoViewIfNeeded(this, centerIfNeeded);
@DomName('Element.setAttribute')
@DocsEditable()
void setAttribute(String name, String value) => _blink.Native_Element_setAttribute_Callback(this, name, value);
@DomName('Element.setAttributeNS')
@DocsEditable()
void setAttributeNS(String namespaceURI, String qualifiedName, String value) => _blink.Native_Element_setAttributeNS_Callback(this, namespaceURI, qualifiedName, value);
/**
* Displays this element fullscreen.
*
* ## Other resources
*
* * [Using the fullscreen API]
* (http://docs.webplatform.org/wiki/tutorials/using_the_full-screen_api)
* tutorial from WebPlatform.org.
* * [Fullscreen specification]
* (http://www.w3.org/TR/fullscreen/) from W3C.
*/
@DomName('Element.webkitRequestFullscreen')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-element-requestfullscreen
void requestFullscreen() => _blink.Native_Element_webkitRequestFullscreen_Callback(this);
/**
* Locks the mouse pointer to this element.
*
* ## Other resources
*
* * [Pointer lock and first person shooter controls]
* (http://www.html5rocks.com/en/tutorials/pointerlock/intro/) tutorial from
* HTML5Rocks.
*
* * [Pointer lock specification]
* (http://www.w3.org/TR/pointerlock/) from W3C.
*/
@DomName('Element.webkitRequestPointerLock')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#widl-Element-requestPointerLock-void
void requestPointerLock() => _blink.Native_Element_webkitRequestPointerLock_Callback(this);
@DomName('Element.nextElementSibling')
@DocsEditable()
Element get nextElementSibling => _blink.Native_Element_nextElementSibling_Getter(this);
@DomName('Element.previousElementSibling')
@DocsEditable()
Element get previousElementSibling => _blink.Native_Element_previousElementSibling_Getter(this);
@DomName('Element.remove')
@DocsEditable()
void remove() => _blink.Native_Element_remove_Callback(this);
@DomName('Element.childElementCount')
@DocsEditable()
int get _childElementCount => _blink.Native_Element_childElementCount_Getter(this);
@DomName('Element.children')
@DocsEditable()
List<Node> get _children => _blink.Native_Element_children_Getter(this);
@DomName('Element.firstElementChild')
@DocsEditable()
Element get _firstElementChild => _blink.Native_Element_firstElementChild_Getter(this);
@DomName('Element.lastElementChild')
@DocsEditable()
Element get _lastElementChild => _blink.Native_Element_lastElementChild_Getter(this);
/// Stream of `abort` events handled by this [Element].
@DomName('Element.onabort')
@DocsEditable()
ElementStream<Event> get onAbort => abortEvent.forElement(this);
/// Stream of `beforecopy` events handled by this [Element].
@DomName('Element.onbeforecopy')
@DocsEditable()
ElementStream<Event> get onBeforeCopy => beforeCopyEvent.forElement(this);
/// Stream of `beforecut` events handled by this [Element].
@DomName('Element.onbeforecut')
@DocsEditable()
ElementStream<Event> get onBeforeCut => beforeCutEvent.forElement(this);
/// Stream of `beforepaste` events handled by this [Element].
@DomName('Element.onbeforepaste')
@DocsEditable()
ElementStream<Event> get onBeforePaste => beforePasteEvent.forElement(this);
/// Stream of `blur` events handled by this [Element].
@DomName('Element.onblur')
@DocsEditable()
ElementStream<Event> get onBlur => blurEvent.forElement(this);
/// Stream of `change` events handled by this [Element].
@DomName('Element.onchange')
@DocsEditable()
ElementStream<Event> get onChange => changeEvent.forElement(this);
/// Stream of `click` events handled by this [Element].
@DomName('Element.onclick')
@DocsEditable()
ElementStream<MouseEvent> get onClick => clickEvent.forElement(this);
/// Stream of `contextmenu` events handled by this [Element].
@DomName('Element.oncontextmenu')
@DocsEditable()
ElementStream<MouseEvent> get onContextMenu => contextMenuEvent.forElement(this);
/// Stream of `copy` events handled by this [Element].
@DomName('Element.oncopy')
@DocsEditable()
ElementStream<Event> get onCopy => copyEvent.forElement(this);
/// Stream of `cut` events handled by this [Element].
@DomName('Element.oncut')
@DocsEditable()
ElementStream<Event> get onCut => cutEvent.forElement(this);
/// Stream of `doubleclick` events handled by this [Element].
@DomName('Element.ondblclick')
@DocsEditable()
ElementStream<Event> get onDoubleClick => doubleClickEvent.forElement(this);
/**
* A stream of `drag` events fired when this element currently being dragged.
*
* A `drag` event is added to this stream as soon as the drag begins.
* A `drag` event is also added to this stream at intervals while the drag
* operation is still ongoing.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondrag')
@DocsEditable()
ElementStream<MouseEvent> get onDrag => dragEvent.forElement(this);
/**
* A stream of `dragend` events fired when this element completes a drag
* operation.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragend')
@DocsEditable()
ElementStream<MouseEvent> get onDragEnd => dragEndEvent.forElement(this);
/**
* A stream of `dragenter` events fired when a dragged object is first dragged
* over this element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragenter')
@DocsEditable()
ElementStream<MouseEvent> get onDragEnter => dragEnterEvent.forElement(this);
/**
* A stream of `dragleave` events fired when an object being dragged over this
* element leaves this element's target area.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragleave')
@DocsEditable()
ElementStream<MouseEvent> get onDragLeave => dragLeaveEvent.forElement(this);
/**
* A stream of `dragover` events fired when a dragged object is currently
* being dragged over this element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragover')
@DocsEditable()
ElementStream<MouseEvent> get onDragOver => dragOverEvent.forElement(this);
/**
* A stream of `dragstart` events fired when this element starts being
* dragged.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondragstart')
@DocsEditable()
ElementStream<MouseEvent> get onDragStart => dragStartEvent.forElement(this);
/**
* A stream of `drop` events fired when a dragged object is dropped on this
* element.
*
* ## Other resources
*
* * [Drag and drop sample]
* (https://github.com/dart-lang/dart-samples/tree/master/web/html5/dnd/basics)
* based on [the tutorial](http://www.html5rocks.com/en/tutorials/dnd/basics/)
* from HTML5Rocks.
* * [Drag and drop specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dnd)
* from WHATWG.
*/
@DomName('Element.ondrop')
@DocsEditable()
ElementStream<MouseEvent> get onDrop => dropEvent.forElement(this);
/// Stream of `error` events handled by this [Element].
@DomName('Element.onerror')
@DocsEditable()
ElementStream<Event> get onError => errorEvent.forElement(this);
/// Stream of `focus` events handled by this [Element].
@DomName('Element.onfocus')
@DocsEditable()
ElementStream<Event> get onFocus => focusEvent.forElement(this);
/// Stream of `input` events handled by this [Element].
@DomName('Element.oninput')
@DocsEditable()
ElementStream<Event> get onInput => inputEvent.forElement(this);
/// Stream of `invalid` events handled by this [Element].
@DomName('Element.oninvalid')
@DocsEditable()
ElementStream<Event> get onInvalid => invalidEvent.forElement(this);
/// Stream of `keydown` events handled by this [Element].
@DomName('Element.onkeydown')
@DocsEditable()
ElementStream<KeyboardEvent> get onKeyDown => keyDownEvent.forElement(this);
/// Stream of `keypress` events handled by this [Element].
@DomName('Element.onkeypress')
@DocsEditable()
ElementStream<KeyboardEvent> get onKeyPress => keyPressEvent.forElement(this);
/// Stream of `keyup` events handled by this [Element].
@DomName('Element.onkeyup')
@DocsEditable()
ElementStream<KeyboardEvent> get onKeyUp => keyUpEvent.forElement(this);
/// Stream of `load` events handled by this [Element].
@DomName('Element.onload')
@DocsEditable()
ElementStream<Event> get onLoad => loadEvent.forElement(this);
/// Stream of `mousedown` events handled by this [Element].
@DomName('Element.onmousedown')
@DocsEditable()
ElementStream<MouseEvent> get onMouseDown => mouseDownEvent.forElement(this);
/// Stream of `mouseenter` events handled by this [Element].
@DomName('Element.onmouseenter')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseEnter => mouseEnterEvent.forElement(this);
/// Stream of `mouseleave` events handled by this [Element].
@DomName('Element.onmouseleave')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseLeave => mouseLeaveEvent.forElement(this);
/// Stream of `mousemove` events handled by this [Element].
@DomName('Element.onmousemove')
@DocsEditable()
ElementStream<MouseEvent> get onMouseMove => mouseMoveEvent.forElement(this);
/// Stream of `mouseout` events handled by this [Element].
@DomName('Element.onmouseout')
@DocsEditable()
ElementStream<MouseEvent> get onMouseOut => mouseOutEvent.forElement(this);
/// Stream of `mouseover` events handled by this [Element].
@DomName('Element.onmouseover')
@DocsEditable()
ElementStream<MouseEvent> get onMouseOver => mouseOverEvent.forElement(this);
/// Stream of `mouseup` events handled by this [Element].
@DomName('Element.onmouseup')
@DocsEditable()
ElementStream<MouseEvent> get onMouseUp => mouseUpEvent.forElement(this);
/// Stream of `mousewheel` events handled by this [Element].
@DomName('Element.onmousewheel')
@DocsEditable()
// http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents
@Experimental() // non-standard
ElementStream<WheelEvent> get onMouseWheel => mouseWheelEvent.forElement(this);
/// Stream of `paste` events handled by this [Element].
@DomName('Element.onpaste')
@DocsEditable()
ElementStream<Event> get onPaste => pasteEvent.forElement(this);
/// Stream of `reset` events handled by this [Element].
@DomName('Element.onreset')
@DocsEditable()
ElementStream<Event> get onReset => resetEvent.forElement(this);
@DomName('Element.onresize')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onResize => resizeEvent.forElement(this);
/// Stream of `scroll` events handled by this [Element].
@DomName('Element.onscroll')
@DocsEditable()
ElementStream<Event> get onScroll => scrollEvent.forElement(this);
/// Stream of `search` events handled by this [Element].
@DomName('Element.onsearch')
@DocsEditable()
// http://www.w3.org/TR/html-markup/input.search.html
@Experimental()
ElementStream<Event> get onSearch => searchEvent.forElement(this);
/// Stream of `select` events handled by this [Element].
@DomName('Element.onselect')
@DocsEditable()
ElementStream<Event> get onSelect => selectEvent.forElement(this);
/// Stream of `selectstart` events handled by this [Element].
@DomName('Element.onselectstart')
@DocsEditable()
@Experimental() // nonstandard
ElementStream<Event> get onSelectStart => selectStartEvent.forElement(this);
/// Stream of `submit` events handled by this [Element].
@DomName('Element.onsubmit')
@DocsEditable()
ElementStream<Event> get onSubmit => submitEvent.forElement(this);
/// Stream of `touchcancel` events handled by this [Element].
@DomName('Element.ontouchcancel')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchCancel => touchCancelEvent.forElement(this);
/// Stream of `touchend` events handled by this [Element].
@DomName('Element.ontouchend')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchEnd => touchEndEvent.forElement(this);
/// Stream of `touchenter` events handled by this [Element].
@DomName('Element.ontouchenter')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchEnter => touchEnterEvent.forElement(this);
/// Stream of `touchleave` events handled by this [Element].
@DomName('Element.ontouchleave')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchLeave => touchLeaveEvent.forElement(this);
/// Stream of `touchmove` events handled by this [Element].
@DomName('Element.ontouchmove')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchMove => touchMoveEvent.forElement(this);
/// Stream of `touchstart` events handled by this [Element].
@DomName('Element.ontouchstart')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
ElementStream<TouchEvent> get onTouchStart => touchStartEvent.forElement(this);
/// Stream of `transitionend` events handled by this [Element].
@DomName('Element.ontransitionend')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
ElementStream<TransitionEvent> get onTransitionEnd => transitionEndEvent.forElement(this);
/// Stream of `fullscreenchange` events handled by this [Element].
@DomName('Element.onwebkitfullscreenchange')
@DocsEditable()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
@Experimental()
ElementStream<Event> get onFullscreenChange => fullscreenChangeEvent.forElement(this);
/// Stream of `fullscreenerror` events handled by this [Element].
@DomName('Element.onwebkitfullscreenerror')
@DocsEditable()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
@Experimental()
ElementStream<Event> get onFullscreenError => fullscreenErrorEvent.forElement(this);
}
class _ElementFactoryProvider {
@DomName('Document.createElement')
static Element createElement_tag(String tag, String typeExtension) =>
document.createElement(tag, typeExtension);
}
/**
* Options for Element.scrollIntoView.
*/
class ScrollAlignment {
final _value;
const ScrollAlignment._internal(this._value);
toString() => 'ScrollAlignment.$_value';
/// Attempt to align the element to the top of the scrollable area.
static const TOP = const ScrollAlignment._internal('TOP');
/// Attempt to center the element in the scrollable area.
static const CENTER = const ScrollAlignment._internal('CENTER');
/// Attempt to align the element to the bottom of the scrollable area.
static const BOTTOM = const ScrollAlignment._internal('BOTTOM');
}
// 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.
@DocsEditable()
@DomName('HTMLEmbedElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.IE)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Unstable()
class EmbedElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory EmbedElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLEmbedElement.HTMLEmbedElement')
@DocsEditable()
factory EmbedElement() => document.createElement("embed");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
EmbedElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLEmbedElement.height')
@DocsEditable()
String get height => _blink.Native_HTMLEmbedElement_height_Getter(this);
@DomName('HTMLEmbedElement.height')
@DocsEditable()
void set height(String value) => _blink.Native_HTMLEmbedElement_height_Setter(this, value);
@DomName('HTMLEmbedElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLEmbedElement_name_Getter(this);
@DomName('HTMLEmbedElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLEmbedElement_name_Setter(this, value);
@DomName('HTMLEmbedElement.src')
@DocsEditable()
String get src => _blink.Native_HTMLEmbedElement_src_Getter(this);
@DomName('HTMLEmbedElement.src')
@DocsEditable()
void set src(String value) => _blink.Native_HTMLEmbedElement_src_Setter(this, value);
@DomName('HTMLEmbedElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLEmbedElement_type_Getter(this);
@DomName('HTMLEmbedElement.type')
@DocsEditable()
void set type(String value) => _blink.Native_HTMLEmbedElement_type_Setter(this, value);
@DomName('HTMLEmbedElement.width')
@DocsEditable()
String get width => _blink.Native_HTMLEmbedElement_width_Getter(this);
@DomName('HTMLEmbedElement.width')
@DocsEditable()
void set width(String value) => _blink.Native_HTMLEmbedElement_width_Setter(this, value);
@DomName('HTMLEmbedElement.__getter__')
@DocsEditable()
bool __getter__(index_OR_name) => _blink.Native_HTMLEmbedElement___getter___Callback(this, index_OR_name);
@DomName('HTMLEmbedElement.__setter__')
@DocsEditable()
void __setter__(index_OR_name, Node value) => _blink.Native_HTMLEmbedElement___setter___Callback(this, index_OR_name, value);
}
// 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.
@DomName('EntriesCallback')
// http://www.w3.org/TR/file-system-api/#the-entriescallback-interface
@Experimental()
typedef void _EntriesCallback(List<Entry> entries);
// 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.
@DocsEditable()
@DomName('Entry')
// http://www.w3.org/TR/file-system-api/#the-entry-interface
@Experimental()
class Entry extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Entry._() { throw new UnsupportedError("Not supported"); }
@DomName('Entry.filesystem')
@DocsEditable()
FileSystem get filesystem => _blink.Native_Entry_filesystem_Getter(this);
@DomName('Entry.fullPath')
@DocsEditable()
String get fullPath => _blink.Native_Entry_fullPath_Getter(this);
@DomName('Entry.isDirectory')
@DocsEditable()
bool get isDirectory => _blink.Native_Entry_isDirectory_Getter(this);
@DomName('Entry.isFile')
@DocsEditable()
bool get isFile => _blink.Native_Entry_isFile_Getter(this);
@DomName('Entry.name')
@DocsEditable()
String get name => _blink.Native_Entry_name_Getter(this);
void _copyTo(DirectoryEntry parent, {String name, _EntryCallback successCallback, _ErrorCallback errorCallback}) => _blink.Native_Entry__copyTo(this, parent, name, successCallback, errorCallback);
Future<Entry> copyTo(DirectoryEntry parent, {String name}) {
var completer = new Completer<Entry>();
_copyTo(parent, name : name,
successCallback : (value) { completer.complete(value); },
errorCallback : (error) { completer.completeError(error); });
return completer.future;
}
@DomName('Entry.getMetadata')
@DocsEditable()
void _getMetadata(MetadataCallback successCallback, [_ErrorCallback errorCallback]) => _blink.Native_Entry_getMetadata_Callback(this, successCallback, errorCallback);
Future<Metadata> getMetadata() {
var completer = new Completer<Metadata>();
_getMetadata(
(value) { completer.complete(value); },
(error) { completer.completeError(error); });
return completer.future;
}
@DomName('Entry.getParent')
@DocsEditable()
void _getParent([_EntryCallback successCallback, _ErrorCallback errorCallback]) => _blink.Native_Entry_getParent_Callback(this, successCallback, errorCallback);
Future<Entry> getParent() {
var completer = new Completer<Entry>();
_getParent(
(value) { completer.complete(value); },
(error) { completer.completeError(error); });
return completer.future;
}
void _moveTo(DirectoryEntry parent, {String name, _EntryCallback successCallback, _ErrorCallback errorCallback}) => _blink.Native_Entry__moveTo(this, parent, name, successCallback, errorCallback);
Future<Entry> moveTo(DirectoryEntry parent, {String name}) {
var completer = new Completer<Entry>();
_moveTo(parent, name : name,
successCallback : (value) { completer.complete(value); },
errorCallback : (error) { completer.completeError(error); });
return completer.future;
}
@DomName('Entry.remove')
@DocsEditable()
void _remove(VoidCallback successCallback, [_ErrorCallback errorCallback]) => _blink.Native_Entry_remove_Callback(this, successCallback, errorCallback);
Future remove() {
var completer = new Completer();
_remove(
() { completer.complete(); },
(error) { completer.completeError(error); });
return completer.future;
}
@DomName('Entry.toURL')
@DocsEditable()
String toUrl() => _blink.Native_Entry_toURL_Callback(this);
}
// 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.
@DomName('EntryCallback')
// http://www.w3.org/TR/file-system-api/#the-entrycallback-interface
@Experimental()
typedef void _EntryCallback(Entry entry);
// 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.
@DomName('ErrorCallback')
// http://www.w3.org/TR/file-system-api/#the-errorcallback-interface
@Experimental()
typedef void _ErrorCallback(FileError error);
// 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.
@DocsEditable()
@DomName('ErrorEvent')
@Unstable()
class ErrorEvent extends Event {
// To suppress missing implicit constructor warnings.
factory ErrorEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('ErrorEvent.colno')
@DocsEditable()
@Experimental() // untriaged
int get colno => _blink.Native_ErrorEvent_colno_Getter(this);
@DomName('ErrorEvent.error')
@DocsEditable()
@Experimental() // untriaged
Object get error => _blink.Native_ErrorEvent_error_Getter(this);
@DomName('ErrorEvent.filename')
@DocsEditable()
String get filename => _blink.Native_ErrorEvent_filename_Getter(this);
@DomName('ErrorEvent.lineno')
@DocsEditable()
int get lineno => _blink.Native_ErrorEvent_lineno_Getter(this);
@DomName('ErrorEvent.message')
@DocsEditable()
String get message => _blink.Native_ErrorEvent_message_Getter(this);
}
// 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.
@DomName('Event')
class Event extends NativeFieldWrapperClass2 {
// In JS, canBubble and cancelable are technically required parameters to
// init*Event. In practice, though, if they aren't provided they simply
// default to false (since that's Boolean(undefined)).
//
// Contrary to JS, we default canBubble and cancelable to true, since that's
// what people want most of the time anyway.
factory Event(String type,
{bool canBubble: true, bool cancelable: true}) {
return new Event.eventType('Event', type, canBubble: canBubble,
cancelable: cancelable);
}
/**
* Creates a new Event object of the specified type.
*
* This is analogous to document.createEvent.
* Normally events should be created via their constructors, if available.
*
* var e = new Event.type('MouseEvent', 'mousedown', true, true);
*/
factory Event.eventType(String type, String name, {bool canBubble: true,
bool cancelable: true}) {
final Event e = document._createEvent(type);
e._initEvent(name, canBubble, cancelable);
return e;
}
/** The CSS selector involved with event delegation. */
String _selector;
/**
* A pointer to the element whose CSS selector matched within which an event
* was fired. If this Event was not associated with any Event delegation,
* accessing this value will throw an [UnsupportedError].
*/
Element get matchingTarget {
if (_selector == null) {
throw new UnsupportedError('Cannot call matchingTarget if this Event did'
' not arise as a result of event delegation.');
}
var currentTarget = this.currentTarget;
var target = this.target;
var matchedTarget;
do {
if (target.matches(_selector)) return target;
target = target.parent;
} while (target != null && target != currentTarget.parent);
throw new StateError('No selector matched for populating matchedTarget.');
}
// To suppress missing implicit constructor warnings.
factory Event._() { throw new UnsupportedError("Not supported"); }
/**
* This event is being handled by the event target.
*
* ## Other resources
*
* * [Target phase] (http://www.w3.org/TR/DOM-Level-3-Events/#target-phase)
* from W3C.
*/
@DomName('Event.AT_TARGET')
@DocsEditable()
static const int AT_TARGET = 2;
/**
* This event is bubbling up through the target's ancestors.
*
* ## Other resources
*
* * [Bubble phase] (http://www.w3.org/TR/DOM-Level-3-Events/#bubble-phase)
* from W3C.
*/
@DomName('Event.BUBBLING_PHASE')
@DocsEditable()
static const int BUBBLING_PHASE = 3;
/**
* This event is propagating through the target's ancestors, starting from the
* document.
*
* ## Other resources
*
* * [Bubble phase] (http://www.w3.org/TR/DOM-Level-3-Events/#bubble-phase)
* from W3C.
*/
@DomName('Event.CAPTURING_PHASE')
@DocsEditable()
static const int CAPTURING_PHASE = 1;
@DomName('Event.bubbles')
@DocsEditable()
bool get bubbles => _blink.Native_Event_bubbles_Getter(this);
@DomName('Event.cancelable')
@DocsEditable()
bool get cancelable => _blink.Native_Event_cancelable_Getter(this);
/**
* Access to the system's clipboard data during copy, cut, and paste events.
*
* ## Other resources
*
* * [clipboardData specification]
* (http://www.w3.org/TR/clipboard-apis/#attributes) from W3C.
*/
@DomName('Event.clipboardData')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// Part of copy/paste
@Experimental() // nonstandard
DataTransfer get clipboardData => _blink.Native_Event_clipboardData_Getter(this);
@DomName('Event.currentTarget')
@DocsEditable()
EventTarget get currentTarget => _blink.Native_Event_currentTarget_Getter(this);
@DomName('Event.defaultPrevented')
@DocsEditable()
bool get defaultPrevented => _blink.Native_Event_defaultPrevented_Getter(this);
@DomName('Event.eventPhase')
@DocsEditable()
int get eventPhase => _blink.Native_Event_eventPhase_Getter(this);
/**
* This event's path, taking into account shadow DOM.
*
* ## Other resources
*
* * [Shadow DOM extensions to Event]
* (http://w3c.github.io/webcomponents/spec/shadow/#extensions-to-event) from
* W3C.
*/
@DomName('Event.path')
@DocsEditable()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#extensions-to-event
@Experimental()
List<Node> get path => _blink.Native_Event_path_Getter(this);
@DomName('Event.target')
@DocsEditable()
EventTarget get target => _blink.Native_Event_target_Getter(this);
@DomName('Event.timeStamp')
@DocsEditable()
int get timeStamp => _blink.Native_Event_timeStamp_Getter(this);
@DomName('Event.type')
@DocsEditable()
String get type => _blink.Native_Event_type_Getter(this);
@DomName('Event.initEvent')
@DocsEditable()
void _initEvent(String eventTypeArg, bool canBubbleArg, bool cancelableArg) => _blink.Native_Event_initEvent_Callback(this, eventTypeArg, canBubbleArg, cancelableArg);
@DomName('Event.preventDefault')
@DocsEditable()
void preventDefault() => _blink.Native_Event_preventDefault_Callback(this);
@DomName('Event.stopImmediatePropagation')
@DocsEditable()
void stopImmediatePropagation() => _blink.Native_Event_stopImmediatePropagation_Callback(this);
@DomName('Event.stopPropagation')
@DocsEditable()
void stopPropagation() => _blink.Native_Event_stopPropagation_Callback(this);
}
// Copyright (c) 2013, 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.
@DomName('EventSource')
// http://www.w3.org/TR/eventsource/#the-eventsource-interface
@Experimental() // stable
class EventSource extends EventTarget {
factory EventSource(String title, {withCredentials: false}) {
var parsedOptions = {
'withCredentials': withCredentials,
};
return EventSource._factoryEventSource(title, parsedOptions);
}
// To suppress missing implicit constructor warnings.
factory EventSource._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [EventSource].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('EventSource.errorEvent')
@DocsEditable()
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
/**
* Static factory designed to expose `message` events to event
* handlers that are not necessarily instances of [EventSource].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('EventSource.messageEvent')
@DocsEditable()
static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');
/**
* Static factory designed to expose `open` events to event
* handlers that are not necessarily instances of [EventSource].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('EventSource.openEvent')
@DocsEditable()
static const EventStreamProvider<Event> openEvent = const EventStreamProvider<Event>('open');
@DomName('EventSource.EventSource')
@DocsEditable()
static EventSource _factoryEventSource(String url, [Map eventSourceInit]) => _blink.Native_EventSource_EventSource(url, eventSourceInit);
@DomName('EventSource.CLOSED')
@DocsEditable()
static const int CLOSED = 2;
@DomName('EventSource.CONNECTING')
@DocsEditable()
static const int CONNECTING = 0;
@DomName('EventSource.OPEN')
@DocsEditable()
static const int OPEN = 1;
@DomName('EventSource.readyState')
@DocsEditable()
int get readyState => _blink.Native_EventSource_readyState_Getter(this);
@DomName('EventSource.url')
@DocsEditable()
String get url => _blink.Native_EventSource_url_Getter(this);
@DomName('EventSource.withCredentials')
@DocsEditable()
bool get withCredentials => _blink.Native_EventSource_withCredentials_Getter(this);
@DomName('EventSource.close')
@DocsEditable()
void close() => _blink.Native_EventSource_close_Callback(this);
/// Stream of `error` events handled by this [EventSource].
@DomName('EventSource.onerror')
@DocsEditable()
Stream<Event> get onError => errorEvent.forTarget(this);
/// Stream of `message` events handled by this [EventSource].
@DomName('EventSource.onmessage')
@DocsEditable()
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
/// Stream of `open` events handled by this [EventSource].
@DomName('EventSource.onopen')
@DocsEditable()
Stream<Event> get onOpen => openEvent.forTarget(this);
}
// 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.
/**
* Base class that supports listening for and dispatching browser events.
*
* Normally events are accessed via the Stream getter:
*
* element.onMouseOver.listen((e) => print('Mouse over!'));
*
* To access bubbling events which are declared on one element, but may bubble
* up to another element type (common for MediaElement events):
*
* MediaElement.pauseEvent.forTarget(document.body).listen(...);
*
* To useCapture on events:
*
* Element.keyDownEvent.forTarget(element, useCapture: true).listen(...);
*
* Custom events can be declared as:
*
* class DataGenerator {
* static EventStreamProvider<Event> dataEvent =
* new EventStreamProvider('data');
* }
*
* Then listeners should access the event with:
*
* DataGenerator.dataEvent.forTarget(element).listen(...);
*
* Custom events can also be accessed as:
*
* element.on['some_event'].listen(...);
*
* This approach is generally discouraged as it loses the event typing and
* some DOM events may have multiple platform-dependent event names under the
* covers. By using the standard Stream getters you will get the platform
* specific event name automatically.
*/
class Events {
/* Raw event target. */
final EventTarget _ptr;
Events(this._ptr);
Stream operator [](String type) {
return new _EventStream(_ptr, type, false);
}
}
class ElementEvents extends Events {
/* Raw event target. */
final Element _ptr;
static final webkitEvents = {
'animationend' : 'webkitAnimationEnd',
'animationiteration' : 'webkitAnimationIteration',
'animationstart' : 'webkitAnimationStart',
'fullscreenchange' : 'webkitfullscreenchange',
'fullscreenerror' : 'webkitfullscreenerror',
'keyadded' : 'webkitkeyadded',
'keyerror' : 'webkitkeyerror',
'keymessage' : 'webkitkeymessage',
'needkey' : 'webkitneedkey',
'pointerlockchange' : 'webkitpointerlockchange',
'pointerlockerror' : 'webkitpointerlockerror',
'resourcetimingbufferfull' : 'webkitresourcetimingbufferfull',
'transitionend': 'webkitTransitionEnd',
'speechchange' : 'webkitSpeechChange'
};
ElementEvents(Element ptr) : this._ptr = ptr, super(ptr);
Stream operator [](String type) {
if (webkitEvents.keys.contains(type.toLowerCase())) {
if (Device.isWebKit) {
return new _ElementEventStreamImpl(
_ptr, webkitEvents[type.toLowerCase()], false);
}
}
return new _ElementEventStreamImpl(_ptr, type, false);
}
}
/**
* Base class for all browser objects that support events.
*
* Use the [on] property to add, and remove events
* for compile-time type checks and a more concise API.
*/
@DomName('EventTarget')
class EventTarget extends NativeFieldWrapperClass2 {
// Custom element created callback.
EventTarget._created();
/**
* This is an ease-of-use accessor for event streams which should only be
* used when an explicit accessor is not available.
*/
Events get on => new Events(this);
// To suppress missing implicit constructor warnings.
factory EventTarget._() { throw new UnsupportedError("Not supported"); }
@DomName('EventTarget.addEventListener')
@DocsEditable()
void addEventListener(String type, EventListener listener, [bool useCapture]) => _blink.Native_EventTarget_addEventListener_Callback(this, type, listener, useCapture);
@DomName('EventTarget.dispatchEvent')
@DocsEditable()
bool dispatchEvent(Event event) => _blink.Native_EventTarget_dispatchEvent_Callback(this, event);
@DomName('EventTarget.removeEventListener')
@DocsEditable()
void removeEventListener(String type, EventListener listener, [bool useCapture]) => _blink.Native_EventTarget_removeEventListener_Callback(this, type, listener, useCapture);
}
// 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.
@DocsEditable()
@DomName('HTMLFieldSetElement')
@Unstable()
class FieldSetElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory FieldSetElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLFieldSetElement.HTMLFieldSetElement')
@DocsEditable()
factory FieldSetElement() => document.createElement("fieldset");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
FieldSetElement.created() : super.created();
@DomName('HTMLFieldSetElement.disabled')
@DocsEditable()
bool get disabled => _blink.Native_HTMLFieldSetElement_disabled_Getter(this);
@DomName('HTMLFieldSetElement.disabled')
@DocsEditable()
void set disabled(bool value) => _blink.Native_HTMLFieldSetElement_disabled_Setter(this, value);
@DomName('HTMLFieldSetElement.elements')
@DocsEditable()
List<Node> get elements => _blink.Native_HTMLFieldSetElement_elements_Getter(this);
@DomName('HTMLFieldSetElement.form')
@DocsEditable()
FormElement get form => _blink.Native_HTMLFieldSetElement_form_Getter(this);
@DomName('HTMLFieldSetElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLFieldSetElement_name_Getter(this);
@DomName('HTMLFieldSetElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLFieldSetElement_name_Setter(this, value);
@DomName('HTMLFieldSetElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLFieldSetElement_type_Getter(this);
@DomName('HTMLFieldSetElement.validationMessage')
@DocsEditable()
String get validationMessage => _blink.Native_HTMLFieldSetElement_validationMessage_Getter(this);
@DomName('HTMLFieldSetElement.validity')
@DocsEditable()
ValidityState get validity => _blink.Native_HTMLFieldSetElement_validity_Getter(this);
@DomName('HTMLFieldSetElement.willValidate')
@DocsEditable()
bool get willValidate => _blink.Native_HTMLFieldSetElement_willValidate_Getter(this);
@DomName('HTMLFieldSetElement.checkValidity')
@DocsEditable()
bool checkValidity() => _blink.Native_HTMLFieldSetElement_checkValidity_Callback(this);
@DomName('HTMLFieldSetElement.setCustomValidity')
@DocsEditable()
void setCustomValidity(String error) => _blink.Native_HTMLFieldSetElement_setCustomValidity_Callback(this, error);
}
// 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.
@DocsEditable()
@DomName('File')
class File extends Blob {
// To suppress missing implicit constructor warnings.
factory File._() { throw new UnsupportedError("Not supported"); }
@DomName('File.lastModified')
@DocsEditable()
@Experimental() // untriaged
int get lastModified => _blink.Native_File_lastModified_Getter(this);
@DomName('File.lastModifiedDate')
@DocsEditable()
DateTime get lastModifiedDate => _blink.Native_File_lastModifiedDate_Getter(this);
@DomName('File.name')
@DocsEditable()
String get name => _blink.Native_File_name_Getter(this);
@DomName('File.webkitRelativePath')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://plus.sandbox.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3
String get relativePath => _blink.Native_File_webkitRelativePath_Getter(this);
}
// 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.
@DomName('FileCallback')
// http://www.w3.org/TR/file-system-api/#the-filecallback-interface
@Experimental()
typedef void _FileCallback(File file);
// 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.
@DocsEditable()
@DomName('FileEntry')
// http://www.w3.org/TR/file-system-api/#the-fileentry-interface
@Experimental()
class FileEntry extends Entry {
// To suppress missing implicit constructor warnings.
factory FileEntry._() { throw new UnsupportedError("Not supported"); }
@DomName('FileEntry.createWriter')
@DocsEditable()
void _createWriter(_FileWriterCallback successCallback, [_ErrorCallback errorCallback]) => _blink.Native_FileEntry_createWriter_Callback(this, successCallback, errorCallback);
Future<FileWriter> createWriter() {
var completer = new Completer<FileWriter>();
_createWriter(
(value) { completer.complete(value); },
(error) { completer.completeError(error); });
return completer.future;
}
@DomName('FileEntry.file')
@DocsEditable()
void _file(_FileCallback successCallback, [_ErrorCallback errorCallback]) => _blink.Native_FileEntry_file_Callback(this, successCallback, errorCallback);
Future<File> file() {
var completer = new Completer<File>();
_file(
(value) { completer.complete(value); },
(error) { completer.completeError(error); });
return completer.future;
}
}
// 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.
@DocsEditable()
@DomName('FileError')
// http://dev.w3.org/2009/dap/file-system/pub/FileSystem/
@Experimental()
class FileError extends DomError {
// To suppress missing implicit constructor warnings.
factory FileError._() { throw new UnsupportedError("Not supported"); }
@DomName('FileError.ABORT_ERR')
@DocsEditable()
static const int ABORT_ERR = 3;
@DomName('FileError.ENCODING_ERR')
@DocsEditable()
static const int ENCODING_ERR = 5;
@DomName('FileError.INVALID_MODIFICATION_ERR')
@DocsEditable()
static const int INVALID_MODIFICATION_ERR = 9;
@DomName('FileError.INVALID_STATE_ERR')
@DocsEditable()
static const int INVALID_STATE_ERR = 7;
@DomName('FileError.NOT_FOUND_ERR')
@DocsEditable()
static const int NOT_FOUND_ERR = 1;
@DomName('FileError.NOT_READABLE_ERR')
@DocsEditable()
static const int NOT_READABLE_ERR = 4;
@DomName('FileError.NO_MODIFICATION_ALLOWED_ERR')
@DocsEditable()
static const int NO_MODIFICATION_ALLOWED_ERR = 6;
@DomName('FileError.PATH_EXISTS_ERR')
@DocsEditable()
static const int PATH_EXISTS_ERR = 12;
@DomName('FileError.QUOTA_EXCEEDED_ERR')
@DocsEditable()
static const int QUOTA_EXCEEDED_ERR = 10;
@DomName('FileError.SECURITY_ERR')
@DocsEditable()
static const int SECURITY_ERR = 2;
@DomName('FileError.SYNTAX_ERR')
@DocsEditable()
static const int SYNTAX_ERR = 8;
@DomName('FileError.TYPE_MISMATCH_ERR')
@DocsEditable()
static const int TYPE_MISMATCH_ERR = 11;
@DomName('FileError.code')
@DocsEditable()
int get code => _blink.Native_FileError_code_Getter(this);
}
// 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.
@DocsEditable()
@DomName('FileList')
class FileList extends NativeFieldWrapperClass2 with ListMixin<File>, ImmutableListMixin<File> implements List<File> {
// To suppress missing implicit constructor warnings.
factory FileList._() { throw new UnsupportedError("Not supported"); }
@DomName('FileList.length')
@DocsEditable()
int get length => _blink.Native_FileList_length_Getter(this);
File operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_FileList_NativeIndexed_Getter(this, index);
}
File _nativeIndexedGetter(int index) => _blink.Native_FileList_NativeIndexed_Getter(this, index);
void operator[]=(int index, File value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<File> mixins.
// File is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
File get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
File get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
File get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
File elementAt(int index) => this[index];
// -- end List<File> mixins.
@DomName('FileList.item')
@DocsEditable()
File item(int index) => _blink.Native_FileList_item_Callback(this, index);
}
// Copyright (c) 2014, 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.
@DocsEditable()
@DomName('FileReader')
class FileReader extends EventTarget {
// To suppress missing implicit constructor warnings.
factory FileReader._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `abort` events to event
* handlers that are not necessarily instances of [FileReader].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileReader.abortEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> abortEvent = const EventStreamProvider<ProgressEvent>('abort');
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [FileReader].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileReader.errorEvent')
@DocsEditable()
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
/**
* Static factory designed to expose `load` events to event
* handlers that are not necessarily instances of [FileReader].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileReader.loadEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> loadEvent = const EventStreamProvider<ProgressEvent>('load');
/**
* Static factory designed to expose `loadend` events to event
* handlers that are not necessarily instances of [FileReader].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileReader.loadendEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> loadEndEvent = const EventStreamProvider<ProgressEvent>('loadend');
/**
* Static factory designed to expose `loadstart` events to event
* handlers that are not necessarily instances of [FileReader].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileReader.loadstartEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> loadStartEvent = const EventStreamProvider<ProgressEvent>('loadstart');
/**
* Static factory designed to expose `progress` events to event
* handlers that are not necessarily instances of [FileReader].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileReader.progressEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> progressEvent = const EventStreamProvider<ProgressEvent>('progress');
@DomName('FileReader.FileReader')
@DocsEditable()
factory FileReader() => _blink.Native_FileReader_FileReader();
@DomName('FileReader.DONE')
@DocsEditable()
static const int DONE = 2;
@DomName('FileReader.EMPTY')
@DocsEditable()
static const int EMPTY = 0;
@DomName('FileReader.LOADING')
@DocsEditable()
static const int LOADING = 1;
@DomName('FileReader.error')
@DocsEditable()
FileError get error => _blink.Native_FileReader_error_Getter(this);
@DomName('FileReader.readyState')
@DocsEditable()
int get readyState => _blink.Native_FileReader_readyState_Getter(this);
@DomName('FileReader.result')
@DocsEditable()
Object get result => _blink.Native_FileReader_result_Getter(this);
@DomName('FileReader.abort')
@DocsEditable()
void abort() => _blink.Native_FileReader_abort_Callback(this);
@DomName('FileReader.readAsArrayBuffer')
@DocsEditable()
void readAsArrayBuffer(Blob blob) => _blink.Native_FileReader_readAsArrayBuffer_Callback(this, blob);
@DomName('FileReader.readAsDataURL')
@DocsEditable()
void readAsDataUrl(Blob blob) => _blink.Native_FileReader_readAsDataURL_Callback(this, blob);
void readAsText(Blob blob, [String encoding]) => _blink.Native_FileReader_readAsText(this, blob, encoding);
/// Stream of `abort` events handled by this [FileReader].
@DomName('FileReader.onabort')
@DocsEditable()
Stream<ProgressEvent> get onAbort => abortEvent.forTarget(this);
/// Stream of `error` events handled by this [FileReader].
@DomName('FileReader.onerror')
@DocsEditable()
Stream<Event> get onError => errorEvent.forTarget(this);
/// Stream of `load` events handled by this [FileReader].
@DomName('FileReader.onload')
@DocsEditable()
Stream<ProgressEvent> get onLoad => loadEvent.forTarget(this);
/// Stream of `loadend` events handled by this [FileReader].
@DomName('FileReader.onloadend')
@DocsEditable()
Stream<ProgressEvent> get onLoadEnd => loadEndEvent.forTarget(this);
/// Stream of `loadstart` events handled by this [FileReader].
@DomName('FileReader.onloadstart')
@DocsEditable()
Stream<ProgressEvent> get onLoadStart => loadStartEvent.forTarget(this);
/// Stream of `progress` events handled by this [FileReader].
@DomName('FileReader.onprogress')
@DocsEditable()
Stream<ProgressEvent> get onProgress => progressEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('Stream')
@Experimental() // untriaged
class FileStream extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory FileStream._() { throw new UnsupportedError("Not supported"); }
@DomName('Stream.type')
@DocsEditable()
@Experimental() // untriaged
String get type => _blink.Native_Stream_type_Getter(this);
}
// 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.
@DocsEditable()
@DomName('DOMFileSystem')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://www.w3.org/TR/file-system-api/
class FileSystem extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory FileSystem._() { throw new UnsupportedError("Not supported"); }
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('DOMFileSystem.name')
@DocsEditable()
String get name => _blink.Native_DOMFileSystem_name_Getter(this);
@DomName('DOMFileSystem.root')
@DocsEditable()
DirectoryEntry get root => _blink.Native_DOMFileSystem_root_Getter(this);
}
// 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.
@DomName('FileSystemCallback')
// http://www.w3.org/TR/file-system-api/#the-filesystemcallback-interface
@Experimental()
typedef void _FileSystemCallback(FileSystem fileSystem);
// 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.
@DocsEditable()
@DomName('FileWriter')
// http://www.w3.org/TR/file-writer-api/#the-filewriter-interface
@Experimental()
class FileWriter extends EventTarget {
// To suppress missing implicit constructor warnings.
factory FileWriter._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `abort` events to event
* handlers that are not necessarily instances of [FileWriter].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileWriter.abortEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> abortEvent = const EventStreamProvider<ProgressEvent>('abort');
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [FileWriter].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileWriter.errorEvent')
@DocsEditable()
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
/**
* Static factory designed to expose `progress` events to event
* handlers that are not necessarily instances of [FileWriter].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileWriter.progressEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> progressEvent = const EventStreamProvider<ProgressEvent>('progress');
/**
* Static factory designed to expose `write` events to event
* handlers that are not necessarily instances of [FileWriter].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileWriter.writeEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> writeEvent = const EventStreamProvider<ProgressEvent>('write');
/**
* Static factory designed to expose `writeend` events to event
* handlers that are not necessarily instances of [FileWriter].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileWriter.writeendEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> writeEndEvent = const EventStreamProvider<ProgressEvent>('writeend');
/**
* Static factory designed to expose `writestart` events to event
* handlers that are not necessarily instances of [FileWriter].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('FileWriter.writestartEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> writeStartEvent = const EventStreamProvider<ProgressEvent>('writestart');
@DomName('FileWriter.DONE')
@DocsEditable()
static const int DONE = 2;
@DomName('FileWriter.INIT')
@DocsEditable()
static const int INIT = 0;
@DomName('FileWriter.WRITING')
@DocsEditable()
static const int WRITING = 1;
@DomName('FileWriter.error')
@DocsEditable()
FileError get error => _blink.Native_FileWriter_error_Getter(this);
@DomName('FileWriter.length')
@DocsEditable()
int get length => _blink.Native_FileWriter_length_Getter(this);
@DomName('FileWriter.position')
@DocsEditable()
int get position => _blink.Native_FileWriter_position_Getter(this);
@DomName('FileWriter.readyState')
@DocsEditable()
int get readyState => _blink.Native_FileWriter_readyState_Getter(this);
@DomName('FileWriter.abort')
@DocsEditable()
void abort() => _blink.Native_FileWriter_abort_Callback(this);
@DomName('FileWriter.seek')
@DocsEditable()
void seek(int position) => _blink.Native_FileWriter_seek_Callback(this, position);
@DomName('FileWriter.truncate')
@DocsEditable()
void truncate(int size) => _blink.Native_FileWriter_truncate_Callback(this, size);
@DomName('FileWriter.write')
@DocsEditable()
void write(Blob data) => _blink.Native_FileWriter_write_Callback(this, data);
/// Stream of `abort` events handled by this [FileWriter].
@DomName('FileWriter.onabort')
@DocsEditable()
Stream<ProgressEvent> get onAbort => abortEvent.forTarget(this);
/// Stream of `error` events handled by this [FileWriter].
@DomName('FileWriter.onerror')
@DocsEditable()
Stream<Event> get onError => errorEvent.forTarget(this);
/// Stream of `progress` events handled by this [FileWriter].
@DomName('FileWriter.onprogress')
@DocsEditable()
Stream<ProgressEvent> get onProgress => progressEvent.forTarget(this);
/// Stream of `write` events handled by this [FileWriter].
@DomName('FileWriter.onwrite')
@DocsEditable()
Stream<ProgressEvent> get onWrite => writeEvent.forTarget(this);
/// Stream of `writeend` events handled by this [FileWriter].
@DomName('FileWriter.onwriteend')
@DocsEditable()
Stream<ProgressEvent> get onWriteEnd => writeEndEvent.forTarget(this);
/// Stream of `writestart` events handled by this [FileWriter].
@DomName('FileWriter.onwritestart')
@DocsEditable()
Stream<ProgressEvent> get onWriteStart => writeStartEvent.forTarget(this);
}
// 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.
@DomName('FileWriterCallback')
// http://www.w3.org/TR/file-writer-api/#idl-def-FileWriter
@Experimental()
typedef void _FileWriterCallback(FileWriter fileWriter);
// 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.
@DocsEditable()
@DomName('FocusEvent')
class FocusEvent extends UIEvent {
// To suppress missing implicit constructor warnings.
factory FocusEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('FocusEvent.relatedTarget')
@DocsEditable()
EventTarget get relatedTarget => _blink.Native_FocusEvent_relatedTarget_Getter(this);
}
// 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.
@DocsEditable()
@DomName('FontFace')
@Experimental() // untriaged
class FontFace extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory FontFace._() { throw new UnsupportedError("Not supported"); }
@DomName('FontFace.FontFace')
@DocsEditable()
factory FontFace(String family, String source, Map descriptors) => _blink.Native_FontFace_FontFace(family, source, descriptors);
@DomName('FontFace.family')
@DocsEditable()
@Experimental() // untriaged
String get family => _blink.Native_FontFace_family_Getter(this);
@DomName('FontFace.family')
@DocsEditable()
@Experimental() // untriaged
void set family(String value) => _blink.Native_FontFace_family_Setter(this, value);
@DomName('FontFace.featureSettings')
@DocsEditable()
@Experimental() // untriaged
String get featureSettings => _blink.Native_FontFace_featureSettings_Getter(this);
@DomName('FontFace.featureSettings')
@DocsEditable()
@Experimental() // untriaged
void set featureSettings(String value) => _blink.Native_FontFace_featureSettings_Setter(this, value);
@DomName('FontFace.status')
@DocsEditable()
@Experimental() // untriaged
String get status => _blink.Native_FontFace_status_Getter(this);
@DomName('FontFace.stretch')
@DocsEditable()
@Experimental() // untriaged
String get stretch => _blink.Native_FontFace_stretch_Getter(this);
@DomName('FontFace.stretch')
@DocsEditable()
@Experimental() // untriaged
void set stretch(String value) => _blink.Native_FontFace_stretch_Setter(this, value);
@DomName('FontFace.style')
@DocsEditable()
@Experimental() // untriaged
String get style => _blink.Native_FontFace_style_Getter(this);
@DomName('FontFace.style')
@DocsEditable()
@Experimental() // untriaged
void set style(String value) => _blink.Native_FontFace_style_Setter(this, value);
@DomName('FontFace.unicodeRange')
@DocsEditable()
@Experimental() // untriaged
String get unicodeRange => _blink.Native_FontFace_unicodeRange_Getter(this);
@DomName('FontFace.unicodeRange')
@DocsEditable()
@Experimental() // untriaged
void set unicodeRange(String value) => _blink.Native_FontFace_unicodeRange_Setter(this, value);
@DomName('FontFace.variant')
@DocsEditable()
@Experimental() // untriaged
String get variant => _blink.Native_FontFace_variant_Getter(this);
@DomName('FontFace.variant')
@DocsEditable()
@Experimental() // untriaged
void set variant(String value) => _blink.Native_FontFace_variant_Setter(this, value);
@DomName('FontFace.weight')
@DocsEditable()
@Experimental() // untriaged
String get weight => _blink.Native_FontFace_weight_Getter(this);
@DomName('FontFace.weight')
@DocsEditable()
@Experimental() // untriaged
void set weight(String value) => _blink.Native_FontFace_weight_Setter(this, value);
@DomName('FontFace.load')
@DocsEditable()
@Experimental() // untriaged
void load() => _blink.Native_FontFace_load_Callback(this);
}
// 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.
@DocsEditable()
@DomName('FontFaceSet')
@Experimental() // untriaged
class FontFaceSet extends EventTarget {
// To suppress missing implicit constructor warnings.
factory FontFaceSet._() { throw new UnsupportedError("Not supported"); }
@DomName('FontFaceSet.size')
@DocsEditable()
@Experimental() // untriaged
int get size => _blink.Native_FontFaceSet_size_Getter(this);
@DomName('FontFaceSet.status')
@DocsEditable()
@Experimental() // untriaged
String get status => _blink.Native_FontFaceSet_status_Getter(this);
@DomName('FontFaceSet.add')
@DocsEditable()
@Experimental() // untriaged
void add(FontFace fontFace) => _blink.Native_FontFaceSet_add_Callback(this, fontFace);
@DomName('FontFaceSet.check')
@DocsEditable()
@Experimental() // untriaged
bool check(String font, String text) => _blink.Native_FontFaceSet_check_Callback(this, font, text);
@DomName('FontFaceSet.clear')
@DocsEditable()
@Experimental() // untriaged
void clear() => _blink.Native_FontFaceSet_clear_Callback(this);
@DomName('FontFaceSet.delete')
@DocsEditable()
@Experimental() // untriaged
bool delete(FontFace fontFace) => _blink.Native_FontFaceSet_delete_Callback(this, fontFace);
void forEach(FontFaceSetForEachCallback callback, [Object thisArg]) => _blink.Native_FontFaceSet_forEach(this, callback, thisArg);
@DomName('FontFaceSet.has')
@DocsEditable()
@Experimental() // untriaged
bool has(FontFace fontFace) => _blink.Native_FontFaceSet_has_Callback(this, fontFace);
}
// 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.
@DomName('FontFaceSetForEachCallback')
@Experimental() // untriaged
typedef void FontFaceSetForEachCallback(FontFace fontFace, FontFace fontFaceAgain, FontFaceSet set);
// 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.
@DocsEditable()
@DomName('FormData')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
class FormData extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory FormData._() { throw new UnsupportedError("Not supported"); }
@DomName('FormData.FormData')
@DocsEditable()
factory FormData([FormElement form]) => _create(form);
@DocsEditable()
static FormData _create(form) => _blink.Native_FormData_constructorCallback(form);
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('FormData.append')
@DocsEditable()
void append(String name, String value) => _blink.Native_FormData_append_Callback(this, name, value);
@DomName('FormData.appendBlob')
@DocsEditable()
void appendBlob(String name, Blob value, [String filename]) => _blink.Native_FormData_appendBlob_Callback(this, name, value, filename);
}
// 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.
@DocsEditable()
@DomName('HTMLFormElement')
class FormElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory FormElement._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `autocomplete` events to event
* handlers that are not necessarily instances of [FormElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLFormElement.autocompleteEvent')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#autofilling-form-controls:-the-autocomplete-attribute
@Experimental()
static const EventStreamProvider<Event> autocompleteEvent = const EventStreamProvider<Event>('autocomplete');
/**
* Static factory designed to expose `autocompleteerror` events to event
* handlers that are not necessarily instances of [FormElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLFormElement.autocompleteerrorEvent')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#autofilling-form-controls:-the-autocomplete-attribute
@Experimental()
static const EventStreamProvider<AutocompleteErrorEvent> autocompleteErrorEvent = const EventStreamProvider<AutocompleteErrorEvent>('autocompleteerror');
@DomName('HTMLFormElement.HTMLFormElement')
@DocsEditable()
factory FormElement() => document.createElement("form");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
FormElement.created() : super.created();
@DomName('HTMLFormElement.acceptCharset')
@DocsEditable()
String get acceptCharset => _blink.Native_HTMLFormElement_acceptCharset_Getter(this);
@DomName('HTMLFormElement.acceptCharset')
@DocsEditable()
void set acceptCharset(String value) => _blink.Native_HTMLFormElement_acceptCharset_Setter(this, value);
@DomName('HTMLFormElement.action')
@DocsEditable()
String get action => _blink.Native_HTMLFormElement_action_Getter(this);
@DomName('HTMLFormElement.action')
@DocsEditable()
void set action(String value) => _blink.Native_HTMLFormElement_action_Setter(this, value);
@DomName('HTMLFormElement.autocomplete')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#autofilling-form-controls:-the-autocomplete-attribute
@Experimental()
String get autocomplete => _blink.Native_HTMLFormElement_autocomplete_Getter(this);
@DomName('HTMLFormElement.autocomplete')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#autofilling-form-controls:-the-autocomplete-attribute
@Experimental()
void set autocomplete(String value) => _blink.Native_HTMLFormElement_autocomplete_Setter(this, value);
@DomName('HTMLFormElement.encoding')
@DocsEditable()
String get encoding => _blink.Native_HTMLFormElement_encoding_Getter(this);
@DomName('HTMLFormElement.encoding')
@DocsEditable()
void set encoding(String value) => _blink.Native_HTMLFormElement_encoding_Setter(this, value);
@DomName('HTMLFormElement.enctype')
@DocsEditable()
String get enctype => _blink.Native_HTMLFormElement_enctype_Getter(this);
@DomName('HTMLFormElement.enctype')
@DocsEditable()
void set enctype(String value) => _blink.Native_HTMLFormElement_enctype_Setter(this, value);
@DomName('HTMLFormElement.length')
@DocsEditable()
int get length => _blink.Native_HTMLFormElement_length_Getter(this);
@DomName('HTMLFormElement.method')
@DocsEditable()
String get method => _blink.Native_HTMLFormElement_method_Getter(this);
@DomName('HTMLFormElement.method')
@DocsEditable()
void set method(String value) => _blink.Native_HTMLFormElement_method_Setter(this, value);
@DomName('HTMLFormElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLFormElement_name_Getter(this);
@DomName('HTMLFormElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLFormElement_name_Setter(this, value);
@DomName('HTMLFormElement.noValidate')
@DocsEditable()
bool get noValidate => _blink.Native_HTMLFormElement_noValidate_Getter(this);
@DomName('HTMLFormElement.noValidate')
@DocsEditable()
void set noValidate(bool value) => _blink.Native_HTMLFormElement_noValidate_Setter(this, value);
@DomName('HTMLFormElement.target')
@DocsEditable()
String get target => _blink.Native_HTMLFormElement_target_Getter(this);
@DomName('HTMLFormElement.target')
@DocsEditable()
void set target(String value) => _blink.Native_HTMLFormElement_target_Setter(this, value);
@DomName('HTMLFormElement.__getter__')
@DocsEditable()
Element __getter__(int index) => _blink.Native_HTMLFormElement___getter___Callback(this, index);
@DomName('HTMLFormElement.checkValidity')
@DocsEditable()
bool checkValidity() => _blink.Native_HTMLFormElement_checkValidity_Callback(this);
@DomName('HTMLFormElement.requestAutocomplete')
@DocsEditable()
// http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-October/037711.html
@Experimental()
void requestAutocomplete(Map details) => _blink.Native_HTMLFormElement_requestAutocomplete_Callback(this, details);
@DomName('HTMLFormElement.reset')
@DocsEditable()
void reset() => _blink.Native_HTMLFormElement_reset_Callback(this);
@DomName('HTMLFormElement.submit')
@DocsEditable()
void submit() => _blink.Native_HTMLFormElement_submit_Callback(this);
/// Stream of `autocomplete` events handled by this [FormElement].
@DomName('HTMLFormElement.onautocomplete')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#autofilling-form-controls:-the-autocomplete-attribute
@Experimental()
ElementStream<Event> get onAutocomplete => autocompleteEvent.forElement(this);
/// Stream of `autocompleteerror` events handled by this [FormElement].
@DomName('HTMLFormElement.onautocompleteerror')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#autofilling-form-controls:-the-autocomplete-attribute
@Experimental()
ElementStream<AutocompleteErrorEvent> get onAutocompleteError => autocompleteErrorEvent.forElement(this);
}
// 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.
@DocsEditable()
@DomName('Gamepad')
// https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#gamepad-interface
@Experimental()
class Gamepad extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Gamepad._() { throw new UnsupportedError("Not supported"); }
@DomName('Gamepad.axes')
@DocsEditable()
List<num> get axes => _blink.Native_Gamepad_axes_Getter(this);
@DomName('Gamepad.buttons')
@DocsEditable()
List<num> get buttons => _blink.Native_Gamepad_buttons_Getter(this);
@DomName('Gamepad.id')
@DocsEditable()
String get id => _blink.Native_Gamepad_id_Getter(this);
@DomName('Gamepad.index')
@DocsEditable()
int get index => _blink.Native_Gamepad_index_Getter(this);
@DomName('Gamepad.timestamp')
@DocsEditable()
int get timestamp => _blink.Native_Gamepad_timestamp_Getter(this);
}
// 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.
@DocsEditable()
@DomName('Geolocation')
@Unstable()
class Geolocation extends NativeFieldWrapperClass2 {
@DomName('Geolocation.getCurrentPosition')
Future<Geoposition> getCurrentPosition({bool enableHighAccuracy,
Duration timeout, Duration maximumAge}) {
var options = {};
if (enableHighAccuracy != null) {
options['enableHighAccuracy'] = enableHighAccuracy;
}
if (timeout != null) {
options['timeout'] = timeout.inMilliseconds;
}
if (maximumAge != null) {
options['maximumAge'] = maximumAge.inMilliseconds;
}
var completer = new Completer<Geoposition>();
try {
_getCurrentPosition(
(position) {
completer.complete(_ensurePosition(position));
},
(error) {
completer.completeError(error);
},
options);
} catch (e, stacktrace) {
completer.completeError(e, stacktrace);
}
return completer.future;
}
@DomName('Geolocation.watchPosition')
Stream<Geoposition> watchPosition({bool enableHighAccuracy,
Duration timeout, Duration maximumAge}) {
var options = {};
if (enableHighAccuracy != null) {
options['enableHighAccuracy'] = enableHighAccuracy;
}
if (timeout != null) {
options['timeout'] = timeout.inMilliseconds;
}
if (maximumAge != null) {
options['maximumAge'] = maximumAge.inMilliseconds;
}
int watchId;
var controller;
controller = new StreamController<Geoposition>(sync: true,
onListen: () {
assert(watchId == null);
watchId = _watchPosition(
(position) {
controller.add(_ensurePosition(position));
},
(error) {
controller.addError(error);
},
options);
},
onCancel: () {
assert(watchId != null);
_clearWatch(watchId);
});
return controller.stream;
}
Geoposition _ensurePosition(domPosition) {
return domPosition;
}
// To suppress missing implicit constructor warnings.
factory Geolocation._() { throw new UnsupportedError("Not supported"); }
@DomName('Geolocation.clearWatch')
@DocsEditable()
void _clearWatch(int watchID) => _blink.Native_Geolocation_clearWatch_Callback(this, watchID);
@DomName('Geolocation.getCurrentPosition')
@DocsEditable()
void _getCurrentPosition(_PositionCallback successCallback, [_PositionErrorCallback errorCallback, Object options]) => _blink.Native_Geolocation_getCurrentPosition_Callback(this, successCallback, errorCallback, options);
@DomName('Geolocation.watchPosition')
@DocsEditable()
int _watchPosition(_PositionCallback successCallback, [_PositionErrorCallback errorCallback, Object options]) => _blink.Native_Geolocation_watchPosition_Callback(this, successCallback, errorCallback, options);
}
// 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.
@DocsEditable()
@DomName('Geoposition')
@Unstable()
class Geoposition extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Geoposition._() { throw new UnsupportedError("Not supported"); }
@DomName('Geoposition.coords')
@DocsEditable()
Coordinates get coords => _blink.Native_Geoposition_coords_Getter(this);
@DomName('Geoposition.timestamp')
@DocsEditable()
int get timestamp => _blink.Native_Geoposition_timestamp_Getter(this);
}
// 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.
@DocsEditable()
@DomName('GlobalEventHandlers')
@Experimental() // untriaged
abstract class GlobalEventHandlers extends EventTarget {
// To suppress missing implicit constructor warnings.
factory GlobalEventHandlers._() { throw new UnsupportedError("Not supported"); }
@DomName('GlobalEventHandlers.abortEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> abortEvent = const EventStreamProvider<Event>('abort');
@DomName('GlobalEventHandlers.blurEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> blurEvent = const EventStreamProvider<Event>('blur');
@DomName('GlobalEventHandlers.changeEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> changeEvent = const EventStreamProvider<Event>('change');
@DomName('GlobalEventHandlers.clickEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> clickEvent = const EventStreamProvider<MouseEvent>('click');
@DomName('GlobalEventHandlers.contextmenuEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> contextMenuEvent = const EventStreamProvider<MouseEvent>('contextmenu');
@DomName('GlobalEventHandlers.dblclickEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> doubleClickEvent = const EventStreamProvider<Event>('dblclick');
@DomName('GlobalEventHandlers.dragEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragEvent = const EventStreamProvider<MouseEvent>('drag');
@DomName('GlobalEventHandlers.dragendEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragEndEvent = const EventStreamProvider<MouseEvent>('dragend');
@DomName('GlobalEventHandlers.dragenterEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragEnterEvent = const EventStreamProvider<MouseEvent>('dragenter');
@DomName('GlobalEventHandlers.dragleaveEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragLeaveEvent = const EventStreamProvider<MouseEvent>('dragleave');
@DomName('GlobalEventHandlers.dragoverEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragOverEvent = const EventStreamProvider<MouseEvent>('dragover');
@DomName('GlobalEventHandlers.dragstartEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragStartEvent = const EventStreamProvider<MouseEvent>('dragstart');
@DomName('GlobalEventHandlers.dropEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dropEvent = const EventStreamProvider<MouseEvent>('drop');
@DomName('GlobalEventHandlers.errorEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
@DomName('GlobalEventHandlers.focusEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> focusEvent = const EventStreamProvider<Event>('focus');
@DomName('GlobalEventHandlers.inputEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> inputEvent = const EventStreamProvider<Event>('input');
@DomName('GlobalEventHandlers.invalidEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> invalidEvent = const EventStreamProvider<Event>('invalid');
@DomName('GlobalEventHandlers.keydownEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<KeyboardEvent> keyDownEvent = const EventStreamProvider<KeyboardEvent>('keydown');
@DomName('GlobalEventHandlers.keypressEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<KeyboardEvent> keyPressEvent = const EventStreamProvider<KeyboardEvent>('keypress');
@DomName('GlobalEventHandlers.keyupEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<KeyboardEvent> keyUpEvent = const EventStreamProvider<KeyboardEvent>('keyup');
@DomName('GlobalEventHandlers.loadEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> loadEvent = const EventStreamProvider<Event>('load');
@DomName('GlobalEventHandlers.mousedownEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseDownEvent = const EventStreamProvider<MouseEvent>('mousedown');
@DomName('GlobalEventHandlers.mouseenterEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseEnterEvent = const EventStreamProvider<MouseEvent>('mouseenter');
@DomName('GlobalEventHandlers.mouseleaveEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseLeaveEvent = const EventStreamProvider<MouseEvent>('mouseleave');
@DomName('GlobalEventHandlers.mousemoveEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseMoveEvent = const EventStreamProvider<MouseEvent>('mousemove');
@DomName('GlobalEventHandlers.mouseoutEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseOutEvent = const EventStreamProvider<MouseEvent>('mouseout');
@DomName('GlobalEventHandlers.mouseoverEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseOverEvent = const EventStreamProvider<MouseEvent>('mouseover');
@DomName('GlobalEventHandlers.mouseupEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseUpEvent = const EventStreamProvider<MouseEvent>('mouseup');
@DomName('GlobalEventHandlers.mousewheelEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<WheelEvent> mouseWheelEvent = const EventStreamProvider<WheelEvent>('mousewheel');
@DomName('GlobalEventHandlers.resetEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> resetEvent = const EventStreamProvider<Event>('reset');
@DomName('GlobalEventHandlers.resizeEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> resizeEvent = const EventStreamProvider<Event>('resize');
@DomName('GlobalEventHandlers.scrollEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> scrollEvent = const EventStreamProvider<Event>('scroll');
@DomName('GlobalEventHandlers.selectEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> selectEvent = const EventStreamProvider<Event>('select');
@DomName('GlobalEventHandlers.submitEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> submitEvent = const EventStreamProvider<Event>('submit');
@DomName('GlobalEventHandlers.onabort')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onAbort => abortEvent.forTarget(this);
@DomName('GlobalEventHandlers.onblur')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onBlur => blurEvent.forTarget(this);
@DomName('GlobalEventHandlers.onchange')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onChange => changeEvent.forTarget(this);
@DomName('GlobalEventHandlers.onclick')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onClick => clickEvent.forTarget(this);
@DomName('GlobalEventHandlers.oncontextmenu')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onContextMenu => contextMenuEvent.forTarget(this);
@DomName('GlobalEventHandlers.ondblclick')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onDoubleClick => doubleClickEvent.forTarget(this);
@DomName('GlobalEventHandlers.ondrag')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onDrag => dragEvent.forTarget(this);
@DomName('GlobalEventHandlers.ondragend')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onDragEnd => dragEndEvent.forTarget(this);
@DomName('GlobalEventHandlers.ondragenter')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onDragEnter => dragEnterEvent.forTarget(this);
@DomName('GlobalEventHandlers.ondragleave')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onDragLeave => dragLeaveEvent.forTarget(this);
@DomName('GlobalEventHandlers.ondragover')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onDragOver => dragOverEvent.forTarget(this);
@DomName('GlobalEventHandlers.ondragstart')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onDragStart => dragStartEvent.forTarget(this);
@DomName('GlobalEventHandlers.ondrop')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onDrop => dropEvent.forTarget(this);
@DomName('GlobalEventHandlers.onerror')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onError => errorEvent.forTarget(this);
@DomName('GlobalEventHandlers.onfocus')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onFocus => focusEvent.forTarget(this);
@DomName('GlobalEventHandlers.oninput')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onInput => inputEvent.forTarget(this);
@DomName('GlobalEventHandlers.oninvalid')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onInvalid => invalidEvent.forTarget(this);
@DomName('GlobalEventHandlers.onkeydown')
@DocsEditable()
@Experimental() // untriaged
Stream<KeyboardEvent> get onKeyDown => keyDownEvent.forTarget(this);
@DomName('GlobalEventHandlers.onkeypress')
@DocsEditable()
@Experimental() // untriaged
Stream<KeyboardEvent> get onKeyPress => keyPressEvent.forTarget(this);
@DomName('GlobalEventHandlers.onkeyup')
@DocsEditable()
@Experimental() // untriaged
Stream<KeyboardEvent> get onKeyUp => keyUpEvent.forTarget(this);
@DomName('GlobalEventHandlers.onload')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onLoad => loadEvent.forTarget(this);
@DomName('GlobalEventHandlers.onmousedown')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onMouseDown => mouseDownEvent.forTarget(this);
@DomName('GlobalEventHandlers.onmouseenter')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onMouseEnter => mouseEnterEvent.forTarget(this);
@DomName('GlobalEventHandlers.onmouseleave')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onMouseLeave => mouseLeaveEvent.forTarget(this);
@DomName('GlobalEventHandlers.onmousemove')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onMouseMove => mouseMoveEvent.forTarget(this);
@DomName('GlobalEventHandlers.onmouseout')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onMouseOut => mouseOutEvent.forTarget(this);
@DomName('GlobalEventHandlers.onmouseover')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onMouseOver => mouseOverEvent.forTarget(this);
@DomName('GlobalEventHandlers.onmouseup')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onMouseUp => mouseUpEvent.forTarget(this);
@DomName('GlobalEventHandlers.onmousewheel')
@DocsEditable()
@Experimental() // untriaged
Stream<WheelEvent> get onMouseWheel => mouseWheelEvent.forTarget(this);
@DomName('GlobalEventHandlers.onreset')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onReset => resetEvent.forTarget(this);
@DomName('GlobalEventHandlers.onresize')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onResize => resizeEvent.forTarget(this);
@DomName('GlobalEventHandlers.onscroll')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onScroll => scrollEvent.forTarget(this);
@DomName('GlobalEventHandlers.onselect')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onSelect => selectEvent.forTarget(this);
@DomName('GlobalEventHandlers.onsubmit')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onSubmit => submitEvent.forTarget(this);
}
// 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.
@DocsEditable()
/**
* An `<hr>` tag.
*/
@DomName('HTMLHRElement')
class HRElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory HRElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLHRElement.HTMLHRElement')
@DocsEditable()
factory HRElement() => document.createElement("hr");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
HRElement.created() : super.created();
@DomName('HTMLHRElement.color')
@DocsEditable()
@Experimental() // untriaged
String get color => _blink.Native_HTMLHRElement_color_Getter(this);
@DomName('HTMLHRElement.color')
@DocsEditable()
@Experimental() // untriaged
void set color(String value) => _blink.Native_HTMLHRElement_color_Setter(this, value);
}
// Copyright (c) 2013, 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.
@DomName('HashChangeEvent')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Unstable()
class HashChangeEvent extends Event {
factory HashChangeEvent(String type,
{bool canBubble: true, bool cancelable: true, String oldUrl,
String newUrl}) {
var event = document._createEvent("HashChangeEvent");
event._initHashChangeEvent(type, canBubble, cancelable, oldUrl, newUrl);
return event;
}
// To suppress missing implicit constructor warnings.
factory HashChangeEvent._() { throw new UnsupportedError("Not supported"); }
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HashChangeEvent.newURL')
@DocsEditable()
String get newUrl => _blink.Native_HashChangeEvent_newURL_Getter(this);
@DomName('HashChangeEvent.oldURL')
@DocsEditable()
String get oldUrl => _blink.Native_HashChangeEvent_oldURL_Getter(this);
@DomName('HashChangeEvent.initHashChangeEvent')
@DocsEditable()
void _initHashChangeEvent(String type, bool canBubble, bool cancelable, String oldURL, String newURL) => _blink.Native_HashChangeEvent_initHashChangeEvent_Callback(this, type, canBubble, cancelable, oldURL, newURL);
}
// 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.
@DocsEditable()
@DomName('HTMLHeadElement')
class HeadElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory HeadElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLHeadElement.HTMLHeadElement')
@DocsEditable()
factory HeadElement() => document.createElement("head");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
HeadElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('HTMLHeadingElement')
class HeadingElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory HeadingElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLHeadingElement.HTMLHeadingElement')
@DocsEditable()
factory HeadingElement.h1() => document.createElement("h1");
@DomName('HTMLHeadingElement.HTMLHeadingElement')
@DocsEditable()
factory HeadingElement.h2() => document.createElement("h2");
@DomName('HTMLHeadingElement.HTMLHeadingElement')
@DocsEditable()
factory HeadingElement.h3() => document.createElement("h3");
@DomName('HTMLHeadingElement.HTMLHeadingElement')
@DocsEditable()
factory HeadingElement.h4() => document.createElement("h4");
@DomName('HTMLHeadingElement.HTMLHeadingElement')
@DocsEditable()
factory HeadingElement.h5() => document.createElement("h5");
@DomName('HTMLHeadingElement.HTMLHeadingElement')
@DocsEditable()
factory HeadingElement.h6() => document.createElement("h6");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
HeadingElement.created() : super.created();
}
// 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.
@DomName('History')
class History extends NativeFieldWrapperClass2 implements HistoryBase {
/**
* Checks if the State APIs are supported on the current platform.
*
* See also:
*
* * [pushState]
* * [replaceState]
* * [state]
*/
static bool get supportsState => true;
// To suppress missing implicit constructor warnings.
factory History._() { throw new UnsupportedError("Not supported"); }
@DomName('History.length')
@DocsEditable()
int get length => _blink.Native_History_length_Getter(this);
@DomName('History.state')
@DocsEditable()
dynamic get state => _blink.Native_History_state_Getter(this);
@DomName('History.back')
@DocsEditable()
void back() => _blink.Native_History_back_Callback(this);
@DomName('History.forward')
@DocsEditable()
void forward() => _blink.Native_History_forward_Callback(this);
@DomName('History.go')
@DocsEditable()
void go(int distance) => _blink.Native_History_go_Callback(this, distance);
@DomName('History.pushState')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
void pushState(Object data, String title, [String url]) => _blink.Native_History_pushState_Callback(this, data, title, url);
@DomName('History.replaceState')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
void replaceState(Object data, String title, [String url]) => _blink.Native_History_replaceState_Callback(this, data, title, url);
}
// 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.
@DocsEditable()
@DomName('HTMLCollection')
class HtmlCollection extends NativeFieldWrapperClass2 with ListMixin<Node>, ImmutableListMixin<Node> implements List<Node> {
// To suppress missing implicit constructor warnings.
factory HtmlCollection._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLCollection.length')
@DocsEditable()
int get length => _blink.Native_HTMLCollection_length_Getter(this);
Node operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_HTMLCollection_NativeIndexed_Getter(this, index);
}
Node _nativeIndexedGetter(int index) => _blink.Native_HTMLCollection_NativeIndexed_Getter(this, index);
void operator[]=(int index, Node value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<Node> mixins.
// Node is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
Node get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
Node get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
Node get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
Node elementAt(int index) => this[index];
// -- end List<Node> mixins.
@DomName('HTMLCollection.item')
@DocsEditable()
Element item(int index) => _blink.Native_HTMLCollection_item_Callback(this, index);
@DomName('HTMLCollection.namedItem')
@DocsEditable()
Element namedItem(String name) => _blink.Native_HTMLCollection_namedItem_Callback(this, name);
}
// 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.
@DomName('HTMLDocument')
class HtmlDocument extends Document {
// To suppress missing implicit constructor warnings.
factory HtmlDocument._() { throw new UnsupportedError("Not supported"); }
@DomName('Document.body')
BodyElement get body => _body;
@DomName('Document.body')
void set body(BodyElement value) {
_body = value;
}
@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]
*/
static bool get supportsCssCanvasContext => true;
/**
* 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;
}
/**
* Returns page to standard layout.
*
* Has no effect if the page is not in fullscreen mode.
*
* ## Other resources
*
* * [Using the fullscreen API]
* (http://docs.webplatform.org/wiki/tutorials/using_the_full-screen_api) from
* WebPlatform.org.
* * [Fullscreen specification]
* (http://www.w3.org/TR/fullscreen/) from W3C.
*/
@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();
}
/**
* Returns the element, if any, that is currently displayed in fullscreen.
*
* Returns null if there is currently no fullscreen element. You can use
* this to determine if the page is in fullscreen mode.
*
* myVideo = new VideoElement();
* if (document.fullscreenElement == null) {
* myVideo.requestFullscreen();
* print(document.fullscreenElement == myVideo); // true
* }
*
* ## Other resources
*
* * [Using the fullscreen API]
* (http://docs.webplatform.org/wiki/tutorials/using_the_full-screen_api) from
* WebPlatform.org.
* * [Fullscreen specification]
* (http://www.w3.org/TR/fullscreen/) from W3C.
*/
@DomName('Document.webkitFullscreenElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
Element get fullscreenElement => _webkitFullscreenElement;
/**
* Returns true if this document can display elements in fullscreen mode.
*
* ## Other resources
*
* * [Using the fullscreen API]
* (http://docs.webplatform.org/wiki/tutorials/using_the_full-screen_api) from
* WebPlatform.org.
* * [Fullscreen specification]
* (http://www.w3.org/TR/fullscreen/) from W3C.
*/
@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()
String get visibilityState => _webkitVisibilityState;
@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.registerElement('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.registerElement('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>`
*
*/
void registerElement(String tag, Type customElementClass,
{String extendsTag}) {
_Utils.register(this, tag, customElementClass, extendsTag);
}
/** *Deprecated*: use [registerElement] instead. */
@deprecated
@Experimental()
void register(String tag, Type customElementClass, {String extendsTag}) {
return registerElement(tag, customElementClass, extendsTag: extendsTag);
}
/**
* 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) {
return 'webkitvisibilitychange';
}
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@Experimental()
Stream<Event> get onVisibilityChange =>
visibilityChangeEvent.forTarget(this);
/// Creates an element upgrader which can be used to change the Dart wrapper
/// type for elements.
///
/// The type specified must be a subclass of HtmlElement, when an element is
/// upgraded then the created constructor will be invoked on that element.
///
/// If the type is not a direct subclass of HtmlElement then the extendsTag
/// parameter must be provided.
@Experimental()
ElementUpgrader createElementUpgrader(Type type, {String extendsTag}) {
return new _VMElementUpgrader(this, type, extendsTag);
}
}
// 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.
@DocsEditable()
@DomName('HTMLElement')
class HtmlElement extends Element implements GlobalEventHandlers {
// To suppress missing implicit constructor warnings.
factory HtmlElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLElement.abortEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> abortEvent = const EventStreamProvider<Event>('abort');
@DomName('HTMLElement.blurEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> blurEvent = const EventStreamProvider<Event>('blur');
@DomName('HTMLElement.canplayEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> canPlayEvent = const EventStreamProvider<Event>('canplay');
@DomName('HTMLElement.canplaythroughEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> canPlayThroughEvent = const EventStreamProvider<Event>('canplaythrough');
@DomName('HTMLElement.changeEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> changeEvent = const EventStreamProvider<Event>('change');
@DomName('HTMLElement.clickEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> clickEvent = const EventStreamProvider<MouseEvent>('click');
@DomName('HTMLElement.contextmenuEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> contextMenuEvent = const EventStreamProvider<MouseEvent>('contextmenu');
@DomName('HTMLElement.dblclickEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> doubleClickEvent = const EventStreamProvider<Event>('dblclick');
@DomName('HTMLElement.dragEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragEvent = const EventStreamProvider<MouseEvent>('drag');
@DomName('HTMLElement.dragendEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragEndEvent = const EventStreamProvider<MouseEvent>('dragend');
@DomName('HTMLElement.dragenterEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragEnterEvent = const EventStreamProvider<MouseEvent>('dragenter');
@DomName('HTMLElement.dragleaveEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragLeaveEvent = const EventStreamProvider<MouseEvent>('dragleave');
@DomName('HTMLElement.dragoverEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragOverEvent = const EventStreamProvider<MouseEvent>('dragover');
@DomName('HTMLElement.dragstartEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dragStartEvent = const EventStreamProvider<MouseEvent>('dragstart');
@DomName('HTMLElement.dropEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> dropEvent = const EventStreamProvider<MouseEvent>('drop');
@DomName('HTMLElement.durationchangeEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> durationChangeEvent = const EventStreamProvider<Event>('durationchange');
@DomName('HTMLElement.emptiedEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> emptiedEvent = const EventStreamProvider<Event>('emptied');
@DomName('HTMLElement.endedEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> endedEvent = const EventStreamProvider<Event>('ended');
@DomName('HTMLElement.errorEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
@DomName('HTMLElement.focusEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> focusEvent = const EventStreamProvider<Event>('focus');
@DomName('HTMLElement.inputEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> inputEvent = const EventStreamProvider<Event>('input');
@DomName('HTMLElement.invalidEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> invalidEvent = const EventStreamProvider<Event>('invalid');
@DomName('HTMLElement.keydownEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<KeyboardEvent> keyDownEvent = const EventStreamProvider<KeyboardEvent>('keydown');
@DomName('HTMLElement.keypressEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<KeyboardEvent> keyPressEvent = const EventStreamProvider<KeyboardEvent>('keypress');
@DomName('HTMLElement.keyupEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<KeyboardEvent> keyUpEvent = const EventStreamProvider<KeyboardEvent>('keyup');
@DomName('HTMLElement.loadEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> loadEvent = const EventStreamProvider<Event>('load');
@DomName('HTMLElement.loadeddataEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> loadedDataEvent = const EventStreamProvider<Event>('loadeddata');
@DomName('HTMLElement.loadedmetadataEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> loadedMetadataEvent = const EventStreamProvider<Event>('loadedmetadata');
@DomName('HTMLElement.mousedownEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseDownEvent = const EventStreamProvider<MouseEvent>('mousedown');
@DomName('HTMLElement.mouseenterEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseEnterEvent = const EventStreamProvider<MouseEvent>('mouseenter');
@DomName('HTMLElement.mouseleaveEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseLeaveEvent = const EventStreamProvider<MouseEvent>('mouseleave');
@DomName('HTMLElement.mousemoveEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseMoveEvent = const EventStreamProvider<MouseEvent>('mousemove');
@DomName('HTMLElement.mouseoutEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseOutEvent = const EventStreamProvider<MouseEvent>('mouseout');
@DomName('HTMLElement.mouseoverEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseOverEvent = const EventStreamProvider<MouseEvent>('mouseover');
@DomName('HTMLElement.mouseupEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MouseEvent> mouseUpEvent = const EventStreamProvider<MouseEvent>('mouseup');
@DomName('HTMLElement.mousewheelEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<WheelEvent> mouseWheelEvent = const EventStreamProvider<WheelEvent>('mousewheel');
@DomName('HTMLElement.pauseEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> pauseEvent = const EventStreamProvider<Event>('pause');
@DomName('HTMLElement.playEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> playEvent = const EventStreamProvider<Event>('play');
@DomName('HTMLElement.playingEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> playingEvent = const EventStreamProvider<Event>('playing');
@DomName('HTMLElement.ratechangeEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> rateChangeEvent = const EventStreamProvider<Event>('ratechange');
@DomName('HTMLElement.resetEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> resetEvent = const EventStreamProvider<Event>('reset');
@DomName('HTMLElement.resizeEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> resizeEvent = const EventStreamProvider<Event>('resize');
@DomName('HTMLElement.scrollEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> scrollEvent = const EventStreamProvider<Event>('scroll');
@DomName('HTMLElement.seekedEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> seekedEvent = const EventStreamProvider<Event>('seeked');
@DomName('HTMLElement.seekingEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> seekingEvent = const EventStreamProvider<Event>('seeking');
@DomName('HTMLElement.selectEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> selectEvent = const EventStreamProvider<Event>('select');
@DomName('HTMLElement.stalledEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> stalledEvent = const EventStreamProvider<Event>('stalled');
@DomName('HTMLElement.submitEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> submitEvent = const EventStreamProvider<Event>('submit');
@DomName('HTMLElement.suspendEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> suspendEvent = const EventStreamProvider<Event>('suspend');
@DomName('HTMLElement.timeupdateEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> timeUpdateEvent = const EventStreamProvider<Event>('timeupdate');
@DomName('HTMLElement.volumechangeEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> volumeChangeEvent = const EventStreamProvider<Event>('volumechange');
@DomName('HTMLElement.waitingEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> waitingEvent = const EventStreamProvider<Event>('waiting');
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
HtmlElement.created() : super.created();
@DomName('HTMLElement.contentEditable')
@DocsEditable()
String get contentEditable => _blink.Native_HTMLElement_contentEditable_Getter(this);
@DomName('HTMLElement.contentEditable')
@DocsEditable()
void set contentEditable(String value) => _blink.Native_HTMLElement_contentEditable_Setter(this, value);
@DomName('HTMLElement.dir')
@DocsEditable()
String get dir => _blink.Native_HTMLElement_dir_Getter(this);
@DomName('HTMLElement.dir')
@DocsEditable()
void set dir(String value) => _blink.Native_HTMLElement_dir_Setter(this, value);
@DomName('HTMLElement.draggable')
@DocsEditable()
bool get draggable => _blink.Native_HTMLElement_draggable_Getter(this);
@DomName('HTMLElement.draggable')
@DocsEditable()
void set draggable(bool value) => _blink.Native_HTMLElement_draggable_Setter(this, value);
@DomName('HTMLElement.hidden')
@DocsEditable()
bool get hidden => _blink.Native_HTMLElement_hidden_Getter(this);
@DomName('HTMLElement.hidden')
@DocsEditable()
void set hidden(bool value) => _blink.Native_HTMLElement_hidden_Setter(this, value);
@DomName('HTMLElement.inputMethodContext')
@DocsEditable()
@Experimental() // untriaged
InputMethodContext get inputMethodContext => _blink.Native_HTMLElement_inputMethodContext_Getter(this);
@DomName('HTMLElement.isContentEditable')
@DocsEditable()
bool get isContentEditable => _blink.Native_HTMLElement_isContentEditable_Getter(this);
@DomName('HTMLElement.lang')
@DocsEditable()
String get lang => _blink.Native_HTMLElement_lang_Getter(this);
@DomName('HTMLElement.lang')
@DocsEditable()
void set lang(String value) => _blink.Native_HTMLElement_lang_Setter(this, value);
@DomName('HTMLElement.spellcheck')
@DocsEditable()
// http://blog.whatwg.org/the-road-to-html-5-spellchecking
@Experimental() // nonstandard
bool get spellcheck => _blink.Native_HTMLElement_spellcheck_Getter(this);
@DomName('HTMLElement.spellcheck')
@DocsEditable()
// http://blog.whatwg.org/the-road-to-html-5-spellchecking
@Experimental() // nonstandard
void set spellcheck(bool value) => _blink.Native_HTMLElement_spellcheck_Setter(this, value);
@DomName('HTMLElement.tabIndex')
@DocsEditable()
int get tabIndex => _blink.Native_HTMLElement_tabIndex_Getter(this);
@DomName('HTMLElement.tabIndex')
@DocsEditable()
void set tabIndex(int value) => _blink.Native_HTMLElement_tabIndex_Setter(this, value);
@DomName('HTMLElement.title')
@DocsEditable()
String get title => _blink.Native_HTMLElement_title_Getter(this);
@DomName('HTMLElement.title')
@DocsEditable()
void set title(String value) => _blink.Native_HTMLElement_title_Setter(this, value);
@DomName('HTMLElement.translate')
@DocsEditable()
bool get translate => _blink.Native_HTMLElement_translate_Getter(this);
@DomName('HTMLElement.translate')
@DocsEditable()
void set translate(bool value) => _blink.Native_HTMLElement_translate_Setter(this, value);
@DomName('HTMLElement.webkitdropzone')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dropzone-attribute
String get dropzone => _blink.Native_HTMLElement_webkitdropzone_Getter(this);
@DomName('HTMLElement.webkitdropzone')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dropzone-attribute
void set dropzone(String value) => _blink.Native_HTMLElement_webkitdropzone_Setter(this, value);
@DomName('HTMLElement.click')
@DocsEditable()
void click() => _blink.Native_HTMLElement_click_Callback(this);
@DomName('HTMLElement.onabort')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onAbort => abortEvent.forElement(this);
@DomName('HTMLElement.onblur')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onBlur => blurEvent.forElement(this);
@DomName('HTMLElement.oncanplay')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onCanPlay => canPlayEvent.forElement(this);
@DomName('HTMLElement.oncanplaythrough')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onCanPlayThrough => canPlayThroughEvent.forElement(this);
@DomName('HTMLElement.onchange')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onChange => changeEvent.forElement(this);
@DomName('HTMLElement.onclick')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onClick => clickEvent.forElement(this);
@DomName('HTMLElement.oncontextmenu')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onContextMenu => contextMenuEvent.forElement(this);
@DomName('HTMLElement.ondblclick')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onDoubleClick => doubleClickEvent.forElement(this);
@DomName('HTMLElement.ondrag')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onDrag => dragEvent.forElement(this);
@DomName('HTMLElement.ondragend')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onDragEnd => dragEndEvent.forElement(this);
@DomName('HTMLElement.ondragenter')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onDragEnter => dragEnterEvent.forElement(this);
@DomName('HTMLElement.ondragleave')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onDragLeave => dragLeaveEvent.forElement(this);
@DomName('HTMLElement.ondragover')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onDragOver => dragOverEvent.forElement(this);
@DomName('HTMLElement.ondragstart')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onDragStart => dragStartEvent.forElement(this);
@DomName('HTMLElement.ondrop')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onDrop => dropEvent.forElement(this);
@DomName('HTMLElement.ondurationchange')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onDurationChange => durationChangeEvent.forElement(this);
@DomName('HTMLElement.onemptied')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onEmptied => emptiedEvent.forElement(this);
@DomName('HTMLElement.onended')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onEnded => endedEvent.forElement(this);
@DomName('HTMLElement.onerror')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onError => errorEvent.forElement(this);
@DomName('HTMLElement.onfocus')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onFocus => focusEvent.forElement(this);
@DomName('HTMLElement.oninput')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onInput => inputEvent.forElement(this);
@DomName('HTMLElement.oninvalid')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onInvalid => invalidEvent.forElement(this);
@DomName('HTMLElement.onkeydown')
@DocsEditable()
@Experimental() // untriaged
ElementStream<KeyboardEvent> get onKeyDown => keyDownEvent.forElement(this);
@DomName('HTMLElement.onkeypress')
@DocsEditable()
@Experimental() // untriaged
ElementStream<KeyboardEvent> get onKeyPress => keyPressEvent.forElement(this);
@DomName('HTMLElement.onkeyup')
@DocsEditable()
@Experimental() // untriaged
ElementStream<KeyboardEvent> get onKeyUp => keyUpEvent.forElement(this);
@DomName('HTMLElement.onload')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onLoad => loadEvent.forElement(this);
@DomName('HTMLElement.onloadeddata')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onLoadedData => loadedDataEvent.forElement(this);
@DomName('HTMLElement.onloadedmetadata')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onLoadedMetadata => loadedMetadataEvent.forElement(this);
@DomName('HTMLElement.onmousedown')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseDown => mouseDownEvent.forElement(this);
@DomName('HTMLElement.onmouseenter')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseEnter => mouseEnterEvent.forElement(this);
@DomName('HTMLElement.onmouseleave')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseLeave => mouseLeaveEvent.forElement(this);
@DomName('HTMLElement.onmousemove')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseMove => mouseMoveEvent.forElement(this);
@DomName('HTMLElement.onmouseout')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseOut => mouseOutEvent.forElement(this);
@DomName('HTMLElement.onmouseover')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseOver => mouseOverEvent.forElement(this);
@DomName('HTMLElement.onmouseup')
@DocsEditable()
@Experimental() // untriaged
ElementStream<MouseEvent> get onMouseUp => mouseUpEvent.forElement(this);
@DomName('HTMLElement.onmousewheel')
@DocsEditable()
@Experimental() // untriaged
ElementStream<WheelEvent> get onMouseWheel => mouseWheelEvent.forElement(this);
@DomName('HTMLElement.onpause')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onPause => pauseEvent.forElement(this);
@DomName('HTMLElement.onplay')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onPlay => playEvent.forElement(this);
@DomName('HTMLElement.onplaying')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onPlaying => playingEvent.forElement(this);
@DomName('HTMLElement.onratechange')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onRateChange => rateChangeEvent.forElement(this);
@DomName('HTMLElement.onreset')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onReset => resetEvent.forElement(this);
@DomName('HTMLElement.onresize')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onResize => resizeEvent.forElement(this);
@DomName('HTMLElement.onscroll')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onScroll => scrollEvent.forElement(this);
@DomName('HTMLElement.onseeked')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onSeeked => seekedEvent.forElement(this);
@DomName('HTMLElement.onseeking')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onSeeking => seekingEvent.forElement(this);
@DomName('HTMLElement.onselect')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onSelect => selectEvent.forElement(this);
@DomName('HTMLElement.onstalled')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onStalled => stalledEvent.forElement(this);
@DomName('HTMLElement.onsubmit')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onSubmit => submitEvent.forElement(this);
@DomName('HTMLElement.onsuspend')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onSuspend => suspendEvent.forElement(this);
@DomName('HTMLElement.ontimeupdate')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onTimeUpdate => timeUpdateEvent.forElement(this);
@DomName('HTMLElement.onvolumechange')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onVolumeChange => volumeChangeEvent.forElement(this);
@DomName('HTMLElement.onwaiting')
@DocsEditable()
@Experimental() // untriaged
ElementStream<Event> get onWaiting => waitingEvent.forElement(this);
}
// 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.
@DocsEditable()
@DomName('HTMLFormControlsCollection')
class HtmlFormControlsCollection extends HtmlCollection {
// To suppress missing implicit constructor warnings.
factory HtmlFormControlsCollection._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('HTMLHtmlElement')
class HtmlHtmlElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory HtmlHtmlElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLHtmlElement.HTMLHtmlElement')
@DocsEditable()
factory HtmlHtmlElement() => document.createElement("html");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
HtmlHtmlElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('HTMLOptionsCollection')
class HtmlOptionsCollection extends HtmlCollection {
// To suppress missing implicit constructor warnings.
factory HtmlOptionsCollection._() { throw new UnsupportedError("Not supported"); }
}
// 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.
/**
* A client-side XHR request for getting data from a URL,
* formally known as XMLHttpRequest.
*
* HttpRequest can be used to obtain data from HTTP and FTP protocols,
* and is useful for AJAX-style page updates.
*
* The simplest way to get the contents of a text file, such as a
* JSON-formatted file, is with [getString].
* For example, the following code gets the contents of a JSON file
* and prints its length:
*
* var path = 'myData.json';
* HttpRequest.getString(path)
* .then((String fileContents) {
* print(fileContents.length);
* })
* .catchError((Error error) {
* print(error.toString());
* });
*
* ## Fetching data from other servers
*
* For security reasons, browsers impose restrictions on requests
* made by embedded apps.
* With the default behavior of this class,
* the code making the request must be served from the same origin
* (domain name, port, and application layer protocol)
* as the requested resource.
* In the example above, the myData.json file must be co-located with the
* app that uses it.
* You might be able to
* [get around this restriction](http://www.dartlang.org/articles/json-web-service/#a-note-on-cors-and-httprequest)
* by using CORS headers or JSONP.
*
* ## Other resources
*
* * [Fetch Data Dynamically](https://www.dartlang.org/docs/tutorials/fetchdata/),
* a tutorial from _A Game of Darts_,
* shows two different ways to use HttpRequest to get a JSON file.
* * [Get Input from a Form](https://www.dartlang.org/docs/tutorials/forms/),
* another tutorial from _A Game of Darts_,
* shows using HttpRequest with a custom server.
* * [Dart article on using HttpRequests](http://www.dartlang.org/articles/json-web-service/#getting-data)
* * [JS XMLHttpRequest](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest)
* * [Using XMLHttpRequest](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest/Using_XMLHttpRequest)
*/
@DomName('XMLHttpRequest')
class HttpRequest extends HttpRequestEventTarget {
/**
* Creates a GET request for the specified [url].
*
* The server response must be a `text/` mime type for this request to
* succeed.
*
* This is similar to [request] but specialized for HTTP GET requests which
* return text content.
*
* To add query parameters, append them to the [url] following a `?`,
* joining each key to its value with `=` and separating key-value pairs with
* `&`.
*
* var name = Uri.encodeQueryComponent('John');
* var id = Uri.encodeQueryComponent('42');
* HttpRequest.getString('users.json?name=$name&id=$id')
* .then((HttpRequest resp) {
* // Do something with the response.
* });
*
* See also:
*
* * [request]
*/
static Future<String> getString(String url,
{bool withCredentials, void onProgress(ProgressEvent e)}) {
return request(url, withCredentials: withCredentials,
onProgress: onProgress).then((xhr) => xhr.responseText);
}
/**
* Makes a server POST request with the specified data encoded as form data.
*
* This is roughly the POST equivalent of getString. This method is similar
* to sending a FormData object with broader browser support but limited to
* String values.
*
* If [data] is supplied, the key/value pairs are URI encoded with
* [Uri.encodeQueryComponent] and converted into an HTTP query string.
*
* Unless otherwise specified, this method appends the following header:
*
* Content-Type: application/x-www-form-urlencoded; charset=UTF-8
*
* Here's an example of using this method:
*
* var data = { 'firstName' : 'John', 'lastName' : 'Doe' };
* HttpRequest.postFormData('/send', data).then((HttpRequest resp) {
* // Do something with the response.
* });
*
* See also:
*
* * [request]
*/
static Future<HttpRequest> postFormData(String url, Map<String, String> data,
{bool withCredentials, String responseType,
Map<String, String> requestHeaders,
void onProgress(ProgressEvent e)}) {
var parts = [];
data.forEach((key, value) {
parts.add('${Uri.encodeQueryComponent(key)}='
'${Uri.encodeQueryComponent(value)}');
});
var formData = parts.join('&');
if (requestHeaders == null) {
requestHeaders = <String, String>{};
}
requestHeaders.putIfAbsent('Content-Type',
() => 'application/x-www-form-urlencoded; charset=UTF-8');
return request(url, method: 'POST', withCredentials: withCredentials,
responseType: responseType,
requestHeaders: requestHeaders, sendData: formData,
onProgress: onProgress);
}
/**
* Creates and sends a URL request for the specified [url].
*
* By default `request` will perform an HTTP GET request, but a different
* method (`POST`, `PUT`, `DELETE`, etc) can be used by specifying the
* [method] parameter. (See also [HttpRequest.postFormData] for `POST`
* requests only.
*
* The Future is completed when the response is available.
*
* If specified, `sendData` will send data in the form of a [ByteBuffer],
* [Blob], [Document], [String], or [FormData] along with the HttpRequest.
*
* If specified, [responseType] sets the desired response format for the
* request. By default it is [String], but can also be 'arraybuffer', 'blob',
* 'document', 'json', or 'text'. See also [HttpRequest.responseType]
* for more information.
*
* The [withCredentials] parameter specified that credentials such as a cookie
* (already) set in the header or
* [authorization headers](http://tools.ietf.org/html/rfc1945#section-10.2)
* should be specified for the request. Details to keep in mind when using
* credentials:
*
* * Using credentials is only useful for cross-origin requests.
* * The `Access-Control-Allow-Origin` header of `url` cannot contain a wildcard (*).
* * The `Access-Control-Allow-Credentials` header of `url` must be set to true.
* * If `Access-Control-Expose-Headers` has not been set to true, only a subset of all the response headers will be returned when calling [getAllRequestHeaders].
*
* The following is equivalent to the [getString] sample above:
*
* var name = Uri.encodeQueryComponent('John');
* var id = Uri.encodeQueryComponent('42');
* HttpRequest.request('users.json?name=$name&id=$id')
* .then((HttpRequest resp) {
* // Do something with the response.
* });
*
* Here's an example of submitting an entire form with [FormData].
*
* var myForm = querySelector('form#myForm');
* var data = new FormData(myForm);
* HttpRequest.request('/submit', method: 'POST', sendData: data)
* .then((HttpRequest resp) {
* // Do something with the response.
* });
*
* Note that requests for file:// URIs are only supported by Chrome extensions
* with appropriate permissions in their manifest. Requests to file:// URIs
* will also never fail- the Future will always complete successfully, even
* when the file cannot be found.
*
* See also: [authorization headers](http://en.wikipedia.org/wiki/Basic_access_authentication).
*/
static Future<HttpRequest> request(String url,
{String method, bool withCredentials, String responseType,
String mimeType, Map<String, String> requestHeaders, sendData,
void onProgress(ProgressEvent e)}) {
var completer = new Completer<HttpRequest>();
var xhr = new HttpRequest();
if (method == null) {
method = 'GET';
}
xhr.open(method, url, async: true);
if (withCredentials != null) {
xhr.withCredentials = withCredentials;
}
if (responseType != null) {
xhr.responseType = responseType;
}
if (mimeType != null) {
xhr.overrideMimeType(mimeType);
}
if (requestHeaders != null) {
requestHeaders.forEach((header, value) {
xhr.setRequestHeader(header, value);
});
}
if (onProgress != null) {
xhr.onProgress.listen(onProgress);
}
xhr.onLoad.listen((e) {
// Note: file:// URIs have status of 0.
if ((xhr.status >= 200 && xhr.status < 300) ||
xhr.status == 0 || xhr.status == 304) {
completer.complete(xhr);
} else {
completer.completeError(e);
}
});
xhr.onError.listen(completer.completeError);
if (sendData != null) {
xhr.send(sendData);
} else {
xhr.send();
}
return completer.future;
}
/**
* Checks to see if the Progress event is supported on the current platform.
*/
static bool get supportsProgressEvent {
return true;
}
/**
* Checks to see if the current platform supports making cross origin
* requests.
*
* Note that even if cross origin requests are supported, they still may fail
* if the destination server does not support CORS requests.
*/
static bool get supportsCrossOrigin {
return true;
}
/**
* Checks to see if the LoadEnd event is supported on the current platform.
*/
static bool get supportsLoadEndEvent {
return true;
}
/**
* Checks to see if the overrideMimeType method is supported on the current
* platform.
*/
static bool get supportsOverrideMimeType {
return true;
}
/**
* Makes a cross-origin request to the specified URL.
*
* This API provides a subset of [request] which works on IE9. If IE9
* cross-origin support is not required then [request] should be used instead.
*/
@Experimental()
static Future<String> requestCrossOrigin(String url,
{String method, String sendData}) {
if (supportsCrossOrigin) {
return request(url, method: method, sendData: sendData).then((xhr) {
return xhr.responseText;
});
}
}
/**
* Returns all response headers as a key-value map.
*
* Multiple values for the same header key can be combined into one,
* separated by a comma and a space.
*
* See: http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method
*/
Map<String, String> get responseHeaders {
// from Closure's goog.net.Xhrio.getResponseHeaders.
var headers = <String, String>{};
var headersString = this.getAllResponseHeaders();
if (headersString == null) {
return headers;
}
var headersList = headersString.split('\r\n');
for (var header in headersList) {
if (header.isEmpty) {
continue;
}
var splitIdx = header.indexOf(': ');
if (splitIdx == -1) {
continue;
}
var key = header.substring(0, splitIdx).toLowerCase();
var value = header.substring(splitIdx + 2);
if (headers.containsKey(key)) {
headers[key] = '${headers[key]}, $value';
} else {
headers[key] = value;
}
}
return headers;
}
// To suppress missing implicit constructor warnings.
factory HttpRequest._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `readystatechange` events to event
* handlers that are not necessarily instances of [HttpRequest].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('XMLHttpRequest.readystatechangeEvent')
@DocsEditable()
static const EventStreamProvider<ProgressEvent> readyStateChangeEvent = const EventStreamProvider<ProgressEvent>('readystatechange');
/**
* General constructor for any type of request (GET, POST, etc).
*
* This call is used in conjunction with [open]:
*
* var request = new HttpRequest();
* request.open('GET', 'http://dartlang.org');
* request.onLoad.listen((event) => print(
* 'Request complete ${event.target.reponseText}'));
* request.send();
*
* is the (more verbose) equivalent of
*
* HttpRequest.getString('http://dartlang.org').then(
* (result) => print('Request complete: $result'));
*/
@DomName('XMLHttpRequest.XMLHttpRequest')
@DocsEditable()
factory HttpRequest() => _create();
@DocsEditable()
static HttpRequest _create() => _blink.Native_XMLHttpRequest_constructorCallback();
@DomName('XMLHttpRequest.DONE')
@DocsEditable()
static const int DONE = 4;
@DomName('XMLHttpRequest.HEADERS_RECEIVED')
@DocsEditable()
static const int HEADERS_RECEIVED = 2;
@DomName('XMLHttpRequest.LOADING')
@DocsEditable()
static const int LOADING = 3;
@DomName('XMLHttpRequest.OPENED')
@DocsEditable()
static const int OPENED = 1;
@DomName('XMLHttpRequest.UNSENT')
@DocsEditable()
static const int UNSENT = 0;
/**
* Indicator of the current state of the request:
*
* <table>
* <tr>
* <td>Value</td>
* <td>State</td>
* <td>Meaning</td>
* </tr>
* <tr>
* <td>0</td>
* <td>unsent</td>
* <td><code>open()</code> has not yet been called</td>
* </tr>
* <tr>
* <td>1</td>
* <td>opened</td>
* <td><code>send()</code> has not yet been called</td>
* </tr>
* <tr>
* <td>2</td>
* <td>headers received</td>
* <td><code>sent()</code> has been called; response headers and <code>status</code> are available</td>
* </tr>
* <tr>
* <td>3</td> <td>loading</td> <td><code>responseText</code> holds some data</td>
* </tr>
* <tr>
* <td>4</td> <td>done</td> <td>request is complete</td>
* </tr>
* </table>
*/
@DomName('XMLHttpRequest.readyState')
@DocsEditable()
int get readyState => _blink.Native_XMLHttpRequest_readyState_Getter(this);
/**
* The data received as a reponse from the request.
*
* The data could be in the
* form of a [String], [ByteBuffer], [Document], [Blob], or json (also a
* [String]). `null` indicates request failure.
*/
@DomName('XMLHttpRequest.response')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
Object get response => _blink.Native_XMLHttpRequest_response_Getter(this);
/**
* The response in String form or empty String on failure.
*/
@DomName('XMLHttpRequest.responseText')
@DocsEditable()
String get responseText => _blink.Native_XMLHttpRequest_responseText_Getter(this);
/**
* [String] telling the server the desired response format.
*
* Default is `String`.
* Other options are one of 'arraybuffer', 'blob', 'document', 'json',
* 'text'. Some newer browsers will throw NS_ERROR_DOM_INVALID_ACCESS_ERR if
* `responseType` is set while performing a synchronous request.
*
* See also: [MDN responseType](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType)
*/
@DomName('XMLHttpRequest.responseType')
@DocsEditable()
String get responseType => _blink.Native_XMLHttpRequest_responseType_Getter(this);
/**
* [String] telling the server the desired response format.
*
* Default is `String`.
* Other options are one of 'arraybuffer', 'blob', 'document', 'json',
* 'text'. Some newer browsers will throw NS_ERROR_DOM_INVALID_ACCESS_ERR if
* `responseType` is set while performing a synchronous request.
*
* See also: [MDN responseType](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#responseType)
*/
@DomName('XMLHttpRequest.responseType')
@DocsEditable()
void set responseType(String value) => _blink.Native_XMLHttpRequest_responseType_Setter(this, value);
/**
* The request response, or null on failure.
*
* The response is processed as
* `text/xml` stream, unless responseType = 'document' and the request is
* synchronous.
*/
@DomName('XMLHttpRequest.responseXML')
@DocsEditable()
Document get responseXml => _blink.Native_XMLHttpRequest_responseXML_Getter(this);
/**
* The http result code from the request (200, 404, etc).
* See also: [Http Status Codes](http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
*/
@DomName('XMLHttpRequest.status')
@DocsEditable()
int get status => _blink.Native_XMLHttpRequest_status_Getter(this);
/**
* The request response string (such as \"200 OK\").
* See also: [Http Status Codes](http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
*/
@DomName('XMLHttpRequest.statusText')
@DocsEditable()
String get statusText => _blink.Native_XMLHttpRequest_statusText_Getter(this);
/**
* Length of time before a request is automatically terminated.
*
* When the time has passed, a [TimeoutEvent] is dispatched.
*
* If [timeout] is set to 0, then the request will not time out.
*
* ## Other resources
*
* * [XMLHttpRequest.timeout]
* (https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#timeout)
* from MDN.
* * [The timeout attribute]
* (http://www.w3.org/TR/XMLHttpRequest/#the-timeout-attribute)
* from W3C.
*/
@DomName('XMLHttpRequest.timeout')
@DocsEditable()
@Experimental() // untriaged
int get timeout => _blink.Native_XMLHttpRequest_timeout_Getter(this);
/**
* Length of time before a request is automatically terminated.
*
* When the time has passed, a [TimeoutEvent] is dispatched.
*
* If [timeout] is set to 0, then the request will not time out.
*
* ## Other resources
*
* * [XMLHttpRequest.timeout]
* (https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#timeout)
* from MDN.
* * [The timeout attribute]
* (http://www.w3.org/TR/XMLHttpRequest/#the-timeout-attribute)
* from W3C.
*/
@DomName('XMLHttpRequest.timeout')
@DocsEditable()
@Experimental() // untriaged
void set timeout(int value) => _blink.Native_XMLHttpRequest_timeout_Setter(this, value);
/**
* [EventTarget] that can hold listeners to track the progress of the request.
* The events fired will be members of [HttpRequestUploadEvents].
*/
@DomName('XMLHttpRequest.upload')
@DocsEditable()
@Unstable()
HttpRequestUpload get upload => _blink.Native_XMLHttpRequest_upload_Getter(this);
/**
* True if cross-site requests should use credentials such as cookies
* or authorization headers; false otherwise.
*
* This value is ignored for same-site requests.
*/
@DomName('XMLHttpRequest.withCredentials')
@DocsEditable()
bool get withCredentials => _blink.Native_XMLHttpRequest_withCredentials_Getter(this);
/**
* True if cross-site requests should use credentials such as cookies
* or authorization headers; false otherwise.
*
* This value is ignored for same-site requests.
*/
@DomName('XMLHttpRequest.withCredentials')
@DocsEditable()
void set withCredentials(bool value) => _blink.Native_XMLHttpRequest_withCredentials_Setter(this, value);
/**
* Stop the current request.
*
* The request can only be stopped if readyState is `HEADERS_RECIEVED` or
* `LOADING`. If this method is not in the process of being sent, the method
* has no effect.
*/
@DomName('XMLHttpRequest.abort')
@DocsEditable()
void abort() => _blink.Native_XMLHttpRequest_abort_Callback(this);
/**
* Retrieve all the response headers from a request.
*
* `null` if no headers have been received. For multipart requests,
* `getAllResponseHeaders` will return the response headers for the current
* part of the request.
*
* See also [HTTP response headers](http://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Responses)
* for a list of common response headers.
*/
@DomName('XMLHttpRequest.getAllResponseHeaders')
@DocsEditable()
@Unstable()
String getAllResponseHeaders() => _blink.Native_XMLHttpRequest_getAllResponseHeaders_Callback(this);
/**
* Return the response header named `header`, or null if not found.
*
* See also [HTTP response headers](http://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Responses)
* for a list of common response headers.
*/
@DomName('XMLHttpRequest.getResponseHeader')
@DocsEditable()
@Unstable()
String getResponseHeader(String header) => _blink.Native_XMLHttpRequest_getResponseHeader_Callback(this, header);
/**
* Specify the desired `url`, and `method` to use in making the request.
*
* By default the request is done asyncronously, with no user or password
* authentication information. If `async` is false, the request will be send
* synchronously.
*
* Calling `open` again on a currently active request is equivalent to
* calling `abort`.
*
* Note: Most simple HTTP requests can be accomplished using the [getString],
* [request], [requestCrossOrigin], or [postFormData] methods. Use of this
* `open` method is intended only for more complext HTTP requests where
* finer-grained control is needed.
*/
@DomName('XMLHttpRequest.open')
@DocsEditable()
void open(String method, String url, {bool async, String user, String password}) => _blink.Native_XMLHttpRequest_open_Callback(this, method, url, async, user, password);
/**
* Specify a particular MIME type (such as `text/xml`) desired for the
* response.
*
* This value must be set before the request has been sent. See also the list
* of [common MIME types](http://en.wikipedia.org/wiki/Internet_media_type#List_of_common_media_types)
*/
@DomName('XMLHttpRequest.overrideMimeType')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.SAFARI)
void overrideMimeType(String override) => _blink.Native_XMLHttpRequest_overrideMimeType_Callback(this, override);
/**
* Send the request with any given `data`.
*
* Note: Most simple HTTP requests can be accomplished using the [getString],
* [request], [requestCrossOrigin], or [postFormData] methods. Use of this
* `send` method is intended only for more complext HTTP requests where
* finer-grained control is needed.
*
* ## Other resources
*
* * [XMLHttpRequest.send]
* (https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#send%28%29)
* from MDN.
*/
@DomName('XMLHttpRequest.send')
@DocsEditable()
void send([data]) => _blink.Native_XMLHttpRequest_send_Callback(this, data);
/**
* Sets the value of an HTTP requst header.
*
* This method should be called after the request is opened, but before
* the request is sent.
*
* Multiple calls with the same header will combine all their values into a
* single header.
*
* ## Other resources
*
* * [XMLHttpRequest.setRequestHeader]
* (https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#send%28%29)
* from MDN.
* * [The setRequestHeader() method]
* (http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method) from
* W3C.
*/
@DomName('XMLHttpRequest.setRequestHeader')
@DocsEditable()
void setRequestHeader(String header, String value) => _blink.Native_XMLHttpRequest_setRequestHeader_Callback(this, header, value);
/// Stream of `readystatechange` events handled by this [HttpRequest].
/**
* Event listeners to be notified every time the [HttpRequest]
* object's `readyState` changes values.
*/
@DomName('XMLHttpRequest.onreadystatechange')
@DocsEditable()
Stream<ProgressEvent> get onReadyStateChange => readyStateChangeEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('XMLHttpRequestEventTarget')
@Experimental() // untriaged
class HttpRequestEventTarget extends EventTarget {
// To suppress missing implicit constructor warnings.
factory HttpRequestEventTarget._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `abort` events to event
* handlers that are not necessarily instances of [HttpRequestEventTarget].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('XMLHttpRequestEventTarget.abortEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<ProgressEvent> abortEvent = const EventStreamProvider<ProgressEvent>('abort');
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [HttpRequestEventTarget].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('XMLHttpRequestEventTarget.errorEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<ProgressEvent> errorEvent = const EventStreamProvider<ProgressEvent>('error');
/**
* Static factory designed to expose `load` events to event
* handlers that are not necessarily instances of [HttpRequestEventTarget].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('XMLHttpRequestEventTarget.loadEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<ProgressEvent> loadEvent = const EventStreamProvider<ProgressEvent>('load');
/**
* Static factory designed to expose `loadend` events to event
* handlers that are not necessarily instances of [HttpRequestEventTarget].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('XMLHttpRequestEventTarget.loadendEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<ProgressEvent> loadEndEvent = const EventStreamProvider<ProgressEvent>('loadend');
/**
* Static factory designed to expose `loadstart` events to event
* handlers that are not necessarily instances of [HttpRequestEventTarget].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('XMLHttpRequestEventTarget.loadstartEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<ProgressEvent> loadStartEvent = const EventStreamProvider<ProgressEvent>('loadstart');
/**
* Static factory designed to expose `progress` events to event
* handlers that are not necessarily instances of [HttpRequestEventTarget].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('XMLHttpRequestEventTarget.progressEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<ProgressEvent> progressEvent = const EventStreamProvider<ProgressEvent>('progress');
/**
* Static factory designed to expose `timeout` events to event
* handlers that are not necessarily instances of [HttpRequestEventTarget].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('XMLHttpRequestEventTarget.timeoutEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<ProgressEvent> timeoutEvent = const EventStreamProvider<ProgressEvent>('timeout');
/// Stream of `abort` events handled by this [HttpRequestEventTarget].
@DomName('XMLHttpRequestEventTarget.onabort')
@DocsEditable()
@Experimental() // untriaged
Stream<ProgressEvent> get onAbort => abortEvent.forTarget(this);
/// Stream of `error` events handled by this [HttpRequestEventTarget].
@DomName('XMLHttpRequestEventTarget.onerror')
@DocsEditable()
@Experimental() // untriaged
Stream<ProgressEvent> get onError => errorEvent.forTarget(this);
/// Stream of `load` events handled by this [HttpRequestEventTarget].
@DomName('XMLHttpRequestEventTarget.onload')
@DocsEditable()
@Experimental() // untriaged
Stream<ProgressEvent> get onLoad => loadEvent.forTarget(this);
/// Stream of `loadend` events handled by this [HttpRequestEventTarget].
@DomName('XMLHttpRequestEventTarget.onloadend')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental() // untriaged
Stream<ProgressEvent> get onLoadEnd => loadEndEvent.forTarget(this);
/// Stream of `loadstart` events handled by this [HttpRequestEventTarget].
@DomName('XMLHttpRequestEventTarget.onloadstart')
@DocsEditable()
@Experimental() // untriaged
Stream<ProgressEvent> get onLoadStart => loadStartEvent.forTarget(this);
/// Stream of `progress` events handled by this [HttpRequestEventTarget].
@DomName('XMLHttpRequestEventTarget.onprogress')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental() // untriaged
Stream<ProgressEvent> get onProgress => progressEvent.forTarget(this);
/// Stream of `timeout` events handled by this [HttpRequestEventTarget].
@DomName('XMLHttpRequestEventTarget.ontimeout')
@DocsEditable()
@Experimental() // untriaged
Stream<ProgressEvent> get onTimeout => timeoutEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('XMLHttpRequestUpload')
// http://xhr.spec.whatwg.org/#xmlhttprequestupload
@Experimental()
class HttpRequestUpload extends HttpRequestEventTarget {
// To suppress missing implicit constructor warnings.
factory HttpRequestUpload._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('HTMLIFrameElement')
class IFrameElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory IFrameElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLIFrameElement.HTMLIFrameElement')
@DocsEditable()
factory IFrameElement() => document.createElement("iframe");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
IFrameElement.created() : super.created();
@DomName('HTMLIFrameElement.contentWindow')
@DocsEditable()
WindowBase get contentWindow => _blink.Native_HTMLIFrameElement_contentWindow_Getter(this);
@DomName('HTMLIFrameElement.height')
@DocsEditable()
String get height => _blink.Native_HTMLIFrameElement_height_Getter(this);
@DomName('HTMLIFrameElement.height')
@DocsEditable()
void set height(String value) => _blink.Native_HTMLIFrameElement_height_Setter(this, value);
@DomName('HTMLIFrameElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLIFrameElement_name_Getter(this);
@DomName('HTMLIFrameElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLIFrameElement_name_Setter(this, value);
@DomName('HTMLIFrameElement.sandbox')
@DocsEditable()
String get sandbox => _blink.Native_HTMLIFrameElement_sandbox_Getter(this);
@DomName('HTMLIFrameElement.sandbox')
@DocsEditable()
void set sandbox(String value) => _blink.Native_HTMLIFrameElement_sandbox_Setter(this, value);
@DomName('HTMLIFrameElement.src')
@DocsEditable()
String get src => _blink.Native_HTMLIFrameElement_src_Getter(this);
@DomName('HTMLIFrameElement.src')
@DocsEditable()
void set src(String value) => _blink.Native_HTMLIFrameElement_src_Setter(this, value);
@DomName('HTMLIFrameElement.srcdoc')
@DocsEditable()
String get srcdoc => _blink.Native_HTMLIFrameElement_srcdoc_Getter(this);
@DomName('HTMLIFrameElement.srcdoc')
@DocsEditable()
void set srcdoc(String value) => _blink.Native_HTMLIFrameElement_srcdoc_Setter(this, value);
@DomName('HTMLIFrameElement.width')
@DocsEditable()
String get width => _blink.Native_HTMLIFrameElement_width_Getter(this);
@DomName('HTMLIFrameElement.width')
@DocsEditable()
void set width(String value) => _blink.Native_HTMLIFrameElement_width_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('ImageBitmap')
@Experimental() // untriaged
class ImageBitmap extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory ImageBitmap._() { throw new UnsupportedError("Not supported"); }
@DomName('ImageBitmap.height')
@DocsEditable()
@Experimental() // untriaged
int get height => _blink.Native_ImageBitmap_height_Getter(this);
@DomName('ImageBitmap.width')
@DocsEditable()
@Experimental() // untriaged
int get width => _blink.Native_ImageBitmap_width_Getter(this);
}
// Copyright (c) 2013, 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.
@DomName('ImageData')
class ImageData extends NativeFieldWrapperClass2 {
List<int> __data;
List<int> get data {
if (__data == null) {
__data = _data;
}
return __data;
}
// To suppress missing implicit constructor warnings.
factory ImageData._() { throw new UnsupportedError("Not supported"); }
@DomName('ImageData.data')
@DocsEditable()
List<int> get _data => _blink.Native_ImageData_data_Getter(this);
@DomName('ImageData.height')
@DocsEditable()
int get height => _blink.Native_ImageData_height_Getter(this);
@DomName('ImageData.width')
@DocsEditable()
int get width => _blink.Native_ImageData_width_Getter(this);
}
// 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.
@DomName('HTMLImageElement')
class ImageElement extends HtmlElement implements CanvasImageSource {
// To suppress missing implicit constructor warnings.
factory ImageElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLImageElement.HTMLImageElement')
@DocsEditable()
factory ImageElement({String src, int width, int height}) {
var e = document.createElement("img");
if (src != null) e.src = src;
if (width != null) e.width = width;
if (height != null) e.height = height;
return e;
}
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
ImageElement.created() : super.created();
@DomName('HTMLImageElement.alt')
@DocsEditable()
String get alt => _blink.Native_HTMLImageElement_alt_Getter(this);
@DomName('HTMLImageElement.alt')
@DocsEditable()
void set alt(String value) => _blink.Native_HTMLImageElement_alt_Setter(this, value);
@DomName('HTMLImageElement.complete')
@DocsEditable()
bool get complete => _blink.Native_HTMLImageElement_complete_Getter(this);
@DomName('HTMLImageElement.crossOrigin')
@DocsEditable()
String get crossOrigin => _blink.Native_HTMLImageElement_crossOrigin_Getter(this);
@DomName('HTMLImageElement.crossOrigin')
@DocsEditable()
void set crossOrigin(String value) => _blink.Native_HTMLImageElement_crossOrigin_Setter(this, value);
@DomName('HTMLImageElement.height')
@DocsEditable()
int get height => _blink.Native_HTMLImageElement_height_Getter(this);
@DomName('HTMLImageElement.height')
@DocsEditable()
void set height(int value) => _blink.Native_HTMLImageElement_height_Setter(this, value);
@DomName('HTMLImageElement.isMap')
@DocsEditable()
bool get isMap => _blink.Native_HTMLImageElement_isMap_Getter(this);
@DomName('HTMLImageElement.isMap')
@DocsEditable()
void set isMap(bool value) => _blink.Native_HTMLImageElement_isMap_Setter(this, value);
@DomName('HTMLImageElement.naturalHeight')
@DocsEditable()
int get naturalHeight => _blink.Native_HTMLImageElement_naturalHeight_Getter(this);
@DomName('HTMLImageElement.naturalWidth')
@DocsEditable()
int get naturalWidth => _blink.Native_HTMLImageElement_naturalWidth_Getter(this);
@DomName('HTMLImageElement.src')
@DocsEditable()
String get src => _blink.Native_HTMLImageElement_src_Getter(this);
@DomName('HTMLImageElement.src')
@DocsEditable()
void set src(String value) => _blink.Native_HTMLImageElement_src_Setter(this, value);
@DomName('HTMLImageElement.srcset')
@DocsEditable()
@Experimental() // untriaged
String get srcset => _blink.Native_HTMLImageElement_srcset_Getter(this);
@DomName('HTMLImageElement.srcset')
@DocsEditable()
@Experimental() // untriaged
void set srcset(String value) => _blink.Native_HTMLImageElement_srcset_Setter(this, value);
@DomName('HTMLImageElement.useMap')
@DocsEditable()
String get useMap => _blink.Native_HTMLImageElement_useMap_Getter(this);
@DomName('HTMLImageElement.useMap')
@DocsEditable()
void set useMap(String value) => _blink.Native_HTMLImageElement_useMap_Setter(this, value);
@DomName('HTMLImageElement.width')
@DocsEditable()
int get width => _blink.Native_HTMLImageElement_width_Getter(this);
@DomName('HTMLImageElement.width')
@DocsEditable()
void set width(int value) => _blink.Native_HTMLImageElement_width_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('InjectedScriptHost')
@Experimental() // untriaged
class InjectedScriptHost extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory InjectedScriptHost._() { throw new UnsupportedError("Not supported"); }
@DomName('InjectedScriptHost.inspect')
@DocsEditable()
@Experimental() // untriaged
void inspect(Object objectId, Object hints) => _blink.Native_InjectedScriptHost_inspect_Callback(this, objectId, hints);
}
// 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.
@DomName('HTMLInputElement')
class InputElement extends HtmlElement implements
HiddenInputElement,
SearchInputElement,
TextInputElement,
UrlInputElement,
TelephoneInputElement,
EmailInputElement,
PasswordInputElement,
DateInputElement,
MonthInputElement,
WeekInputElement,
TimeInputElement,
LocalDateTimeInputElement,
NumberInputElement,
RangeInputElement,
CheckboxInputElement,
RadioButtonInputElement,
FileUploadInputElement,
SubmitButtonInputElement,
ImageButtonInputElement,
ResetButtonInputElement,
ButtonInputElement
{
factory InputElement({String type}) {
var e = document.createElement("input");
if (type != null) {
try {
// IE throws an exception for unknown types.
e.type = type;
} catch(_) {}
}
return e;
}
// To suppress missing implicit constructor warnings.
factory InputElement._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `speechchange` events to event
* handlers that are not necessarily instances of [InputElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLInputElement.webkitSpeechChangeEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html#extending_html_elements
static const EventStreamProvider<Event> speechChangeEvent = const EventStreamProvider<Event>('webkitSpeechChange');
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
InputElement.created() : super.created();
@DomName('HTMLInputElement.accept')
@DocsEditable()
String get accept => _blink.Native_HTMLInputElement_accept_Getter(this);
@DomName('HTMLInputElement.accept')
@DocsEditable()
void set accept(String value) => _blink.Native_HTMLInputElement_accept_Setter(this, value);
@DomName('HTMLInputElement.alt')
@DocsEditable()
String get alt => _blink.Native_HTMLInputElement_alt_Getter(this);
@DomName('HTMLInputElement.alt')
@DocsEditable()
void set alt(String value) => _blink.Native_HTMLInputElement_alt_Setter(this, value);
@DomName('HTMLInputElement.autocomplete')
@DocsEditable()
String get autocomplete => _blink.Native_HTMLInputElement_autocomplete_Getter(this);
@DomName('HTMLInputElement.autocomplete')
@DocsEditable()
void set autocomplete(String value) => _blink.Native_HTMLInputElement_autocomplete_Setter(this, value);
@DomName('HTMLInputElement.autofocus')
@DocsEditable()
bool get autofocus => _blink.Native_HTMLInputElement_autofocus_Getter(this);
@DomName('HTMLInputElement.autofocus')
@DocsEditable()
void set autofocus(bool value) => _blink.Native_HTMLInputElement_autofocus_Setter(this, value);
@DomName('HTMLInputElement.checked')
@DocsEditable()
bool get checked => _blink.Native_HTMLInputElement_checked_Getter(this);
@DomName('HTMLInputElement.checked')
@DocsEditable()
void set checked(bool value) => _blink.Native_HTMLInputElement_checked_Setter(this, value);
@DomName('HTMLInputElement.defaultChecked')
@DocsEditable()
bool get defaultChecked => _blink.Native_HTMLInputElement_defaultChecked_Getter(this);
@DomName('HTMLInputElement.defaultChecked')
@DocsEditable()
void set defaultChecked(bool value) => _blink.Native_HTMLInputElement_defaultChecked_Setter(this, value);
@DomName('HTMLInputElement.defaultValue')
@DocsEditable()
String get defaultValue => _blink.Native_HTMLInputElement_defaultValue_Getter(this);
@DomName('HTMLInputElement.defaultValue')
@DocsEditable()
void set defaultValue(String value) => _blink.Native_HTMLInputElement_defaultValue_Setter(this, value);
@DomName('HTMLInputElement.dirName')
@DocsEditable()
String get dirName => _blink.Native_HTMLInputElement_dirName_Getter(this);
@DomName('HTMLInputElement.dirName')
@DocsEditable()
void set dirName(String value) => _blink.Native_HTMLInputElement_dirName_Setter(this, value);
@DomName('HTMLInputElement.disabled')
@DocsEditable()
bool get disabled => _blink.Native_HTMLInputElement_disabled_Getter(this);
@DomName('HTMLInputElement.disabled')
@DocsEditable()
void set disabled(bool value) => _blink.Native_HTMLInputElement_disabled_Setter(this, value);
@DomName('HTMLInputElement.files')
@DocsEditable()
List<File> get files => _blink.Native_HTMLInputElement_files_Getter(this);
@DomName('HTMLInputElement.files')
@DocsEditable()
void set files(List<File> value) => _blink.Native_HTMLInputElement_files_Setter(this, value);
@DomName('HTMLInputElement.form')
@DocsEditable()
FormElement get form => _blink.Native_HTMLInputElement_form_Getter(this);
@DomName('HTMLInputElement.formAction')
@DocsEditable()
String get formAction => _blink.Native_HTMLInputElement_formAction_Getter(this);
@DomName('HTMLInputElement.formAction')
@DocsEditable()
void set formAction(String value) => _blink.Native_HTMLInputElement_formAction_Setter(this, value);
@DomName('HTMLInputElement.formEnctype')
@DocsEditable()
String get formEnctype => _blink.Native_HTMLInputElement_formEnctype_Getter(this);
@DomName('HTMLInputElement.formEnctype')
@DocsEditable()
void set formEnctype(String value) => _blink.Native_HTMLInputElement_formEnctype_Setter(this, value);
@DomName('HTMLInputElement.formMethod')
@DocsEditable()
String get formMethod => _blink.Native_HTMLInputElement_formMethod_Getter(this);
@DomName('HTMLInputElement.formMethod')
@DocsEditable()
void set formMethod(String value) => _blink.Native_HTMLInputElement_formMethod_Setter(this, value);
@DomName('HTMLInputElement.formNoValidate')
@DocsEditable()
bool get formNoValidate => _blink.Native_HTMLInputElement_formNoValidate_Getter(this);
@DomName('HTMLInputElement.formNoValidate')
@DocsEditable()
void set formNoValidate(bool value) => _blink.Native_HTMLInputElement_formNoValidate_Setter(this, value);
@DomName('HTMLInputElement.formTarget')
@DocsEditable()
String get formTarget => _blink.Native_HTMLInputElement_formTarget_Getter(this);
@DomName('HTMLInputElement.formTarget')
@DocsEditable()
void set formTarget(String value) => _blink.Native_HTMLInputElement_formTarget_Setter(this, value);
@DomName('HTMLInputElement.height')
@DocsEditable()
int get height => _blink.Native_HTMLInputElement_height_Getter(this);
@DomName('HTMLInputElement.height')
@DocsEditable()
void set height(int value) => _blink.Native_HTMLInputElement_height_Setter(this, value);
@DomName('HTMLInputElement.incremental')
@DocsEditable()
// http://www.w3.org/TR/html-markup/input.search.html
@Experimental()
bool get incremental => _blink.Native_HTMLInputElement_incremental_Getter(this);
@DomName('HTMLInputElement.incremental')
@DocsEditable()
// http://www.w3.org/TR/html-markup/input.search.html
@Experimental()
void set incremental(bool value) => _blink.Native_HTMLInputElement_incremental_Setter(this, value);
@DomName('HTMLInputElement.indeterminate')
@DocsEditable()
bool get indeterminate => _blink.Native_HTMLInputElement_indeterminate_Getter(this);
@DomName('HTMLInputElement.indeterminate')
@DocsEditable()
void set indeterminate(bool value) => _blink.Native_HTMLInputElement_indeterminate_Setter(this, value);
@DomName('HTMLInputElement.inputMode')
@DocsEditable()
@Experimental() // untriaged
String get inputMode => _blink.Native_HTMLInputElement_inputMode_Getter(this);
@DomName('HTMLInputElement.inputMode')
@DocsEditable()
@Experimental() // untriaged
void set inputMode(String value) => _blink.Native_HTMLInputElement_inputMode_Setter(this, value);
@DomName('HTMLInputElement.labels')
@DocsEditable()
List<Node> get labels => _blink.Native_HTMLInputElement_labels_Getter(this);
@DomName('HTMLInputElement.list')
@DocsEditable()
HtmlElement get list => _blink.Native_HTMLInputElement_list_Getter(this);
@DomName('HTMLInputElement.max')
@DocsEditable()
String get max => _blink.Native_HTMLInputElement_max_Getter(this);
@DomName('HTMLInputElement.max')
@DocsEditable()
void set max(String value) => _blink.Native_HTMLInputElement_max_Setter(this, value);
@DomName('HTMLInputElement.maxLength')
@DocsEditable()
int get maxLength => _blink.Native_HTMLInputElement_maxLength_Getter(this);
@DomName('HTMLInputElement.maxLength')
@DocsEditable()
void set maxLength(int value) => _blink.Native_HTMLInputElement_maxLength_Setter(this, value);
@DomName('HTMLInputElement.min')
@DocsEditable()
String get min => _blink.Native_HTMLInputElement_min_Getter(this);
@DomName('HTMLInputElement.min')
@DocsEditable()
void set min(String value) => _blink.Native_HTMLInputElement_min_Setter(this, value);
@DomName('HTMLInputElement.multiple')
@DocsEditable()
bool get multiple => _blink.Native_HTMLInputElement_multiple_Getter(this);
@DomName('HTMLInputElement.multiple')
@DocsEditable()
void set multiple(bool value) => _blink.Native_HTMLInputElement_multiple_Setter(this, value);
@DomName('HTMLInputElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLInputElement_name_Getter(this);
@DomName('HTMLInputElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLInputElement_name_Setter(this, value);
@DomName('HTMLInputElement.pattern')
@DocsEditable()
String get pattern => _blink.Native_HTMLInputElement_pattern_Getter(this);
@DomName('HTMLInputElement.pattern')
@DocsEditable()
void set pattern(String value) => _blink.Native_HTMLInputElement_pattern_Setter(this, value);
@DomName('HTMLInputElement.placeholder')
@DocsEditable()
String get placeholder => _blink.Native_HTMLInputElement_placeholder_Getter(this);
@DomName('HTMLInputElement.placeholder')
@DocsEditable()
void set placeholder(String value) => _blink.Native_HTMLInputElement_placeholder_Setter(this, value);
@DomName('HTMLInputElement.readOnly')
@DocsEditable()
bool get readOnly => _blink.Native_HTMLInputElement_readOnly_Getter(this);
@DomName('HTMLInputElement.readOnly')
@DocsEditable()
void set readOnly(bool value) => _blink.Native_HTMLInputElement_readOnly_Setter(this, value);
@DomName('HTMLInputElement.required')
@DocsEditable()
bool get required => _blink.Native_HTMLInputElement_required_Getter(this);
@DomName('HTMLInputElement.required')
@DocsEditable()
void set required(bool value) => _blink.Native_HTMLInputElement_required_Setter(this, value);
@DomName('HTMLInputElement.selectionDirection')
@DocsEditable()
String get selectionDirection => _blink.Native_HTMLInputElement_selectionDirection_Getter(this);
@DomName('HTMLInputElement.selectionDirection')
@DocsEditable()
void set selectionDirection(String value) => _blink.Native_HTMLInputElement_selectionDirection_Setter(this, value);
@DomName('HTMLInputElement.selectionEnd')
@DocsEditable()
int get selectionEnd => _blink.Native_HTMLInputElement_selectionEnd_Getter(this);
@DomName('HTMLInputElement.selectionEnd')
@DocsEditable()
void set selectionEnd(int value) => _blink.Native_HTMLInputElement_selectionEnd_Setter(this, value);
@DomName('HTMLInputElement.selectionStart')
@DocsEditable()
int get selectionStart => _blink.Native_HTMLInputElement_selectionStart_Getter(this);
@DomName('HTMLInputElement.selectionStart')
@DocsEditable()
void set selectionStart(int value) => _blink.Native_HTMLInputElement_selectionStart_Setter(this, value);
@DomName('HTMLInputElement.size')
@DocsEditable()
int get size => _blink.Native_HTMLInputElement_size_Getter(this);
@DomName('HTMLInputElement.size')
@DocsEditable()
void set size(int value) => _blink.Native_HTMLInputElement_size_Setter(this, value);
@DomName('HTMLInputElement.src')
@DocsEditable()
String get src => _blink.Native_HTMLInputElement_src_Getter(this);
@DomName('HTMLInputElement.src')
@DocsEditable()
void set src(String value) => _blink.Native_HTMLInputElement_src_Setter(this, value);
@DomName('HTMLInputElement.step')
@DocsEditable()
String get step => _blink.Native_HTMLInputElement_step_Getter(this);
@DomName('HTMLInputElement.step')
@DocsEditable()
void set step(String value) => _blink.Native_HTMLInputElement_step_Setter(this, value);
@DomName('HTMLInputElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLInputElement_type_Getter(this);
@DomName('HTMLInputElement.type')
@DocsEditable()
void set type(String value) => _blink.Native_HTMLInputElement_type_Setter(this, value);
@DomName('HTMLInputElement.validationMessage')
@DocsEditable()
String get validationMessage => _blink.Native_HTMLInputElement_validationMessage_Getter(this);
@DomName('HTMLInputElement.validity')
@DocsEditable()
ValidityState get validity => _blink.Native_HTMLInputElement_validity_Getter(this);
@DomName('HTMLInputElement.value')
@DocsEditable()
String get value => _blink.Native_HTMLInputElement_value_Getter(this);
@DomName('HTMLInputElement.value')
@DocsEditable()
void set value(String value) => _blink.Native_HTMLInputElement_value_Setter(this, value);
@DomName('HTMLInputElement.valueAsDate')
@DocsEditable()
DateTime get valueAsDate => _blink.Native_HTMLInputElement_valueAsDate_Getter(this);
@DomName('HTMLInputElement.valueAsDate')
@DocsEditable()
void set valueAsDate(DateTime value) => _blink.Native_HTMLInputElement_valueAsDate_Setter(this, value);
@DomName('HTMLInputElement.valueAsNumber')
@DocsEditable()
num get valueAsNumber => _blink.Native_HTMLInputElement_valueAsNumber_Getter(this);
@DomName('HTMLInputElement.valueAsNumber')
@DocsEditable()
void set valueAsNumber(num value) => _blink.Native_HTMLInputElement_valueAsNumber_Setter(this, value);
@DomName('HTMLInputElement.webkitEntries')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#concept-input-type-file-selected
List<Entry> get entries => _blink.Native_HTMLInputElement_webkitEntries_Getter(this);
@DomName('HTMLInputElement.webkitdirectory')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://plus.sandbox.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3
bool get directory => _blink.Native_HTMLInputElement_webkitdirectory_Getter(this);
@DomName('HTMLInputElement.webkitdirectory')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://plus.sandbox.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3
void set directory(bool value) => _blink.Native_HTMLInputElement_webkitdirectory_Setter(this, value);
@DomName('HTMLInputElement.width')
@DocsEditable()
int get width => _blink.Native_HTMLInputElement_width_Getter(this);
@DomName('HTMLInputElement.width')
@DocsEditable()
void set width(int value) => _blink.Native_HTMLInputElement_width_Setter(this, value);
@DomName('HTMLInputElement.willValidate')
@DocsEditable()
bool get willValidate => _blink.Native_HTMLInputElement_willValidate_Getter(this);
@DomName('HTMLInputElement.checkValidity')
@DocsEditable()
bool checkValidity() => _blink.Native_HTMLInputElement_checkValidity_Callback(this);
@DomName('HTMLInputElement.select')
@DocsEditable()
void select() => _blink.Native_HTMLInputElement_select_Callback(this);
@DomName('HTMLInputElement.setCustomValidity')
@DocsEditable()
void setCustomValidity(String error) => _blink.Native_HTMLInputElement_setCustomValidity_Callback(this, error);
void setRangeText(String replacement, {int start, int end, String selectionMode}) => _blink.Native_HTMLInputElement_setRangeText(this, replacement, start, end, selectionMode);
void setSelectionRange(int start, int end, [String direction]) => _blink.Native_HTMLInputElement_setSelectionRange(this, start, end, direction);
void stepDown([int n]) => _blink.Native_HTMLInputElement_stepDown(this, n);
void stepUp([int n]) => _blink.Native_HTMLInputElement_stepUp(this, n);
/// Stream of `speechchange` events handled by this [InputElement].
@DomName('HTMLInputElement.onwebkitSpeechChange')
@DocsEditable()
// http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html#extending_html_elements
@Experimental()
ElementStream<Event> get onSpeechChange => speechChangeEvent.forElement(this);
}
// Interfaces representing the InputElement APIs which are supported
// for the various types of InputElement. From:
// http://www.w3.org/html/wg/drafts/html/master/forms.html#the-input-element.
/**
* Exposes the functionality common between all InputElement types.
*/
abstract class InputElementBase implements Element {
@DomName('HTMLInputElement.autofocus')
bool autofocus;
@DomName('HTMLInputElement.disabled')
bool disabled;
@DomName('HTMLInputElement.incremental')
bool incremental;
@DomName('HTMLInputElement.indeterminate')
bool indeterminate;
@DomName('HTMLInputElement.labels')
List<Node> get labels;
@DomName('HTMLInputElement.name')
String name;
@DomName('HTMLInputElement.validationMessage')
String get validationMessage;
@DomName('HTMLInputElement.validity')
ValidityState get validity;
@DomName('HTMLInputElement.value')
String value;
@DomName('HTMLInputElement.willValidate')
bool get willValidate;
@DomName('HTMLInputElement.checkValidity')
bool checkValidity();
@DomName('HTMLInputElement.setCustomValidity')
void setCustomValidity(String error);
}
/**
* Hidden input which is not intended to be seen or edited by the user.
*/
abstract class HiddenInputElement implements InputElementBase {
factory HiddenInputElement() => new InputElement(type: 'hidden');
}
/**
* Base interface for all inputs which involve text editing.
*/
abstract class TextInputElementBase implements InputElementBase {
@DomName('HTMLInputElement.autocomplete')
String autocomplete;
@DomName('HTMLInputElement.maxLength')
int maxLength;
@DomName('HTMLInputElement.pattern')
String pattern;
@DomName('HTMLInputElement.placeholder')
String placeholder;
@DomName('HTMLInputElement.readOnly')
bool readOnly;
@DomName('HTMLInputElement.required')
bool required;
@DomName('HTMLInputElement.size')
int size;
@DomName('HTMLInputElement.select')
void select();
@DomName('HTMLInputElement.selectionDirection')
String selectionDirection;
@DomName('HTMLInputElement.selectionEnd')
int selectionEnd;
@DomName('HTMLInputElement.selectionStart')
int selectionStart;
@DomName('HTMLInputElement.setSelectionRange')
void setSelectionRange(int start, int end, [String direction]);
}
/**
* Similar to [TextInputElement], but on platforms where search is styled
* differently this will get the search style.
*
* Use [supported] to check if this is supported on the current platform.
*/
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
abstract class SearchInputElement implements TextInputElementBase {
factory SearchInputElement() => new InputElement(type: 'search');
@DomName('HTMLInputElement.dirName')
String dirName;
@DomName('HTMLInputElement.list')
Element get list;
/// Returns true if this input type is supported on the current platform.
static bool get supported {
return (new InputElement(type: 'search')).type == 'search';
}
}
/**
* A basic text input editor control.
*/
abstract class TextInputElement implements TextInputElementBase {
factory TextInputElement() => new InputElement(type: 'text');
@DomName('HTMLInputElement.dirName')
String dirName;
@DomName('HTMLInputElement.list')
Element get list;
}
/**
* A control for editing an absolute URL.
*
* Use [supported] to check if this is supported on the current platform.
*/
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
abstract class UrlInputElement implements TextInputElementBase {
factory UrlInputElement() => new InputElement(type: 'url');
@DomName('HTMLInputElement.list')
Element get list;
/// Returns true if this input type is supported on the current platform.
static bool get supported {
return (new InputElement(type: 'url')).type == 'url';
}
}
/**
* Represents a control for editing a telephone number.
*
* This provides a single line of text with minimal formatting help since
* there is a wide variety of telephone numbers.
*
* Use [supported] to check if this is supported on the current platform.
*/
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
abstract class TelephoneInputElement implements TextInputElementBase {
factory TelephoneInputElement() => new InputElement(type: 'tel');
@DomName('HTMLInputElement.list')
Element get list;
/// Returns true if this input type is supported on the current platform.
static bool get supported {
return (new InputElement(type: 'tel')).type == 'tel';
}
}
/**
* An e-mail address or list of e-mail addresses.
*
* Use [supported] to check if this is supported on the current platform.
*/
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
abstract class EmailInputElement implements TextInputElementBase {
factory EmailInputElement() => new InputElement(type: 'email');
@DomName('HTMLInputElement.autocomplete')
String autocomplete;
@DomName('HTMLInputElement.autofocus')
bool autofocus;
@DomName('HTMLInputElement.list')
Element get list;
@DomName('HTMLInputElement.maxLength')
int maxLength;
@DomName('HTMLInputElement.multiple')
bool multiple;
@DomName('HTMLInputElement.pattern')
String pattern;
@DomName('HTMLInputElement.placeholder')
String placeholder;
@DomName('HTMLInputElement.readOnly')
bool readOnly;
@DomName('HTMLInputElement.required')
bool required;
@DomName('HTMLInputElement.size')
int size;
/// Returns true if this input type is supported on the current platform.
static bool get supported {
return (new InputElement(type: 'email')).type == 'email';
}
}
/**
* Text with no line breaks (sensitive information).
*/
abstract class PasswordInputElement implements TextInputElementBase {
factory PasswordInputElement() => new InputElement(type: 'password');
}
/**
* Base interface for all input element types which involve ranges.
*/
abstract class RangeInputElementBase implements InputElementBase {
@DomName('HTMLInputElement.list')
Element get list;
@DomName('HTMLInputElement.max')
String max;
@DomName('HTMLInputElement.min')
String min;
@DomName('HTMLInputElement.step')
String step;
@DomName('HTMLInputElement.valueAsNumber')
num valueAsNumber;
@DomName('HTMLInputElement.stepDown')
void stepDown([int n]);
@DomName('HTMLInputElement.stepUp')
void stepUp([int n]);
}
/**
* A date (year, month, day) with no time zone.
*
* Use [supported] to check if this is supported on the current platform.
*/
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental()
abstract class DateInputElement implements RangeInputElementBase {
factory DateInputElement() => new InputElement(type: 'date');
@DomName('HTMLInputElement.valueAsDate')
DateTime valueAsDate;
@DomName('HTMLInputElement.readOnly')
bool readOnly;
@DomName('HTMLInputElement.required')
bool required;
/// Returns true if this input type is supported on the current platform.
static bool get supported {
return (new InputElement(type: 'date')).type == 'date';
}
}
/**
* A date consisting of a year and a month with no time zone.
*
* Use [supported] to check if this is supported on the current platform.
*/
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental()
abstract class MonthInputElement implements RangeInputElementBase {
factory MonthInputElement() => new InputElement(type: 'month');
@DomName('HTMLInputElement.valueAsDate')
DateTime valueAsDate;
@DomName('HTMLInputElement.readOnly')
bool readOnly;
@DomName('HTMLInputElement.required')
bool required;
/// Returns true if this input type is supported on the current platform.
static bool get supported {
return (new InputElement(type: 'month')).type == 'month';
}
}
/**
* A date consisting of a week-year number and a week number with no time zone.
*
* Use [supported] to check if this is supported on the current platform.
*/
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental()
abstract class WeekInputElement implements RangeInputElementBase {
factory WeekInputElement() => new InputElement(type: 'week');
@DomName('HTMLInputElement.valueAsDate')
DateTime valueAsDate;
@DomName('HTMLInputElement.readOnly')
bool readOnly;
@DomName('HTMLInputElement.required')
bool required;
/// Returns true if this input type is supported on the current platform.
static bool get supported {
return (new InputElement(type: 'week')).type == 'week';
}
}
/**
* A time (hour, minute, seconds, fractional seconds) with no time zone.
*
* Use [supported] to check if this is supported on the current platform.
*/
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
abstract class TimeInputElement implements RangeInputElementBase {
factory TimeInputElement() => new InputElement(type: 'time');
@DomName('HTMLInputElement.valueAsDate')
DateTime valueAsDate;
@DomName('HTMLInputElement.readOnly')
bool readOnly;
@DomName('HTMLInputElement.required')
bool required;
/// Returns true if this input type is supported on the current platform.
static bool get supported {
return (new InputElement(type: 'time')).type == 'time';
}
}
/**
* A date and time (year, month, day, hour, minute, second, fraction of a
* second) with no time zone.
*
* Use [supported] to check if this is supported on the current platform.
*/
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental()
abstract class LocalDateTimeInputElement implements RangeInputElementBase {
factory LocalDateTimeInputElement() =>
new InputElement(type: 'datetime-local');
@DomName('HTMLInputElement.readOnly')
bool readOnly;
@DomName('HTMLInputElement.required')
bool required;
/// Returns true if this input type is supported on the current platform.
static bool get supported {
return (new InputElement(type: 'datetime-local')).type == 'datetime-local';
}
}
/**
* A numeric editor control.
*/
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.IE)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
abstract class NumberInputElement implements RangeInputElementBase {
factory NumberInputElement() => new InputElement(type: 'number');
@DomName('HTMLInputElement.placeholder')
String placeholder;
@DomName('HTMLInputElement.readOnly')
bool readOnly;
@DomName('HTMLInputElement.required')
bool required;
/// Returns true if this input type is supported on the current platform.
static bool get supported {
return (new InputElement(type: 'number')).type == 'number';
}
}
/**
* Similar to [NumberInputElement] but the browser may provide more optimal
* styling (such as a slider control).
*
* Use [supported] to check if this is supported on the current platform.
*/
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.IE, '10')
@Experimental()
abstract class RangeInputElement implements RangeInputElementBase {
factory RangeInputElement() => new InputElement(type: 'range');
/// Returns true if this input type is supported on the current platform.
static bool get supported {
return (new InputElement(type: 'range')).type == 'range';
}
}
/**
* A boolean editor control.
*
* Note that if [indeterminate] is set then this control is in a third
* indeterminate state.
*/
abstract class CheckboxInputElement implements InputElementBase {
factory CheckboxInputElement() => new InputElement(type: 'checkbox');
@DomName('HTMLInputElement.checked')
bool checked;
@DomName('HTMLInputElement.required')
bool required;
}
/**
* A control that when used with other [ReadioButtonInputElement] controls
* forms a radio button group in which only one control can be checked at a
* time.
*
* Radio buttons are considered to be in the same radio button group if:
*
* * They are all of type 'radio'.
* * They all have either the same [FormElement] owner, or no owner.
* * Their name attributes contain the same name.
*/
abstract class RadioButtonInputElement implements InputElementBase {
factory RadioButtonInputElement() => new InputElement(type: 'radio');
@DomName('HTMLInputElement.checked')
bool checked;
@DomName('HTMLInputElement.required')
bool required;
}
/**
* A control for picking files from the user's computer.
*/
abstract class FileUploadInputElement implements InputElementBase {
factory FileUploadInputElement() => new InputElement(type: 'file');
@DomName('HTMLInputElement.accept')
String accept;
@DomName('HTMLInputElement.multiple')
bool multiple;
@DomName('HTMLInputElement.required')
bool required;
@DomName('HTMLInputElement.files')
List<File> files;
}
/**
* A button, which when clicked, submits the form.
*/
abstract class SubmitButtonInputElement implements InputElementBase {
factory SubmitButtonInputElement() => new InputElement(type: 'submit');
@DomName('HTMLInputElement.formAction')
String formAction;
@DomName('HTMLInputElement.formEnctype')
String formEnctype;
@DomName('HTMLInputElement.formMethod')
String formMethod;
@DomName('HTMLInputElement.formNoValidate')
bool formNoValidate;
@DomName('HTMLInputElement.formTarget')
String formTarget;
}
/**
* Either an image which the user can select a coordinate to or a form
* submit button.
*/
abstract class ImageButtonInputElement implements InputElementBase {
factory ImageButtonInputElement() => new InputElement(type: 'image');
@DomName('HTMLInputElement.alt')
String alt;
@DomName('HTMLInputElement.formAction')
String formAction;
@DomName('HTMLInputElement.formEnctype')
String formEnctype;
@DomName('HTMLInputElement.formMethod')
String formMethod;
@DomName('HTMLInputElement.formNoValidate')
bool formNoValidate;
@DomName('HTMLInputElement.formTarget')
String formTarget;
@DomName('HTMLInputElement.height')
int height;
@DomName('HTMLInputElement.src')
String src;
@DomName('HTMLInputElement.width')
int width;
}
/**
* A button, which when clicked, resets the form.
*/
abstract class ResetButtonInputElement implements InputElementBase {
factory ResetButtonInputElement() => new InputElement(type: 'reset');
}
/**
* A button, with no default behavior.
*/
abstract class ButtonInputElement implements InputElementBase {
factory ButtonInputElement() => new InputElement(type: 'button');
}
// 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.
@DocsEditable()
@DomName('InputMethodContext')
// http://www.w3.org/TR/ime-api/#idl-def-InputMethodContext
@Experimental()
class InputMethodContext extends EventTarget {
// To suppress missing implicit constructor warnings.
factory InputMethodContext._() { throw new UnsupportedError("Not supported"); }
@DomName('InputMethodContext.compositionEndOffset')
@DocsEditable()
@Experimental() // untriaged
int get compositionEndOffset => _blink.Native_InputMethodContext_compositionEndOffset_Getter(this);
@DomName('InputMethodContext.compositionStartOffset')
@DocsEditable()
@Experimental() // untriaged
int get compositionStartOffset => _blink.Native_InputMethodContext_compositionStartOffset_Getter(this);
@DomName('InputMethodContext.locale')
@DocsEditable()
String get locale => _blink.Native_InputMethodContext_locale_Getter(this);
@DomName('InputMethodContext.target')
@DocsEditable()
@Experimental() // untriaged
HtmlElement get target => _blink.Native_InputMethodContext_target_Getter(this);
@DomName('InputMethodContext.confirmComposition')
@DocsEditable()
void confirmComposition() => _blink.Native_InputMethodContext_confirmComposition_Callback(this);
}
// 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.
@DocsEditable()
@DomName('InstallEvent')
@Experimental() // untriaged
class InstallEvent extends InstallPhaseEvent {
// To suppress missing implicit constructor warnings.
factory InstallEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('InstallEvent.replace')
@DocsEditable()
@Experimental() // untriaged
void replace() => _blink.Native_InstallEvent_replace_Callback(this);
}
// 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.
@DocsEditable()
@DomName('InstallPhaseEvent')
@Experimental() // untriaged
class InstallPhaseEvent extends Event {
// To suppress missing implicit constructor warnings.
factory InstallPhaseEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('InstallPhaseEvent.waitUntil')
@DocsEditable()
@Experimental() // untriaged
void waitUntil(Object value) => _blink.Native_InstallPhaseEvent_waitUntil_Callback(this, value);
}
// 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.
@DocsEditable()
@DomName('KeyPair')
@Experimental() // untriaged
class KeyPair extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory KeyPair._() { throw new UnsupportedError("Not supported"); }
@DomName('KeyPair.privateKey')
@DocsEditable()
@Experimental() // untriaged
CryptoKey get privateKey => _blink.Native_KeyPair_privateKey_Getter(this);
@DomName('KeyPair.publicKey')
@DocsEditable()
@Experimental() // untriaged
CryptoKey get publicKey => _blink.Native_KeyPair_publicKey_Getter(this);
}
// 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.
@DomName('KeyboardEvent')
class KeyboardEvent extends UIEvent {
factory KeyboardEvent(String type,
{Window view, bool canBubble: true, bool cancelable: true,
int keyLocation: 1, bool ctrlKey: false,
bool altKey: false, bool shiftKey: false, bool metaKey: false,
bool altGraphKey: false}) {
if (view == null) {
view = window;
}
final e = document._createEvent("KeyboardEvent");
e._initKeyboardEvent(type, canBubble, cancelable, view, "",
keyLocation, ctrlKey, altKey, shiftKey, metaKey, altGraphKey);
return e;
}
@DomName('KeyboardEvent.keyCode')
int get keyCode => _keyCode;
@DomName('KeyboardEvent.charCode')
int get charCode => _charCode;
// To suppress missing implicit constructor warnings.
factory KeyboardEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('KeyboardEvent.DOM_KEY_LOCATION_LEFT')
@DocsEditable()
@Experimental() // untriaged
static const int DOM_KEY_LOCATION_LEFT = 0x01;
@DomName('KeyboardEvent.DOM_KEY_LOCATION_NUMPAD')
@DocsEditable()
@Experimental() // untriaged
static const int DOM_KEY_LOCATION_NUMPAD = 0x03;
@DomName('KeyboardEvent.DOM_KEY_LOCATION_RIGHT')
@DocsEditable()
@Experimental() // untriaged
static const int DOM_KEY_LOCATION_RIGHT = 0x02;
@DomName('KeyboardEvent.DOM_KEY_LOCATION_STANDARD')
@DocsEditable()
@Experimental() // untriaged
static const int DOM_KEY_LOCATION_STANDARD = 0x00;
@DomName('KeyboardEvent.altGraphKey')
@DocsEditable()
@Experimental() // nonstandard
bool get altGraphKey => _blink.Native_KeyboardEvent_altGraphKey_Getter(this);
@DomName('KeyboardEvent.altKey')
@DocsEditable()
bool get altKey => _blink.Native_KeyboardEvent_altKey_Getter(this);
@DomName('KeyboardEvent.ctrlKey')
@DocsEditable()
bool get ctrlKey => _blink.Native_KeyboardEvent_ctrlKey_Getter(this);
@DomName('KeyboardEvent.keyIdentifier')
@DocsEditable()
@Experimental() // nonstandard
String get _keyIdentifier => _blink.Native_KeyboardEvent_keyIdentifier_Getter(this);
@DomName('KeyboardEvent.keyLocation')
@DocsEditable()
@Experimental() // nonstandard
int get keyLocation => _blink.Native_KeyboardEvent_keyLocation_Getter(this);
@DomName('KeyboardEvent.location')
@DocsEditable()
@Experimental() // untriaged
int get location => _blink.Native_KeyboardEvent_location_Getter(this);
@DomName('KeyboardEvent.metaKey')
@DocsEditable()
bool get metaKey => _blink.Native_KeyboardEvent_metaKey_Getter(this);
@DomName('KeyboardEvent.repeat')
@DocsEditable()
@Experimental() // untriaged
bool get repeat => _blink.Native_KeyboardEvent_repeat_Getter(this);
@DomName('KeyboardEvent.shiftKey')
@DocsEditable()
bool get shiftKey => _blink.Native_KeyboardEvent_shiftKey_Getter(this);
@DomName('KeyboardEvent.getModifierState')
@DocsEditable()
@Experimental() // untriaged
bool getModifierState(String keyArgument) => _blink.Native_KeyboardEvent_getModifierState_Callback(this, keyArgument);
@DomName('KeyboardEvent.initKeyboardEvent')
@DocsEditable()
void _initKeyboardEvent(String type, bool canBubble, bool cancelable, Window view, String keyIdentifier, int location, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, bool altGraphKey) => _blink.Native_KeyboardEvent_initKeyboardEvent_Callback(this, type, canBubble, cancelable, view, keyIdentifier, location, ctrlKey, altKey, shiftKey, metaKey, altGraphKey);
}
// 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.
@DocsEditable()
@DomName('HTMLKeygenElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-keygen-element
class KeygenElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory KeygenElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLKeygenElement.HTMLKeygenElement')
@DocsEditable()
factory KeygenElement() => document.createElement("keygen");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
KeygenElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLKeygenElement.autofocus')
@DocsEditable()
bool get autofocus => _blink.Native_HTMLKeygenElement_autofocus_Getter(this);
@DomName('HTMLKeygenElement.autofocus')
@DocsEditable()
void set autofocus(bool value) => _blink.Native_HTMLKeygenElement_autofocus_Setter(this, value);
@DomName('HTMLKeygenElement.challenge')
@DocsEditable()
String get challenge => _blink.Native_HTMLKeygenElement_challenge_Getter(this);
@DomName('HTMLKeygenElement.challenge')
@DocsEditable()
void set challenge(String value) => _blink.Native_HTMLKeygenElement_challenge_Setter(this, value);
@DomName('HTMLKeygenElement.disabled')
@DocsEditable()
bool get disabled => _blink.Native_HTMLKeygenElement_disabled_Getter(this);
@DomName('HTMLKeygenElement.disabled')
@DocsEditable()
void set disabled(bool value) => _blink.Native_HTMLKeygenElement_disabled_Setter(this, value);
@DomName('HTMLKeygenElement.form')
@DocsEditable()
FormElement get form => _blink.Native_HTMLKeygenElement_form_Getter(this);
@DomName('HTMLKeygenElement.keytype')
@DocsEditable()
String get keytype => _blink.Native_HTMLKeygenElement_keytype_Getter(this);
@DomName('HTMLKeygenElement.keytype')
@DocsEditable()
void set keytype(String value) => _blink.Native_HTMLKeygenElement_keytype_Setter(this, value);
@DomName('HTMLKeygenElement.labels')
@DocsEditable()
@Unstable()
List<Node> get labels => _blink.Native_HTMLKeygenElement_labels_Getter(this);
@DomName('HTMLKeygenElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLKeygenElement_name_Getter(this);
@DomName('HTMLKeygenElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLKeygenElement_name_Setter(this, value);
@DomName('HTMLKeygenElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLKeygenElement_type_Getter(this);
@DomName('HTMLKeygenElement.validationMessage')
@DocsEditable()
String get validationMessage => _blink.Native_HTMLKeygenElement_validationMessage_Getter(this);
@DomName('HTMLKeygenElement.validity')
@DocsEditable()
ValidityState get validity => _blink.Native_HTMLKeygenElement_validity_Getter(this);
@DomName('HTMLKeygenElement.willValidate')
@DocsEditable()
bool get willValidate => _blink.Native_HTMLKeygenElement_willValidate_Getter(this);
@DomName('HTMLKeygenElement.checkValidity')
@DocsEditable()
bool checkValidity() => _blink.Native_HTMLKeygenElement_checkValidity_Callback(this);
@DomName('HTMLKeygenElement.setCustomValidity')
@DocsEditable()
void setCustomValidity(String error) => _blink.Native_HTMLKeygenElement_setCustomValidity_Callback(this, error);
}
// 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.
@DocsEditable()
@DomName('HTMLLIElement')
class LIElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory LIElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLLIElement.HTMLLIElement')
@DocsEditable()
factory LIElement() => document.createElement("li");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
LIElement.created() : super.created();
@DomName('HTMLLIElement.value')
@DocsEditable()
int get value => _blink.Native_HTMLLIElement_value_Getter(this);
@DomName('HTMLLIElement.value')
@DocsEditable()
void set value(int value) => _blink.Native_HTMLLIElement_value_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('HTMLLabelElement')
class LabelElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory LabelElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLLabelElement.HTMLLabelElement')
@DocsEditable()
factory LabelElement() => document.createElement("label");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
LabelElement.created() : super.created();
@DomName('HTMLLabelElement.control')
@DocsEditable()
HtmlElement get control => _blink.Native_HTMLLabelElement_control_Getter(this);
@DomName('HTMLLabelElement.form')
@DocsEditable()
FormElement get form => _blink.Native_HTMLLabelElement_form_Getter(this);
@DomName('HTMLLabelElement.htmlFor')
@DocsEditable()
String get htmlFor => _blink.Native_HTMLLabelElement_htmlFor_Getter(this);
@DomName('HTMLLabelElement.htmlFor')
@DocsEditable()
void set htmlFor(String value) => _blink.Native_HTMLLabelElement_htmlFor_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('HTMLLegendElement')
class LegendElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory LegendElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLLegendElement.HTMLLegendElement')
@DocsEditable()
factory LegendElement() => document.createElement("legend");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
LegendElement.created() : super.created();
@DomName('HTMLLegendElement.form')
@DocsEditable()
FormElement get form => _blink.Native_HTMLLegendElement_form_Getter(this);
}
// Copyright (c) 2014, 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.
@DocsEditable()
@DomName('HTMLLinkElement')
class LinkElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory LinkElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLLinkElement.HTMLLinkElement')
@DocsEditable()
factory LinkElement() => document.createElement("link");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
LinkElement.created() : super.created();
@DomName('HTMLLinkElement.crossOrigin')
@DocsEditable()
@Experimental() // untriaged
String get crossOrigin => _blink.Native_HTMLLinkElement_crossOrigin_Getter(this);
@DomName('HTMLLinkElement.crossOrigin')
@DocsEditable()
@Experimental() // untriaged
void set crossOrigin(String value) => _blink.Native_HTMLLinkElement_crossOrigin_Setter(this, value);
@DomName('HTMLLinkElement.disabled')
@DocsEditable()
bool get disabled => _blink.Native_HTMLLinkElement_disabled_Getter(this);
@DomName('HTMLLinkElement.disabled')
@DocsEditable()
void set disabled(bool value) => _blink.Native_HTMLLinkElement_disabled_Setter(this, value);
@DomName('HTMLLinkElement.href')
@DocsEditable()
String get href => _blink.Native_HTMLLinkElement_href_Getter(this);
@DomName('HTMLLinkElement.href')
@DocsEditable()
void set href(String value) => _blink.Native_HTMLLinkElement_href_Setter(this, value);
@DomName('HTMLLinkElement.hreflang')
@DocsEditable()
String get hreflang => _blink.Native_HTMLLinkElement_hreflang_Getter(this);
@DomName('HTMLLinkElement.hreflang')
@DocsEditable()
void set hreflang(String value) => _blink.Native_HTMLLinkElement_hreflang_Setter(this, value);
@DomName('HTMLLinkElement.import')
@DocsEditable()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/imports/index.html#interface-import
@Experimental()
Document get import => _blink.Native_HTMLLinkElement_import_Getter(this);
@DomName('HTMLLinkElement.media')
@DocsEditable()
String get media => _blink.Native_HTMLLinkElement_media_Getter(this);
@DomName('HTMLLinkElement.media')
@DocsEditable()
void set media(String value) => _blink.Native_HTMLLinkElement_media_Setter(this, value);
@DomName('HTMLLinkElement.rel')
@DocsEditable()
String get rel => _blink.Native_HTMLLinkElement_rel_Getter(this);
@DomName('HTMLLinkElement.rel')
@DocsEditable()
void set rel(String value) => _blink.Native_HTMLLinkElement_rel_Setter(this, value);
@DomName('HTMLLinkElement.sheet')
@DocsEditable()
StyleSheet get sheet => _blink.Native_HTMLLinkElement_sheet_Getter(this);
@DomName('HTMLLinkElement.sizes')
@DocsEditable()
DomSettableTokenList get sizes => _blink.Native_HTMLLinkElement_sizes_Getter(this);
@DomName('HTMLLinkElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLLinkElement_type_Getter(this);
@DomName('HTMLLinkElement.type')
@DocsEditable()
void set type(String value) => _blink.Native_HTMLLinkElement_type_Setter(this, value);
/// Checks if HTML imports are supported on the current platform.
bool get supportsImport {
return true;
}
}
// Copyright (c) 2013, 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.
@DocsEditable()
@DomName('Location')
class Location extends NativeFieldWrapperClass2 implements LocationBase {
// To suppress missing implicit constructor warnings.
factory Location._() { throw new UnsupportedError("Not supported"); }
@DomName('Location.ancestorOrigins')
@DocsEditable()
@Experimental() // nonstandard
List<String> get ancestorOrigins => _blink.Native_Location_ancestorOrigins_Getter(this);
@DomName('Location.hash')
@DocsEditable()
String get hash => _blink.Native_Location_hash_Getter(this);
@DomName('Location.hash')
@DocsEditable()
void set hash(String value) => _blink.Native_Location_hash_Setter(this, value);
@DomName('Location.host')
@DocsEditable()
String get host => _blink.Native_Location_host_Getter(this);
@DomName('Location.host')
@DocsEditable()
void set host(String value) => _blink.Native_Location_host_Setter(this, value);
@DomName('Location.hostname')
@DocsEditable()
String get hostname => _blink.Native_Location_hostname_Getter(this);
@DomName('Location.hostname')
@DocsEditable()
void set hostname(String value) => _blink.Native_Location_hostname_Setter(this, value);
@DomName('Location.href')
@DocsEditable()
String get href => _blink.Native_Location_href_Getter(this);
@DomName('Location.href')
@DocsEditable()
void set href(String value) => _blink.Native_Location_href_Setter(this, value);
@DomName('Location.origin')
@DocsEditable()
// http://url.spec.whatwg.org/#urlutils Webkit Only
@Experimental() // non-standard
String get origin => _blink.Native_Location_origin_Getter(this);
@DomName('Location.pathname')
@DocsEditable()
String get pathname => _blink.Native_Location_pathname_Getter(this);
@DomName('Location.pathname')
@DocsEditable()
void set pathname(String value) => _blink.Native_Location_pathname_Setter(this, value);
@DomName('Location.port')
@DocsEditable()
String get port => _blink.Native_Location_port_Getter(this);
@DomName('Location.port')
@DocsEditable()
void set port(String value) => _blink.Native_Location_port_Setter(this, value);
@DomName('Location.protocol')
@DocsEditable()
String get protocol => _blink.Native_Location_protocol_Getter(this);
@DomName('Location.protocol')
@DocsEditable()
void set protocol(String value) => _blink.Native_Location_protocol_Setter(this, value);
@DomName('Location.search')
@DocsEditable()
String get search => _blink.Native_Location_search_Getter(this);
@DomName('Location.search')
@DocsEditable()
void set search(String value) => _blink.Native_Location_search_Setter(this, value);
@DomName('Location.assign')
@DocsEditable()
void assign(String url) => _blink.Native_Location_assign_Callback(this, url);
@DomName('Location.reload')
@DocsEditable()
void reload() => _blink.Native_Location_reload_Callback(this);
@DomName('Location.replace')
@DocsEditable()
void replace(String url) => _blink.Native_Location_replace_Callback(this, url);
@DomName('Location.toString')
@DocsEditable()
String toString() => _blink.Native_Location_toString_Callback(this);
}
// 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.
@DomName('MIDIErrorCallback')
// http://webaudio.github.io/web-midi-api/#midierrorcallback
@Experimental()
typedef void MidiErrorCallback(DomError error);
// 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.
@DomName('MIDISuccessCallback')
@Experimental() // untriaged
typedef void MidiSuccessCallback(MidiAccess access, bool sysex);
// 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.
@DocsEditable()
@DomName('HTMLMapElement')
class MapElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory MapElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLMapElement.HTMLMapElement')
@DocsEditable()
factory MapElement() => document.createElement("map");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
MapElement.created() : super.created();
@DomName('HTMLMapElement.areas')
@DocsEditable()
List<Node> get areas => _blink.Native_HTMLMapElement_areas_Getter(this);
@DomName('HTMLMapElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLMapElement_name_Getter(this);
@DomName('HTMLMapElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLMapElement_name_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('MediaController')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#mediacontroller
@Experimental()
class MediaController extends EventTarget {
// To suppress missing implicit constructor warnings.
factory MediaController._() { throw new UnsupportedError("Not supported"); }
@DomName('MediaController.MediaController')
@DocsEditable()
factory MediaController() => _blink.Native_MediaController_MediaController();
@DomName('MediaController.buffered')
@DocsEditable()
TimeRanges get buffered => _blink.Native_MediaController_buffered_Getter(this);
@DomName('MediaController.currentTime')
@DocsEditable()
num get currentTime => _blink.Native_MediaController_currentTime_Getter(this);
@DomName('MediaController.currentTime')
@DocsEditable()
void set currentTime(num value) => _blink.Native_MediaController_currentTime_Setter(this, value);
@DomName('MediaController.defaultPlaybackRate')
@DocsEditable()
num get defaultPlaybackRate => _blink.Native_MediaController_defaultPlaybackRate_Getter(this);
@DomName('MediaController.defaultPlaybackRate')
@DocsEditable()
void set defaultPlaybackRate(num value) => _blink.Native_MediaController_defaultPlaybackRate_Setter(this, value);
@DomName('MediaController.duration')
@DocsEditable()
double get duration => _blink.Native_MediaController_duration_Getter(this);
@DomName('MediaController.muted')
@DocsEditable()
bool get muted => _blink.Native_MediaController_muted_Getter(this);
@DomName('MediaController.muted')
@DocsEditable()
void set muted(bool value) => _blink.Native_MediaController_muted_Setter(this, value);
@DomName('MediaController.paused')
@DocsEditable()
bool get paused => _blink.Native_MediaController_paused_Getter(this);
@DomName('MediaController.playbackRate')
@DocsEditable()
num get playbackRate => _blink.Native_MediaController_playbackRate_Getter(this);
@DomName('MediaController.playbackRate')
@DocsEditable()
void set playbackRate(num value) => _blink.Native_MediaController_playbackRate_Setter(this, value);
@DomName('MediaController.playbackState')
@DocsEditable()
String get playbackState => _blink.Native_MediaController_playbackState_Getter(this);
@DomName('MediaController.played')
@DocsEditable()
TimeRanges get played => _blink.Native_MediaController_played_Getter(this);
@DomName('MediaController.seekable')
@DocsEditable()
TimeRanges get seekable => _blink.Native_MediaController_seekable_Getter(this);
@DomName('MediaController.volume')
@DocsEditable()
num get volume => _blink.Native_MediaController_volume_Getter(this);
@DomName('MediaController.volume')
@DocsEditable()
void set volume(num value) => _blink.Native_MediaController_volume_Setter(this, value);
@DomName('MediaController.pause')
@DocsEditable()
void pause() => _blink.Native_MediaController_pause_Callback(this);
@DomName('MediaController.play')
@DocsEditable()
void play() => _blink.Native_MediaController_play_Callback(this);
@DomName('MediaController.unpause')
@DocsEditable()
void unpause() => _blink.Native_MediaController_unpause_Callback(this);
}
// 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.
@DocsEditable()
@DomName('HTMLMediaElement')
@Unstable()
class MediaElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory MediaElement._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `canplay` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.canplayEvent')
@DocsEditable()
static const EventStreamProvider<Event> canPlayEvent = const EventStreamProvider<Event>('canplay');
/**
* Static factory designed to expose `canplaythrough` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.canplaythroughEvent')
@DocsEditable()
static const EventStreamProvider<Event> canPlayThroughEvent = const EventStreamProvider<Event>('canplaythrough');
/**
* Static factory designed to expose `durationchange` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.durationchangeEvent')
@DocsEditable()
static const EventStreamProvider<Event> durationChangeEvent = const EventStreamProvider<Event>('durationchange');
/**
* Static factory designed to expose `emptied` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.emptiedEvent')
@DocsEditable()
static const EventStreamProvider<Event> emptiedEvent = const EventStreamProvider<Event>('emptied');
/**
* Static factory designed to expose `ended` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.endedEvent')
@DocsEditable()
static const EventStreamProvider<Event> endedEvent = const EventStreamProvider<Event>('ended');
/**
* Static factory designed to expose `loadeddata` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.loadeddataEvent')
@DocsEditable()
static const EventStreamProvider<Event> loadedDataEvent = const EventStreamProvider<Event>('loadeddata');
/**
* Static factory designed to expose `loadedmetadata` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.loadedmetadataEvent')
@DocsEditable()
static const EventStreamProvider<Event> loadedMetadataEvent = const EventStreamProvider<Event>('loadedmetadata');
/**
* Static factory designed to expose `loadstart` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.loadstartEvent')
@DocsEditable()
static const EventStreamProvider<Event> loadStartEvent = const EventStreamProvider<Event>('loadstart');
/**
* Static factory designed to expose `pause` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.pauseEvent')
@DocsEditable()
static const EventStreamProvider<Event> pauseEvent = const EventStreamProvider<Event>('pause');
/**
* Static factory designed to expose `play` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.playEvent')
@DocsEditable()
static const EventStreamProvider<Event> playEvent = const EventStreamProvider<Event>('play');
/**
* Static factory designed to expose `playing` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.playingEvent')
@DocsEditable()
static const EventStreamProvider<Event> playingEvent = const EventStreamProvider<Event>('playing');
/**
* Static factory designed to expose `progress` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.progressEvent')
@DocsEditable()
static const EventStreamProvider<Event> progressEvent = const EventStreamProvider<Event>('progress');
/**
* Static factory designed to expose `ratechange` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.ratechangeEvent')
@DocsEditable()
static const EventStreamProvider<Event> rateChangeEvent = const EventStreamProvider<Event>('ratechange');
/**
* Static factory designed to expose `seeked` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.seekedEvent')
@DocsEditable()
static const EventStreamProvider<Event> seekedEvent = const EventStreamProvider<Event>('seeked');
/**
* Static factory designed to expose `seeking` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.seekingEvent')
@DocsEditable()
static const EventStreamProvider<Event> seekingEvent = const EventStreamProvider<Event>('seeking');
/**
* Static factory designed to expose `show` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.showEvent')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart
@Experimental()
static const EventStreamProvider<Event> showEvent = const EventStreamProvider<Event>('show');
/**
* Static factory designed to expose `stalled` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.stalledEvent')
@DocsEditable()
static const EventStreamProvider<Event> stalledEvent = const EventStreamProvider<Event>('stalled');
/**
* Static factory designed to expose `suspend` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.suspendEvent')
@DocsEditable()
static const EventStreamProvider<Event> suspendEvent = const EventStreamProvider<Event>('suspend');
/**
* Static factory designed to expose `timeupdate` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.timeupdateEvent')
@DocsEditable()
static const EventStreamProvider<Event> timeUpdateEvent = const EventStreamProvider<Event>('timeupdate');
/**
* Static factory designed to expose `volumechange` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.volumechangeEvent')
@DocsEditable()
static const EventStreamProvider<Event> volumeChangeEvent = const EventStreamProvider<Event>('volumechange');
/**
* Static factory designed to expose `waiting` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.waitingEvent')
@DocsEditable()
static const EventStreamProvider<Event> waitingEvent = const EventStreamProvider<Event>('waiting');
/**
* Static factory designed to expose `keyadded` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.webkitkeyaddedEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded
static const EventStreamProvider<MediaKeyEvent> keyAddedEvent = const EventStreamProvider<MediaKeyEvent>('webkitkeyadded');
/**
* Static factory designed to expose `keyerror` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.webkitkeyerrorEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded
static const EventStreamProvider<MediaKeyEvent> keyErrorEvent = const EventStreamProvider<MediaKeyEvent>('webkitkeyerror');
/**
* Static factory designed to expose `keymessage` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.webkitkeymessageEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded
static const EventStreamProvider<MediaKeyEvent> keyMessageEvent = const EventStreamProvider<MediaKeyEvent>('webkitkeymessage');
/**
* Static factory designed to expose `needkey` events to event
* handlers that are not necessarily instances of [MediaElement].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('HTMLMediaElement.webkitneedkeyEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded
static const EventStreamProvider<MediaKeyEvent> needKeyEvent = const EventStreamProvider<MediaKeyEvent>('webkitneedkey');
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
MediaElement.created() : super.created();
@DomName('HTMLMediaElement.HAVE_CURRENT_DATA')
@DocsEditable()
static const int HAVE_CURRENT_DATA = 2;
@DomName('HTMLMediaElement.HAVE_ENOUGH_DATA')
@DocsEditable()
static const int HAVE_ENOUGH_DATA = 4;
@DomName('HTMLMediaElement.HAVE_FUTURE_DATA')
@DocsEditable()
static const int HAVE_FUTURE_DATA = 3;
@DomName('HTMLMediaElement.HAVE_METADATA')
@DocsEditable()
static const int HAVE_METADATA = 1;
@DomName('HTMLMediaElement.HAVE_NOTHING')
@DocsEditable()
static const int HAVE_NOTHING = 0;
@DomName('HTMLMediaElement.NETWORK_EMPTY')
@DocsEditable()
static const int NETWORK_EMPTY = 0;
@DomName('HTMLMediaElement.NETWORK_IDLE')
@DocsEditable()
static const int NETWORK_IDLE = 1;
@DomName('HTMLMediaElement.NETWORK_LOADING')
@DocsEditable()
static const int NETWORK_LOADING = 2;
@DomName('HTMLMediaElement.NETWORK_NO_SOURCE')
@DocsEditable()
static const int NETWORK_NO_SOURCE = 3;
@DomName('HTMLMediaElement.autoplay')
@DocsEditable()
bool get autoplay => _blink.Native_HTMLMediaElement_autoplay_Getter(this);
@DomName('HTMLMediaElement.autoplay')
@DocsEditable()
void set autoplay(bool value) => _blink.Native_HTMLMediaElement_autoplay_Setter(this, value);
@DomName('HTMLMediaElement.buffered')
@DocsEditable()
TimeRanges get buffered => _blink.Native_HTMLMediaElement_buffered_Getter(this);
@DomName('HTMLMediaElement.controller')
@DocsEditable()
MediaController get controller => _blink.Native_HTMLMediaElement_controller_Getter(this);
@DomName('HTMLMediaElement.controller')
@DocsEditable()
void set controller(MediaController value) => _blink.Native_HTMLMediaElement_controller_Setter(this, value);
@DomName('HTMLMediaElement.controls')
@DocsEditable()
bool get controls => _blink.Native_HTMLMediaElement_controls_Getter(this);
@DomName('HTMLMediaElement.controls')
@DocsEditable()
void set controls(bool value) => _blink.Native_HTMLMediaElement_controls_Setter(this, value);
@DomName('HTMLMediaElement.crossOrigin')
@DocsEditable()
@Experimental() // untriaged
String get crossOrigin => _blink.Native_HTMLMediaElement_crossOrigin_Getter(this);
@DomName('HTMLMediaElement.crossOrigin')
@DocsEditable()
@Experimental() // untriaged
void set crossOrigin(String value) => _blink.Native_HTMLMediaElement_crossOrigin_Setter(this, value);
@DomName('HTMLMediaElement.currentSrc')
@DocsEditable()
String get currentSrc => _blink.Native_HTMLMediaElement_currentSrc_Getter(this);
@DomName('HTMLMediaElement.currentTime')
@DocsEditable()
num get currentTime => _blink.Native_HTMLMediaElement_currentTime_Getter(this);
@DomName('HTMLMediaElement.currentTime')
@DocsEditable()
void set currentTime(num value) => _blink.Native_HTMLMediaElement_currentTime_Setter(this, value);
@DomName('HTMLMediaElement.defaultMuted')
@DocsEditable()
bool get defaultMuted => _blink.Native_HTMLMediaElement_defaultMuted_Getter(this);
@DomName('HTMLMediaElement.defaultMuted')
@DocsEditable()
void set defaultMuted(bool value) => _blink.Native_HTMLMediaElement_defaultMuted_Setter(this, value);
@DomName('HTMLMediaElement.defaultPlaybackRate')
@DocsEditable()
num get defaultPlaybackRate => _blink.Native_HTMLMediaElement_defaultPlaybackRate_Getter(this);
@DomName('HTMLMediaElement.defaultPlaybackRate')
@DocsEditable()
void set defaultPlaybackRate(num value) => _blink.Native_HTMLMediaElement_defaultPlaybackRate_Setter(this, value);
@DomName('HTMLMediaElement.duration')
@DocsEditable()
double get duration => _blink.Native_HTMLMediaElement_duration_Getter(this);
@DomName('HTMLMediaElement.ended')
@DocsEditable()
bool get ended => _blink.Native_HTMLMediaElement_ended_Getter(this);
@DomName('HTMLMediaElement.error')
@DocsEditable()
MediaError get error => _blink.Native_HTMLMediaElement_error_Getter(this);
@DomName('HTMLMediaElement.loop')
@DocsEditable()
bool get loop => _blink.Native_HTMLMediaElement_loop_Getter(this);
@DomName('HTMLMediaElement.loop')
@DocsEditable()
void set loop(bool value) => _blink.Native_HTMLMediaElement_loop_Setter(this, value);
@DomName('HTMLMediaElement.mediaGroup')
@DocsEditable()
String get mediaGroup => _blink.Native_HTMLMediaElement_mediaGroup_Getter(this);
@DomName('HTMLMediaElement.mediaGroup')
@DocsEditable()
void set mediaGroup(String value) => _blink.Native_HTMLMediaElement_mediaGroup_Setter(this, value);
@DomName('HTMLMediaElement.mediaKeys')
@DocsEditable()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html
@Experimental()
MediaKeys get mediaKeys => _blink.Native_HTMLMediaElement_mediaKeys_Getter(this);
@DomName('HTMLMediaElement.muted')
@DocsEditable()
bool get muted => _blink.Native_HTMLMediaElement_muted_Getter(this);
@DomName('HTMLMediaElement.muted')
@DocsEditable()
void set muted(bool value) => _blink.Native_HTMLMediaElement_muted_Setter(this, value);
@DomName('HTMLMediaElement.networkState')
@DocsEditable()
int get networkState => _blink.Native_HTMLMediaElement_networkState_Getter(this);
@DomName('HTMLMediaElement.paused')
@DocsEditable()
bool get paused => _blink.Native_HTMLMediaElement_paused_Getter(this);
@DomName('HTMLMediaElement.playbackRate')
@DocsEditable()
num get playbackRate => _blink.Native_HTMLMediaElement_playbackRate_Getter(this);
@DomName('HTMLMediaElement.playbackRate')
@DocsEditable()
void set playbackRate(num value) => _blink.Native_HTMLMediaElement_playbackRate_Setter(this, value);
@DomName('HTMLMediaElement.played')
@DocsEditable()
TimeRanges get played => _blink.Native_HTMLMediaElement_played_Getter(this);
@DomName('HTMLMediaElement.preload')
@DocsEditable()
String get preload => _blink.Native_HTMLMediaElement_preload_Getter(this);
@DomName('HTMLMediaElement.preload')
@DocsEditable()
void set preload(String value) => _blink.Native_HTMLMediaElement_preload_Setter(this, value);
@DomName('HTMLMediaElement.readyState')
@DocsEditable()
int get readyState => _blink.Native_HTMLMediaElement_readyState_Getter(this);
@DomName('HTMLMediaElement.seekable')
@DocsEditable()
TimeRanges get seekable => _blink.Native_HTMLMediaElement_seekable_Getter(this);
@DomName('HTMLMediaElement.seeking')
@DocsEditable()
bool get seeking => _blink.Native_HTMLMediaElement_seeking_Getter(this);
@DomName('HTMLMediaElement.src')
@DocsEditable()
String get src => _blink.Native_HTMLMediaElement_src_Getter(this);
@DomName('HTMLMediaElement.src')
@DocsEditable()
void set src(String value) => _blink.Native_HTMLMediaElement_src_Setter(this, value);
@DomName('HTMLMediaElement.textTracks')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-texttracks
@Experimental()
TextTrackList get textTracks => _blink.Native_HTMLMediaElement_textTracks_Getter(this);
@DomName('HTMLMediaElement.volume')
@DocsEditable()
num get volume => _blink.Native_HTMLMediaElement_volume_Getter(this);
@DomName('HTMLMediaElement.volume')
@DocsEditable()
void set volume(num value) => _blink.Native_HTMLMediaElement_volume_Setter(this, value);
@DomName('HTMLMediaElement.webkitAudioDecodedByteCount')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@Experimental() // nonstandard
int get audioDecodedByteCount => _blink.Native_HTMLMediaElement_webkitAudioDecodedByteCount_Getter(this);
@DomName('HTMLMediaElement.webkitVideoDecodedByteCount')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@Experimental() // nonstandard
int get videoDecodedByteCount => _blink.Native_HTMLMediaElement_webkitVideoDecodedByteCount_Getter(this);
TextTrack addTextTrack(String kind, [String label, String language]) => _blink.Native_HTMLMediaElement_addTextTrack(this, kind, label, language);
@DomName('HTMLMediaElement.canPlayType')
@DocsEditable()
@Unstable()
String canPlayType(String type, [String keySystem]) => _blink.Native_HTMLMediaElement_canPlayType_Callback(this, type, keySystem);
@DomName('HTMLMediaElement.load')
@DocsEditable()
void load() => _blink.Native_HTMLMediaElement_load_Callback(this);
@DomName('HTMLMediaElement.pause')
@DocsEditable()
void pause() => _blink.Native_HTMLMediaElement_pause_Callback(this);
@DomName('HTMLMediaElement.play')
@DocsEditable()
void play() => _blink.Native_HTMLMediaElement_play_Callback(this);
@DomName('HTMLMediaElement.setMediaKeys')
@DocsEditable()
@Experimental() // untriaged
void setMediaKeys(MediaKeys mediaKeys) => _blink.Native_HTMLMediaElement_setMediaKeys_Callback(this, mediaKeys);
void addKey(String keySystem, Uint8List key, [Uint8List initData, String sessionId]) => _blink.Native_HTMLMediaElement_addKey(this, keySystem, key, initData, sessionId);
@DomName('HTMLMediaElement.webkitCancelKeyRequest')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#extensions
void cancelKeyRequest(String keySystem, String sessionId) => _blink.Native_HTMLMediaElement_webkitCancelKeyRequest_Callback(this, keySystem, sessionId);
void generateKeyRequest(String keySystem, [Uint8List initData]) => _blink.Native_HTMLMediaElement_generateKeyRequest(this, keySystem, initData);
/// Stream of `canplay` events handled by this [MediaElement].
@DomName('HTMLMediaElement.oncanplay')
@DocsEditable()
ElementStream<Event> get onCanPlay => canPlayEvent.forElement(this);
/// Stream of `canplaythrough` events handled by this [MediaElement].
@DomName('HTMLMediaElement.oncanplaythrough')
@DocsEditable()
ElementStream<Event> get onCanPlayThrough => canPlayThroughEvent.forElement(this);
/// Stream of `durationchange` events handled by this [MediaElement].
@DomName('HTMLMediaElement.ondurationchange')
@DocsEditable()
ElementStream<Event> get onDurationChange => durationChangeEvent.forElement(this);
/// Stream of `emptied` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onemptied')
@DocsEditable()
ElementStream<Event> get onEmptied => emptiedEvent.forElement(this);
/// Stream of `ended` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onended')
@DocsEditable()
ElementStream<Event> get onEnded => endedEvent.forElement(this);
/// Stream of `loadeddata` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onloadeddata')
@DocsEditable()
ElementStream<Event> get onLoadedData => loadedDataEvent.forElement(this);
/// Stream of `loadedmetadata` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onloadedmetadata')
@DocsEditable()
ElementStream<Event> get onLoadedMetadata => loadedMetadataEvent.forElement(this);
/// Stream of `loadstart` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onloadstart')
@DocsEditable()
ElementStream<Event> get onLoadStart => loadStartEvent.forElement(this);
/// Stream of `pause` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onpause')
@DocsEditable()
ElementStream<Event> get onPause => pauseEvent.forElement(this);
/// Stream of `play` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onplay')
@DocsEditable()
ElementStream<Event> get onPlay => playEvent.forElement(this);
/// Stream of `playing` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onplaying')
@DocsEditable()
ElementStream<Event> get onPlaying => playingEvent.forElement(this);
/// Stream of `progress` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onprogress')
@DocsEditable()
ElementStream<Event> get onProgress => progressEvent.forElement(this);
/// Stream of `ratechange` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onratechange')
@DocsEditable()
ElementStream<Event> get onRateChange => rateChangeEvent.forElement(this);
/// Stream of `seeked` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onseeked')
@DocsEditable()
ElementStream<Event> get onSeeked => seekedEvent.forElement(this);
/// Stream of `seeking` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onseeking')
@DocsEditable()
ElementStream<Event> get onSeeking => seekingEvent.forElement(this);
/// Stream of `show` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onshow')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-media-loadstart
@Experimental()
ElementStream<Event> get onShow => showEvent.forElement(this);
/// Stream of `stalled` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onstalled')
@DocsEditable()
ElementStream<Event> get onStalled => stalledEvent.forElement(this);
/// Stream of `suspend` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onsuspend')
@DocsEditable()
ElementStream<Event> get onSuspend => suspendEvent.forElement(this);
/// Stream of `timeupdate` events handled by this [MediaElement].
@DomName('HTMLMediaElement.ontimeupdate')
@DocsEditable()
ElementStream<Event> get onTimeUpdate => timeUpdateEvent.forElement(this);
/// Stream of `volumechange` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onvolumechange')
@DocsEditable()
ElementStream<Event> get onVolumeChange => volumeChangeEvent.forElement(this);
/// Stream of `waiting` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onwaiting')
@DocsEditable()
ElementStream<Event> get onWaiting => waitingEvent.forElement(this);
/// Stream of `keyadded` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onwebkitkeyadded')
@DocsEditable()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded
@Experimental()
ElementStream<MediaKeyEvent> get onKeyAdded => keyAddedEvent.forElement(this);
/// Stream of `keyerror` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onwebkitkeyerror')
@DocsEditable()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded
@Experimental()
ElementStream<MediaKeyEvent> get onKeyError => keyErrorEvent.forElement(this);
/// Stream of `keymessage` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onwebkitkeymessage')
@DocsEditable()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded
@Experimental()
ElementStream<MediaKeyEvent> get onKeyMessage => keyMessageEvent.forElement(this);
/// Stream of `needkey` events handled by this [MediaElement].
@DomName('HTMLMediaElement.onwebkitneedkey')
@DocsEditable()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-keyadded
@Experimental()
ElementStream<MediaKeyEvent> get onNeedKey => needKeyEvent.forElement(this);
}
// 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.
@DocsEditable()
@DomName('MediaError')
@Unstable()
class MediaError extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory MediaError._() { throw new UnsupportedError("Not supported"); }
@DomName('MediaError.MEDIA_ERR_ABORTED')
@DocsEditable()
static const int MEDIA_ERR_ABORTED = 1;
@DomName('MediaError.MEDIA_ERR_DECODE')
@DocsEditable()
static const int MEDIA_ERR_DECODE = 3;
@DomName('MediaError.MEDIA_ERR_ENCRYPTED')
@DocsEditable()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#error-codes
@Experimental()
static const int MEDIA_ERR_ENCRYPTED = 5;
@DomName('MediaError.MEDIA_ERR_NETWORK')
@DocsEditable()
static const int MEDIA_ERR_NETWORK = 2;
@DomName('MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED')
@DocsEditable()
static const int MEDIA_ERR_SRC_NOT_SUPPORTED = 4;
@DomName('MediaError.code')
@DocsEditable()
int get code => _blink.Native_MediaError_code_Getter(this);
}
// 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.
@DocsEditable()
@DomName('MediaKeyError')
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#error-codes
@Experimental()
class MediaKeyError extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory MediaKeyError._() { throw new UnsupportedError("Not supported"); }
@DomName('MediaKeyError.MEDIA_KEYERR_CLIENT')
@DocsEditable()
static const int MEDIA_KEYERR_CLIENT = 2;
@DomName('MediaKeyError.MEDIA_KEYERR_DOMAIN')
@DocsEditable()
static const int MEDIA_KEYERR_DOMAIN = 6;
@DomName('MediaKeyError.MEDIA_KEYERR_HARDWARECHANGE')
@DocsEditable()
static const int MEDIA_KEYERR_HARDWARECHANGE = 5;
@DomName('MediaKeyError.MEDIA_KEYERR_OUTPUT')
@DocsEditable()
static const int MEDIA_KEYERR_OUTPUT = 4;
@DomName('MediaKeyError.MEDIA_KEYERR_SERVICE')
@DocsEditable()
static const int MEDIA_KEYERR_SERVICE = 3;
@DomName('MediaKeyError.MEDIA_KEYERR_UNKNOWN')
@DocsEditable()
static const int MEDIA_KEYERR_UNKNOWN = 1;
@DomName('MediaKeyError.code')
@DocsEditable()
int get code => _blink.Native_MediaKeyError_code_Getter(this);
@DomName('MediaKeyError.systemCode')
@DocsEditable()
@Experimental() // non-standard
int get systemCode => _blink.Native_MediaKeyError_systemCode_Getter(this);
}
// 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.
@DocsEditable()
@DomName('MediaKeyEvent')
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#event-definitions
@Experimental()
class MediaKeyEvent extends Event {
// To suppress missing implicit constructor warnings.
factory MediaKeyEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('MediaKeyEvent.defaultURL')
@DocsEditable()
String get defaultUrl => _blink.Native_MediaKeyEvent_defaultURL_Getter(this);
@DomName('MediaKeyEvent.errorCode')
@DocsEditable()
MediaKeyError get errorCode => _blink.Native_MediaKeyEvent_errorCode_Getter(this);
@DomName('MediaKeyEvent.initData')
@DocsEditable()
Uint8List get initData => _blink.Native_MediaKeyEvent_initData_Getter(this);
@DomName('MediaKeyEvent.keySystem')
@DocsEditable()
String get keySystem => _blink.Native_MediaKeyEvent_keySystem_Getter(this);
@DomName('MediaKeyEvent.message')
@DocsEditable()
Uint8List get message => _blink.Native_MediaKeyEvent_message_Getter(this);
@DomName('MediaKeyEvent.sessionId')
@DocsEditable()
String get sessionId => _blink.Native_MediaKeyEvent_sessionId_Getter(this);
@DomName('MediaKeyEvent.systemCode')
@DocsEditable()
int get systemCode => _blink.Native_MediaKeyEvent_systemCode_Getter(this);
}
// 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.
@DocsEditable()
@DomName('MediaKeyMessageEvent')
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-mediakeymessageevent
@Experimental()
class MediaKeyMessageEvent extends Event {
// To suppress missing implicit constructor warnings.
factory MediaKeyMessageEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('MediaKeyMessageEvent.destinationURL')
@DocsEditable()
String get destinationUrl => _blink.Native_MediaKeyMessageEvent_destinationURL_Getter(this);
@DomName('MediaKeyMessageEvent.message')
@DocsEditable()
Uint8List get message => _blink.Native_MediaKeyMessageEvent_message_Getter(this);
}
// 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.
@DocsEditable()
@DomName('MediaKeyNeededEvent')
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-mediakeyneededevent
@Experimental()
class MediaKeyNeededEvent extends Event {
// To suppress missing implicit constructor warnings.
factory MediaKeyNeededEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('MediaKeyNeededEvent.contentType')
@DocsEditable()
@Experimental() // untriaged
String get contentType => _blink.Native_MediaKeyNeededEvent_contentType_Getter(this);
@DomName('MediaKeyNeededEvent.initData')
@DocsEditable()
Uint8List get initData => _blink.Native_MediaKeyNeededEvent_initData_Getter(this);
}
// 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.
@DocsEditable()
@DomName('MediaKeySession')
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#dom-mediakeysession
@Experimental()
class MediaKeySession extends EventTarget {
// To suppress missing implicit constructor warnings.
factory MediaKeySession._() { throw new UnsupportedError("Not supported"); }
@DomName('MediaKeySession.error')
@DocsEditable()
MediaKeyError get error => _blink.Native_MediaKeySession_error_Getter(this);
@DomName('MediaKeySession.keySystem')
@DocsEditable()
String get keySystem => _blink.Native_MediaKeySession_keySystem_Getter(this);
@DomName('MediaKeySession.sessionId')
@DocsEditable()
String get sessionId => _blink.Native_MediaKeySession_sessionId_Getter(this);
@DomName('MediaKeySession.release')
@DocsEditable()
@Experimental() // untriaged
void release() => _blink.Native_MediaKeySession_release_Callback(this);
@DomName('MediaKeySession.update')
@DocsEditable()
void update(Uint8List response) => _blink.Native_MediaKeySession_update_Callback(this, response);
}
// 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.
@DocsEditable()
@DomName('MediaKeys')
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html
@Experimental()
class MediaKeys extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory MediaKeys._() { throw new UnsupportedError("Not supported"); }
@DomName('MediaKeys.MediaKeys')
@DocsEditable()
factory MediaKeys(String keySystem) => _blink.Native_MediaKeys_MediaKeys(keySystem);
@DomName('MediaKeys.keySystem')
@DocsEditable()
String get keySystem => _blink.Native_MediaKeys_keySystem_Getter(this);
@DomName('MediaKeys.createSession')
@DocsEditable()
MediaKeySession createSession(String type, Uint8List initData) => _blink.Native_MediaKeys_createSession_Callback(this, type, initData);
}
// 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.
@DocsEditable()
@DomName('MediaList')
@Unstable()
class MediaList extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory MediaList._() { throw new UnsupportedError("Not supported"); }
@DomName('MediaList.length')
@DocsEditable()
int get length => _blink.Native_MediaList_length_Getter(this);
@DomName('MediaList.mediaText')
@DocsEditable()
String get mediaText => _blink.Native_MediaList_mediaText_Getter(this);
@DomName('MediaList.mediaText')
@DocsEditable()
void set mediaText(String value) => _blink.Native_MediaList_mediaText_Setter(this, value);
@DomName('MediaList.appendMedium')
@DocsEditable()
void appendMedium(String newMedium) => _blink.Native_MediaList_appendMedium_Callback(this, newMedium);
@DomName('MediaList.deleteMedium')
@DocsEditable()
void deleteMedium(String oldMedium) => _blink.Native_MediaList_deleteMedium_Callback(this, oldMedium);
@DomName('MediaList.item')
@DocsEditable()
String item(int index) => _blink.Native_MediaList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('MediaQueryList')
@Unstable()
class MediaQueryList extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory MediaQueryList._() { throw new UnsupportedError("Not supported"); }
@DomName('MediaQueryList.matches')
@DocsEditable()
bool get matches => _blink.Native_MediaQueryList_matches_Getter(this);
@DomName('MediaQueryList.media')
@DocsEditable()
String get media => _blink.Native_MediaQueryList_media_Getter(this);
}
// 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.
@DocsEditable()
@DomName('MediaSource')
// https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#mediasource
@Experimental()
class MediaSource extends EventTarget {
// To suppress missing implicit constructor warnings.
factory MediaSource._() { throw new UnsupportedError("Not supported"); }
@DomName('MediaSource.MediaSource')
@DocsEditable()
factory MediaSource() => _blink.Native_MediaSource_MediaSource();
@DomName('MediaSource.activeSourceBuffers')
@DocsEditable()
SourceBufferList get activeSourceBuffers => _blink.Native_MediaSource_activeSourceBuffers_Getter(this);
@DomName('MediaSource.duration')
@DocsEditable()
num get duration => _blink.Native_MediaSource_duration_Getter(this);
@DomName('MediaSource.duration')
@DocsEditable()
void set duration(num value) => _blink.Native_MediaSource_duration_Setter(this, value);
@DomName('MediaSource.readyState')
@DocsEditable()
String get readyState => _blink.Native_MediaSource_readyState_Getter(this);
@DomName('MediaSource.sourceBuffers')
@DocsEditable()
SourceBufferList get sourceBuffers => _blink.Native_MediaSource_sourceBuffers_Getter(this);
@DomName('MediaSource.addSourceBuffer')
@DocsEditable()
SourceBuffer addSourceBuffer(String type) => _blink.Native_MediaSource_addSourceBuffer_Callback(this, type);
void endOfStream([String error]) => _blink.Native_MediaSource_endOfStream(this, error);
@DomName('MediaSource.isTypeSupported')
@DocsEditable()
static bool isTypeSupported(String type) => _blink.Native_MediaSource_isTypeSupported_Callback(type);
@DomName('MediaSource.removeSourceBuffer')
@DocsEditable()
void removeSourceBuffer(SourceBuffer buffer) => _blink.Native_MediaSource_removeSourceBuffer_Callback(this, buffer);
}
// Copyright (c) 2013, 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.
@DomName('MediaStream')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastream
class MediaStream extends EventTarget {
// To suppress missing implicit constructor warnings.
factory MediaStream._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `addtrack` events to event
* handlers that are not necessarily instances of [MediaStream].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('MediaStream.addtrackEvent')
@DocsEditable()
static const EventStreamProvider<Event> addTrackEvent = const EventStreamProvider<Event>('addtrack');
/**
* Static factory designed to expose `ended` events to event
* handlers that are not necessarily instances of [MediaStream].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('MediaStream.endedEvent')
@DocsEditable()
static const EventStreamProvider<Event> endedEvent = const EventStreamProvider<Event>('ended');
/**
* Static factory designed to expose `removetrack` events to event
* handlers that are not necessarily instances of [MediaStream].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('MediaStream.removetrackEvent')
@DocsEditable()
static const EventStreamProvider<Event> removeTrackEvent = const EventStreamProvider<Event>('removetrack');
@DomName('MediaStream.MediaStream')
@DocsEditable()
factory MediaStream([stream_OR_tracks]) => _blink.Native_MediaStream_MediaStream(stream_OR_tracks);
@DomName('MediaStream.ended')
@DocsEditable()
bool get ended => _blink.Native_MediaStream_ended_Getter(this);
@DomName('MediaStream.id')
@DocsEditable()
String get id => _blink.Native_MediaStream_id_Getter(this);
@DomName('MediaStream.label')
@DocsEditable()
@Experimental() // non-standard
String get label => _blink.Native_MediaStream_label_Getter(this);
@DomName('MediaStream.addTrack')
@DocsEditable()
void addTrack(MediaStreamTrack track) => _blink.Native_MediaStream_addTrack_Callback(this, track);
@DomName('MediaStream.getAudioTracks')
@DocsEditable()
List<MediaStreamTrack> getAudioTracks() => _blink.Native_MediaStream_getAudioTracks_Callback(this);
@DomName('MediaStream.getTrackById')
@DocsEditable()
MediaStreamTrack getTrackById(String trackId) => _blink.Native_MediaStream_getTrackById_Callback(this, trackId);
@DomName('MediaStream.getVideoTracks')
@DocsEditable()
List<MediaStreamTrack> getVideoTracks() => _blink.Native_MediaStream_getVideoTracks_Callback(this);
@DomName('MediaStream.removeTrack')
@DocsEditable()
void removeTrack(MediaStreamTrack track) => _blink.Native_MediaStream_removeTrack_Callback(this, track);
@DomName('MediaStream.stop')
@DocsEditable()
void stop() => _blink.Native_MediaStream_stop_Callback(this);
/// Stream of `addtrack` events handled by this [MediaStream].
@DomName('MediaStream.onaddtrack')
@DocsEditable()
Stream<Event> get onAddTrack => addTrackEvent.forTarget(this);
/// Stream of `ended` events handled by this [MediaStream].
@DomName('MediaStream.onended')
@DocsEditable()
Stream<Event> get onEnded => endedEvent.forTarget(this);
/// Stream of `removetrack` events handled by this [MediaStream].
@DomName('MediaStream.onremovetrack')
@DocsEditable()
Stream<Event> get onRemoveTrack => removeTrackEvent.forTarget(this);
/**
* Checks if the MediaStream APIs are supported on the current platform.
*
* See also:
*
* * [Navigator.getUserMedia]
*/
static bool get supported => true;
}
// 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.
@DocsEditable()
@DomName('MediaStreamEvent')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://dev.w3.org/2011/webrtc/editor/getusermedia.html
class MediaStreamEvent extends Event {
// To suppress missing implicit constructor warnings.
factory MediaStreamEvent._() { throw new UnsupportedError("Not supported"); }
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('MediaStreamEvent.stream')
@DocsEditable()
MediaStream get stream => _blink.Native_MediaStreamEvent_stream_Getter(this);
}
// 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.
@DocsEditable()
@DomName('MediaStreamTrack')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack
class MediaStreamTrack extends EventTarget {
// To suppress missing implicit constructor warnings.
factory MediaStreamTrack._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `ended` events to event
* handlers that are not necessarily instances of [MediaStreamTrack].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('MediaStreamTrack.endedEvent')
@DocsEditable()
static const EventStreamProvider<Event> endedEvent = const EventStreamProvider<Event>('ended');
/**
* Static factory designed to expose `mute` events to event
* handlers that are not necessarily instances of [MediaStreamTrack].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('MediaStreamTrack.muteEvent')
@DocsEditable()
static const EventStreamProvider<Event> muteEvent = const EventStreamProvider<Event>('mute');
/**
* Static factory designed to expose `unmute` events to event
* handlers that are not necessarily instances of [MediaStreamTrack].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('MediaStreamTrack.unmuteEvent')
@DocsEditable()
static const EventStreamProvider<Event> unmuteEvent = const EventStreamProvider<Event>('unmute');
@DomName('MediaStreamTrack.enabled')
@DocsEditable()
bool get enabled => _blink.Native_MediaStreamTrack_enabled_Getter(this);
@DomName('MediaStreamTrack.enabled')
@DocsEditable()
void set enabled(bool value) => _blink.Native_MediaStreamTrack_enabled_Setter(this, value);
@DomName('MediaStreamTrack.id')
@DocsEditable()
String get id => _blink.Native_MediaStreamTrack_id_Getter(this);
@DomName('MediaStreamTrack.kind')
@DocsEditable()
String get kind => _blink.Native_MediaStreamTrack_kind_Getter(this);
@DomName('MediaStreamTrack.label')
@DocsEditable()
String get label => _blink.Native_MediaStreamTrack_label_Getter(this);
@DomName('MediaStreamTrack.readyState')
@DocsEditable()
String get readyState => _blink.Native_MediaStreamTrack_readyState_Getter(this);
@DomName('MediaStreamTrack.getSources')
@DocsEditable()
@Experimental() // untriaged
static void _getSources(MediaStreamTrackSourcesCallback callback) => _blink.Native_MediaStreamTrack_getSources_Callback(callback);
static Future<List<SourceInfo>> getSources() {
var completer = new Completer<List<SourceInfo>>();
_getSources(
(value) { completer.complete(value); });
return completer.future;
}
@DomName('MediaStreamTrack.stop')
@DocsEditable()
@Experimental() // untriaged
void stop() => _blink.Native_MediaStreamTrack_stop_Callback(this);
/// Stream of `ended` events handled by this [MediaStreamTrack].
@DomName('MediaStreamTrack.onended')
@DocsEditable()
Stream<Event> get onEnded => endedEvent.forTarget(this);
/// Stream of `mute` events handled by this [MediaStreamTrack].
@DomName('MediaStreamTrack.onmute')
@DocsEditable()
Stream<Event> get onMute => muteEvent.forTarget(this);
/// Stream of `unmute` events handled by this [MediaStreamTrack].
@DomName('MediaStreamTrack.onunmute')
@DocsEditable()
Stream<Event> get onUnmute => unmuteEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('MediaStreamTrackEvent')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://dev.w3.org/2011/webrtc/editor/getusermedia.html
class MediaStreamTrackEvent extends Event {
// To suppress missing implicit constructor warnings.
factory MediaStreamTrackEvent._() { throw new UnsupportedError("Not supported"); }
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('MediaStreamTrackEvent.track')
@DocsEditable()
MediaStreamTrack get track => _blink.Native_MediaStreamTrackEvent_track_Getter(this);
}
// 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.
@DomName('MediaStreamTrackSourcesCallback')
@Experimental() // untriaged
typedef void MediaStreamTrackSourcesCallback(List<SourceInfo> sources);
// 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.
@DocsEditable()
@DomName('MemoryInfo')
@Experimental() // nonstandard
class MemoryInfo extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory MemoryInfo._() { throw new UnsupportedError("Not supported"); }
@DomName('MemoryInfo.jsHeapSizeLimit')
@DocsEditable()
int get jsHeapSizeLimit => _blink.Native_MemoryInfo_jsHeapSizeLimit_Getter(this);
@DomName('MemoryInfo.totalJSHeapSize')
@DocsEditable()
int get totalJSHeapSize => _blink.Native_MemoryInfo_totalJSHeapSize_Getter(this);
@DomName('MemoryInfo.usedJSHeapSize')
@DocsEditable()
int get usedJSHeapSize => _blink.Native_MemoryInfo_usedJSHeapSize_Getter(this);
}
// 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.
@DocsEditable()
/**
* An HTML <menu> element.
*
* A <menu> element represents an unordered list of menu commands.
*
* See also:
*
* * [Menu Element](https://developer.mozilla.org/en-US/docs/HTML/Element/menu) from MDN.
* * [Menu Element](http://www.w3.org/TR/html5/the-menu-element.html#the-menu-element) from the W3C.
*/
@DomName('HTMLMenuElement')
class MenuElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory MenuElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLMenuElement.HTMLMenuElement')
@DocsEditable()
factory MenuElement() => document.createElement("menu");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
MenuElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('MessageChannel')
@Unstable()
class MessageChannel extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory MessageChannel._() { throw new UnsupportedError("Not supported"); }
@DomName('MessageChannel.port1')
@DocsEditable()
MessagePort get port1 => _blink.Native_MessageChannel_port1_Getter(this);
@DomName('MessageChannel.port2')
@DocsEditable()
MessagePort get port2 => _blink.Native_MessageChannel_port2_Getter(this);
}
// Copyright (c) 2013, 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.
@DomName('MessageEvent')
class MessageEvent extends Event {
factory MessageEvent(String type,
{bool canBubble: false, bool cancelable: false, Object data,
String origin, String lastEventId,
Window source, List messagePorts}) {
if (source == null) {
source = window;
}
var event = document._createEvent("MessageEvent");
event._initMessageEvent(type, canBubble, cancelable, data, origin,
lastEventId, source, messagePorts);
return event;
}
// To suppress missing implicit constructor warnings.
factory MessageEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('MessageEvent.data')
@DocsEditable()
Object get data => _blink.Native_MessageEvent_data_Getter(this);
@DomName('MessageEvent.lastEventId')
@DocsEditable()
@Unstable()
String get lastEventId => _blink.Native_MessageEvent_lastEventId_Getter(this);
@DomName('MessageEvent.origin')
@DocsEditable()
String get origin => _blink.Native_MessageEvent_origin_Getter(this);
@DomName('MessageEvent.source')
@DocsEditable()
EventTarget get source => _blink.Native_MessageEvent_source_Getter(this);
@DomName('MessageEvent.initMessageEvent')
@DocsEditable()
void _initMessageEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Object dataArg, String originArg, String lastEventIdArg, Window sourceArg, List<MessagePort> messagePorts) => _blink.Native_MessageEvent_initMessageEvent_Callback(this, typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, messagePorts);
}
// 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.
@DocsEditable()
@DomName('MessagePort')
@Unstable()
class MessagePort extends EventTarget {
// To suppress missing implicit constructor warnings.
factory MessagePort._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `message` events to event
* handlers that are not necessarily instances of [MessagePort].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('MessagePort.messageEvent')
@DocsEditable()
static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');
@DomName('MessagePort.close')
@DocsEditable()
void close() => _blink.Native_MessagePort_close_Callback(this);
@DomName('MessagePort.postMessage')
@DocsEditable()
void postMessage(Object message, [List<MessagePort> messagePorts]) => _blink.Native_MessagePort_postMessage_Callback(this, message, messagePorts);
@DomName('MessagePort.start')
@DocsEditable()
void start() => _blink.Native_MessagePort_start_Callback(this);
/// Stream of `message` events handled by this [MessagePort].
@DomName('MessagePort.onmessage')
@DocsEditable()
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('HTMLMetaElement')
class MetaElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory MetaElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLMetaElement.HTMLMetaElement')
@DocsEditable()
factory MetaElement() => document.createElement("meta");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
MetaElement.created() : super.created();
@DomName('HTMLMetaElement.content')
@DocsEditable()
String get content => _blink.Native_HTMLMetaElement_content_Getter(this);
@DomName('HTMLMetaElement.content')
@DocsEditable()
void set content(String value) => _blink.Native_HTMLMetaElement_content_Setter(this, value);
@DomName('HTMLMetaElement.httpEquiv')
@DocsEditable()
String get httpEquiv => _blink.Native_HTMLMetaElement_httpEquiv_Getter(this);
@DomName('HTMLMetaElement.httpEquiv')
@DocsEditable()
void set httpEquiv(String value) => _blink.Native_HTMLMetaElement_httpEquiv_Setter(this, value);
@DomName('HTMLMetaElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLMetaElement_name_Getter(this);
@DomName('HTMLMetaElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLMetaElement_name_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('Metadata')
// http://www.w3.org/TR/file-system-api/#the-metadata-interface
@Experimental()
class Metadata extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Metadata._() { throw new UnsupportedError("Not supported"); }
@DomName('Metadata.modificationTime')
@DocsEditable()
DateTime get modificationTime => _blink.Native_Metadata_modificationTime_Getter(this);
@DomName('Metadata.size')
@DocsEditable()
int get size => _blink.Native_Metadata_size_Getter(this);
}
// 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.
@DomName('MetadataCallback')
// http://www.w3.org/TR/file-system-api/#idl-def-MetadataCallback
@Experimental()
typedef void MetadataCallback(Metadata metadata);
// 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.
@DocsEditable()
@DomName('HTMLMeterElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Unstable()
class MeterElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory MeterElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLMeterElement.HTMLMeterElement')
@DocsEditable()
factory MeterElement() => document.createElement("meter");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
MeterElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLMeterElement.high')
@DocsEditable()
num get high => _blink.Native_HTMLMeterElement_high_Getter(this);
@DomName('HTMLMeterElement.high')
@DocsEditable()
void set high(num value) => _blink.Native_HTMLMeterElement_high_Setter(this, value);
@DomName('HTMLMeterElement.labels')
@DocsEditable()
@Unstable()
List<Node> get labels => _blink.Native_HTMLMeterElement_labels_Getter(this);
@DomName('HTMLMeterElement.low')
@DocsEditable()
num get low => _blink.Native_HTMLMeterElement_low_Getter(this);
@DomName('HTMLMeterElement.low')
@DocsEditable()
void set low(num value) => _blink.Native_HTMLMeterElement_low_Setter(this, value);
@DomName('HTMLMeterElement.max')
@DocsEditable()
num get max => _blink.Native_HTMLMeterElement_max_Getter(this);
@DomName('HTMLMeterElement.max')
@DocsEditable()
void set max(num value) => _blink.Native_HTMLMeterElement_max_Setter(this, value);
@DomName('HTMLMeterElement.min')
@DocsEditable()
num get min => _blink.Native_HTMLMeterElement_min_Getter(this);
@DomName('HTMLMeterElement.min')
@DocsEditable()
void set min(num value) => _blink.Native_HTMLMeterElement_min_Setter(this, value);
@DomName('HTMLMeterElement.optimum')
@DocsEditable()
num get optimum => _blink.Native_HTMLMeterElement_optimum_Getter(this);
@DomName('HTMLMeterElement.optimum')
@DocsEditable()
void set optimum(num value) => _blink.Native_HTMLMeterElement_optimum_Setter(this, value);
@DomName('HTMLMeterElement.value')
@DocsEditable()
num get value => _blink.Native_HTMLMeterElement_value_Getter(this);
@DomName('HTMLMeterElement.value')
@DocsEditable()
void set value(num value) => _blink.Native_HTMLMeterElement_value_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('MIDIAccess')
// http://webaudio.github.io/web-midi-api/#midiaccess-interface
@Experimental()
class MidiAccess extends EventTarget {
// To suppress missing implicit constructor warnings.
factory MidiAccess._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `connect` events to event
* handlers that are not necessarily instances of [MidiAccess].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('MIDIAccess.connectEvent')
@DocsEditable()
static const EventStreamProvider<MidiConnectionEvent> connectEvent = const EventStreamProvider<MidiConnectionEvent>('connect');
/**
* Static factory designed to expose `disconnect` events to event
* handlers that are not necessarily instances of [MidiAccess].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('MIDIAccess.disconnectEvent')
@DocsEditable()
static const EventStreamProvider<MidiConnectionEvent> disconnectEvent = const EventStreamProvider<MidiConnectionEvent>('disconnect');
@DomName('MIDIAccess.inputs')
@DocsEditable()
List<MidiInput> inputs() => _blink.Native_MIDIAccess_inputs_Callback(this);
@DomName('MIDIAccess.outputs')
@DocsEditable()
List<MidiOutput> outputs() => _blink.Native_MIDIAccess_outputs_Callback(this);
/// Stream of `connect` events handled by this [MidiAccess].
@DomName('MIDIAccess.onconnect')
@DocsEditable()
Stream<MidiConnectionEvent> get onConnect => connectEvent.forTarget(this);
/// Stream of `disconnect` events handled by this [MidiAccess].
@DomName('MIDIAccess.ondisconnect')
@DocsEditable()
Stream<MidiConnectionEvent> get onDisconnect => disconnectEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('MIDIAccessPromise')
@Experimental() // untriaged
class MidiAccessPromise extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory MidiAccessPromise._() { throw new UnsupportedError("Not supported"); }
@DomName('MIDIAccessPromise.then')
@DocsEditable()
@Experimental() // untriaged
void then(MidiSuccessCallback successCallback, MidiErrorCallback errorCallback) => _blink.Native_MIDIAccessPromise_then_Callback(this, successCallback, errorCallback);
}
// 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.
@DocsEditable()
@DomName('MIDIConnectionEvent')
// http://webaudio.github.io/web-midi-api/#midiconnectionevent-interface
@Experimental()
class MidiConnectionEvent extends Event {
// To suppress missing implicit constructor warnings.
factory MidiConnectionEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('MIDIConnectionEvent.port')
@DocsEditable()
MidiPort get port => _blink.Native_MIDIConnectionEvent_port_Getter(this);
}
// 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.
@DocsEditable()
@DomName('MIDIInput')
// http://webaudio.github.io/web-midi-api/#idl-def-MIDIInput
@Experimental()
class MidiInput extends MidiPort {
// To suppress missing implicit constructor warnings.
factory MidiInput._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `midimessage` events to event
* handlers that are not necessarily instances of [MidiInput].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('MIDIInput.midimessageEvent')
@DocsEditable()
static const EventStreamProvider<MidiMessageEvent> midiMessageEvent = const EventStreamProvider<MidiMessageEvent>('midimessage');
/// Stream of `midimessage` events handled by this [MidiInput].
@DomName('MIDIInput.onmidimessage')
@DocsEditable()
Stream<MidiMessageEvent> get onMidiMessage => midiMessageEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('MIDIMessageEvent')
// http://webaudio.github.io/web-midi-api/#midimessageevent-interface
@Experimental()
class MidiMessageEvent extends Event {
// To suppress missing implicit constructor warnings.
factory MidiMessageEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('MIDIMessageEvent.data')
@DocsEditable()
Uint8List get data => _blink.Native_MIDIMessageEvent_data_Getter(this);
@DomName('MIDIMessageEvent.receivedTime')
@DocsEditable()
double get receivedTime => _blink.Native_MIDIMessageEvent_receivedTime_Getter(this);
}
// 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.
@DocsEditable()
@DomName('MIDIOutput')
// http://webaudio.github.io/web-midi-api/#midioutput-interface
@Experimental()
class MidiOutput extends MidiPort {
// To suppress missing implicit constructor warnings.
factory MidiOutput._() { throw new UnsupportedError("Not supported"); }
void send(Uint8List data, [num timestamp]) => _blink.Native_MIDIOutput_send(this, data, timestamp);
}
// 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.
@DocsEditable()
@DomName('MIDIPort')
// http://webaudio.github.io/web-midi-api/#idl-def-MIDIPort
@Experimental()
class MidiPort extends EventTarget {
// To suppress missing implicit constructor warnings.
factory MidiPort._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `disconnect` events to event
* handlers that are not necessarily instances of [MidiPort].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('MIDIPort.disconnectEvent')
@DocsEditable()
static const EventStreamProvider<MidiConnectionEvent> disconnectEvent = const EventStreamProvider<MidiConnectionEvent>('disconnect');
@DomName('MIDIPort.id')
@DocsEditable()
String get id => _blink.Native_MIDIPort_id_Getter(this);
@DomName('MIDIPort.manufacturer')
@DocsEditable()
String get manufacturer => _blink.Native_MIDIPort_manufacturer_Getter(this);
@DomName('MIDIPort.name')
@DocsEditable()
String get name => _blink.Native_MIDIPort_name_Getter(this);
@DomName('MIDIPort.type')
@DocsEditable()
String get type => _blink.Native_MIDIPort_type_Getter(this);
@DomName('MIDIPort.version')
@DocsEditable()
String get version => _blink.Native_MIDIPort_version_Getter(this);
/// Stream of `disconnect` events handled by this [MidiPort].
@DomName('MIDIPort.ondisconnect')
@DocsEditable()
Stream<MidiConnectionEvent> get onDisconnect => disconnectEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('MimeType')
@Experimental() // non-standard
class MimeType extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory MimeType._() { throw new UnsupportedError("Not supported"); }
@DomName('MimeType.description')
@DocsEditable()
String get description => _blink.Native_MimeType_description_Getter(this);
@DomName('MimeType.enabledPlugin')
@DocsEditable()
Plugin get enabledPlugin => _blink.Native_MimeType_enabledPlugin_Getter(this);
@DomName('MimeType.suffixes')
@DocsEditable()
String get suffixes => _blink.Native_MimeType_suffixes_Getter(this);
@DomName('MimeType.type')
@DocsEditable()
String get type => _blink.Native_MimeType_type_Getter(this);
}
// 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.
@DocsEditable()
@DomName('MimeTypeArray')
@Experimental() // non-standard
class MimeTypeArray extends NativeFieldWrapperClass2 with ListMixin<MimeType>, ImmutableListMixin<MimeType> implements List<MimeType> {
// To suppress missing implicit constructor warnings.
factory MimeTypeArray._() { throw new UnsupportedError("Not supported"); }
@DomName('MimeTypeArray.length')
@DocsEditable()
int get length => _blink.Native_MimeTypeArray_length_Getter(this);
MimeType operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_MimeTypeArray_NativeIndexed_Getter(this, index);
}
MimeType _nativeIndexedGetter(int index) => _blink.Native_MimeTypeArray_NativeIndexed_Getter(this, index);
void operator[]=(int index, MimeType value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<MimeType> mixins.
// MimeType is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
MimeType get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
MimeType get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
MimeType get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
MimeType elementAt(int index) => this[index];
// -- end List<MimeType> mixins.
@DomName('MimeTypeArray.__getter__')
@DocsEditable()
MimeType __getter__(String name) => _blink.Native_MimeTypeArray___getter___Callback(this, name);
@DomName('MimeTypeArray.item')
@DocsEditable()
MimeType item(int index) => _blink.Native_MimeTypeArray_item_Callback(this, index);
@DomName('MimeTypeArray.namedItem')
@DocsEditable()
MimeType namedItem(String name) => _blink.Native_MimeTypeArray_namedItem_Callback(this, name);
}
// 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.
@DocsEditable()
@DomName('HTMLModElement')
@Unstable()
class ModElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory ModElement._() { throw new UnsupportedError("Not supported"); }
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
ModElement.created() : super.created();
@DomName('HTMLModElement.cite')
@DocsEditable()
String get cite => _blink.Native_HTMLModElement_cite_Getter(this);
@DomName('HTMLModElement.cite')
@DocsEditable()
void set cite(String value) => _blink.Native_HTMLModElement_cite_Setter(this, value);
@DomName('HTMLModElement.dateTime')
@DocsEditable()
String get dateTime => _blink.Native_HTMLModElement_dateTime_Getter(this);
@DomName('HTMLModElement.dateTime')
@DocsEditable()
void set dateTime(String value) => _blink.Native_HTMLModElement_dateTime_Setter(this, value);
}
// 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.
@DomName('MouseEvent')
class MouseEvent extends UIEvent {
factory MouseEvent(String type,
{Window view, int detail: 0, int screenX: 0, int screenY: 0,
int clientX: 0, int clientY: 0, int button: 0, bool canBubble: true,
bool cancelable: true, bool ctrlKey: false, bool altKey: false,
bool shiftKey: false, bool metaKey: false, EventTarget relatedTarget}) {
if (view == null) {
view = window;
}
var event = document._createEvent('MouseEvent');
event._initMouseEvent(type, canBubble, cancelable, view, detail,
screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey,
button, relatedTarget);
return event;
}
// To suppress missing implicit constructor warnings.
factory MouseEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('MouseEvent.altKey')
@DocsEditable()
bool get altKey => _blink.Native_MouseEvent_altKey_Getter(this);
@DomName('MouseEvent.button')
@DocsEditable()
int get button => _blink.Native_MouseEvent_button_Getter(this);
@DomName('MouseEvent.clientX')
@DocsEditable()
int get _clientX => _blink.Native_MouseEvent_clientX_Getter(this);
@DomName('MouseEvent.clientY')
@DocsEditable()
int get _clientY => _blink.Native_MouseEvent_clientY_Getter(this);
@DomName('MouseEvent.ctrlKey')
@DocsEditable()
bool get ctrlKey => _blink.Native_MouseEvent_ctrlKey_Getter(this);
@DomName('MouseEvent.dataTransfer')
@DocsEditable()
@Unstable()
DataTransfer get dataTransfer => _blink.Native_MouseEvent_dataTransfer_Getter(this);
@DomName('MouseEvent.fromElement')
@DocsEditable()
@Experimental() // nonstandard
Node get fromElement => _blink.Native_MouseEvent_fromElement_Getter(this);
@DomName('MouseEvent.metaKey')
@DocsEditable()
bool get metaKey => _blink.Native_MouseEvent_metaKey_Getter(this);
@DomName('MouseEvent.offsetX')
@DocsEditable()
@Unstable()
int get _offsetX => _blink.Native_MouseEvent_offsetX_Getter(this);
@DomName('MouseEvent.offsetY')
@DocsEditable()
@Unstable()
int get _offsetY => _blink.Native_MouseEvent_offsetY_Getter(this);
@DomName('MouseEvent.relatedTarget')
@DocsEditable()
EventTarget get relatedTarget => _blink.Native_MouseEvent_relatedTarget_Getter(this);
@DomName('MouseEvent.screenX')
@DocsEditable()
int get _screenX => _blink.Native_MouseEvent_screenX_Getter(this);
@DomName('MouseEvent.screenY')
@DocsEditable()
int get _screenY => _blink.Native_MouseEvent_screenY_Getter(this);
@DomName('MouseEvent.shiftKey')
@DocsEditable()
bool get shiftKey => _blink.Native_MouseEvent_shiftKey_Getter(this);
@DomName('MouseEvent.toElement')
@DocsEditable()
@Experimental() // nonstandard
Node get toElement => _blink.Native_MouseEvent_toElement_Getter(this);
@DomName('MouseEvent.webkitMovementX')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
int get _webkitMovementX => _blink.Native_MouseEvent_webkitMovementX_Getter(this);
@DomName('MouseEvent.webkitMovementY')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
int get _webkitMovementY => _blink.Native_MouseEvent_webkitMovementY_Getter(this);
@DomName('MouseEvent.initMouseEvent')
@DocsEditable()
void _initMouseEvent(String type, bool canBubble, bool cancelable, Window view, int detail, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, int button, EventTarget relatedTarget) => _blink.Native_MouseEvent_initMouseEvent_Callback(this, type, canBubble, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget);
@deprecated
int get clientX => client.x;
@deprecated
int get clientY => client.y;
@deprecated
int get offsetX => offset.x;
@deprecated
int get offsetY => offset.y;
@deprecated
int get movementX => movement.x;
@deprecated
int get movementY => movement.y;
@deprecated
int get screenX => screen.x;
@deprecated
int get screenY => screen.y;
@DomName('MouseEvent.clientX')
@DomName('MouseEvent.clientY')
Point get client => new Point(_clientX, _clientY);
@DomName('MouseEvent.movementX')
@DomName('MouseEvent.movementY')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
Point get movement => new Point(_webkitMovementX, _webkitMovementY);
/**
* The coordinates of the mouse pointer in target node coordinates.
*
* This value may vary between platforms if the target node moves
* after the event has fired or if the element has CSS transforms affecting
* it.
*/
Point get offset => new Point(_offsetX, _offsetY);
@DomName('MouseEvent.screenX')
@DomName('MouseEvent.screenY')
Point get screen => new Point(_screenX, _screenY);
}
// 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.
@DomName('MutationCallback')
typedef void MutationCallback(List<MutationRecord> mutations, MutationObserver observer);
// 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.
@DomName('MutationObserver')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
class MutationObserver extends NativeFieldWrapperClass2 {
@DomName('MutationObserver.MutationObserver')
@DocsEditable()
factory MutationObserver._(MutationCallback callback) => _create(callback);
@DocsEditable()
static MutationObserver _create(callback) => _blink.Native_MutationObserver_constructorCallback(callback);
@DomName('MutationObserver.disconnect')
@DocsEditable()
void disconnect() => _blink.Native_MutationObserver_disconnect_Callback(this);
@DomName('MutationObserver.observe')
@DocsEditable()
void _observe(Node target, Map options) => _blink.Native_MutationObserver_observe_Callback(this, target, options);
@DomName('MutationObserver.takeRecords')
@DocsEditable()
List<MutationRecord> takeRecords() => _blink.Native_MutationObserver_takeRecords_Callback(this);
/**
* Checks to see if the mutation observer API is supported on the current
* platform.
*/
static bool get supported {
return true;
}
/**
* Observes the target for the specified changes.
*
* Some requirements for the optional parameters:
*
* * Either childList, attributes or characterData must be true.
* * If attributeOldValue is true then attributes must also be true.
* * If attributeFilter is specified then attributes must be true.
* * If characterDataOldValue is true then characterData must be true.
*/
void observe(Node target,
{bool childList,
bool attributes,
bool characterData,
bool subtree,
bool attributeOldValue,
bool characterDataOldValue,
List<String> attributeFilter}) {
// Parse options into map of known type.
var parsedOptions = _createDict();
// Override options passed in the map with named optional arguments.
override(key, value) {
if (value != null) _add(parsedOptions, key, value);
}
override('childList', childList);
override('attributes', attributes);
override('characterData', characterData);
override('subtree', subtree);
override('attributeOldValue', attributeOldValue);
override('characterDataOldValue', characterDataOldValue);
if (attributeFilter != null) {
override('attributeFilter', _fixupList(attributeFilter));
}
_call(target, parsedOptions);
}
// TODO: Change to a set when const Sets are available.
static final _boolKeys =
const {'childList': true,
'attributes': true,
'characterData': true,
'subtree': true,
'attributeOldValue': true,
'characterDataOldValue': true };
static _createDict() => {};
static _add(m, String key, value) { m[key] = value; }
static _fixupList(list) => list;
void _call(Node target, options) {
_observe(target, options);
}
factory MutationObserver(MutationCallback callback) =>
new MutationObserver._(_wrapBinaryZone(callback));
}
// 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.
@DocsEditable()
@DomName('MutationRecord')
class MutationRecord extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory MutationRecord._() { throw new UnsupportedError("Not supported"); }
@DomName('MutationRecord.addedNodes')
@DocsEditable()
List<Node> get addedNodes => _blink.Native_MutationRecord_addedNodes_Getter(this);
@DomName('MutationRecord.attributeName')
@DocsEditable()
String get attributeName => _blink.Native_MutationRecord_attributeName_Getter(this);
@DomName('MutationRecord.attributeNamespace')
@DocsEditable()
String get attributeNamespace => _blink.Native_MutationRecord_attributeNamespace_Getter(this);
@DomName('MutationRecord.nextSibling')
@DocsEditable()
Node get nextSibling => _blink.Native_MutationRecord_nextSibling_Getter(this);
@DomName('MutationRecord.oldValue')
@DocsEditable()
String get oldValue => _blink.Native_MutationRecord_oldValue_Getter(this);
@DomName('MutationRecord.previousSibling')
@DocsEditable()
Node get previousSibling => _blink.Native_MutationRecord_previousSibling_Getter(this);
@DomName('MutationRecord.removedNodes')
@DocsEditable()
List<Node> get removedNodes => _blink.Native_MutationRecord_removedNodes_Getter(this);
@DomName('MutationRecord.target')
@DocsEditable()
Node get target => _blink.Native_MutationRecord_target_Getter(this);
@DomName('MutationRecord.type')
@DocsEditable()
String get type => _blink.Native_MutationRecord_type_Getter(this);
}
// 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.
@DomName('Navigator')
class Navigator extends NativeFieldWrapperClass2 implements NavigatorOnLine, NavigatorID {
/**
* Gets a stream (video and or audio) from the local computer.
*
* Use [MediaStream.supported] to check if this is supported by the current
* platform. The arguments `audio` and `video` default to `false` (stream does
* not use audio or video, respectively).
*
* Simple example usage:
*
* window.navigator.getUserMedia(audio: true, video: true).then((stream) {
* var video = new VideoElement()
* ..autoplay = true
* ..src = Url.createObjectUrlFromStream(stream);
* document.body.append(video);
* });
*
* The user can also pass in Maps to the audio or video parameters to specify
* mandatory and optional constraints for the media stream. Not passing in a
* map, but passing in `true` will provide a MediaStream with audio or
* video capabilities, but without any additional constraints. The particular
* constraint names for audio and video are still in flux, but as of this
* writing, here is an example providing more constraints.
*
* window.navigator.getUserMedia(
* audio: true,
* video: {'mandatory':
* { 'minAspectRatio': 1.333, 'maxAspectRatio': 1.334 },
* 'optional':
* [{ 'minFrameRate': 60 },
* { 'maxWidth': 640 }]
* });
*
* See also:
* * [MediaStream.supported]
*/
@DomName('Navigator.webkitGetUserMedia')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
Future<MediaStream> getUserMedia({audio: false, video: false}) {
var completer = new Completer<MediaStream>();
var options = {
'audio': audio,
'video': video
};
this._getUserMedia(options,
(stream) {
completer.complete(stream);
},
(error) {
completer.completeError(error);
});
return completer.future;
}
// To suppress missing implicit constructor warnings.
factory Navigator._() { throw new UnsupportedError("Not supported"); }
@DomName('Navigator.cookieEnabled')
@DocsEditable()
@Unstable()
bool get cookieEnabled => _blink.Native_Navigator_cookieEnabled_Getter(this);
@DomName('Navigator.doNotTrack')
@DocsEditable()
// http://www.w3.org/2011/tracking-protection/drafts/tracking-dnt.html#js-dom
@Experimental() // experimental
String get doNotTrack => _blink.Native_Navigator_doNotTrack_Getter(this);
@DomName('Navigator.geolocation')
@DocsEditable()
@Unstable()
Geolocation get geolocation => _blink.Native_Navigator_geolocation_Getter(this);
@DomName('Navigator.language')
@DocsEditable()
String get language => _blink.Native_Navigator_language_Getter(this);
@DomName('Navigator.maxTouchPoints')
@DocsEditable()
@Experimental() // untriaged
int get maxTouchPoints => _blink.Native_Navigator_maxTouchPoints_Getter(this);
@DomName('Navigator.mimeTypes')
@DocsEditable()
@Experimental() // nonstandard
MimeTypeArray get mimeTypes => _blink.Native_Navigator_mimeTypes_Getter(this);
@DomName('Navigator.productSub')
@DocsEditable()
@Unstable()
String get productSub => _blink.Native_Navigator_productSub_Getter(this);
@DomName('Navigator.serviceWorker')
@DocsEditable()
@Experimental() // untriaged
ServiceWorkerContainer get serviceWorker => _blink.Native_Navigator_serviceWorker_Getter(this);
@DomName('Navigator.storageQuota')
@DocsEditable()
@Experimental() // untriaged
StorageQuota get storageQuota => _blink.Native_Navigator_storageQuota_Getter(this);
@DomName('Navigator.vendor')
@DocsEditable()
@Unstable()
String get vendor => _blink.Native_Navigator_vendor_Getter(this);
@DomName('Navigator.vendorSub')
@DocsEditable()
@Unstable()
String get vendorSub => _blink.Native_Navigator_vendorSub_Getter(this);
@DomName('Navigator.webkitPersistentStorage')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3.org/TR/quota-api/#accessing-storagequota
DeprecatedStorageQuota get persistentStorage => _blink.Native_Navigator_webkitPersistentStorage_Getter(this);
@DomName('Navigator.webkitTemporaryStorage')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3.org/TR/quota-api/#accessing-storagequota
DeprecatedStorageQuota get temporaryStorage => _blink.Native_Navigator_webkitTemporaryStorage_Getter(this);
@DomName('Navigator.getStorageUpdates')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorstorageutils
@Experimental()
void getStorageUpdates() => _blink.Native_Navigator_getStorageUpdates_Callback(this);
@DomName('Navigator.isProtocolHandlerRegistered')
@DocsEditable()
@Experimental() // untriaged
String isProtocolHandlerRegistered(String scheme, String url) => _blink.Native_Navigator_isProtocolHandlerRegistered_Callback(this, scheme, url);
@DomName('Navigator.registerProtocolHandler')
@DocsEditable()
@Unstable()
void registerProtocolHandler(String scheme, String url, String title) => _blink.Native_Navigator_registerProtocolHandler_Callback(this, scheme, url, title);
@DomName('Navigator.requestMIDIAccess')
@DocsEditable()
@Experimental() // untriaged
MidiAccessPromise requestMidiAccess([Map options]) => _blink.Native_Navigator_requestMIDIAccess_Callback(this, options);
@DomName('Navigator.unregisterProtocolHandler')
@DocsEditable()
@Experimental() // untriaged
void unregisterProtocolHandler(String scheme, String url) => _blink.Native_Navigator_unregisterProtocolHandler_Callback(this, scheme, url);
@DomName('Navigator.webkitGetGamepads')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html#widl-Navigator-getGamepads-Gamepad
List<Gamepad> getGamepads() => _blink.Native_Navigator_webkitGetGamepads_Callback(this);
@DomName('Navigator.webkitGetUserMedia')
@DocsEditable()
// http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia
@Experimental()
void _getUserMedia(Map options, _NavigatorUserMediaSuccessCallback successCallback, [_NavigatorUserMediaErrorCallback errorCallback]) => _blink.Native_Navigator_webkitGetUserMedia_Callback(this, options, successCallback, errorCallback);
@DomName('Navigator.appCodeName')
@DocsEditable()
@Experimental() // non-standard
String get appCodeName => _blink.Native_Navigator_appCodeName_Getter(this);
@DomName('Navigator.appName')
@DocsEditable()
String get appName => _blink.Native_Navigator_appName_Getter(this);
@DomName('Navigator.appVersion')
@DocsEditable()
String get appVersion => _blink.Native_Navigator_appVersion_Getter(this);
@DomName('Navigator.platform')
@DocsEditable()
String get platform => _blink.Native_Navigator_platform_Getter(this);
@DomName('Navigator.product')
@DocsEditable()
@Unstable()
String get product => _blink.Native_Navigator_product_Getter(this);
@DomName('Navigator.userAgent')
@DocsEditable()
String get userAgent => _blink.Native_Navigator_userAgent_Getter(this);
@DomName('Navigator.onLine')
@DocsEditable()
@Unstable()
bool get onLine => _blink.Native_Navigator_onLine_Getter(this);
}
// 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.
@DocsEditable()
@DomName('NavigatorID')
@Experimental() // untriaged
abstract class NavigatorID extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory NavigatorID._() { throw new UnsupportedError("Not supported"); }
@DomName('NavigatorID.appCodeName')
@DocsEditable()
@Experimental() // untriaged
String get appCodeName => _blink.Native_NavigatorID_appCodeName_Getter(this);
@DomName('NavigatorID.appName')
@DocsEditable()
@Experimental() // untriaged
String get appName => _blink.Native_NavigatorID_appName_Getter(this);
@DomName('NavigatorID.appVersion')
@DocsEditable()
@Experimental() // untriaged
String get appVersion => _blink.Native_NavigatorID_appVersion_Getter(this);
@DomName('NavigatorID.platform')
@DocsEditable()
@Experimental() // untriaged
String get platform => _blink.Native_NavigatorID_platform_Getter(this);
@DomName('NavigatorID.product')
@DocsEditable()
@Experimental() // untriaged
String get product => _blink.Native_NavigatorID_product_Getter(this);
@DomName('NavigatorID.userAgent')
@DocsEditable()
@Experimental() // untriaged
String get userAgent => _blink.Native_NavigatorID_userAgent_Getter(this);
}
// 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.
@DocsEditable()
@DomName('NavigatorOnLine')
@Experimental() // untriaged
abstract class NavigatorOnLine extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory NavigatorOnLine._() { throw new UnsupportedError("Not supported"); }
@DomName('NavigatorOnLine.onLine')
@DocsEditable()
@Experimental() // untriaged
bool get onLine => _blink.Native_NavigatorOnLine_onLine_Getter(this);
}
// 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.
@DocsEditable()
@DomName('NavigatorUserMediaError')
// http://dev.w3.org/2011/webrtc/editor/getusermedia.html#idl-def-NavigatorUserMediaError
@Experimental()
class NavigatorUserMediaError extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory NavigatorUserMediaError._() { throw new UnsupportedError("Not supported"); }
@DomName('NavigatorUserMediaError.constraintName')
@DocsEditable()
String get constraintName => _blink.Native_NavigatorUserMediaError_constraintName_Getter(this);
@DomName('NavigatorUserMediaError.message')
@DocsEditable()
String get message => _blink.Native_NavigatorUserMediaError_message_Getter(this);
@DomName('NavigatorUserMediaError.name')
@DocsEditable()
String get name => _blink.Native_NavigatorUserMediaError_name_Getter(this);
}
// 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.
@DomName('NavigatorUserMediaErrorCallback')
// http://dev.w3.org/2011/webrtc/editor/getusermedia.html#idl-def-NavigatorUserMediaErrorCallback
@Experimental()
typedef void _NavigatorUserMediaErrorCallback(NavigatorUserMediaError error);
// 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.
@DomName('NavigatorUserMediaSuccessCallback')
// http://dev.w3.org/2011/webrtc/editor/getusermedia.html#idl-def-NavigatorUserMediaSuccessCallback
@Experimental()
typedef void _NavigatorUserMediaSuccessCallback(MediaStream stream);
// 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.
/**
* Lazy implementation of the child nodes of an element that does not request
* the actual child nodes of an element until strictly necessary greatly
* improving performance for the typical cases where it is not required.
*/
class _ChildNodeListLazy extends ListBase<Node> implements NodeListWrapper {
final Node _this;
_ChildNodeListLazy(this._this);
Node get first {
Node result = _this.firstChild;
if (result == null) throw new StateError("No elements");
return result;
}
Node get last {
Node result = _this.lastChild;
if (result == null) throw new StateError("No elements");
return result;
}
Node get single {
int l = this.length;
if (l == 0) throw new StateError("No elements");
if (l > 1) throw new StateError("More than one element");
return _this.firstChild;
}
void add(Node value) {
_this.append(value);
}
void addAll(Iterable<Node> iterable) {
if (iterable is _ChildNodeListLazy) {
_ChildNodeListLazy otherList = iterable;
if (!identical(otherList._this, _this)) {
// Optimized route for copying between nodes.
for (var i = 0, len = otherList.length; i < len; ++i) {
_this.append(otherList._this.firstChild);
}
}
return;
}
for (Node node in iterable) {
_this.append(node);
}
}
void insert(int index, Node node) {
if (index < 0 || index > length) {
throw new RangeError.range(index, 0, length);
}
if (index == length) {
_this.append(node);
} else {
_this.insertBefore(node, this[index]);
}
}
void insertAll(int index, Iterable<Node> iterable) {
var item = this[index];
_this.insertAllBefore(iterable, item);
}
void setAll(int index, Iterable<Node> iterable) {
throw new UnsupportedError("Cannot setAll on Node list");
}
Node removeLast() {
final result = last;
if (result != null) {
_this._removeChild(result);
}
return result;
}
Node removeAt(int index) {
var result = this[index];
if (result != null) {
_this._removeChild(result);
}
return result;
}
bool remove(Object object) {
if (object is! Node) return false;
Node node = object;
if (!identical(_this, node.parentNode)) return false;
_this._removeChild(node);
return true;
}
void _filter(bool test(Node node), bool removeMatching) {
// This implementation of removeWhere/retainWhere is more efficient
// than the default in ListBase. Child nodes can be removed in constant
// time.
Node child = _this.firstChild;
while (child != null) {
Node nextChild = child.nextNode;
if (test(child) == removeMatching) {
_this._removeChild(child);
}
child = nextChild;
}
}
void removeWhere(bool test(Node node)) {
_filter(test, true);
}
void retainWhere(bool test(Node node)) {
_filter(test, false);
}
void clear() {
_this._clearChildren();
}
void operator []=(int index, Node value) {
_this._replaceChild(value, this[index]);
}
Iterator<Node> get iterator => _this.childNodes.iterator;
// From List<Node>:
// TODO(jacobr): this could be implemented for child node lists.
// The exception we throw here is misleading.
void sort([Comparator<Node> compare]) {
throw new UnsupportedError("Cannot sort Node list");
}
void shuffle([Random random]) {
throw new UnsupportedError("Cannot shuffle Node list");
}
// FIXME: implement these.
void setRange(int start, int end, Iterable<Node> iterable,
[int skipCount = 0]) {
throw new UnsupportedError("Cannot setRange on Node list");
}
void fillRange(int start, int end, [Node fill]) {
throw new UnsupportedError("Cannot fillRange on Node list");
}
// -- end List<Node> mixins.
// TODO(jacobr): benchmark whether this is more efficient or whether caching
// a local copy of childNodes is more efficient.
int get length => _this.childNodes.length;
void set length(int value) {
throw new UnsupportedError(
"Cannot set length on immutable List.");
}
Node operator[](int index) => _this.childNodes[index];
List<Node> get rawList => _this.childNodes;
}
@DomName('Node')
class Node extends EventTarget {
// Custom element created callback.
Node._created() : super._created();
/**
* A modifiable list of this node's children.
*/
List<Node> get nodes {
return new _ChildNodeListLazy(this);
}
void set nodes(Iterable<Node> value) {
// Copy list first since we don't want liveness during iteration.
// TODO(jacobr): there is a better way to do this.
List copy = new List.from(value);
text = '';
for (Node node in copy) {
append(node);
}
}
/**
* Removes this node from the DOM.
*/
@DomName('Node.removeChild')
void remove() {
// TODO(jacobr): should we throw an exception if parent is already null?
// TODO(vsm): Use the native remove when available.
if (this.parentNode != null) {
final Node parent = this.parentNode;
parentNode._removeChild(this);
}
}
/**
* Replaces this node with another node.
*/
@DomName('Node.replaceChild')
Node replaceWith(Node otherNode) {
try {
final Node parent = this.parentNode;
parent._replaceChild(otherNode, this);
} catch (e) {
};
return this;
}
/**
* Inserts all of the nodes into this node directly before refChild.
*
* See also:
*
* * [insertBefore]
*/
Node insertAllBefore(Iterable<Node> newNodes, Node refChild) {
if (newNodes is _ChildNodeListLazy) {
_ChildNodeListLazy otherList = newNodes;
if (identical(otherList._this, this)) {
throw new ArgumentError(newNodes);
}
// Optimized route for copying between nodes.
for (var i = 0, len = otherList.length; i < len; ++i) {
this.insertBefore(otherList._this.firstChild, refChild);
}
} else {
for (var node in newNodes) {
this.insertBefore(node, refChild);
}
}
}
void _clearChildren() {
while (firstChild != null) {
_removeChild(firstChild);
}
}
/**
* Print out a String representation of this Node.
*/
String toString() => nodeValue == null ? super.toString() : nodeValue;
// To suppress missing implicit constructor warnings.
factory Node._() { throw new UnsupportedError("Not supported"); }
@DomName('Node.ATTRIBUTE_NODE')
@DocsEditable()
static const int ATTRIBUTE_NODE = 2;
@DomName('Node.CDATA_SECTION_NODE')
@DocsEditable()
static const int CDATA_SECTION_NODE = 4;
@DomName('Node.COMMENT_NODE')
@DocsEditable()
static const int COMMENT_NODE = 8;
@DomName('Node.DOCUMENT_FRAGMENT_NODE')
@DocsEditable()
static const int DOCUMENT_FRAGMENT_NODE = 11;
@DomName('Node.DOCUMENT_NODE')
@DocsEditable()
static const int DOCUMENT_NODE = 9;
@DomName('Node.DOCUMENT_TYPE_NODE')
@DocsEditable()
static const int DOCUMENT_TYPE_NODE = 10;
@DomName('Node.ELEMENT_NODE')
@DocsEditable()
static const int ELEMENT_NODE = 1;
@DomName('Node.ENTITY_NODE')
@DocsEditable()
static const int ENTITY_NODE = 6;
@DomName('Node.ENTITY_REFERENCE_NODE')
@DocsEditable()
static const int ENTITY_REFERENCE_NODE = 5;
@DomName('Node.NOTATION_NODE')
@DocsEditable()
static const int NOTATION_NODE = 12;
@DomName('Node.PROCESSING_INSTRUCTION_NODE')
@DocsEditable()
static const int PROCESSING_INSTRUCTION_NODE = 7;
@DomName('Node.TEXT_NODE')
@DocsEditable()
static const int TEXT_NODE = 3;
@DomName('Node.baseURI')
@DocsEditable()
String get baseUri => _blink.Native_Node_baseURI_Getter(this);
/**
* A list of this node's children.
*
* ## Other resources
*
* * [Node.childNodes]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes)
* from MDN.
*/
@DomName('Node.childNodes')
@DocsEditable()
List<Node> get childNodes => _blink.Native_Node_childNodes_Getter(this);
/**
* The first child of this node.
*
* ## Other resources
*
* * [Node.firstChild]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.firstChild)
* from MDN.
*/
@DomName('Node.firstChild')
@DocsEditable()
Node get firstChild => _blink.Native_Node_firstChild_Getter(this);
/**
* The last child of this node.
*
* ## Other resources
*
* * [Node.lastChild]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.lastChild)
* from MDN.
*/
@DomName('Node.lastChild')
@DocsEditable()
Node get lastChild => _blink.Native_Node_lastChild_Getter(this);
@DomName('Node.localName')
@DocsEditable()
String get _localName => _blink.Native_Node_localName_Getter(this);
@DomName('Node.namespaceURI')
@DocsEditable()
String get _namespaceUri => _blink.Native_Node_namespaceURI_Getter(this);
/**
* The next sibling node.
*
* ## Other resources
*
* * [Node.nextSibling]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.nextSibling)
* from MDN.
*/
@DomName('Node.nextSibling')
@DocsEditable()
Node get nextNode => _blink.Native_Node_nextSibling_Getter(this);
/**
* The name of this node.
*
* This varies by this node's [nodeType].
*
* ## Other resources
*
* * [Node.nodeName]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.nodeName)
* from MDN. This page contains a table of [nodeName] values for each
* [nodeType].
*/
@DomName('Node.nodeName')
@DocsEditable()
String get nodeName => _blink.Native_Node_nodeName_Getter(this);
/**
* The type of node.
*
* This value is one of:
*
* * [ATTRIBUTE_NODE] if this node is an attribute.
* * [CDATA_SECTION_NODE] if this node is a [CDataSection].
* * [COMMENT_NODE] if this node is a [Comment].
* * [DOCUMENT_FRAGMENT_NODE] if this node is a [DocumentFragment].
* * [DOCUMENT_NODE] if this node is a [Document].
* * [DOCUMENT_TYPE_NODE] if this node is a [DocumentType] node.
* * [ELEMENT_NODE] if this node is an [Element].
* * [ENTITY_NODE] if this node is an entity.
* * [ENTITY_REFERENCE_NODE] if this node is an entity reference.
* * [NOTATION_NODE] if this node is a notation.
* * [PROCESSING_INSTRUCTION_NODE] if this node is a [ProcessingInstruction].
* * [TEXT_NODE] if this node is a [Text] node.
*
* ## Other resources
*
* * [Node.nodeType]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.nodeType) from MDN.
*/
@DomName('Node.nodeType')
@DocsEditable()
int get nodeType => _blink.Native_Node_nodeType_Getter(this);
/**
* The value of this node.
*
* This varies by this type's [nodeType].
*
* ## Other resources
*
* * [Node.nodeValue]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.nodeValue)
* from MDN. This page contains a table of [nodeValue] values for each
* [nodeType].
*/
@DomName('Node.nodeValue')
@DocsEditable()
String get nodeValue => _blink.Native_Node_nodeValue_Getter(this);
/**
* The document this node belongs to.
*
* Returns null if this node does not belong to any document.
*
* ## Other resources
*
* * [Node.ownerDocument]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.ownerDocument) from
* MDN.
*/
@DomName('Node.ownerDocument')
@DocsEditable()
Document get ownerDocument => _blink.Native_Node_ownerDocument_Getter(this);
/**
* The parent element of this node.
*
* Returns null if this node either does not have a parent or its parent is
* not an element.
*
* ## Other resources
*
* * [Node.parentElement]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.parentElement) from
* W3C.
*/
@DomName('Node.parentElement')
@DocsEditable()
Element get parent => _blink.Native_Node_parentElement_Getter(this);
/**
* The parent node of this node.
*
* ## Other resources
*
* * [Node.parentNode]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.parentNode) from
* MDN.
*/
@DomName('Node.parentNode')
@DocsEditable()
Node get parentNode => _blink.Native_Node_parentNode_Getter(this);
/**
* The previous sibling node.
*
* ## Other resources
*
* * [Node.previousSibling]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.previousSibling)
* from MDN.
*/
@DomName('Node.previousSibling')
@DocsEditable()
Node get previousNode => _blink.Native_Node_previousSibling_Getter(this);
/**
* All text within this node and its decendents.
*
* ## Other resources
*
* * [Node.textContent]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.textContent) from
* MDN.
*/
@DomName('Node.textContent')
@DocsEditable()
String get text => _blink.Native_Node_textContent_Getter(this);
/**
* All text within this node and its decendents.
*
* ## Other resources
*
* * [Node.textContent]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.textContent) from
* MDN.
*/
@DomName('Node.textContent')
@DocsEditable()
void set text(String value) => _blink.Native_Node_textContent_Setter(this, value);
/**
* Adds a node to the end of the child [nodes] list of this node.
*
* If the node already exists in this document, it will be removed from its
* current parent node, then added to this node.
*
* This method is more efficient than `nodes.add`, and is the preferred
* way of appending a child node.
*/
@DomName('Node.appendChild')
@DocsEditable()
Node append(Node newChild) => _blink.Native_Node_appendChild_Callback(this, newChild);
/**
* Returns a copy of this node.
*
* If [deep] is `true`, then all of this node's children and decendents are
* copied as well. If [deep] is `false`, then only this node is copied.
*
* ## Other resources
*
* * [Node.cloneNode]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.cloneNode) from
* MDN.
*/
@DomName('Node.cloneNode')
@DocsEditable()
Node clone(bool deep) => _blink.Native_Node_cloneNode_Callback(this, deep);
/**
* Returns true if this node contains the specified node.
*
* ## Other resources
*
* * [Node.contains]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.contains) from MDN.
*/
@DomName('Node.contains')
@DocsEditable()
bool contains(Node other) => _blink.Native_Node_contains_Callback(this, other);
/**
* Returns true if this node has any children.
*
* ## Other resources
*
* * [Node.hasChildNodes]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.hasChildNodes) from
* MDN.
*/
@DomName('Node.hasChildNodes')
@DocsEditable()
bool hasChildNodes() => _blink.Native_Node_hasChildNodes_Callback(this);
/**
* Inserts all of the nodes into this node directly before refChild.
*
* ## Other resources
*
* * [Node.insertBefore]
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.insertBefore) from
* MDN.
*/
@DomName('Node.insertBefore')
@DocsEditable()
Node insertBefore(Node newChild, Node refChild) => _blink.Native_Node_insertBefore_Callback(this, newChild, refChild);
@DomName('Node.removeChild')
@DocsEditable()
Node _removeChild(Node oldChild) => _blink.Native_Node_removeChild_Callback(this, oldChild);
@DomName('Node.replaceChild')
@DocsEditable()
Node _replaceChild(Node newChild, Node oldChild) => _blink.Native_Node_replaceChild_Callback(this, newChild, oldChild);
}
// 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.
@DocsEditable()
@DomName('NodeFilter')
@Unstable()
class NodeFilter extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory NodeFilter._() { throw new UnsupportedError("Not supported"); }
@DomName('NodeFilter.FILTER_ACCEPT')
@DocsEditable()
static const int FILTER_ACCEPT = 1;
@DomName('NodeFilter.FILTER_REJECT')
@DocsEditable()
static const int FILTER_REJECT = 2;
@DomName('NodeFilter.FILTER_SKIP')
@DocsEditable()
static const int FILTER_SKIP = 3;
@DomName('NodeFilter.SHOW_ALL')
@DocsEditable()
static const int SHOW_ALL = 0xFFFFFFFF;
@DomName('NodeFilter.SHOW_COMMENT')
@DocsEditable()
static const int SHOW_COMMENT = 0x00000080;
@DomName('NodeFilter.SHOW_DOCUMENT')
@DocsEditable()
static const int SHOW_DOCUMENT = 0x00000100;
@DomName('NodeFilter.SHOW_DOCUMENT_FRAGMENT')
@DocsEditable()
static const int SHOW_DOCUMENT_FRAGMENT = 0x00000400;
@DomName('NodeFilter.SHOW_DOCUMENT_TYPE')
@DocsEditable()
static const int SHOW_DOCUMENT_TYPE = 0x00000200;
@DomName('NodeFilter.SHOW_ELEMENT')
@DocsEditable()
static const int SHOW_ELEMENT = 0x00000001;
@DomName('NodeFilter.SHOW_PROCESSING_INSTRUCTION')
@DocsEditable()
static const int SHOW_PROCESSING_INSTRUCTION = 0x00000040;
@DomName('NodeFilter.SHOW_TEXT')
@DocsEditable()
static const int SHOW_TEXT = 0x00000004;
}
// Copyright (c) 2013, 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.
@DomName('NodeIterator')
@Unstable()
class NodeIterator extends NativeFieldWrapperClass2 {
factory NodeIterator(Node root, int whatToShow) {
return document._createNodeIterator(root, whatToShow, null);
}
// To suppress missing implicit constructor warnings.
factory NodeIterator._() { throw new UnsupportedError("Not supported"); }
@DomName('NodeIterator.pointerBeforeReferenceNode')
@DocsEditable()
bool get pointerBeforeReferenceNode => _blink.Native_NodeIterator_pointerBeforeReferenceNode_Getter(this);
@DomName('NodeIterator.referenceNode')
@DocsEditable()
Node get referenceNode => _blink.Native_NodeIterator_referenceNode_Getter(this);
@DomName('NodeIterator.root')
@DocsEditable()
Node get root => _blink.Native_NodeIterator_root_Getter(this);
@DomName('NodeIterator.whatToShow')
@DocsEditable()
int get whatToShow => _blink.Native_NodeIterator_whatToShow_Getter(this);
@DomName('NodeIterator.detach')
@DocsEditable()
void detach() => _blink.Native_NodeIterator_detach_Callback(this);
@DomName('NodeIterator.nextNode')
@DocsEditable()
Node nextNode() => _blink.Native_NodeIterator_nextNode_Callback(this);
@DomName('NodeIterator.previousNode')
@DocsEditable()
Node previousNode() => _blink.Native_NodeIterator_previousNode_Callback(this);
}
// 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.
@DocsEditable()
@DomName('NodeList')
class NodeList extends NativeFieldWrapperClass2 with ListMixin<Node>, ImmutableListMixin<Node> implements List<Node> {
// To suppress missing implicit constructor warnings.
factory NodeList._() { throw new UnsupportedError("Not supported"); }
@DomName('NodeList.length')
@DocsEditable()
int get length => _blink.Native_NodeList_length_Getter(this);
Node operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_NodeList_NativeIndexed_Getter(this, index);
}
Node _nativeIndexedGetter(int index) => _blink.Native_NodeList_NativeIndexed_Getter(this, index);
void operator[]=(int index, Node value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<Node> mixins.
// Node is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
Node get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
Node get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
Node get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
Node elementAt(int index) => this[index];
// -- end List<Node> mixins.
@DomName('NodeList.item')
@DocsEditable()
Node _item(int index) => _blink.Native_NodeList_item_Callback(this, index);
}
// Copyright (c) 2013, 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.
@DomName('Notification')
// http://www.w3.org/TR/notifications/#notification
@Experimental() // experimental
class Notification extends EventTarget {
factory Notification(String title, {String titleDir: null, String body: null,
String bodyDir: null, String tag: null, String iconUrl: null}) {
var parsedOptions = {};
if (titleDir != null) parsedOptions['titleDir'] = titleDir;
if (body != null) parsedOptions['body'] = body;
if (bodyDir != null) parsedOptions['bodyDir'] = bodyDir;
if (tag != null) parsedOptions['tag'] = tag;
if (iconUrl != null) parsedOptions['iconUrl'] = iconUrl;
return Notification._factoryNotification(title, parsedOptions);
}
// To suppress missing implicit constructor warnings.
factory Notification._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `click` events to event
* handlers that are not necessarily instances of [Notification].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Notification.clickEvent')
@DocsEditable()
static const EventStreamProvider<Event> clickEvent = const EventStreamProvider<Event>('click');
/**
* Static factory designed to expose `close` events to event
* handlers that are not necessarily instances of [Notification].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Notification.closeEvent')
@DocsEditable()
static const EventStreamProvider<Event> closeEvent = const EventStreamProvider<Event>('close');
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [Notification].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Notification.errorEvent')
@DocsEditable()
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
/**
* Static factory designed to expose `show` events to event
* handlers that are not necessarily instances of [Notification].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Notification.showEvent')
@DocsEditable()
static const EventStreamProvider<Event> showEvent = const EventStreamProvider<Event>('show');
@DomName('Notification.Notification')
@DocsEditable()
static Notification _factoryNotification(String title, [Map options]) => _blink.Native_Notification_Notification(title, options);
@DomName('Notification.body')
@DocsEditable()
@Experimental() // untriaged
String get body => _blink.Native_Notification_body_Getter(this);
@DomName('Notification.dir')
@DocsEditable()
@Experimental() // nonstandard
String get dir => _blink.Native_Notification_dir_Getter(this);
@DomName('Notification.icon')
@DocsEditable()
@Experimental() // untriaged
String get icon => _blink.Native_Notification_icon_Getter(this);
@DomName('Notification.lang')
@DocsEditable()
@Experimental() // untriaged
String get lang => _blink.Native_Notification_lang_Getter(this);
@DomName('Notification.permission')
@DocsEditable()
String get permission => _blink.Native_Notification_permission_Getter(this);
@DomName('Notification.tag')
@DocsEditable()
@Experimental() // nonstandard
String get tag => _blink.Native_Notification_tag_Getter(this);
@DomName('Notification.title')
@DocsEditable()
@Experimental() // untriaged
String get title => _blink.Native_Notification_title_Getter(this);
@DomName('Notification.close')
@DocsEditable()
void close() => _blink.Native_Notification_close_Callback(this);
@DomName('Notification.requestPermission')
@DocsEditable()
static void _requestPermission([_NotificationPermissionCallback callback]) => _blink.Native_Notification_requestPermission_Callback(callback);
static Future<String> requestPermission() {
var completer = new Completer<String>();
_requestPermission(
(value) { completer.complete(value); });
return completer.future;
}
/// Stream of `click` events handled by this [Notification].
@DomName('Notification.onclick')
@DocsEditable()
Stream<Event> get onClick => clickEvent.forTarget(this);
/// Stream of `close` events handled by this [Notification].
@DomName('Notification.onclose')
@DocsEditable()
Stream<Event> get onClose => closeEvent.forTarget(this);
/// Stream of `error` events handled by this [Notification].
@DomName('Notification.onerror')
@DocsEditable()
Stream<Event> get onError => errorEvent.forTarget(this);
/// Stream of `show` events handled by this [Notification].
@DomName('Notification.onshow')
@DocsEditable()
Stream<Event> get onShow => showEvent.forTarget(this);
}
// 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.
@DomName('NotificationPermissionCallback')
// http://www.w3.org/TR/notifications/#notificationpermissioncallback
@Experimental()
typedef void _NotificationPermissionCallback(String permission);
// 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.
@DocsEditable()
@DomName('HTMLOListElement')
class OListElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory OListElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLOListElement.HTMLOListElement')
@DocsEditable()
factory OListElement() => document.createElement("ol");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
OListElement.created() : super.created();
@DomName('HTMLOListElement.reversed')
@DocsEditable()
bool get reversed => _blink.Native_HTMLOListElement_reversed_Getter(this);
@DomName('HTMLOListElement.reversed')
@DocsEditable()
void set reversed(bool value) => _blink.Native_HTMLOListElement_reversed_Setter(this, value);
@DomName('HTMLOListElement.start')
@DocsEditable()
int get start => _blink.Native_HTMLOListElement_start_Getter(this);
@DomName('HTMLOListElement.start')
@DocsEditable()
void set start(int value) => _blink.Native_HTMLOListElement_start_Setter(this, value);
@DomName('HTMLOListElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLOListElement_type_Getter(this);
@DomName('HTMLOListElement.type')
@DocsEditable()
void set type(String value) => _blink.Native_HTMLOListElement_type_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('HTMLObjectElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.IE)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Unstable()
class ObjectElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory ObjectElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLObjectElement.HTMLObjectElement')
@DocsEditable()
factory ObjectElement() => document.createElement("object");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
ObjectElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLObjectElement.data')
@DocsEditable()
String get data => _blink.Native_HTMLObjectElement_data_Getter(this);
@DomName('HTMLObjectElement.data')
@DocsEditable()
void set data(String value) => _blink.Native_HTMLObjectElement_data_Setter(this, value);
@DomName('HTMLObjectElement.form')
@DocsEditable()
FormElement get form => _blink.Native_HTMLObjectElement_form_Getter(this);
@DomName('HTMLObjectElement.height')
@DocsEditable()
String get height => _blink.Native_HTMLObjectElement_height_Getter(this);
@DomName('HTMLObjectElement.height')
@DocsEditable()
void set height(String value) => _blink.Native_HTMLObjectElement_height_Setter(this, value);
@DomName('HTMLObjectElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLObjectElement_name_Getter(this);
@DomName('HTMLObjectElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLObjectElement_name_Setter(this, value);
@DomName('HTMLObjectElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLObjectElement_type_Getter(this);
@DomName('HTMLObjectElement.type')
@DocsEditable()
void set type(String value) => _blink.Native_HTMLObjectElement_type_Setter(this, value);
@DomName('HTMLObjectElement.useMap')
@DocsEditable()
String get useMap => _blink.Native_HTMLObjectElement_useMap_Getter(this);
@DomName('HTMLObjectElement.useMap')
@DocsEditable()
void set useMap(String value) => _blink.Native_HTMLObjectElement_useMap_Setter(this, value);
@DomName('HTMLObjectElement.validationMessage')
@DocsEditable()
String get validationMessage => _blink.Native_HTMLObjectElement_validationMessage_Getter(this);
@DomName('HTMLObjectElement.validity')
@DocsEditable()
ValidityState get validity => _blink.Native_HTMLObjectElement_validity_Getter(this);
@DomName('HTMLObjectElement.width')
@DocsEditable()
String get width => _blink.Native_HTMLObjectElement_width_Getter(this);
@DomName('HTMLObjectElement.width')
@DocsEditable()
void set width(String value) => _blink.Native_HTMLObjectElement_width_Setter(this, value);
@DomName('HTMLObjectElement.willValidate')
@DocsEditable()
bool get willValidate => _blink.Native_HTMLObjectElement_willValidate_Getter(this);
@DomName('HTMLObjectElement.__getter__')
@DocsEditable()
bool __getter__(index_OR_name) => _blink.Native_HTMLObjectElement___getter___Callback(this, index_OR_name);
@DomName('HTMLObjectElement.__setter__')
@DocsEditable()
void __setter__(index_OR_name, Node value) => _blink.Native_HTMLObjectElement___setter___Callback(this, index_OR_name, value);
@DomName('HTMLObjectElement.checkValidity')
@DocsEditable()
bool checkValidity() => _blink.Native_HTMLObjectElement_checkValidity_Callback(this);
@DomName('HTMLObjectElement.setCustomValidity')
@DocsEditable()
void setCustomValidity(String error) => _blink.Native_HTMLObjectElement_setCustomValidity_Callback(this, error);
}
// 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.
@DocsEditable()
@DomName('HTMLOptGroupElement')
class OptGroupElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory OptGroupElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLOptGroupElement.HTMLOptGroupElement')
@DocsEditable()
factory OptGroupElement() => document.createElement("optgroup");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
OptGroupElement.created() : super.created();
@DomName('HTMLOptGroupElement.disabled')
@DocsEditable()
bool get disabled => _blink.Native_HTMLOptGroupElement_disabled_Getter(this);
@DomName('HTMLOptGroupElement.disabled')
@DocsEditable()
void set disabled(bool value) => _blink.Native_HTMLOptGroupElement_disabled_Setter(this, value);
@DomName('HTMLOptGroupElement.label')
@DocsEditable()
String get label => _blink.Native_HTMLOptGroupElement_label_Getter(this);
@DomName('HTMLOptGroupElement.label')
@DocsEditable()
void set label(String value) => _blink.Native_HTMLOptGroupElement_label_Setter(this, value);
}
// Copyright (c) 2013, 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.
@DomName('HTMLOptionElement')
class OptionElement extends HtmlElement {
factory OptionElement({String data: '', String value : '', bool selected: false}) {
return new OptionElement._(data, value, null, selected);
}
@DomName('HTMLOptionElement.HTMLOptionElement')
@DocsEditable()
factory OptionElement._([String data, String value, bool defaultSelected, bool selected]) => _blink.Native_HTMLOptionElement_OptionElement__(data, value, defaultSelected, selected);
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
OptionElement.created() : super.created();
@DomName('HTMLOptionElement.defaultSelected')
@DocsEditable()
bool get defaultSelected => _blink.Native_HTMLOptionElement_defaultSelected_Getter(this);
@DomName('HTMLOptionElement.defaultSelected')
@DocsEditable()
void set defaultSelected(bool value) => _blink.Native_HTMLOptionElement_defaultSelected_Setter(this, value);
@DomName('HTMLOptionElement.disabled')
@DocsEditable()
bool get disabled => _blink.Native_HTMLOptionElement_disabled_Getter(this);
@DomName('HTMLOptionElement.disabled')
@DocsEditable()
void set disabled(bool value) => _blink.Native_HTMLOptionElement_disabled_Setter(this, value);
@DomName('HTMLOptionElement.form')
@DocsEditable()
FormElement get form => _blink.Native_HTMLOptionElement_form_Getter(this);
@DomName('HTMLOptionElement.index')
@DocsEditable()
int get index => _blink.Native_HTMLOptionElement_index_Getter(this);
@DomName('HTMLOptionElement.label')
@DocsEditable()
String get label => _blink.Native_HTMLOptionElement_label_Getter(this);
@DomName('HTMLOptionElement.label')
@DocsEditable()
void set label(String value) => _blink.Native_HTMLOptionElement_label_Setter(this, value);
@DomName('HTMLOptionElement.selected')
@DocsEditable()
bool get selected => _blink.Native_HTMLOptionElement_selected_Getter(this);
@DomName('HTMLOptionElement.selected')
@DocsEditable()
void set selected(bool value) => _blink.Native_HTMLOptionElement_selected_Setter(this, value);
@DomName('HTMLOptionElement.value')
@DocsEditable()
String get value => _blink.Native_HTMLOptionElement_value_Getter(this);
@DomName('HTMLOptionElement.value')
@DocsEditable()
void set value(String value) => _blink.Native_HTMLOptionElement_value_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('HTMLOutputElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.SAFARI)
class OutputElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory OutputElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLOutputElement.HTMLOutputElement')
@DocsEditable()
factory OutputElement() => document.createElement("output");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
OutputElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLOutputElement.defaultValue')
@DocsEditable()
String get defaultValue => _blink.Native_HTMLOutputElement_defaultValue_Getter(this);
@DomName('HTMLOutputElement.defaultValue')
@DocsEditable()
void set defaultValue(String value) => _blink.Native_HTMLOutputElement_defaultValue_Setter(this, value);
@DomName('HTMLOutputElement.form')
@DocsEditable()
FormElement get form => _blink.Native_HTMLOutputElement_form_Getter(this);
@DomName('HTMLOutputElement.htmlFor')
@DocsEditable()
DomSettableTokenList get htmlFor => _blink.Native_HTMLOutputElement_htmlFor_Getter(this);
@DomName('HTMLOutputElement.labels')
@DocsEditable()
@Unstable()
List<Node> get labels => _blink.Native_HTMLOutputElement_labels_Getter(this);
@DomName('HTMLOutputElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLOutputElement_name_Getter(this);
@DomName('HTMLOutputElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLOutputElement_name_Setter(this, value);
@DomName('HTMLOutputElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLOutputElement_type_Getter(this);
@DomName('HTMLOutputElement.validationMessage')
@DocsEditable()
String get validationMessage => _blink.Native_HTMLOutputElement_validationMessage_Getter(this);
@DomName('HTMLOutputElement.validity')
@DocsEditable()
ValidityState get validity => _blink.Native_HTMLOutputElement_validity_Getter(this);
@DomName('HTMLOutputElement.value')
@DocsEditable()
String get value => _blink.Native_HTMLOutputElement_value_Getter(this);
@DomName('HTMLOutputElement.value')
@DocsEditable()
void set value(String value) => _blink.Native_HTMLOutputElement_value_Setter(this, value);
@DomName('HTMLOutputElement.willValidate')
@DocsEditable()
bool get willValidate => _blink.Native_HTMLOutputElement_willValidate_Getter(this);
@DomName('HTMLOutputElement.checkValidity')
@DocsEditable()
bool checkValidity() => _blink.Native_HTMLOutputElement_checkValidity_Callback(this);
@DomName('HTMLOutputElement.setCustomValidity')
@DocsEditable()
void setCustomValidity(String error) => _blink.Native_HTMLOutputElement_setCustomValidity_Callback(this, error);
}
// 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.
@DocsEditable()
@DomName('OverflowEvent')
@Experimental() // nonstandard
class OverflowEvent extends Event {
// To suppress missing implicit constructor warnings.
factory OverflowEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('OverflowEvent.BOTH')
@DocsEditable()
static const int BOTH = 2;
@DomName('OverflowEvent.HORIZONTAL')
@DocsEditable()
static const int HORIZONTAL = 0;
@DomName('OverflowEvent.VERTICAL')
@DocsEditable()
static const int VERTICAL = 1;
@DomName('OverflowEvent.horizontalOverflow')
@DocsEditable()
bool get horizontalOverflow => _blink.Native_OverflowEvent_horizontalOverflow_Getter(this);
@DomName('OverflowEvent.orient')
@DocsEditable()
int get orient => _blink.Native_OverflowEvent_orient_Getter(this);
@DomName('OverflowEvent.verticalOverflow')
@DocsEditable()
bool get verticalOverflow => _blink.Native_OverflowEvent_verticalOverflow_Getter(this);
}
// 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.
@DocsEditable()
@DomName('PageTransitionEvent')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#pagetransitionevent
@Experimental()
class PageTransitionEvent extends Event {
// To suppress missing implicit constructor warnings.
factory PageTransitionEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('PageTransitionEvent.persisted')
@DocsEditable()
bool get persisted => _blink.Native_PageTransitionEvent_persisted_Getter(this);
}
// 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.
@DocsEditable()
@DomName('HTMLParagraphElement')
class ParagraphElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory ParagraphElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLParagraphElement.HTMLParagraphElement')
@DocsEditable()
factory ParagraphElement() => document.createElement("p");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
ParagraphElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('HTMLParamElement')
@Unstable()
class ParamElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory ParamElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLParamElement.HTMLParamElement')
@DocsEditable()
factory ParamElement() => document.createElement("param");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
ParamElement.created() : super.created();
@DomName('HTMLParamElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLParamElement_name_Getter(this);
@DomName('HTMLParamElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLParamElement_name_Setter(this, value);
@DomName('HTMLParamElement.value')
@DocsEditable()
String get value => _blink.Native_HTMLParamElement_value_Getter(this);
@DomName('HTMLParamElement.value')
@DocsEditable()
void set value(String value) => _blink.Native_HTMLParamElement_value_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('ParentNode')
@Experimental() // untriaged
abstract class ParentNode extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory ParentNode._() { throw new UnsupportedError("Not supported"); }
@DomName('ParentNode.childElementCount')
@DocsEditable()
@Experimental() // untriaged
int get _childElementCount => _blink.Native_ParentNode_childElementCount_Getter(this);
@DomName('ParentNode.children')
@DocsEditable()
@Experimental() // untriaged
List<Node> get _children => _blink.Native_ParentNode_children_Getter(this);
@DomName('ParentNode.firstElementChild')
@DocsEditable()
@Experimental() // untriaged
Element get _firstElementChild => _blink.Native_ParentNode_firstElementChild_Getter(this);
@DomName('ParentNode.lastElementChild')
@DocsEditable()
@Experimental() // untriaged
Element get _lastElementChild => _blink.Native_ParentNode_lastElementChild_Getter(this);
}
// 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.
@DocsEditable()
@DomName('Path')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#path-objects
@Experimental()
class Path extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Path._() { throw new UnsupportedError("Not supported"); }
@DomName('Path.Path')
@DocsEditable()
factory Path([path_OR_text]) => _blink.Native_Path_Path(path_OR_text);
@DomName('Path.arc')
@DocsEditable()
void arc(num x, num y, num radius, num startAngle, num endAngle, bool anticlockwise) => _blink.Native_Path_arc_Callback(this, x, y, radius, startAngle, endAngle, anticlockwise);
@DomName('Path.arcTo')
@DocsEditable()
void arcTo(num x1, num y1, num x2, num y2, num radius) => _blink.Native_Path_arcTo_Callback(this, x1, y1, x2, y2, radius);
@DomName('Path.bezierCurveTo')
@DocsEditable()
void bezierCurveTo(num cp1x, num cp1y, num cp2x, num cp2y, num x, num y) => _blink.Native_Path_bezierCurveTo_Callback(this, cp1x, cp1y, cp2x, cp2y, x, y);
@DomName('Path.closePath')
@DocsEditable()
void closePath() => _blink.Native_Path_closePath_Callback(this);
@DomName('Path.lineTo')
@DocsEditable()
void lineTo(num x, num y) => _blink.Native_Path_lineTo_Callback(this, x, y);
@DomName('Path.moveTo')
@DocsEditable()
void moveTo(num x, num y) => _blink.Native_Path_moveTo_Callback(this, x, y);
@DomName('Path.quadraticCurveTo')
@DocsEditable()
void quadraticCurveTo(num cpx, num cpy, num x, num y) => _blink.Native_Path_quadraticCurveTo_Callback(this, cpx, cpy, x, y);
@DomName('Path.rect')
@DocsEditable()
void rect(num x, num y, num width, num height) => _blink.Native_Path_rect_Callback(this, x, y, width, height);
}
// 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.
@DocsEditable()
@DomName('Performance')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE)
class Performance extends EventTarget {
// To suppress missing implicit constructor warnings.
factory Performance._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `resourcetimingbufferfull` events to event
* handlers that are not necessarily instances of [Performance].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Performance.webkitresourcetimingbufferfullEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming-methods
static const EventStreamProvider<Event> resourceTimingBufferFullEvent = const EventStreamProvider<Event>('webkitresourcetimingbufferfull');
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('Performance.memory')
@DocsEditable()
@Experimental() // nonstandard
MemoryInfo get memory => _blink.Native_Performance_memory_Getter(this);
@DomName('Performance.navigation')
@DocsEditable()
PerformanceNavigation get navigation => _blink.Native_Performance_navigation_Getter(this);
@DomName('Performance.timing')
@DocsEditable()
PerformanceTiming get timing => _blink.Native_Performance_timing_Getter(this);
@DomName('Performance.clearMarks')
@DocsEditable()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface
@Experimental()
void clearMarks(String markName) => _blink.Native_Performance_clearMarks_Callback(this, markName);
@DomName('Performance.clearMeasures')
@DocsEditable()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface
@Experimental()
void clearMeasures(String measureName) => _blink.Native_Performance_clearMeasures_Callback(this, measureName);
@DomName('Performance.getEntries')
@DocsEditable()
// http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute
@Experimental()
List<PerformanceEntry> getEntries() => _blink.Native_Performance_getEntries_Callback(this);
@DomName('Performance.getEntriesByName')
@DocsEditable()
// http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute
@Experimental()
List<PerformanceEntry> getEntriesByName(String name, String entryType) => _blink.Native_Performance_getEntriesByName_Callback(this, name, entryType);
@DomName('Performance.getEntriesByType')
@DocsEditable()
// http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute
@Experimental()
List<PerformanceEntry> getEntriesByType(String entryType) => _blink.Native_Performance_getEntriesByType_Callback(this, entryType);
@DomName('Performance.mark')
@DocsEditable()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface
@Experimental()
void mark(String markName) => _blink.Native_Performance_mark_Callback(this, markName);
@DomName('Performance.measure')
@DocsEditable()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface
@Experimental()
void measure(String measureName, String startMark, String endMark) => _blink.Native_Performance_measure_Callback(this, measureName, startMark, endMark);
@DomName('Performance.now')
@DocsEditable()
double now() => _blink.Native_Performance_now_Callback(this);
@DomName('Performance.webkitClearResourceTimings')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3c-test.org/webperf/specs/ResourceTiming/#extensions-performance-interface
void clearResourceTimings() => _blink.Native_Performance_webkitClearResourceTimings_Callback(this);
@DomName('Performance.webkitSetResourceTimingBufferSize')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming-methods
void setResourceTimingBufferSize(int maxSize) => _blink.Native_Performance_webkitSetResourceTimingBufferSize_Callback(this, maxSize);
/// Stream of `resourcetimingbufferfull` events handled by this [Performance].
@DomName('Performance.onwebkitresourcetimingbufferfull')
@DocsEditable()
// http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming-methods
@Experimental()
Stream<Event> get onResourceTimingBufferFull => resourceTimingBufferFullEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('PerformanceEntry')
// http://www.w3.org/TR/performance-timeline/#sec-PerformanceEntry-interface
@Experimental()
class PerformanceEntry extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory PerformanceEntry._() { throw new UnsupportedError("Not supported"); }
@DomName('PerformanceEntry.duration')
@DocsEditable()
double get duration => _blink.Native_PerformanceEntry_duration_Getter(this);
@DomName('PerformanceEntry.entryType')
@DocsEditable()
String get entryType => _blink.Native_PerformanceEntry_entryType_Getter(this);
@DomName('PerformanceEntry.name')
@DocsEditable()
String get name => _blink.Native_PerformanceEntry_name_Getter(this);
@DomName('PerformanceEntry.startTime')
@DocsEditable()
double get startTime => _blink.Native_PerformanceEntry_startTime_Getter(this);
}
// 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.
@DocsEditable()
@DomName('PerformanceMark')
// http://www.w3.org/TR/user-timing/#performancemark
@Experimental()
class PerformanceMark extends PerformanceEntry {
// To suppress missing implicit constructor warnings.
factory PerformanceMark._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('PerformanceMeasure')
// http://www.w3.org/TR/user-timing/#performancemeasure
@Experimental()
class PerformanceMeasure extends PerformanceEntry {
// To suppress missing implicit constructor warnings.
factory PerformanceMeasure._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('PerformanceNavigation')
@Unstable()
class PerformanceNavigation extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory PerformanceNavigation._() { throw new UnsupportedError("Not supported"); }
@DomName('PerformanceNavigation.TYPE_BACK_FORWARD')
@DocsEditable()
static const int TYPE_BACK_FORWARD = 2;
@DomName('PerformanceNavigation.TYPE_NAVIGATE')
@DocsEditable()
static const int TYPE_NAVIGATE = 0;
@DomName('PerformanceNavigation.TYPE_RELOAD')
@DocsEditable()
static const int TYPE_RELOAD = 1;
@DomName('PerformanceNavigation.TYPE_RESERVED')
@DocsEditable()
static const int TYPE_RESERVED = 255;
@DomName('PerformanceNavigation.redirectCount')
@DocsEditable()
int get redirectCount => _blink.Native_PerformanceNavigation_redirectCount_Getter(this);
@DomName('PerformanceNavigation.type')
@DocsEditable()
int get type => _blink.Native_PerformanceNavigation_type_Getter(this);
}
// 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.
@DocsEditable()
@DomName('PerformanceResourceTiming')
// http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming
@Experimental()
class PerformanceResourceTiming extends PerformanceEntry {
// To suppress missing implicit constructor warnings.
factory PerformanceResourceTiming._() { throw new UnsupportedError("Not supported"); }
@DomName('PerformanceResourceTiming.connectEnd')
@DocsEditable()
double get connectEnd => _blink.Native_PerformanceResourceTiming_connectEnd_Getter(this);
@DomName('PerformanceResourceTiming.connectStart')
@DocsEditable()
double get connectStart => _blink.Native_PerformanceResourceTiming_connectStart_Getter(this);
@DomName('PerformanceResourceTiming.domainLookupEnd')
@DocsEditable()
double get domainLookupEnd => _blink.Native_PerformanceResourceTiming_domainLookupEnd_Getter(this);
@DomName('PerformanceResourceTiming.domainLookupStart')
@DocsEditable()
double get domainLookupStart => _blink.Native_PerformanceResourceTiming_domainLookupStart_Getter(this);
@DomName('PerformanceResourceTiming.fetchStart')
@DocsEditable()
double get fetchStart => _blink.Native_PerformanceResourceTiming_fetchStart_Getter(this);
@DomName('PerformanceResourceTiming.initiatorType')
@DocsEditable()
String get initiatorType => _blink.Native_PerformanceResourceTiming_initiatorType_Getter(this);
@DomName('PerformanceResourceTiming.redirectEnd')
@DocsEditable()
double get redirectEnd => _blink.Native_PerformanceResourceTiming_redirectEnd_Getter(this);
@DomName('PerformanceResourceTiming.redirectStart')
@DocsEditable()
double get redirectStart => _blink.Native_PerformanceResourceTiming_redirectStart_Getter(this);
@DomName('PerformanceResourceTiming.requestStart')
@DocsEditable()
@Experimental() // nonstandard
double get requestStart => _blink.Native_PerformanceResourceTiming_requestStart_Getter(this);
@DomName('PerformanceResourceTiming.responseEnd')
@DocsEditable()
@Experimental() // nonstandard
double get responseEnd => _blink.Native_PerformanceResourceTiming_responseEnd_Getter(this);
@DomName('PerformanceResourceTiming.responseStart')
@DocsEditable()
@Experimental() // nonstandard
double get responseStart => _blink.Native_PerformanceResourceTiming_responseStart_Getter(this);
@DomName('PerformanceResourceTiming.secureConnectionStart')
@DocsEditable()
double get secureConnectionStart => _blink.Native_PerformanceResourceTiming_secureConnectionStart_Getter(this);
}
// 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.
@DocsEditable()
@DomName('PerformanceTiming')
@Unstable()
class PerformanceTiming extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory PerformanceTiming._() { throw new UnsupportedError("Not supported"); }
@DomName('PerformanceTiming.connectEnd')
@DocsEditable()
int get connectEnd => _blink.Native_PerformanceTiming_connectEnd_Getter(this);
@DomName('PerformanceTiming.connectStart')
@DocsEditable()
int get connectStart => _blink.Native_PerformanceTiming_connectStart_Getter(this);
@DomName('PerformanceTiming.domComplete')
@DocsEditable()
int get domComplete => _blink.Native_PerformanceTiming_domComplete_Getter(this);
@DomName('PerformanceTiming.domContentLoadedEventEnd')
@DocsEditable()
int get domContentLoadedEventEnd => _blink.Native_PerformanceTiming_domContentLoadedEventEnd_Getter(this);
@DomName('PerformanceTiming.domContentLoadedEventStart')
@DocsEditable()
int get domContentLoadedEventStart => _blink.Native_PerformanceTiming_domContentLoadedEventStart_Getter(this);
@DomName('PerformanceTiming.domInteractive')
@DocsEditable()
int get domInteractive => _blink.Native_PerformanceTiming_domInteractive_Getter(this);
@DomName('PerformanceTiming.domLoading')
@DocsEditable()
int get domLoading => _blink.Native_PerformanceTiming_domLoading_Getter(this);
@DomName('PerformanceTiming.domainLookupEnd')
@DocsEditable()
int get domainLookupEnd => _blink.Native_PerformanceTiming_domainLookupEnd_Getter(this);
@DomName('PerformanceTiming.domainLookupStart')
@DocsEditable()
int get domainLookupStart => _blink.Native_PerformanceTiming_domainLookupStart_Getter(this);
@DomName('PerformanceTiming.fetchStart')
@DocsEditable()
int get fetchStart => _blink.Native_PerformanceTiming_fetchStart_Getter(this);
@DomName('PerformanceTiming.loadEventEnd')
@DocsEditable()
int get loadEventEnd => _blink.Native_PerformanceTiming_loadEventEnd_Getter(this);
@DomName('PerformanceTiming.loadEventStart')
@DocsEditable()
int get loadEventStart => _blink.Native_PerformanceTiming_loadEventStart_Getter(this);
@DomName('PerformanceTiming.navigationStart')
@DocsEditable()
int get navigationStart => _blink.Native_PerformanceTiming_navigationStart_Getter(this);
@DomName('PerformanceTiming.redirectEnd')
@DocsEditable()
int get redirectEnd => _blink.Native_PerformanceTiming_redirectEnd_Getter(this);
@DomName('PerformanceTiming.redirectStart')
@DocsEditable()
int get redirectStart => _blink.Native_PerformanceTiming_redirectStart_Getter(this);
@DomName('PerformanceTiming.requestStart')
@DocsEditable()
int get requestStart => _blink.Native_PerformanceTiming_requestStart_Getter(this);
@DomName('PerformanceTiming.responseEnd')
@DocsEditable()
int get responseEnd => _blink.Native_PerformanceTiming_responseEnd_Getter(this);
@DomName('PerformanceTiming.responseStart')
@DocsEditable()
int get responseStart => _blink.Native_PerformanceTiming_responseStart_Getter(this);
@DomName('PerformanceTiming.secureConnectionStart')
@DocsEditable()
int get secureConnectionStart => _blink.Native_PerformanceTiming_secureConnectionStart_Getter(this);
@DomName('PerformanceTiming.unloadEventEnd')
@DocsEditable()
int get unloadEventEnd => _blink.Native_PerformanceTiming_unloadEventEnd_Getter(this);
@DomName('PerformanceTiming.unloadEventStart')
@DocsEditable()
int get unloadEventStart => _blink.Native_PerformanceTiming_unloadEventStart_Getter(this);
}
// 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.
@DocsEditable()
@DomName('Player')
@Experimental() // untriaged
class Player extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Player._() { throw new UnsupportedError("Not supported"); }
@DomName('Player.currentTime')
@DocsEditable()
@Experimental() // untriaged
num get currentTime => _blink.Native_Player_currentTime_Getter(this);
@DomName('Player.currentTime')
@DocsEditable()
@Experimental() // untriaged
void set currentTime(num value) => _blink.Native_Player_currentTime_Setter(this, value);
@DomName('Player.finished')
@DocsEditable()
@Experimental() // untriaged
bool get finished => _blink.Native_Player_finished_Getter(this);
@DomName('Player.paused')
@DocsEditable()
@Experimental() // untriaged
bool get paused => _blink.Native_Player_paused_Getter(this);
@DomName('Player.playbackRate')
@DocsEditable()
@Experimental() // untriaged
num get playbackRate => _blink.Native_Player_playbackRate_Getter(this);
@DomName('Player.playbackRate')
@DocsEditable()
@Experimental() // untriaged
void set playbackRate(num value) => _blink.Native_Player_playbackRate_Setter(this, value);
@DomName('Player.source')
@DocsEditable()
@Experimental() // untriaged
TimedItem get source => _blink.Native_Player_source_Getter(this);
@DomName('Player.source')
@DocsEditable()
@Experimental() // untriaged
void set source(TimedItem value) => _blink.Native_Player_source_Setter(this, value);
@DomName('Player.startTime')
@DocsEditable()
@Experimental() // untriaged
num get startTime => _blink.Native_Player_startTime_Getter(this);
@DomName('Player.startTime')
@DocsEditable()
@Experimental() // untriaged
void set startTime(num value) => _blink.Native_Player_startTime_Setter(this, value);
@DomName('Player.timeLag')
@DocsEditable()
@Experimental() // untriaged
double get timeLag => _blink.Native_Player_timeLag_Getter(this);
@DomName('Player.cancel')
@DocsEditable()
@Experimental() // untriaged
void cancel() => _blink.Native_Player_cancel_Callback(this);
@DomName('Player.finish')
@DocsEditable()
@Experimental() // untriaged
void finish() => _blink.Native_Player_finish_Callback(this);
@DomName('Player.pause')
@DocsEditable()
@Experimental() // untriaged
void pause() => _blink.Native_Player_pause_Callback(this);
@DomName('Player.play')
@DocsEditable()
@Experimental() // untriaged
void play() => _blink.Native_Player_play_Callback(this);
@DomName('Player.reverse')
@DocsEditable()
@Experimental() // untriaged
void reverse() => _blink.Native_Player_reverse_Callback(this);
}
// 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.
@DocsEditable()
@DomName('Plugin')
@Experimental() // non-standard
class Plugin extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Plugin._() { throw new UnsupportedError("Not supported"); }
@DomName('Plugin.description')
@DocsEditable()
String get description => _blink.Native_Plugin_description_Getter(this);
@DomName('Plugin.filename')
@DocsEditable()
String get filename => _blink.Native_Plugin_filename_Getter(this);
@DomName('Plugin.length')
@DocsEditable()
int get length => _blink.Native_Plugin_length_Getter(this);
@DomName('Plugin.name')
@DocsEditable()
String get name => _blink.Native_Plugin_name_Getter(this);
@DomName('Plugin.__getter__')
@DocsEditable()
MimeType __getter__(String name) => _blink.Native_Plugin___getter___Callback(this, name);
@DomName('Plugin.item')
@DocsEditable()
MimeType item(int index) => _blink.Native_Plugin_item_Callback(this, index);
@DomName('Plugin.namedItem')
@DocsEditable()
MimeType namedItem(String name) => _blink.Native_Plugin_namedItem_Callback(this, name);
}
// 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.
@DocsEditable()
@DomName('PluginArray')
@Experimental() // non-standard
class PluginArray extends NativeFieldWrapperClass2 with ListMixin<Plugin>, ImmutableListMixin<Plugin> implements List<Plugin> {
// To suppress missing implicit constructor warnings.
factory PluginArray._() { throw new UnsupportedError("Not supported"); }
@DomName('PluginArray.length')
@DocsEditable()
int get length => _blink.Native_PluginArray_length_Getter(this);
Plugin operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_PluginArray_NativeIndexed_Getter(this, index);
}
Plugin _nativeIndexedGetter(int index) => _blink.Native_PluginArray_NativeIndexed_Getter(this, index);
void operator[]=(int index, Plugin value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<Plugin> mixins.
// Plugin is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
Plugin get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
Plugin get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
Plugin get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
Plugin elementAt(int index) => this[index];
// -- end List<Plugin> mixins.
@DomName('PluginArray.__getter__')
@DocsEditable()
Plugin __getter__(String name) => _blink.Native_PluginArray___getter___Callback(this, name);
@DomName('PluginArray.item')
@DocsEditable()
Plugin item(int index) => _blink.Native_PluginArray_item_Callback(this, index);
@DomName('PluginArray.namedItem')
@DocsEditable()
Plugin namedItem(String name) => _blink.Native_PluginArray_namedItem_Callback(this, name);
@DomName('PluginArray.refresh')
@DocsEditable()
void refresh(bool reload) => _blink.Native_PluginArray_refresh_Callback(this, reload);
}
// 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.
@DocsEditable()
@DomName('PopStateEvent')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
class PopStateEvent extends Event {
// To suppress missing implicit constructor warnings.
factory PopStateEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('PopStateEvent.state')
@DocsEditable()
Object get state => _blink.Native_PopStateEvent_state_Getter(this);
}
// 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.
@DomName('PositionCallback')
@Unstable()
typedef void _PositionCallback(Geoposition position);
// 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.
@DocsEditable()
@DomName('PositionError')
@Unstable()
class PositionError extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory PositionError._() { throw new UnsupportedError("Not supported"); }
@DomName('PositionError.PERMISSION_DENIED')
@DocsEditable()
static const int PERMISSION_DENIED = 1;
@DomName('PositionError.POSITION_UNAVAILABLE')
@DocsEditable()
static const int POSITION_UNAVAILABLE = 2;
@DomName('PositionError.TIMEOUT')
@DocsEditable()
static const int TIMEOUT = 3;
@DomName('PositionError.code')
@DocsEditable()
int get code => _blink.Native_PositionError_code_Getter(this);
@DomName('PositionError.message')
@DocsEditable()
String get message => _blink.Native_PositionError_message_Getter(this);
}
// 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.
@DomName('PositionErrorCallback')
@Unstable()
typedef void _PositionErrorCallback(PositionError error);
// 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.
@DocsEditable()
@DomName('HTMLPreElement')
class PreElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory PreElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLPreElement.HTMLPreElement')
@DocsEditable()
factory PreElement() => document.createElement("pre");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
PreElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('ProcessingInstruction')
@Unstable()
class ProcessingInstruction extends CharacterData {
// To suppress missing implicit constructor warnings.
factory ProcessingInstruction._() { throw new UnsupportedError("Not supported"); }
@DomName('ProcessingInstruction.sheet')
@DocsEditable()
@Experimental() // non-standard
StyleSheet get sheet => _blink.Native_ProcessingInstruction_sheet_Getter(this);
@DomName('ProcessingInstruction.target')
@DocsEditable()
String get target => _blink.Native_ProcessingInstruction_target_Getter(this);
}
// 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.
@DocsEditable()
@DomName('HTMLProgressElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
class ProgressElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory ProgressElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLProgressElement.HTMLProgressElement')
@DocsEditable()
factory ProgressElement() => document.createElement("progress");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
ProgressElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLProgressElement.labels')
@DocsEditable()
@Unstable()
List<Node> get labels => _blink.Native_HTMLProgressElement_labels_Getter(this);
@DomName('HTMLProgressElement.max')
@DocsEditable()
num get max => _blink.Native_HTMLProgressElement_max_Getter(this);
@DomName('HTMLProgressElement.max')
@DocsEditable()
void set max(num value) => _blink.Native_HTMLProgressElement_max_Setter(this, value);
@DomName('HTMLProgressElement.position')
@DocsEditable()
double get position => _blink.Native_HTMLProgressElement_position_Getter(this);
@DomName('HTMLProgressElement.value')
@DocsEditable()
num get value => _blink.Native_HTMLProgressElement_value_Getter(this);
@DomName('HTMLProgressElement.value')
@DocsEditable()
void set value(num value) => _blink.Native_HTMLProgressElement_value_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('ProgressEvent')
class ProgressEvent extends Event {
// To suppress missing implicit constructor warnings.
factory ProgressEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('ProgressEvent.lengthComputable')
@DocsEditable()
bool get lengthComputable => _blink.Native_ProgressEvent_lengthComputable_Getter(this);
@DomName('ProgressEvent.loaded')
@DocsEditable()
int get loaded => _blink.Native_ProgressEvent_loaded_Getter(this);
@DomName('ProgressEvent.total')
@DocsEditable()
int get total => _blink.Native_ProgressEvent_total_Getter(this);
}
// 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.
@DocsEditable()
@DomName('HTMLQuoteElement')
class QuoteElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory QuoteElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLQuoteElement.HTMLQuoteElement')
@DocsEditable()
factory QuoteElement() => document.createElement("q");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
QuoteElement.created() : super.created();
@DomName('HTMLQuoteElement.cite')
@DocsEditable()
String get cite => _blink.Native_HTMLQuoteElement_cite_Getter(this);
@DomName('HTMLQuoteElement.cite')
@DocsEditable()
void set cite(String value) => _blink.Native_HTMLQuoteElement_cite_Setter(this, value);
}
// 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.
@DomName('RTCErrorCallback')
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcerror
@Experimental()
typedef void _RtcErrorCallback(String errorInformation);
// 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.
@DomName('RTCSessionDescriptionCallback')
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCSessionDescription
@Experimental()
typedef void _RtcSessionDescriptionCallback(RtcSessionDescription sdp);
// 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.
@DomName('RTCStatsCallback')
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCStatsCallback
@Experimental()
typedef void RtcStatsCallback(RtcStatsResponse response);
// 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.
@DomName('Range')
@Unstable()
class Range extends NativeFieldWrapperClass2 {
factory Range() => document.createRange();
factory Range.fromPoint(Point point) =>
document._caretRangeFromPoint(point.x, point.y);
// To suppress missing implicit constructor warnings.
factory Range._() { throw new UnsupportedError("Not supported"); }
@DomName('Range.END_TO_END')
@DocsEditable()
static const int END_TO_END = 2;
@DomName('Range.END_TO_START')
@DocsEditable()
static const int END_TO_START = 3;
@DomName('Range.NODE_AFTER')
@DocsEditable()
@Experimental() // nonstandard
static const int NODE_AFTER = 1;
@DomName('Range.NODE_BEFORE')
@DocsEditable()
@Experimental() // nonstandard
static const int NODE_BEFORE = 0;
@DomName('Range.NODE_BEFORE_AND_AFTER')
@DocsEditable()
@Experimental() // nonstandard
static const int NODE_BEFORE_AND_AFTER = 2;
@DomName('Range.NODE_INSIDE')
@DocsEditable()
@Experimental() // nonstandard
static const int NODE_INSIDE = 3;
@DomName('Range.START_TO_END')
@DocsEditable()
static const int START_TO_END = 1;
@DomName('Range.START_TO_START')
@DocsEditable()
static const int START_TO_START = 0;
@DomName('Range.collapsed')
@DocsEditable()
bool get collapsed => _blink.Native_Range_collapsed_Getter(this);
@DomName('Range.commonAncestorContainer')
@DocsEditable()
Node get commonAncestorContainer => _blink.Native_Range_commonAncestorContainer_Getter(this);
@DomName('Range.endContainer')
@DocsEditable()
Node get endContainer => _blink.Native_Range_endContainer_Getter(this);
@DomName('Range.endOffset')
@DocsEditable()
int get endOffset => _blink.Native_Range_endOffset_Getter(this);
@DomName('Range.startContainer')
@DocsEditable()
Node get startContainer => _blink.Native_Range_startContainer_Getter(this);
@DomName('Range.startOffset')
@DocsEditable()
int get startOffset => _blink.Native_Range_startOffset_Getter(this);
@DomName('Range.cloneContents')
@DocsEditable()
DocumentFragment cloneContents() => _blink.Native_Range_cloneContents_Callback(this);
@DomName('Range.cloneRange')
@DocsEditable()
Range cloneRange() => _blink.Native_Range_cloneRange_Callback(this);
@DomName('Range.collapse')
@DocsEditable()
void collapse(bool toStart) => _blink.Native_Range_collapse_Callback(this, toStart);
@DomName('Range.comparePoint')
@DocsEditable()
int comparePoint(Node refNode, int offset) => _blink.Native_Range_comparePoint_Callback(this, refNode, offset);
@DomName('Range.createContextualFragment')
@DocsEditable()
DocumentFragment createContextualFragment(String html) => _blink.Native_Range_createContextualFragment_Callback(this, html);
@DomName('Range.deleteContents')
@DocsEditable()
void deleteContents() => _blink.Native_Range_deleteContents_Callback(this);
@DomName('Range.detach')
@DocsEditable()
void detach() => _blink.Native_Range_detach_Callback(this);
@DomName('Range.expand')
@DocsEditable()
@Experimental() // non-standard
void expand(String unit) => _blink.Native_Range_expand_Callback(this, unit);
@DomName('Range.extractContents')
@DocsEditable()
DocumentFragment extractContents() => _blink.Native_Range_extractContents_Callback(this);
@DomName('Range.getBoundingClientRect')
@DocsEditable()
Rectangle getBoundingClientRect() => _blink.Native_Range_getBoundingClientRect_Callback(this);
@DomName('Range.getClientRects')
@DocsEditable()
List<Rectangle> getClientRects() => _blink.Native_Range_getClientRects_Callback(this);
@DomName('Range.insertNode')
@DocsEditable()
void insertNode(Node newNode) => _blink.Native_Range_insertNode_Callback(this, newNode);
@DomName('Range.isPointInRange')
@DocsEditable()
bool isPointInRange(Node refNode, int offset) => _blink.Native_Range_isPointInRange_Callback(this, refNode, offset);
@DomName('Range.selectNode')
@DocsEditable()
void selectNode(Node refNode) => _blink.Native_Range_selectNode_Callback(this, refNode);
@DomName('Range.selectNodeContents')
@DocsEditable()
void selectNodeContents(Node refNode) => _blink.Native_Range_selectNodeContents_Callback(this, refNode);
@DomName('Range.setEnd')
@DocsEditable()
void setEnd(Node refNode, int offset) => _blink.Native_Range_setEnd_Callback(this, refNode, offset);
@DomName('Range.setEndAfter')
@DocsEditable()
void setEndAfter(Node refNode) => _blink.Native_Range_setEndAfter_Callback(this, refNode);
@DomName('Range.setEndBefore')
@DocsEditable()
void setEndBefore(Node refNode) => _blink.Native_Range_setEndBefore_Callback(this, refNode);
@DomName('Range.setStart')
@DocsEditable()
void setStart(Node refNode, int offset) => _blink.Native_Range_setStart_Callback(this, refNode, offset);
@DomName('Range.setStartAfter')
@DocsEditable()
void setStartAfter(Node refNode) => _blink.Native_Range_setStartAfter_Callback(this, refNode);
@DomName('Range.setStartBefore')
@DocsEditable()
void setStartBefore(Node refNode) => _blink.Native_Range_setStartBefore_Callback(this, refNode);
@DomName('Range.surroundContents')
@DocsEditable()
void surroundContents(Node newParent) => _blink.Native_Range_surroundContents_Callback(this, newParent);
@DomName('Range.toString')
@DocsEditable()
String toString() => _blink.Native_Range_toString_Callback(this);
/**
* Checks if createContextualFragment is supported.
*
* See also:
*
* * [createContextualFragment]
*/
static bool get supportsCreateContextualFragment => true;
}
// 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.
@DomName('RequestAnimationFrameCallback')
typedef void RequestAnimationFrameCallback(num highResTime);
// 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.
@DocsEditable()
@DomName('ResourceProgressEvent')
// https://chromiumcodereview.appspot.com/14773025/
@deprecated // experimental
class ResourceProgressEvent extends ProgressEvent {
// To suppress missing implicit constructor warnings.
factory ResourceProgressEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('ResourceProgressEvent.url')
@DocsEditable()
String get url => _blink.Native_ResourceProgressEvent_url_Getter(this);
}
// 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.
@DocsEditable()
@DomName('RTCDataChannel')
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCDataChannel
@Experimental()
class RtcDataChannel extends EventTarget {
// To suppress missing implicit constructor warnings.
factory RtcDataChannel._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `close` events to event
* handlers that are not necessarily instances of [RtcDataChannel].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCDataChannel.closeEvent')
@DocsEditable()
static const EventStreamProvider<Event> closeEvent = const EventStreamProvider<Event>('close');
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [RtcDataChannel].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCDataChannel.errorEvent')
@DocsEditable()
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
/**
* Static factory designed to expose `message` events to event
* handlers that are not necessarily instances of [RtcDataChannel].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCDataChannel.messageEvent')
@DocsEditable()
static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');
/**
* Static factory designed to expose `open` events to event
* handlers that are not necessarily instances of [RtcDataChannel].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCDataChannel.openEvent')
@DocsEditable()
static const EventStreamProvider<Event> openEvent = const EventStreamProvider<Event>('open');
@DomName('RTCDataChannel.binaryType')
@DocsEditable()
String get binaryType => _blink.Native_RTCDataChannel_binaryType_Getter(this);
@DomName('RTCDataChannel.binaryType')
@DocsEditable()
void set binaryType(String value) => _blink.Native_RTCDataChannel_binaryType_Setter(this, value);
@DomName('RTCDataChannel.bufferedAmount')
@DocsEditable()
int get bufferedAmount => _blink.Native_RTCDataChannel_bufferedAmount_Getter(this);
@DomName('RTCDataChannel.id')
@DocsEditable()
@Experimental() // untriaged
int get id => _blink.Native_RTCDataChannel_id_Getter(this);
@DomName('RTCDataChannel.label')
@DocsEditable()
String get label => _blink.Native_RTCDataChannel_label_Getter(this);
@DomName('RTCDataChannel.maxRetransmitTime')
@DocsEditable()
@Experimental() // untriaged
int get maxRetransmitTime => _blink.Native_RTCDataChannel_maxRetransmitTime_Getter(this);
@DomName('RTCDataChannel.maxRetransmits')
@DocsEditable()
@Experimental() // untriaged
int get maxRetransmits => _blink.Native_RTCDataChannel_maxRetransmits_Getter(this);
@DomName('RTCDataChannel.negotiated')
@DocsEditable()
@Experimental() // untriaged
bool get negotiated => _blink.Native_RTCDataChannel_negotiated_Getter(this);
@DomName('RTCDataChannel.ordered')
@DocsEditable()
@Experimental() // untriaged
bool get ordered => _blink.Native_RTCDataChannel_ordered_Getter(this);
@DomName('RTCDataChannel.protocol')
@DocsEditable()
@Experimental() // untriaged
String get protocol => _blink.Native_RTCDataChannel_protocol_Getter(this);
@DomName('RTCDataChannel.readyState')
@DocsEditable()
String get readyState => _blink.Native_RTCDataChannel_readyState_Getter(this);
@DomName('RTCDataChannel.reliable')
@DocsEditable()
bool get reliable => _blink.Native_RTCDataChannel_reliable_Getter(this);
@DomName('RTCDataChannel.close')
@DocsEditable()
void close() => _blink.Native_RTCDataChannel_close_Callback(this);
void send(data) => _blink.Native_RTCDataChannel_send(this, data);
@DomName('RTCDataChannel.sendBlob')
@DocsEditable()
void sendBlob(Blob data) => _blink.Native_RTCDataChannel_sendBlob_Callback(this, data);
@DomName('RTCDataChannel.sendByteBuffer')
@DocsEditable()
void sendByteBuffer(ByteBuffer data) => _blink.Native_RTCDataChannel_sendByteBuffer_Callback(this, data);
@DomName('RTCDataChannel.sendString')
@DocsEditable()
void sendString(String data) => _blink.Native_RTCDataChannel_sendString_Callback(this, data);
@DomName('RTCDataChannel.sendTypedData')
@DocsEditable()
void sendTypedData(TypedData data) => _blink.Native_RTCDataChannel_sendTypedData_Callback(this, data);
/// Stream of `close` events handled by this [RtcDataChannel].
@DomName('RTCDataChannel.onclose')
@DocsEditable()
Stream<Event> get onClose => closeEvent.forTarget(this);
/// Stream of `error` events handled by this [RtcDataChannel].
@DomName('RTCDataChannel.onerror')
@DocsEditable()
Stream<Event> get onError => errorEvent.forTarget(this);
/// Stream of `message` events handled by this [RtcDataChannel].
@DomName('RTCDataChannel.onmessage')
@DocsEditable()
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
/// Stream of `open` events handled by this [RtcDataChannel].
@DomName('RTCDataChannel.onopen')
@DocsEditable()
Stream<Event> get onOpen => openEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('RTCDataChannelEvent')
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcdatachannelevent
@Experimental()
class RtcDataChannelEvent extends Event {
// To suppress missing implicit constructor warnings.
factory RtcDataChannelEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('RTCDataChannelEvent.channel')
@DocsEditable()
RtcDataChannel get channel => _blink.Native_RTCDataChannelEvent_channel_Getter(this);
}
// 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.
@DocsEditable()
@DomName('RTCDTMFSender')
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCDTMFSender
@Experimental()
class RtcDtmfSender extends EventTarget {
// To suppress missing implicit constructor warnings.
factory RtcDtmfSender._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `tonechange` events to event
* handlers that are not necessarily instances of [RtcDtmfSender].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCDTMFSender.tonechangeEvent')
@DocsEditable()
static const EventStreamProvider<RtcDtmfToneChangeEvent> toneChangeEvent = const EventStreamProvider<RtcDtmfToneChangeEvent>('tonechange');
@DomName('RTCDTMFSender.canInsertDTMF')
@DocsEditable()
bool get canInsertDtmf => _blink.Native_RTCDTMFSender_canInsertDTMF_Getter(this);
@DomName('RTCDTMFSender.duration')
@DocsEditable()
int get duration => _blink.Native_RTCDTMFSender_duration_Getter(this);
@DomName('RTCDTMFSender.interToneGap')
@DocsEditable()
int get interToneGap => _blink.Native_RTCDTMFSender_interToneGap_Getter(this);
@DomName('RTCDTMFSender.toneBuffer')
@DocsEditable()
String get toneBuffer => _blink.Native_RTCDTMFSender_toneBuffer_Getter(this);
@DomName('RTCDTMFSender.track')
@DocsEditable()
MediaStreamTrack get track => _blink.Native_RTCDTMFSender_track_Getter(this);
void insertDtmf(String tones, [int duration, int interToneGap]) => _blink.Native_RTCDTMFSender_insertDtmf(this, tones, duration, interToneGap);
/// Stream of `tonechange` events handled by this [RtcDtmfSender].
@DomName('RTCDTMFSender.ontonechange')
@DocsEditable()
Stream<RtcDtmfToneChangeEvent> get onToneChange => toneChangeEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('RTCDTMFToneChangeEvent')
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCDTMFToneChangeEvent
@Experimental()
class RtcDtmfToneChangeEvent extends Event {
// To suppress missing implicit constructor warnings.
factory RtcDtmfToneChangeEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('RTCDTMFToneChangeEvent.tone')
@DocsEditable()
String get tone => _blink.Native_RTCDTMFToneChangeEvent_tone_Getter(this);
}
// 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.
@DocsEditable()
@DomName('RTCIceCandidate')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCIceCandidate
class RtcIceCandidate extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory RtcIceCandidate._() { throw new UnsupportedError("Not supported"); }
@DomName('RTCIceCandidate.RTCIceCandidate')
@DocsEditable()
factory RtcIceCandidate(Map dictionary) => _blink.Native_RTCIceCandidate_RtcIceCandidate(dictionary);
@DomName('RTCIceCandidate.candidate')
@DocsEditable()
String get candidate => _blink.Native_RTCIceCandidate_candidate_Getter(this);
@DomName('RTCIceCandidate.sdpMLineIndex')
@DocsEditable()
int get sdpMLineIndex => _blink.Native_RTCIceCandidate_sdpMLineIndex_Getter(this);
@DomName('RTCIceCandidate.sdpMid')
@DocsEditable()
String get sdpMid => _blink.Native_RTCIceCandidate_sdpMid_Getter(this);
}
// 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.
@DocsEditable()
@DomName('RTCIceCandidateEvent')
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#rtcicecandidate-type
@Experimental()
class RtcIceCandidateEvent extends Event {
// To suppress missing implicit constructor warnings.
factory RtcIceCandidateEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('RTCIceCandidateEvent.candidate')
@DocsEditable()
RtcIceCandidate get candidate => _blink.Native_RTCIceCandidateEvent_candidate_Getter(this);
}
// Copyright (c) 2013, 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.
@DomName('RTCPeerConnection')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCPeerConnection
class RtcPeerConnection extends EventTarget {
/**
* Checks if Real Time Communication (RTC) APIs are supported and enabled on
* the current platform.
*/
static bool get supported => true;
Future<RtcSessionDescription> createOffer([Map mediaConstraints]) {
var completer = new Completer<RtcSessionDescription>();
_createOffer(
(value) { completer.complete(value); },
(error) { completer.completeError(error); }, mediaConstraints);
return completer.future;
}
Future<RtcSessionDescription> createAnswer([Map mediaConstraints]) {
var completer = new Completer<RtcSessionDescription>();
_createAnswer(
(value) { completer.complete(value); },
(error) { completer.completeError(error); }, mediaConstraints);
return completer.future;
}
@DomName('RTCPeerConnection.getStats')
Future<RtcStatsResponse> getStats(MediaStreamTrack selector) {
var completer = new Completer<RtcStatsResponse>();
_getStats((value) { completer.complete(value); }, selector);
return completer.future;
}
// To suppress missing implicit constructor warnings.
factory RtcPeerConnection._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `addstream` events to event
* handlers that are not necessarily instances of [RtcPeerConnection].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCPeerConnection.addstreamEvent')
@DocsEditable()
static const EventStreamProvider<MediaStreamEvent> addStreamEvent = const EventStreamProvider<MediaStreamEvent>('addstream');
/**
* Static factory designed to expose `datachannel` events to event
* handlers that are not necessarily instances of [RtcPeerConnection].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCPeerConnection.datachannelEvent')
@DocsEditable()
static const EventStreamProvider<RtcDataChannelEvent> dataChannelEvent = const EventStreamProvider<RtcDataChannelEvent>('datachannel');
/**
* Static factory designed to expose `icecandidate` events to event
* handlers that are not necessarily instances of [RtcPeerConnection].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCPeerConnection.icecandidateEvent')
@DocsEditable()
static const EventStreamProvider<RtcIceCandidateEvent> iceCandidateEvent = const EventStreamProvider<RtcIceCandidateEvent>('icecandidate');
/**
* Static factory designed to expose `iceconnectionstatechange` events to event
* handlers that are not necessarily instances of [RtcPeerConnection].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCPeerConnection.iceconnectionstatechangeEvent')
@DocsEditable()
static const EventStreamProvider<Event> iceConnectionStateChangeEvent = const EventStreamProvider<Event>('iceconnectionstatechange');
/**
* Static factory designed to expose `negotiationneeded` events to event
* handlers that are not necessarily instances of [RtcPeerConnection].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCPeerConnection.negotiationneededEvent')
@DocsEditable()
static const EventStreamProvider<Event> negotiationNeededEvent = const EventStreamProvider<Event>('negotiationneeded');
/**
* Static factory designed to expose `removestream` events to event
* handlers that are not necessarily instances of [RtcPeerConnection].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCPeerConnection.removestreamEvent')
@DocsEditable()
static const EventStreamProvider<MediaStreamEvent> removeStreamEvent = const EventStreamProvider<MediaStreamEvent>('removestream');
/**
* Static factory designed to expose `signalingstatechange` events to event
* handlers that are not necessarily instances of [RtcPeerConnection].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('RTCPeerConnection.signalingstatechangeEvent')
@DocsEditable()
static const EventStreamProvider<Event> signalingStateChangeEvent = const EventStreamProvider<Event>('signalingstatechange');
@DomName('RTCPeerConnection.RTCPeerConnection')
@DocsEditable()
factory RtcPeerConnection(Map rtcIceServers, [Map mediaConstraints]) => _blink.Native_RTCPeerConnection_RtcPeerConnection(rtcIceServers, mediaConstraints);
@DomName('RTCPeerConnection.iceConnectionState')
@DocsEditable()
String get iceConnectionState => _blink.Native_RTCPeerConnection_iceConnectionState_Getter(this);
@DomName('RTCPeerConnection.iceGatheringState')
@DocsEditable()
String get iceGatheringState => _blink.Native_RTCPeerConnection_iceGatheringState_Getter(this);
@DomName('RTCPeerConnection.localDescription')
@DocsEditable()
RtcSessionDescription get localDescription => _blink.Native_RTCPeerConnection_localDescription_Getter(this);
@DomName('RTCPeerConnection.remoteDescription')
@DocsEditable()
RtcSessionDescription get remoteDescription => _blink.Native_RTCPeerConnection_remoteDescription_Getter(this);
@DomName('RTCPeerConnection.signalingState')
@DocsEditable()
String get signalingState => _blink.Native_RTCPeerConnection_signalingState_Getter(this);
@DomName('RTCPeerConnection.addIceCandidate')
@DocsEditable()
void addIceCandidate(RtcIceCandidate candidate, VoidCallback successCallback, _RtcErrorCallback failureCallback) => _blink.Native_RTCPeerConnection_addIceCandidate_Callback(this, candidate, successCallback, failureCallback);
@DomName('RTCPeerConnection.addStream')
@DocsEditable()
void addStream(MediaStream stream, [Map mediaConstraints]) => _blink.Native_RTCPeerConnection_addStream_Callback(this, stream, mediaConstraints);
@DomName('RTCPeerConnection.close')
@DocsEditable()
void close() => _blink.Native_RTCPeerConnection_close_Callback(this);
@DomName('RTCPeerConnection.createAnswer')
@DocsEditable()
void _createAnswer(_RtcSessionDescriptionCallback successCallback, [_RtcErrorCallback failureCallback, Map mediaConstraints]) => _blink.Native_RTCPeerConnection_createAnswer_Callback(this, successCallback, failureCallback, mediaConstraints);
@DomName('RTCPeerConnection.createDTMFSender')
@DocsEditable()
RtcDtmfSender createDtmfSender(MediaStreamTrack track) => _blink.Native_RTCPeerConnection_createDTMFSender_Callback(this, track);
@DomName('RTCPeerConnection.createDataChannel')
@DocsEditable()
RtcDataChannel createDataChannel(String label, [Map options]) => _blink.Native_RTCPeerConnection_createDataChannel_Callback(this, label, options);
@DomName('RTCPeerConnection.createOffer')
@DocsEditable()
void _createOffer(_RtcSessionDescriptionCallback successCallback, [_RtcErrorCallback failureCallback, Map mediaConstraints]) => _blink.Native_RTCPeerConnection_createOffer_Callback(this, successCallback, failureCallback, mediaConstraints);
@DomName('RTCPeerConnection.getLocalStreams')
@DocsEditable()
List<MediaStream> getLocalStreams() => _blink.Native_RTCPeerConnection_getLocalStreams_Callback(this);
@DomName('RTCPeerConnection.getRemoteStreams')
@DocsEditable()
List<MediaStream> getRemoteStreams() => _blink.Native_RTCPeerConnection_getRemoteStreams_Callback(this);
@DomName('RTCPeerConnection.getStats')
@DocsEditable()
void _getStats(RtcStatsCallback successCallback, MediaStreamTrack selector) => _blink.Native_RTCPeerConnection_getStats_Callback(this, successCallback, selector);
@DomName('RTCPeerConnection.getStreamById')
@DocsEditable()
MediaStream getStreamById(String streamId) => _blink.Native_RTCPeerConnection_getStreamById_Callback(this, streamId);
@DomName('RTCPeerConnection.removeStream')
@DocsEditable()
void removeStream(MediaStream stream) => _blink.Native_RTCPeerConnection_removeStream_Callback(this, stream);
@DomName('RTCPeerConnection.setLocalDescription')
@DocsEditable()
void _setLocalDescription(RtcSessionDescription description, [VoidCallback successCallback, _RtcErrorCallback failureCallback]) => _blink.Native_RTCPeerConnection_setLocalDescription_Callback(this, description, successCallback, failureCallback);
Future setLocalDescription(RtcSessionDescription description) {
var completer = new Completer();
_setLocalDescription(description,
() { completer.complete(); },
(error) { completer.completeError(error); });
return completer.future;
}
@DomName('RTCPeerConnection.setRemoteDescription')
@DocsEditable()
void _setRemoteDescription(RtcSessionDescription description, [VoidCallback successCallback, _RtcErrorCallback failureCallback]) => _blink.Native_RTCPeerConnection_setRemoteDescription_Callback(this, description, successCallback, failureCallback);
Future setRemoteDescription(RtcSessionDescription description) {
var completer = new Completer();
_setRemoteDescription(description,
() { completer.complete(); },
(error) { completer.completeError(error); });
return completer.future;
}
@DomName('RTCPeerConnection.updateIce')
@DocsEditable()
void updateIce([Map configuration, Map mediaConstraints]) => _blink.Native_RTCPeerConnection_updateIce_Callback(this, configuration, mediaConstraints);
/// Stream of `addstream` events handled by this [RtcPeerConnection].
@DomName('RTCPeerConnection.onaddstream')
@DocsEditable()
Stream<MediaStreamEvent> get onAddStream => addStreamEvent.forTarget(this);
/// Stream of `datachannel` events handled by this [RtcPeerConnection].
@DomName('RTCPeerConnection.ondatachannel')
@DocsEditable()
Stream<RtcDataChannelEvent> get onDataChannel => dataChannelEvent.forTarget(this);
/// Stream of `icecandidate` events handled by this [RtcPeerConnection].
@DomName('RTCPeerConnection.onicecandidate')
@DocsEditable()
Stream<RtcIceCandidateEvent> get onIceCandidate => iceCandidateEvent.forTarget(this);
/// Stream of `iceconnectionstatechange` events handled by this [RtcPeerConnection].
@DomName('RTCPeerConnection.oniceconnectionstatechange')
@DocsEditable()
Stream<Event> get onIceConnectionStateChange => iceConnectionStateChangeEvent.forTarget(this);
/// Stream of `negotiationneeded` events handled by this [RtcPeerConnection].
@DomName('RTCPeerConnection.onnegotiationneeded')
@DocsEditable()
Stream<Event> get onNegotiationNeeded => negotiationNeededEvent.forTarget(this);
/// Stream of `removestream` events handled by this [RtcPeerConnection].
@DomName('RTCPeerConnection.onremovestream')
@DocsEditable()
Stream<MediaStreamEvent> get onRemoveStream => removeStreamEvent.forTarget(this);
/// Stream of `signalingstatechange` events handled by this [RtcPeerConnection].
@DomName('RTCPeerConnection.onsignalingstatechange')
@DocsEditable()
Stream<Event> get onSignalingStateChange => signalingStateChangeEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('RTCSessionDescription')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCSessionDescription
class RtcSessionDescription extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory RtcSessionDescription._() { throw new UnsupportedError("Not supported"); }
@DomName('RTCSessionDescription.RTCSessionDescription')
@DocsEditable()
factory RtcSessionDescription([Map descriptionInitDict]) => _blink.Native_RTCSessionDescription_RtcSessionDescription(descriptionInitDict);
@DomName('RTCSessionDescription.sdp')
@DocsEditable()
String get sdp => _blink.Native_RTCSessionDescription_sdp_Getter(this);
@DomName('RTCSessionDescription.sdp')
@DocsEditable()
void set sdp(String value) => _blink.Native_RTCSessionDescription_sdp_Setter(this, value);
@DomName('RTCSessionDescription.type')
@DocsEditable()
String get type => _blink.Native_RTCSessionDescription_type_Getter(this);
@DomName('RTCSessionDescription.type')
@DocsEditable()
void set type(String value) => _blink.Native_RTCSessionDescription_type_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('RTCStatsReport')
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCStatsReport
@Experimental()
class RtcStatsReport extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory RtcStatsReport._() { throw new UnsupportedError("Not supported"); }
@DomName('RTCStatsReport.id')
@DocsEditable()
String get id => _blink.Native_RTCStatsReport_id_Getter(this);
@DomName('RTCStatsReport.local')
@DocsEditable()
RtcStatsReport get local => _blink.Native_RTCStatsReport_local_Getter(this);
@DomName('RTCStatsReport.remote')
@DocsEditable()
RtcStatsReport get remote => _blink.Native_RTCStatsReport_remote_Getter(this);
@DomName('RTCStatsReport.timestamp')
@DocsEditable()
DateTime get timestamp => _blink.Native_RTCStatsReport_timestamp_Getter(this);
@DomName('RTCStatsReport.type')
@DocsEditable()
String get type => _blink.Native_RTCStatsReport_type_Getter(this);
@DomName('RTCStatsReport.names')
@DocsEditable()
List<String> names() => _blink.Native_RTCStatsReport_names_Callback(this);
@DomName('RTCStatsReport.stat')
@DocsEditable()
String stat(String name) => _blink.Native_RTCStatsReport_stat_Callback(this, name);
}
// 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.
@DocsEditable()
@DomName('RTCStatsResponse')
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#widl-RTCStatsReport-RTCStats-getter-DOMString-id
@Experimental()
class RtcStatsResponse extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory RtcStatsResponse._() { throw new UnsupportedError("Not supported"); }
@DomName('RTCStatsResponse.__getter__')
@DocsEditable()
RtcStatsReport __getter__(String name) => _blink.Native_RTCStatsResponse___getter___Callback(this, name);
@DomName('RTCStatsResponse.namedItem')
@DocsEditable()
RtcStatsReport namedItem(String name) => _blink.Native_RTCStatsResponse_namedItem_Callback(this, name);
@DomName('RTCStatsResponse.result')
@DocsEditable()
List<RtcStatsReport> result() => _blink.Native_RTCStatsResponse_result_Callback(this);
}
// Copyright (c) 2013, 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.
@DocsEditable()
@DomName('Screen')
class Screen extends EventTarget {
@DomName('Screen.availHeight')
@DomName('Screen.availLeft')
@DomName('Screen.availTop')
@DomName('Screen.availWidth')
Rectangle get available => new Rectangle(_availLeft, _availTop, _availWidth,
_availHeight);
// To suppress missing implicit constructor warnings.
factory Screen._() { throw new UnsupportedError("Not supported"); }
@DomName('Screen.availHeight')
@DocsEditable()
int get _availHeight => _blink.Native_Screen_availHeight_Getter(this);
@DomName('Screen.availLeft')
@DocsEditable()
@Experimental() // nonstandard
int get _availLeft => _blink.Native_Screen_availLeft_Getter(this);
@DomName('Screen.availTop')
@DocsEditable()
@Experimental() // nonstandard
int get _availTop => _blink.Native_Screen_availTop_Getter(this);
@DomName('Screen.availWidth')
@DocsEditable()
int get _availWidth => _blink.Native_Screen_availWidth_Getter(this);
@DomName('Screen.colorDepth')
@DocsEditable()
int get colorDepth => _blink.Native_Screen_colorDepth_Getter(this);
@DomName('Screen.height')
@DocsEditable()
int get height => _blink.Native_Screen_height_Getter(this);
@DomName('Screen.orientation')
@DocsEditable()
@Experimental() // untriaged
String get orientation => _blink.Native_Screen_orientation_Getter(this);
@DomName('Screen.pixelDepth')
@DocsEditable()
int get pixelDepth => _blink.Native_Screen_pixelDepth_Getter(this);
@DomName('Screen.width')
@DocsEditable()
int get width => _blink.Native_Screen_width_Getter(this);
@DomName('Screen.lockOrientation')
@DocsEditable()
@Experimental() // untriaged
bool lockOrientation(String orientation) => _blink.Native_Screen_lockOrientation_Callback(this, orientation);
@DomName('Screen.unlockOrientation')
@DocsEditable()
@Experimental() // untriaged
void unlockOrientation() => _blink.Native_Screen_unlockOrientation_Callback(this);
}
// 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.
@DocsEditable()
@DomName('HTMLScriptElement')
class ScriptElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory ScriptElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLScriptElement.HTMLScriptElement')
@DocsEditable()
factory ScriptElement() => document.createElement("script");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
ScriptElement.created() : super.created();
@DomName('HTMLScriptElement.async')
@DocsEditable()
bool get async => _blink.Native_HTMLScriptElement_async_Getter(this);
@DomName('HTMLScriptElement.async')
@DocsEditable()
void set async(bool value) => _blink.Native_HTMLScriptElement_async_Setter(this, value);
@DomName('HTMLScriptElement.charset')
@DocsEditable()
String get charset => _blink.Native_HTMLScriptElement_charset_Getter(this);
@DomName('HTMLScriptElement.charset')
@DocsEditable()
void set charset(String value) => _blink.Native_HTMLScriptElement_charset_Setter(this, value);
@DomName('HTMLScriptElement.crossOrigin')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#attr-script-crossorigin
@Experimental()
String get crossOrigin => _blink.Native_HTMLScriptElement_crossOrigin_Getter(this);
@DomName('HTMLScriptElement.crossOrigin')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#attr-script-crossorigin
@Experimental()
void set crossOrigin(String value) => _blink.Native_HTMLScriptElement_crossOrigin_Setter(this, value);
@DomName('HTMLScriptElement.defer')
@DocsEditable()
bool get defer => _blink.Native_HTMLScriptElement_defer_Getter(this);
@DomName('HTMLScriptElement.defer')
@DocsEditable()
void set defer(bool value) => _blink.Native_HTMLScriptElement_defer_Setter(this, value);
@DomName('HTMLScriptElement.nonce')
@DocsEditable()
// https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#interaction-with-the-script-src-directive
@Experimental()
String get nonce => _blink.Native_HTMLScriptElement_nonce_Getter(this);
@DomName('HTMLScriptElement.nonce')
@DocsEditable()
// https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#interaction-with-the-script-src-directive
@Experimental()
void set nonce(String value) => _blink.Native_HTMLScriptElement_nonce_Setter(this, value);
@DomName('HTMLScriptElement.src')
@DocsEditable()
String get src => _blink.Native_HTMLScriptElement_src_Getter(this);
@DomName('HTMLScriptElement.src')
@DocsEditable()
void set src(String value) => _blink.Native_HTMLScriptElement_src_Setter(this, value);
@DomName('HTMLScriptElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLScriptElement_type_Getter(this);
@DomName('HTMLScriptElement.type')
@DocsEditable()
void set type(String value) => _blink.Native_HTMLScriptElement_type_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('SecurityPolicyViolationEvent')
// https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#securitypolicyviolationevent-events
@Experimental()
class SecurityPolicyViolationEvent extends Event {
// To suppress missing implicit constructor warnings.
factory SecurityPolicyViolationEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('SecurityPolicyViolationEvent.blockedURI')
@DocsEditable()
String get blockedUri => _blink.Native_SecurityPolicyViolationEvent_blockedURI_Getter(this);
@DomName('SecurityPolicyViolationEvent.columnNumber')
@DocsEditable()
int get columnNumber => _blink.Native_SecurityPolicyViolationEvent_columnNumber_Getter(this);
@DomName('SecurityPolicyViolationEvent.documentURI')
@DocsEditable()
String get documentUri => _blink.Native_SecurityPolicyViolationEvent_documentURI_Getter(this);
@DomName('SecurityPolicyViolationEvent.effectiveDirective')
@DocsEditable()
String get effectiveDirective => _blink.Native_SecurityPolicyViolationEvent_effectiveDirective_Getter(this);
@DomName('SecurityPolicyViolationEvent.lineNumber')
@DocsEditable()
int get lineNumber => _blink.Native_SecurityPolicyViolationEvent_lineNumber_Getter(this);
@DomName('SecurityPolicyViolationEvent.originalPolicy')
@DocsEditable()
String get originalPolicy => _blink.Native_SecurityPolicyViolationEvent_originalPolicy_Getter(this);
@DomName('SecurityPolicyViolationEvent.referrer')
@DocsEditable()
String get referrer => _blink.Native_SecurityPolicyViolationEvent_referrer_Getter(this);
@DomName('SecurityPolicyViolationEvent.sourceFile')
@DocsEditable()
String get sourceFile => _blink.Native_SecurityPolicyViolationEvent_sourceFile_Getter(this);
@DomName('SecurityPolicyViolationEvent.statusCode')
@DocsEditable()
@Experimental() // untriaged
int get statusCode => _blink.Native_SecurityPolicyViolationEvent_statusCode_Getter(this);
@DomName('SecurityPolicyViolationEvent.violatedDirective')
@DocsEditable()
String get violatedDirective => _blink.Native_SecurityPolicyViolationEvent_violatedDirective_Getter(this);
}
// 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.
@DomName('HTMLSelectElement')
class SelectElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory SelectElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLSelectElement.HTMLSelectElement')
@DocsEditable()
factory SelectElement() => document.createElement("select");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
SelectElement.created() : super.created();
@DomName('HTMLSelectElement.autofocus')
@DocsEditable()
bool get autofocus => _blink.Native_HTMLSelectElement_autofocus_Getter(this);
@DomName('HTMLSelectElement.autofocus')
@DocsEditable()
void set autofocus(bool value) => _blink.Native_HTMLSelectElement_autofocus_Setter(this, value);
@DomName('HTMLSelectElement.disabled')
@DocsEditable()
bool get disabled => _blink.Native_HTMLSelectElement_disabled_Getter(this);
@DomName('HTMLSelectElement.disabled')
@DocsEditable()
void set disabled(bool value) => _blink.Native_HTMLSelectElement_disabled_Setter(this, value);
@DomName('HTMLSelectElement.form')
@DocsEditable()
FormElement get form => _blink.Native_HTMLSelectElement_form_Getter(this);
@DomName('HTMLSelectElement.labels')
@DocsEditable()
@Unstable()
List<Node> get labels => _blink.Native_HTMLSelectElement_labels_Getter(this);
@DomName('HTMLSelectElement.length')
@DocsEditable()
int get length => _blink.Native_HTMLSelectElement_length_Getter(this);
@DomName('HTMLSelectElement.length')
@DocsEditable()
void set length(int value) => _blink.Native_HTMLSelectElement_length_Setter(this, value);
@DomName('HTMLSelectElement.multiple')
@DocsEditable()
bool get multiple => _blink.Native_HTMLSelectElement_multiple_Getter(this);
@DomName('HTMLSelectElement.multiple')
@DocsEditable()
void set multiple(bool value) => _blink.Native_HTMLSelectElement_multiple_Setter(this, value);
@DomName('HTMLSelectElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLSelectElement_name_Getter(this);
@DomName('HTMLSelectElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLSelectElement_name_Setter(this, value);
@DomName('HTMLSelectElement.required')
@DocsEditable()
bool get required => _blink.Native_HTMLSelectElement_required_Getter(this);
@DomName('HTMLSelectElement.required')
@DocsEditable()
void set required(bool value) => _blink.Native_HTMLSelectElement_required_Setter(this, value);
@DomName('HTMLSelectElement.selectedIndex')
@DocsEditable()
int get selectedIndex => _blink.Native_HTMLSelectElement_selectedIndex_Getter(this);
@DomName('HTMLSelectElement.selectedIndex')
@DocsEditable()
void set selectedIndex(int value) => _blink.Native_HTMLSelectElement_selectedIndex_Setter(this, value);
@DomName('HTMLSelectElement.size')
@DocsEditable()
int get size => _blink.Native_HTMLSelectElement_size_Getter(this);
@DomName('HTMLSelectElement.size')
@DocsEditable()
void set size(int value) => _blink.Native_HTMLSelectElement_size_Setter(this, value);
@DomName('HTMLSelectElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLSelectElement_type_Getter(this);
@DomName('HTMLSelectElement.validationMessage')
@DocsEditable()
String get validationMessage => _blink.Native_HTMLSelectElement_validationMessage_Getter(this);
@DomName('HTMLSelectElement.validity')
@DocsEditable()
ValidityState get validity => _blink.Native_HTMLSelectElement_validity_Getter(this);
@DomName('HTMLSelectElement.value')
@DocsEditable()
String get value => _blink.Native_HTMLSelectElement_value_Getter(this);
@DomName('HTMLSelectElement.value')
@DocsEditable()
void set value(String value) => _blink.Native_HTMLSelectElement_value_Setter(this, value);
@DomName('HTMLSelectElement.willValidate')
@DocsEditable()
bool get willValidate => _blink.Native_HTMLSelectElement_willValidate_Getter(this);
@DomName('HTMLSelectElement.__setter__')
@DocsEditable()
void __setter__(int index, OptionElement value) => _blink.Native_HTMLSelectElement___setter___Callback(this, index, value);
@DomName('HTMLSelectElement.checkValidity')
@DocsEditable()
bool checkValidity() => _blink.Native_HTMLSelectElement_checkValidity_Callback(this);
@DomName('HTMLSelectElement.item')
@DocsEditable()
Element item(int index) => _blink.Native_HTMLSelectElement_item_Callback(this, index);
@DomName('HTMLSelectElement.namedItem')
@DocsEditable()
Element namedItem(String name) => _blink.Native_HTMLSelectElement_namedItem_Callback(this, name);
@DomName('HTMLSelectElement.setCustomValidity')
@DocsEditable()
void setCustomValidity(String error) => _blink.Native_HTMLSelectElement_setCustomValidity_Callback(this, error);
// Override default options, since IE returns SelectElement itself and it
// does not operate as a List.
List<OptionElement> get options {
var options = this.querySelectorAll('option').where(
(e) => e is OptionElement).toList();
return new UnmodifiableListView(options);
}
List<OptionElement> get selectedOptions {
// IE does not change the selected flag for single-selection items.
if (this.multiple) {
var options = this.options.where((o) => o.selected).toList();
return new UnmodifiableListView(options);
} else {
return [this.options[this.selectedIndex]];
}
}
}
// 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.
@DocsEditable()
@DomName('Selection')
class Selection extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Selection._() { throw new UnsupportedError("Not supported"); }
@DomName('Selection.anchorNode')
@DocsEditable()
Node get anchorNode => _blink.Native_Selection_anchorNode_Getter(this);
@DomName('Selection.anchorOffset')
@DocsEditable()
int get anchorOffset => _blink.Native_Selection_anchorOffset_Getter(this);
@DomName('Selection.baseNode')
@DocsEditable()
@Experimental() // non-standard
Node get baseNode => _blink.Native_Selection_baseNode_Getter(this);
@DomName('Selection.baseOffset')
@DocsEditable()
@Experimental() // non-standard
int get baseOffset => _blink.Native_Selection_baseOffset_Getter(this);
@DomName('Selection.extentNode')
@DocsEditable()
@Experimental() // non-standard
Node get extentNode => _blink.Native_Selection_extentNode_Getter(this);
@DomName('Selection.extentOffset')
@DocsEditable()
@Experimental() // non-standard
int get extentOffset => _blink.Native_Selection_extentOffset_Getter(this);
@DomName('Selection.focusNode')
@DocsEditable()
Node get focusNode => _blink.Native_Selection_focusNode_Getter(this);
@DomName('Selection.focusOffset')
@DocsEditable()
int get focusOffset => _blink.Native_Selection_focusOffset_Getter(this);
@DomName('Selection.isCollapsed')
@DocsEditable()
bool get isCollapsed => _blink.Native_Selection_isCollapsed_Getter(this);
@DomName('Selection.rangeCount')
@DocsEditable()
int get rangeCount => _blink.Native_Selection_rangeCount_Getter(this);
@DomName('Selection.type')
@DocsEditable()
@Experimental() // non-standard
String get type => _blink.Native_Selection_type_Getter(this);
@DomName('Selection.addRange')
@DocsEditable()
void addRange(Range range) => _blink.Native_Selection_addRange_Callback(this, range);
@DomName('Selection.collapse')
@DocsEditable()
void collapse(Node node, int index) => _blink.Native_Selection_collapse_Callback(this, node, index);
@DomName('Selection.collapseToEnd')
@DocsEditable()
void collapseToEnd() => _blink.Native_Selection_collapseToEnd_Callback(this);
@DomName('Selection.collapseToStart')
@DocsEditable()
void collapseToStart() => _blink.Native_Selection_collapseToStart_Callback(this);
@DomName('Selection.containsNode')
@DocsEditable()
@Experimental() // non-standard
bool containsNode(Node node, bool allowPartial) => _blink.Native_Selection_containsNode_Callback(this, node, allowPartial);
@DomName('Selection.deleteFromDocument')
@DocsEditable()
void deleteFromDocument() => _blink.Native_Selection_deleteFromDocument_Callback(this);
@DomName('Selection.empty')
@DocsEditable()
@Experimental() // non-standard
void empty() => _blink.Native_Selection_empty_Callback(this);
@DomName('Selection.extend')
@DocsEditable()
void extend(Node node, int offset) => _blink.Native_Selection_extend_Callback(this, node, offset);
@DomName('Selection.getRangeAt')
@DocsEditable()
Range getRangeAt(int index) => _blink.Native_Selection_getRangeAt_Callback(this, index);
@DomName('Selection.modify')
@DocsEditable()
@Experimental() // non-standard
void modify(String alter, String direction, String granularity) => _blink.Native_Selection_modify_Callback(this, alter, direction, granularity);
@DomName('Selection.removeAllRanges')
@DocsEditable()
void removeAllRanges() => _blink.Native_Selection_removeAllRanges_Callback(this);
@DomName('Selection.selectAllChildren')
@DocsEditable()
void selectAllChildren(Node node) => _blink.Native_Selection_selectAllChildren_Callback(this, node);
@DomName('Selection.setBaseAndExtent')
@DocsEditable()
@Experimental() // non-standard
void setBaseAndExtent(Node baseNode, int baseOffset, Node extentNode, int extentOffset) => _blink.Native_Selection_setBaseAndExtent_Callback(this, baseNode, baseOffset, extentNode, extentOffset);
@DomName('Selection.setPosition')
@DocsEditable()
@Experimental() // non-standard
void setPosition(Node node, int offset) => _blink.Native_Selection_setPosition_Callback(this, node, offset);
@DomName('Selection.toString')
@DocsEditable()
String toString() => _blink.Native_Selection_toString_Callback(this);
}
// 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.
@DocsEditable()
@DomName('ServiceWorkerContainer')
@Experimental() // untriaged
class ServiceWorkerContainer extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory ServiceWorkerContainer._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('ServiceWorkerGlobalScope')
@Experimental() // untriaged
class ServiceWorkerGlobalScope extends WorkerGlobalScope {
// To suppress missing implicit constructor warnings.
factory ServiceWorkerGlobalScope._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('HTMLShadowElement')
@SupportedBrowser(SupportedBrowser.CHROME, '26')
@Experimental()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-element
class ShadowElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory ShadowElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLShadowElement.HTMLShadowElement')
@DocsEditable()
factory ShadowElement() => document.createElement("shadow");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
ShadowElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLShadowElement.resetStyleInheritance')
@DocsEditable()
bool get resetStyleInheritance => _blink.Native_HTMLShadowElement_resetStyleInheritance_Getter(this);
@DomName('HTMLShadowElement.resetStyleInheritance')
@DocsEditable()
void set resetStyleInheritance(bool value) => _blink.Native_HTMLShadowElement_resetStyleInheritance_Setter(this, value);
@DomName('HTMLShadowElement.getDistributedNodes')
@DocsEditable()
@Experimental() // untriaged
List<Node> getDistributedNodes() => _blink.Native_HTMLShadowElement_getDistributedNodes_Callback(this);
}
// 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.
@DomName('ShadowRoot')
@SupportedBrowser(SupportedBrowser.CHROME, '26')
@Experimental()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#api-shadow-root
class ShadowRoot extends DocumentFragment {
// To suppress missing implicit constructor warnings.
factory ShadowRoot._() { throw new UnsupportedError("Not supported"); }
@DomName('ShadowRoot.activeElement')
@DocsEditable()
Element get activeElement => _blink.Native_ShadowRoot_activeElement_Getter(this);
@DomName('ShadowRoot.host')
@DocsEditable()
@Experimental() // untriaged
Element get host => _blink.Native_ShadowRoot_host_Getter(this);
@DomName('ShadowRoot.innerHTML')
@DocsEditable()
String get innerHtml => _blink.Native_ShadowRoot_innerHTML_Getter(this);
@DomName('ShadowRoot.innerHTML')
@DocsEditable()
void set innerHtml(String value) => _blink.Native_ShadowRoot_innerHTML_Setter(this, value);
@DomName('ShadowRoot.olderShadowRoot')
@DocsEditable()
@Experimental() // untriaged
ShadowRoot get olderShadowRoot => _blink.Native_ShadowRoot_olderShadowRoot_Getter(this);
@DomName('ShadowRoot.resetStyleInheritance')
@DocsEditable()
bool get _resetStyleInheritance => _blink.Native_ShadowRoot_resetStyleInheritance_Getter(this);
@DomName('ShadowRoot.resetStyleInheritance')
@DocsEditable()
void set _resetStyleInheritance(bool value) => _blink.Native_ShadowRoot_resetStyleInheritance_Setter(this, value);
@DomName('ShadowRoot.styleSheets')
@DocsEditable()
@Experimental() // untriaged
List<StyleSheet> get styleSheets => _blink.Native_ShadowRoot_styleSheets_Getter(this);
@DomName('ShadowRoot.cloneNode')
@DocsEditable()
Node clone(bool deep) => _blink.Native_ShadowRoot_cloneNode_Callback(this, deep);
@DomName('ShadowRoot.elementFromPoint')
@DocsEditable()
Element elementFromPoint(int x, int y) => _blink.Native_ShadowRoot_elementFromPoint_Callback(this, x, y);
@DomName('ShadowRoot.getElementById')
@DocsEditable()
Element getElementById(String elementId) => _blink.Native_ShadowRoot_getElementById_Callback(this, elementId);
@DomName('ShadowRoot.getElementsByClassName')
@DocsEditable()
List<Node> getElementsByClassName(String className) => _blink.Native_ShadowRoot_getElementsByClassName_Callback(this, className);
@DomName('ShadowRoot.getElementsByTagName')
@DocsEditable()
List<Node> getElementsByTagName(String tagName) => _blink.Native_ShadowRoot_getElementsByTagName_Callback(this, tagName);
@DomName('ShadowRoot.getSelection')
@DocsEditable()
Selection getSelection() => _blink.Native_ShadowRoot_getSelection_Callback(this);
static final bool supported = true;
static bool _shadowRootDeprecationReported = false;
static void _shadowRootDeprecationReport() {
if (!_shadowRootDeprecationReported) {
window.console.warn('''
ShadowRoot.resetStyleInheritance and ShadowRoot.applyAuthorStyles now deprecated in dart:html.
Please remove them from your code.
''');
_shadowRootDeprecationReported = true;
}
}
@deprecated
bool get resetStyleInheritance {
_shadowRootDeprecationReport();
// Default value from when it was specified.
return false;
}
@deprecated
void set resetStyleInheritance(bool value) {
_shadowRootDeprecationReport();
}
@deprecated
bool get applyAuthorStyles {
_shadowRootDeprecationReport();
// Default value from when it was specified.
return false;
}
@deprecated
void set applyAuthorStyles(bool value) {
_shadowRootDeprecationReport();
}
}
// 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.
@DocsEditable()
@DomName('SharedWorker')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#shared-workers-and-the-sharedworker-interface
@Experimental()
class SharedWorker extends EventTarget implements AbstractWorker {
// To suppress missing implicit constructor warnings.
factory SharedWorker._() { throw new UnsupportedError("Not supported"); }
@DomName('SharedWorker.errorEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
@DomName('SharedWorker.SharedWorker')
@DocsEditable()
factory SharedWorker(String scriptURL, [String name]) => _blink.Native_SharedWorker_SharedWorker(scriptURL, name);
@DomName('SharedWorker.port')
@DocsEditable()
MessagePort get port => _blink.Native_SharedWorker_port_Getter(this);
@DomName('SharedWorker.workerStart')
@DocsEditable()
@Experimental() // untriaged
double get workerStart => _blink.Native_SharedWorker_workerStart_Getter(this);
@DomName('SharedWorker.onerror')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onError => errorEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('SharedWorkerGlobalScope')
@Experimental() // untriaged
class SharedWorkerGlobalScope extends WorkerGlobalScope {
// To suppress missing implicit constructor warnings.
factory SharedWorkerGlobalScope._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `connect` events to event
* handlers that are not necessarily instances of [SharedWorkerGlobalScope].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SharedWorkerGlobalScope.connectEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> connectEvent = const EventStreamProvider<Event>('connect');
@DomName('SharedWorkerGlobalScope.name')
@DocsEditable()
@Experimental() // untriaged
String get name => _blink.Native_SharedWorkerGlobalScope_name_Getter(this);
/// Stream of `connect` events handled by this [SharedWorkerGlobalScope].
@DomName('SharedWorkerGlobalScope.onconnect')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onConnect => connectEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('SourceBuffer')
// https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebuffer
@Experimental()
class SourceBuffer extends EventTarget {
// To suppress missing implicit constructor warnings.
factory SourceBuffer._() { throw new UnsupportedError("Not supported"); }
@DomName('SourceBuffer.appendWindowEnd')
@DocsEditable()
@Experimental() // untriaged
num get appendWindowEnd => _blink.Native_SourceBuffer_appendWindowEnd_Getter(this);
@DomName('SourceBuffer.appendWindowEnd')
@DocsEditable()
@Experimental() // untriaged
void set appendWindowEnd(num value) => _blink.Native_SourceBuffer_appendWindowEnd_Setter(this, value);
@DomName('SourceBuffer.appendWindowStart')
@DocsEditable()
@Experimental() // untriaged
num get appendWindowStart => _blink.Native_SourceBuffer_appendWindowStart_Getter(this);
@DomName('SourceBuffer.appendWindowStart')
@DocsEditable()
@Experimental() // untriaged
void set appendWindowStart(num value) => _blink.Native_SourceBuffer_appendWindowStart_Setter(this, value);
@DomName('SourceBuffer.buffered')
@DocsEditable()
TimeRanges get buffered => _blink.Native_SourceBuffer_buffered_Getter(this);
@DomName('SourceBuffer.mode')
@DocsEditable()
@Experimental() // untriaged
String get mode => _blink.Native_SourceBuffer_mode_Getter(this);
@DomName('SourceBuffer.mode')
@DocsEditable()
@Experimental() // untriaged
void set mode(String value) => _blink.Native_SourceBuffer_mode_Setter(this, value);
@DomName('SourceBuffer.timestampOffset')
@DocsEditable()
num get timestampOffset => _blink.Native_SourceBuffer_timestampOffset_Getter(this);
@DomName('SourceBuffer.timestampOffset')
@DocsEditable()
void set timestampOffset(num value) => _blink.Native_SourceBuffer_timestampOffset_Setter(this, value);
@DomName('SourceBuffer.updating')
@DocsEditable()
@Experimental() // untriaged
bool get updating => _blink.Native_SourceBuffer_updating_Getter(this);
@DomName('SourceBuffer.abort')
@DocsEditable()
void abort() => _blink.Native_SourceBuffer_abort_Callback(this);
@DomName('SourceBuffer.appendBuffer')
@DocsEditable()
@Experimental() // untriaged
void appendBuffer(ByteBuffer data) => _blink.Native_SourceBuffer_appendBuffer_Callback(this, data);
void appendStream(FileStream stream, [int maxSize]) => _blink.Native_SourceBuffer_appendStream(this, stream, maxSize);
@DomName('SourceBuffer.appendTypedData')
@DocsEditable()
@Experimental() // untriaged
void appendTypedData(TypedData data) => _blink.Native_SourceBuffer_appendTypedData_Callback(this, data);
@DomName('SourceBuffer.remove')
@DocsEditable()
@Experimental() // untriaged
void remove(num start, num end) => _blink.Native_SourceBuffer_remove_Callback(this, start, end);
}
// 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.
@DocsEditable()
@DomName('SourceBufferList')
// https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebufferlist
@Experimental()
class SourceBufferList extends EventTarget with ListMixin<SourceBuffer>, ImmutableListMixin<SourceBuffer> implements List<SourceBuffer> {
// To suppress missing implicit constructor warnings.
factory SourceBufferList._() { throw new UnsupportedError("Not supported"); }
@DomName('SourceBufferList.length')
@DocsEditable()
int get length => _blink.Native_SourceBufferList_length_Getter(this);
SourceBuffer operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_SourceBufferList_NativeIndexed_Getter(this, index);
}
SourceBuffer _nativeIndexedGetter(int index) => _blink.Native_SourceBufferList_NativeIndexed_Getter(this, index);
void operator[]=(int index, SourceBuffer value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<SourceBuffer> mixins.
// SourceBuffer is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
SourceBuffer get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
SourceBuffer get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
SourceBuffer get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
SourceBuffer elementAt(int index) => this[index];
// -- end List<SourceBuffer> mixins.
@DomName('SourceBufferList.item')
@DocsEditable()
SourceBuffer item(int index) => _blink.Native_SourceBufferList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('HTMLSourceElement')
class SourceElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory SourceElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLSourceElement.HTMLSourceElement')
@DocsEditable()
factory SourceElement() => document.createElement("source");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
SourceElement.created() : super.created();
@DomName('HTMLSourceElement.media')
@DocsEditable()
String get media => _blink.Native_HTMLSourceElement_media_Getter(this);
@DomName('HTMLSourceElement.media')
@DocsEditable()
void set media(String value) => _blink.Native_HTMLSourceElement_media_Setter(this, value);
@DomName('HTMLSourceElement.src')
@DocsEditable()
String get src => _blink.Native_HTMLSourceElement_src_Getter(this);
@DomName('HTMLSourceElement.src')
@DocsEditable()
void set src(String value) => _blink.Native_HTMLSourceElement_src_Setter(this, value);
@DomName('HTMLSourceElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLSourceElement_type_Getter(this);
@DomName('HTMLSourceElement.type')
@DocsEditable()
void set type(String value) => _blink.Native_HTMLSourceElement_type_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('SourceInfo')
@Experimental() // untriaged
class SourceInfo extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory SourceInfo._() { throw new UnsupportedError("Not supported"); }
@DomName('SourceInfo.facing')
@DocsEditable()
@Experimental() // untriaged
String get facing => _blink.Native_SourceInfo_facing_Getter(this);
@DomName('SourceInfo.id')
@DocsEditable()
@Experimental() // untriaged
String get id => _blink.Native_SourceInfo_id_Getter(this);
@DomName('SourceInfo.kind')
@DocsEditable()
@Experimental() // untriaged
String get kind => _blink.Native_SourceInfo_kind_Getter(this);
@DomName('SourceInfo.label')
@DocsEditable()
@Experimental() // untriaged
String get label => _blink.Native_SourceInfo_label_Getter(this);
}
// 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.
@DocsEditable()
@DomName('HTMLSpanElement')
class SpanElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory SpanElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLSpanElement.HTMLSpanElement')
@DocsEditable()
factory SpanElement() => document.createElement("span");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
SpanElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('SpeechGrammar')
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#dfn-speechgrammar
@Experimental()
class SpeechGrammar extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory SpeechGrammar._() { throw new UnsupportedError("Not supported"); }
@DomName('SpeechGrammar.SpeechGrammar')
@DocsEditable()
factory SpeechGrammar() => _blink.Native_SpeechGrammar_SpeechGrammar();
@DomName('SpeechGrammar.src')
@DocsEditable()
String get src => _blink.Native_SpeechGrammar_src_Getter(this);
@DomName('SpeechGrammar.src')
@DocsEditable()
void set src(String value) => _blink.Native_SpeechGrammar_src_Setter(this, value);
@DomName('SpeechGrammar.weight')
@DocsEditable()
num get weight => _blink.Native_SpeechGrammar_weight_Getter(this);
@DomName('SpeechGrammar.weight')
@DocsEditable()
void set weight(num value) => _blink.Native_SpeechGrammar_weight_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('SpeechGrammarList')
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#dfn-speechgrammarlist
@Experimental()
class SpeechGrammarList extends NativeFieldWrapperClass2 with ListMixin<SpeechGrammar>, ImmutableListMixin<SpeechGrammar> implements List<SpeechGrammar> {
// To suppress missing implicit constructor warnings.
factory SpeechGrammarList._() { throw new UnsupportedError("Not supported"); }
@DomName('SpeechGrammarList.SpeechGrammarList')
@DocsEditable()
factory SpeechGrammarList() => _blink.Native_SpeechGrammarList_SpeechGrammarList();
@DomName('SpeechGrammarList.length')
@DocsEditable()
int get length => _blink.Native_SpeechGrammarList_length_Getter(this);
SpeechGrammar operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_SpeechGrammarList_NativeIndexed_Getter(this, index);
}
SpeechGrammar _nativeIndexedGetter(int index) => _blink.Native_SpeechGrammarList_NativeIndexed_Getter(this, index);
void operator[]=(int index, SpeechGrammar value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<SpeechGrammar> mixins.
// SpeechGrammar is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
SpeechGrammar get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
SpeechGrammar get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
SpeechGrammar get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
SpeechGrammar elementAt(int index) => this[index];
// -- end List<SpeechGrammar> mixins.
void addFromString(String string, [num weight]) => _blink.Native_SpeechGrammarList_addFromString(this, string, weight);
void addFromUri(String src, [num weight]) => _blink.Native_SpeechGrammarList_addFromUri(this, src, weight);
@DomName('SpeechGrammarList.item')
@DocsEditable()
SpeechGrammar item(int index) => _blink.Native_SpeechGrammarList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('SpeechInputEvent')
// http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html#speech_input_event_interface
@Experimental()
class SpeechInputEvent extends Event {
// To suppress missing implicit constructor warnings.
factory SpeechInputEvent._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('SpeechInputResult')
// http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html#speech_input_result_interface
@Experimental()
class SpeechInputResult extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory SpeechInputResult._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('SpeechRecognition')
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental()
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechreco-section
class SpeechRecognition extends EventTarget {
// To suppress missing implicit constructor warnings.
factory SpeechRecognition._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `audioend` events to event
* handlers that are not necessarily instances of [SpeechRecognition].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechRecognition.audioendEvent')
@DocsEditable()
static const EventStreamProvider<Event> audioEndEvent = const EventStreamProvider<Event>('audioend');
/**
* Static factory designed to expose `audiostart` events to event
* handlers that are not necessarily instances of [SpeechRecognition].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechRecognition.audiostartEvent')
@DocsEditable()
static const EventStreamProvider<Event> audioStartEvent = const EventStreamProvider<Event>('audiostart');
/**
* Static factory designed to expose `end` events to event
* handlers that are not necessarily instances of [SpeechRecognition].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechRecognition.endEvent')
@DocsEditable()
static const EventStreamProvider<Event> endEvent = const EventStreamProvider<Event>('end');
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [SpeechRecognition].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechRecognition.errorEvent')
@DocsEditable()
static const EventStreamProvider<SpeechRecognitionError> errorEvent = const EventStreamProvider<SpeechRecognitionError>('error');
/**
* Static factory designed to expose `nomatch` events to event
* handlers that are not necessarily instances of [SpeechRecognition].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechRecognition.nomatchEvent')
@DocsEditable()
static const EventStreamProvider<SpeechRecognitionEvent> noMatchEvent = const EventStreamProvider<SpeechRecognitionEvent>('nomatch');
/**
* Static factory designed to expose `result` events to event
* handlers that are not necessarily instances of [SpeechRecognition].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechRecognition.resultEvent')
@DocsEditable()
static const EventStreamProvider<SpeechRecognitionEvent> resultEvent = const EventStreamProvider<SpeechRecognitionEvent>('result');
/**
* Static factory designed to expose `soundend` events to event
* handlers that are not necessarily instances of [SpeechRecognition].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechRecognition.soundendEvent')
@DocsEditable()
static const EventStreamProvider<Event> soundEndEvent = const EventStreamProvider<Event>('soundend');
/**
* Static factory designed to expose `soundstart` events to event
* handlers that are not necessarily instances of [SpeechRecognition].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechRecognition.soundstartEvent')
@DocsEditable()
static const EventStreamProvider<Event> soundStartEvent = const EventStreamProvider<Event>('soundstart');
/**
* Static factory designed to expose `speechend` events to event
* handlers that are not necessarily instances of [SpeechRecognition].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechRecognition.speechendEvent')
@DocsEditable()
static const EventStreamProvider<Event> speechEndEvent = const EventStreamProvider<Event>('speechend');
/**
* Static factory designed to expose `speechstart` events to event
* handlers that are not necessarily instances of [SpeechRecognition].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechRecognition.speechstartEvent')
@DocsEditable()
static const EventStreamProvider<Event> speechStartEvent = const EventStreamProvider<Event>('speechstart');
/**
* Static factory designed to expose `start` events to event
* handlers that are not necessarily instances of [SpeechRecognition].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechRecognition.startEvent')
@DocsEditable()
static const EventStreamProvider<Event> startEvent = const EventStreamProvider<Event>('start');
@DomName('SpeechRecognition.SpeechRecognition')
@DocsEditable()
factory SpeechRecognition() => _blink.Native_SpeechRecognition_SpeechRecognition();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('SpeechRecognition.continuous')
@DocsEditable()
bool get continuous => _blink.Native_SpeechRecognition_continuous_Getter(this);
@DomName('SpeechRecognition.continuous')
@DocsEditable()
void set continuous(bool value) => _blink.Native_SpeechRecognition_continuous_Setter(this, value);
@DomName('SpeechRecognition.grammars')
@DocsEditable()
SpeechGrammarList get grammars => _blink.Native_SpeechRecognition_grammars_Getter(this);
@DomName('SpeechRecognition.grammars')
@DocsEditable()
void set grammars(SpeechGrammarList value) => _blink.Native_SpeechRecognition_grammars_Setter(this, value);
@DomName('SpeechRecognition.interimResults')
@DocsEditable()
bool get interimResults => _blink.Native_SpeechRecognition_interimResults_Getter(this);
@DomName('SpeechRecognition.interimResults')
@DocsEditable()
void set interimResults(bool value) => _blink.Native_SpeechRecognition_interimResults_Setter(this, value);
@DomName('SpeechRecognition.lang')
@DocsEditable()
String get lang => _blink.Native_SpeechRecognition_lang_Getter(this);
@DomName('SpeechRecognition.lang')
@DocsEditable()
void set lang(String value) => _blink.Native_SpeechRecognition_lang_Setter(this, value);
@DomName('SpeechRecognition.maxAlternatives')
@DocsEditable()
int get maxAlternatives => _blink.Native_SpeechRecognition_maxAlternatives_Getter(this);
@DomName('SpeechRecognition.maxAlternatives')
@DocsEditable()
void set maxAlternatives(int value) => _blink.Native_SpeechRecognition_maxAlternatives_Setter(this, value);
@DomName('SpeechRecognition.abort')
@DocsEditable()
void abort() => _blink.Native_SpeechRecognition_abort_Callback(this);
@DomName('SpeechRecognition.start')
@DocsEditable()
void start() => _blink.Native_SpeechRecognition_start_Callback(this);
@DomName('SpeechRecognition.stop')
@DocsEditable()
void stop() => _blink.Native_SpeechRecognition_stop_Callback(this);
/// Stream of `audioend` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onaudioend')
@DocsEditable()
Stream<Event> get onAudioEnd => audioEndEvent.forTarget(this);
/// Stream of `audiostart` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onaudiostart')
@DocsEditable()
Stream<Event> get onAudioStart => audioStartEvent.forTarget(this);
/// Stream of `end` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onend')
@DocsEditable()
Stream<Event> get onEnd => endEvent.forTarget(this);
/// Stream of `error` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onerror')
@DocsEditable()
Stream<SpeechRecognitionError> get onError => errorEvent.forTarget(this);
/// Stream of `nomatch` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onnomatch')
@DocsEditable()
Stream<SpeechRecognitionEvent> get onNoMatch => noMatchEvent.forTarget(this);
/// Stream of `result` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onresult')
@DocsEditable()
Stream<SpeechRecognitionEvent> get onResult => resultEvent.forTarget(this);
/// Stream of `soundend` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onsoundend')
@DocsEditable()
Stream<Event> get onSoundEnd => soundEndEvent.forTarget(this);
/// Stream of `soundstart` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onsoundstart')
@DocsEditable()
Stream<Event> get onSoundStart => soundStartEvent.forTarget(this);
/// Stream of `speechend` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onspeechend')
@DocsEditable()
Stream<Event> get onSpeechEnd => speechEndEvent.forTarget(this);
/// Stream of `speechstart` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onspeechstart')
@DocsEditable()
Stream<Event> get onSpeechStart => speechStartEvent.forTarget(this);
/// Stream of `start` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onstart')
@DocsEditable()
Stream<Event> get onStart => startEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('SpeechRecognitionAlternative')
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental()
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechrecognitionalternative
class SpeechRecognitionAlternative extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory SpeechRecognitionAlternative._() { throw new UnsupportedError("Not supported"); }
@DomName('SpeechRecognitionAlternative.confidence')
@DocsEditable()
double get confidence => _blink.Native_SpeechRecognitionAlternative_confidence_Getter(this);
@DomName('SpeechRecognitionAlternative.transcript')
@DocsEditable()
String get transcript => _blink.Native_SpeechRecognitionAlternative_transcript_Getter(this);
}
// 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.
@DocsEditable()
@DomName('SpeechRecognitionError')
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental()
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechreco-error
class SpeechRecognitionError extends Event {
// To suppress missing implicit constructor warnings.
factory SpeechRecognitionError._() { throw new UnsupportedError("Not supported"); }
@DomName('SpeechRecognitionError.error')
@DocsEditable()
String get error => _blink.Native_SpeechRecognitionError_error_Getter(this);
@DomName('SpeechRecognitionError.message')
@DocsEditable()
String get message => _blink.Native_SpeechRecognitionError_message_Getter(this);
}
// 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.
@DocsEditable()
@DomName('SpeechRecognitionEvent')
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental()
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechreco-event
class SpeechRecognitionEvent extends Event {
// To suppress missing implicit constructor warnings.
factory SpeechRecognitionEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('SpeechRecognitionEvent.emma')
@DocsEditable()
Document get emma => _blink.Native_SpeechRecognitionEvent_emma_Getter(this);
@DomName('SpeechRecognitionEvent.interpretation')
@DocsEditable()
Document get interpretation => _blink.Native_SpeechRecognitionEvent_interpretation_Getter(this);
@DomName('SpeechRecognitionEvent.resultIndex')
@DocsEditable()
int get resultIndex => _blink.Native_SpeechRecognitionEvent_resultIndex_Getter(this);
@DomName('SpeechRecognitionEvent.results')
@DocsEditable()
List<SpeechRecognitionResult> get results => _blink.Native_SpeechRecognitionEvent_results_Getter(this);
}
// 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.
@DocsEditable()
@DomName('SpeechRecognitionResult')
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental()
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechrecognitionresult
class SpeechRecognitionResult extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory SpeechRecognitionResult._() { throw new UnsupportedError("Not supported"); }
@DomName('SpeechRecognitionResult.isFinal')
@DocsEditable()
bool get isFinal => _blink.Native_SpeechRecognitionResult_isFinal_Getter(this);
@DomName('SpeechRecognitionResult.length')
@DocsEditable()
int get length => _blink.Native_SpeechRecognitionResult_length_Getter(this);
@DomName('SpeechRecognitionResult.item')
@DocsEditable()
SpeechRecognitionAlternative item(int index) => _blink.Native_SpeechRecognitionResult_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('SpeechSynthesis')
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section
@Experimental()
class SpeechSynthesis extends EventTarget {
// To suppress missing implicit constructor warnings.
factory SpeechSynthesis._() { throw new UnsupportedError("Not supported"); }
@DomName('SpeechSynthesis.paused')
@DocsEditable()
bool get paused => _blink.Native_SpeechSynthesis_paused_Getter(this);
@DomName('SpeechSynthesis.pending')
@DocsEditable()
bool get pending => _blink.Native_SpeechSynthesis_pending_Getter(this);
@DomName('SpeechSynthesis.speaking')
@DocsEditable()
bool get speaking => _blink.Native_SpeechSynthesis_speaking_Getter(this);
@DomName('SpeechSynthesis.cancel')
@DocsEditable()
void cancel() => _blink.Native_SpeechSynthesis_cancel_Callback(this);
@DomName('SpeechSynthesis.getVoices')
@DocsEditable()
List<SpeechSynthesisVoice> getVoices() => _blink.Native_SpeechSynthesis_getVoices_Callback(this);
@DomName('SpeechSynthesis.pause')
@DocsEditable()
void pause() => _blink.Native_SpeechSynthesis_pause_Callback(this);
@DomName('SpeechSynthesis.resume')
@DocsEditable()
void resume() => _blink.Native_SpeechSynthesis_resume_Callback(this);
@DomName('SpeechSynthesis.speak')
@DocsEditable()
void speak(SpeechSynthesisUtterance utterance) => _blink.Native_SpeechSynthesis_speak_Callback(this, utterance);
}
// 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.
@DocsEditable()
@DomName('SpeechSynthesisEvent')
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section
@Experimental()
class SpeechSynthesisEvent extends Event {
// To suppress missing implicit constructor warnings.
factory SpeechSynthesisEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('SpeechSynthesisEvent.charIndex')
@DocsEditable()
int get charIndex => _blink.Native_SpeechSynthesisEvent_charIndex_Getter(this);
@DomName('SpeechSynthesisEvent.elapsedTime')
@DocsEditable()
double get elapsedTime => _blink.Native_SpeechSynthesisEvent_elapsedTime_Getter(this);
@DomName('SpeechSynthesisEvent.name')
@DocsEditable()
String get name => _blink.Native_SpeechSynthesisEvent_name_Getter(this);
}
// 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.
@DocsEditable()
@DomName('SpeechSynthesisUtterance')
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section
@Experimental()
class SpeechSynthesisUtterance extends EventTarget {
// To suppress missing implicit constructor warnings.
factory SpeechSynthesisUtterance._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `boundary` events to event
* handlers that are not necessarily instances of [SpeechSynthesisUtterance].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechSynthesisUtterance.boundaryEvent')
@DocsEditable()
static const EventStreamProvider<SpeechSynthesisEvent> boundaryEvent = const EventStreamProvider<SpeechSynthesisEvent>('boundary');
/**
* Static factory designed to expose `end` events to event
* handlers that are not necessarily instances of [SpeechSynthesisUtterance].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechSynthesisUtterance.endEvent')
@DocsEditable()
static const EventStreamProvider<SpeechSynthesisEvent> endEvent = const EventStreamProvider<SpeechSynthesisEvent>('end');
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [SpeechSynthesisUtterance].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechSynthesisUtterance.errorEvent')
@DocsEditable()
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
/**
* Static factory designed to expose `mark` events to event
* handlers that are not necessarily instances of [SpeechSynthesisUtterance].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechSynthesisUtterance.markEvent')
@DocsEditable()
static const EventStreamProvider<SpeechSynthesisEvent> markEvent = const EventStreamProvider<SpeechSynthesisEvent>('mark');
/**
* Static factory designed to expose `pause` events to event
* handlers that are not necessarily instances of [SpeechSynthesisUtterance].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechSynthesisUtterance.pauseEvent')
@DocsEditable()
static const EventStreamProvider<Event> pauseEvent = const EventStreamProvider<Event>('pause');
/**
* Static factory designed to expose `resume` events to event
* handlers that are not necessarily instances of [SpeechSynthesisUtterance].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechSynthesisUtterance.resumeEvent')
@DocsEditable()
static const EventStreamProvider<SpeechSynthesisEvent> resumeEvent = const EventStreamProvider<SpeechSynthesisEvent>('resume');
/**
* Static factory designed to expose `start` events to event
* handlers that are not necessarily instances of [SpeechSynthesisUtterance].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('SpeechSynthesisUtterance.startEvent')
@DocsEditable()
static const EventStreamProvider<SpeechSynthesisEvent> startEvent = const EventStreamProvider<SpeechSynthesisEvent>('start');
@DomName('SpeechSynthesisUtterance.SpeechSynthesisUtterance')
@DocsEditable()
factory SpeechSynthesisUtterance([String text]) => _blink.Native_SpeechSynthesisUtterance_SpeechSynthesisUtterance(text);
@DomName('SpeechSynthesisUtterance.lang')
@DocsEditable()
String get lang => _blink.Native_SpeechSynthesisUtterance_lang_Getter(this);
@DomName('SpeechSynthesisUtterance.lang')
@DocsEditable()
void set lang(String value) => _blink.Native_SpeechSynthesisUtterance_lang_Setter(this, value);
@DomName('SpeechSynthesisUtterance.pitch')
@DocsEditable()
num get pitch => _blink.Native_SpeechSynthesisUtterance_pitch_Getter(this);
@DomName('SpeechSynthesisUtterance.pitch')
@DocsEditable()
void set pitch(num value) => _blink.Native_SpeechSynthesisUtterance_pitch_Setter(this, value);
@DomName('SpeechSynthesisUtterance.rate')
@DocsEditable()
num get rate => _blink.Native_SpeechSynthesisUtterance_rate_Getter(this);
@DomName('SpeechSynthesisUtterance.rate')
@DocsEditable()
void set rate(num value) => _blink.Native_SpeechSynthesisUtterance_rate_Setter(this, value);
@DomName('SpeechSynthesisUtterance.text')
@DocsEditable()
String get text => _blink.Native_SpeechSynthesisUtterance_text_Getter(this);
@DomName('SpeechSynthesisUtterance.text')
@DocsEditable()
void set text(String value) => _blink.Native_SpeechSynthesisUtterance_text_Setter(this, value);
@DomName('SpeechSynthesisUtterance.voice')
@DocsEditable()
SpeechSynthesisVoice get voice => _blink.Native_SpeechSynthesisUtterance_voice_Getter(this);
@DomName('SpeechSynthesisUtterance.voice')
@DocsEditable()
void set voice(SpeechSynthesisVoice value) => _blink.Native_SpeechSynthesisUtterance_voice_Setter(this, value);
@DomName('SpeechSynthesisUtterance.volume')
@DocsEditable()
num get volume => _blink.Native_SpeechSynthesisUtterance_volume_Getter(this);
@DomName('SpeechSynthesisUtterance.volume')
@DocsEditable()
void set volume(num value) => _blink.Native_SpeechSynthesisUtterance_volume_Setter(this, value);
/// Stream of `boundary` events handled by this [SpeechSynthesisUtterance].
@DomName('SpeechSynthesisUtterance.onboundary')
@DocsEditable()
Stream<SpeechSynthesisEvent> get onBoundary => boundaryEvent.forTarget(this);
/// Stream of `end` events handled by this [SpeechSynthesisUtterance].
@DomName('SpeechSynthesisUtterance.onend')
@DocsEditable()
Stream<SpeechSynthesisEvent> get onEnd => endEvent.forTarget(this);
/// Stream of `error` events handled by this [SpeechSynthesisUtterance].
@DomName('SpeechSynthesisUtterance.onerror')
@DocsEditable()
Stream<Event> get onError => errorEvent.forTarget(this);
/// Stream of `mark` events handled by this [SpeechSynthesisUtterance].
@DomName('SpeechSynthesisUtterance.onmark')
@DocsEditable()
Stream<SpeechSynthesisEvent> get onMark => markEvent.forTarget(this);
/// Stream of `pause` events handled by this [SpeechSynthesisUtterance].
@DomName('SpeechSynthesisUtterance.onpause')
@DocsEditable()
Stream<Event> get onPause => pauseEvent.forTarget(this);
/// Stream of `resume` events handled by this [SpeechSynthesisUtterance].
@DomName('SpeechSynthesisUtterance.onresume')
@DocsEditable()
Stream<SpeechSynthesisEvent> get onResume => resumeEvent.forTarget(this);
/// Stream of `start` events handled by this [SpeechSynthesisUtterance].
@DomName('SpeechSynthesisUtterance.onstart')
@DocsEditable()
Stream<SpeechSynthesisEvent> get onStart => startEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('SpeechSynthesisVoice')
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section
@Experimental()
class SpeechSynthesisVoice extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory SpeechSynthesisVoice._() { throw new UnsupportedError("Not supported"); }
@DomName('SpeechSynthesisVoice.default')
@DocsEditable()
bool get defaultValue => _blink.Native_SpeechSynthesisVoice_default_Getter(this);
@DomName('SpeechSynthesisVoice.lang')
@DocsEditable()
String get lang => _blink.Native_SpeechSynthesisVoice_lang_Getter(this);
@DomName('SpeechSynthesisVoice.localService')
@DocsEditable()
bool get localService => _blink.Native_SpeechSynthesisVoice_localService_Getter(this);
@DomName('SpeechSynthesisVoice.name')
@DocsEditable()
String get name => _blink.Native_SpeechSynthesisVoice_name_Getter(this);
@DomName('SpeechSynthesisVoice.voiceURI')
@DocsEditable()
String get voiceUri => _blink.Native_SpeechSynthesisVoice_voiceURI_Getter(this);
}
// 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.
/**
* The type used by the
* [Window.localStorage] and [Window.sessionStorage] properties.
* Storage is implemented as a Map&lt;String, String>.
*
* To store and get values, use Dart's built-in map syntax:
*
* window.localStorage['key1'] = 'val1';
* window.localStorage['key2'] = 'val2';
* window.localStorage['key3'] = 'val3';
* assert(window.localStorage['key3'] == 'val3');
*
* You can use [Map](http://api.dartlang.org/dart_core/Map.html) APIs
* such as containsValue(), clear(), and length:
*
* assert(window.localStorage.containsValue('does not exist') == false);
* window.localStorage.clear();
* assert(window.localStorage.length == 0);
*
* For more examples of using this API, see
* [localstorage_test.dart](http://code.google.com/p/dart/source/browse/branches/bleeding_edge/dart/tests/html/localstorage_test.dart).
* For details on using the Map API, see the
* [Maps](http://www.dartlang.org/docs/library-tour/#maps-aka-dictionaries-or-hashes)
* section of the library tour.
*/
@DomName('Storage')
@Unstable()
class Storage extends NativeFieldWrapperClass2
implements Map<String, String> {
void addAll(Map<String, String> other) {
other.forEach((k, v) { this[k] = v; });
}
// TODO(nweiz): update this when maps support lazy iteration
bool containsValue(String value) => values.any((e) => e == value);
bool containsKey(String key) => _getItem(key) != null;
String operator [](String key) => _getItem(key);
void operator []=(String key, String value) { _setItem(key, value); }
String putIfAbsent(String key, String ifAbsent()) {
if (!containsKey(key)) this[key] = ifAbsent();
return this[key];
}
String remove(String key) {
final value = this[key];
_removeItem(key);
return value;
}
void clear() => _clear();
void forEach(void f(String key, String value)) {
for (var i = 0; true; i++) {
final key = _key(i);
if (key == null) return;
f(key, this[key]);
}
}
Iterable<String> get keys {
final keys = [];
forEach((k, v) => keys.add(k));
return keys;
}
Iterable<String> get values {
final values = [];
forEach((k, v) => values.add(v));
return values;
}
int get length => _length;
bool get isEmpty => _key(0) == null;
bool get isNotEmpty => !isEmpty;
// To suppress missing implicit constructor warnings.
factory Storage._() { throw new UnsupportedError("Not supported"); }
@DomName('Storage.length')
@DocsEditable()
int get _length => _blink.Native_Storage_length_Getter(this);
bool __delete__(index_OR_name) => _blink.Native_Storage___delete__(this, index_OR_name);
String __getter__(index_OR_name) => _blink.Native_Storage___getter__(this, index_OR_name);
void __setter__(index_OR_name, String value) => _blink.Native_Storage___setter__(this, index_OR_name, value);
@DomName('Storage.clear')
@DocsEditable()
void _clear() => _blink.Native_Storage_clear_Callback(this);
@DomName('Storage.getItem')
@DocsEditable()
String _getItem(String key) => _blink.Native_Storage_getItem_Callback(this, key);
@DomName('Storage.key')
@DocsEditable()
String _key(int index) => _blink.Native_Storage_key_Callback(this, index);
@DomName('Storage.removeItem')
@DocsEditable()
void _removeItem(String key) => _blink.Native_Storage_removeItem_Callback(this, key);
@DomName('Storage.setItem')
@DocsEditable()
void _setItem(String key, String data) => _blink.Native_Storage_setItem_Callback(this, key, data);
}
// 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.
@DomName('StorageErrorCallback')
// http://www.w3.org/TR/quota-api/#storageerrorcallback-callback
@Experimental()
typedef void StorageErrorCallback(DomError error);
// Copyright (c) 2013, 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.
@DomName('StorageEvent')
@Unstable()
class StorageEvent extends Event {
factory StorageEvent(String type,
{bool canBubble: false, bool cancelable: false, String key, String oldValue,
String newValue, String url, Storage storageArea}) {
var e = document._createEvent("StorageEvent");
e._initStorageEvent(type, canBubble, cancelable, key, oldValue,
newValue, url, storageArea);
return e;
}
// To suppress missing implicit constructor warnings.
factory StorageEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('StorageEvent.key')
@DocsEditable()
String get key => _blink.Native_StorageEvent_key_Getter(this);
@DomName('StorageEvent.newValue')
@DocsEditable()
String get newValue => _blink.Native_StorageEvent_newValue_Getter(this);
@DomName('StorageEvent.oldValue')
@DocsEditable()
String get oldValue => _blink.Native_StorageEvent_oldValue_Getter(this);
@DomName('StorageEvent.storageArea')
@DocsEditable()
Storage get storageArea => _blink.Native_StorageEvent_storageArea_Getter(this);
@DomName('StorageEvent.url')
@DocsEditable()
String get url => _blink.Native_StorageEvent_url_Getter(this);
@DomName('StorageEvent.initStorageEvent')
@DocsEditable()
void _initStorageEvent(String typeArg, bool canBubbleArg, bool cancelableArg, String keyArg, String oldValueArg, String newValueArg, String urlArg, Storage storageAreaArg) => _blink.Native_StorageEvent_initStorageEvent_Callback(this, typeArg, canBubbleArg, cancelableArg, keyArg, oldValueArg, newValueArg, urlArg, storageAreaArg);
}
// 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.
@DocsEditable()
@DomName('StorageInfo')
// http://www.w3.org/TR/file-system-api/
@Experimental()
class StorageInfo extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory StorageInfo._() { throw new UnsupportedError("Not supported"); }
@DomName('StorageInfo.quota')
@DocsEditable()
@Experimental() // untriaged
int get quota => _blink.Native_StorageInfo_quota_Getter(this);
@DomName('StorageInfo.usage')
@DocsEditable()
@Experimental() // untriaged
int get usage => _blink.Native_StorageInfo_usage_Getter(this);
}
// 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.
@DocsEditable()
@DomName('StorageQuota')
// http://www.w3.org/TR/quota-api/#idl-def-StorageQuota
@Experimental()
class StorageQuota extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory StorageQuota._() { throw new UnsupportedError("Not supported"); }
@DomName('StorageQuota.supportedTypes')
@DocsEditable()
@Experimental() // untriaged
List<String> get supportedTypes => _blink.Native_StorageQuota_supportedTypes_Getter(this);
}
// 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.
@DomName('StorageQuotaCallback')
// http://www.w3.org/TR/quota-api/#idl-def-StorageQuotaCallback
@Experimental()
typedef void StorageQuotaCallback(int grantedQuotaInBytes);
// 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.
@DomName('StorageUsageCallback')
// http://www.w3.org/TR/quota-api/#idl-def-StorageUsageCallback
@Experimental()
typedef void StorageUsageCallback(int currentUsageInBytes, int currentQuotaInBytes);
// 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.
@DomName('StringCallback')
// http://www.w3.org/TR/2011/WD-html5-20110113/dnd.html#the-datatransferitem-interface
@Experimental()
typedef void _StringCallback(String data);
// 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.
@DocsEditable()
@DomName('HTMLStyleElement')
class StyleElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory StyleElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLStyleElement.HTMLStyleElement')
@DocsEditable()
factory StyleElement() => document.createElement("style");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
StyleElement.created() : super.created();
@DomName('HTMLStyleElement.disabled')
@DocsEditable()
bool get disabled => _blink.Native_HTMLStyleElement_disabled_Getter(this);
@DomName('HTMLStyleElement.disabled')
@DocsEditable()
void set disabled(bool value) => _blink.Native_HTMLStyleElement_disabled_Setter(this, value);
@DomName('HTMLStyleElement.media')
@DocsEditable()
String get media => _blink.Native_HTMLStyleElement_media_Getter(this);
@DomName('HTMLStyleElement.media')
@DocsEditable()
void set media(String value) => _blink.Native_HTMLStyleElement_media_Setter(this, value);
@DomName('HTMLStyleElement.scoped')
@DocsEditable()
bool get scoped => _blink.Native_HTMLStyleElement_scoped_Getter(this);
@DomName('HTMLStyleElement.scoped')
@DocsEditable()
void set scoped(bool value) => _blink.Native_HTMLStyleElement_scoped_Setter(this, value);
@DomName('HTMLStyleElement.sheet')
@DocsEditable()
StyleSheet get sheet => _blink.Native_HTMLStyleElement_sheet_Getter(this);
@DomName('HTMLStyleElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLStyleElement_type_Getter(this);
@DomName('HTMLStyleElement.type')
@DocsEditable()
void set type(String value) => _blink.Native_HTMLStyleElement_type_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('StyleMedia')
// http://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/StyleMedia/StyleMedia/StyleMedia.html
@Experimental() // nonstandard
class StyleMedia extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory StyleMedia._() { throw new UnsupportedError("Not supported"); }
@DomName('StyleMedia.type')
@DocsEditable()
String get type => _blink.Native_StyleMedia_type_Getter(this);
@DomName('StyleMedia.matchMedium')
@DocsEditable()
bool matchMedium(String mediaquery) => _blink.Native_StyleMedia_matchMedium_Callback(this, mediaquery);
}
// 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.
@DocsEditable()
@DomName('StyleSheet')
class StyleSheet extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory StyleSheet._() { throw new UnsupportedError("Not supported"); }
@DomName('StyleSheet.disabled')
@DocsEditable()
bool get disabled => _blink.Native_StyleSheet_disabled_Getter(this);
@DomName('StyleSheet.disabled')
@DocsEditable()
void set disabled(bool value) => _blink.Native_StyleSheet_disabled_Setter(this, value);
@DomName('StyleSheet.href')
@DocsEditable()
String get href => _blink.Native_StyleSheet_href_Getter(this);
@DomName('StyleSheet.media')
@DocsEditable()
MediaList get media => _blink.Native_StyleSheet_media_Getter(this);
@DomName('StyleSheet.ownerNode')
@DocsEditable()
Node get ownerNode => _blink.Native_StyleSheet_ownerNode_Getter(this);
@DomName('StyleSheet.parentStyleSheet')
@DocsEditable()
StyleSheet get parentStyleSheet => _blink.Native_StyleSheet_parentStyleSheet_Getter(this);
@DomName('StyleSheet.title')
@DocsEditable()
String get title => _blink.Native_StyleSheet_title_Getter(this);
@DomName('StyleSheet.type')
@DocsEditable()
String get type => _blink.Native_StyleSheet_type_Getter(this);
}
// 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.
@DocsEditable()
@DomName('HTMLTableCaptionElement')
class TableCaptionElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory TableCaptionElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLTableCaptionElement.HTMLTableCaptionElement')
@DocsEditable()
factory TableCaptionElement() => document.createElement("caption");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
TableCaptionElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('HTMLTableCellElement')
class TableCellElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory TableCellElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLTableCellElement.HTMLTableCellElement')
@DocsEditable()
factory TableCellElement() => document.createElement("td");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
TableCellElement.created() : super.created();
@DomName('HTMLTableCellElement.cellIndex')
@DocsEditable()
int get cellIndex => _blink.Native_HTMLTableCellElement_cellIndex_Getter(this);
@DomName('HTMLTableCellElement.colSpan')
@DocsEditable()
int get colSpan => _blink.Native_HTMLTableCellElement_colSpan_Getter(this);
@DomName('HTMLTableCellElement.colSpan')
@DocsEditable()
void set colSpan(int value) => _blink.Native_HTMLTableCellElement_colSpan_Setter(this, value);
@DomName('HTMLTableCellElement.headers')
@DocsEditable()
String get headers => _blink.Native_HTMLTableCellElement_headers_Getter(this);
@DomName('HTMLTableCellElement.headers')
@DocsEditable()
void set headers(String value) => _blink.Native_HTMLTableCellElement_headers_Setter(this, value);
@DomName('HTMLTableCellElement.rowSpan')
@DocsEditable()
int get rowSpan => _blink.Native_HTMLTableCellElement_rowSpan_Getter(this);
@DomName('HTMLTableCellElement.rowSpan')
@DocsEditable()
void set rowSpan(int value) => _blink.Native_HTMLTableCellElement_rowSpan_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('HTMLTableColElement')
class TableColElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory TableColElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLTableColElement.HTMLTableColElement')
@DocsEditable()
factory TableColElement() => document.createElement("col");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
TableColElement.created() : super.created();
@DomName('HTMLTableColElement.span')
@DocsEditable()
int get span => _blink.Native_HTMLTableColElement_span_Getter(this);
@DomName('HTMLTableColElement.span')
@DocsEditable()
void set span(int value) => _blink.Native_HTMLTableColElement_span_Setter(this, value);
}
// Copyright (c) 2013, 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.
@DocsEditable()
@DomName('HTMLTableElement')
class TableElement extends HtmlElement {
@DomName('HTMLTableElement.tBodies')
List<TableSectionElement> get tBodies =>
new _WrappedList<TableSectionElement>(_tBodies);
@DomName('HTMLTableElement.rows')
List<TableRowElement> get rows =>
new _WrappedList<TableRowElement>(_rows);
TableRowElement addRow() {
return insertRow(-1);
}
TableCaptionElement createCaption() => _createCaption();
TableSectionElement createTBody() => _createTBody();
TableSectionElement createTFoot() => _createTFoot();
TableSectionElement createTHead() => _createTHead();
TableRowElement insertRow(int index) => _insertRow(index);
// To suppress missing implicit constructor warnings.
factory TableElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLTableElement.HTMLTableElement')
@DocsEditable()
factory TableElement() => document.createElement("table");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
TableElement.created() : super.created();
@DomName('HTMLTableElement.caption')
@DocsEditable()
TableCaptionElement get caption => _blink.Native_HTMLTableElement_caption_Getter(this);
@DomName('HTMLTableElement.caption')
@DocsEditable()
void set caption(TableCaptionElement value) => _blink.Native_HTMLTableElement_caption_Setter(this, value);
@DomName('HTMLTableElement.rows')
@DocsEditable()
List<Node> get _rows => _blink.Native_HTMLTableElement_rows_Getter(this);
@DomName('HTMLTableElement.tBodies')
@DocsEditable()
List<Node> get _tBodies => _blink.Native_HTMLTableElement_tBodies_Getter(this);
@DomName('HTMLTableElement.tFoot')
@DocsEditable()
TableSectionElement get tFoot => _blink.Native_HTMLTableElement_tFoot_Getter(this);
@DomName('HTMLTableElement.tFoot')
@DocsEditable()
void set tFoot(TableSectionElement value) => _blink.Native_HTMLTableElement_tFoot_Setter(this, value);
@DomName('HTMLTableElement.tHead')
@DocsEditable()
TableSectionElement get tHead => _blink.Native_HTMLTableElement_tHead_Getter(this);
@DomName('HTMLTableElement.tHead')
@DocsEditable()
void set tHead(TableSectionElement value) => _blink.Native_HTMLTableElement_tHead_Setter(this, value);
@DomName('HTMLTableElement.createCaption')
@DocsEditable()
HtmlElement _createCaption() => _blink.Native_HTMLTableElement_createCaption_Callback(this);
@DomName('HTMLTableElement.createTBody')
@DocsEditable()
HtmlElement _createTBody() => _blink.Native_HTMLTableElement_createTBody_Callback(this);
@DomName('HTMLTableElement.createTFoot')
@DocsEditable()
HtmlElement _createTFoot() => _blink.Native_HTMLTableElement_createTFoot_Callback(this);
@DomName('HTMLTableElement.createTHead')
@DocsEditable()
HtmlElement _createTHead() => _blink.Native_HTMLTableElement_createTHead_Callback(this);
@DomName('HTMLTableElement.deleteCaption')
@DocsEditable()
void deleteCaption() => _blink.Native_HTMLTableElement_deleteCaption_Callback(this);
@DomName('HTMLTableElement.deleteRow')
@DocsEditable()
void deleteRow(int index) => _blink.Native_HTMLTableElement_deleteRow_Callback(this, index);
@DomName('HTMLTableElement.deleteTFoot')
@DocsEditable()
void deleteTFoot() => _blink.Native_HTMLTableElement_deleteTFoot_Callback(this);
@DomName('HTMLTableElement.deleteTHead')
@DocsEditable()
void deleteTHead() => _blink.Native_HTMLTableElement_deleteTHead_Callback(this);
@DomName('HTMLTableElement.insertRow')
@DocsEditable()
HtmlElement _insertRow(int index) => _blink.Native_HTMLTableElement_insertRow_Callback(this, index);
}
// Copyright (c) 2013, 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.
@DocsEditable()
@DomName('HTMLTableRowElement')
class TableRowElement extends HtmlElement {
@DomName('HTMLTableRowElement.cells')
List<TableCellElement> get cells =>
new _WrappedList<TableCellElement>(_cells);
TableCellElement addCell() {
return insertCell(-1);
}
TableCellElement insertCell(int index) => _insertCell(index);
// To suppress missing implicit constructor warnings.
factory TableRowElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLTableRowElement.HTMLTableRowElement')
@DocsEditable()
factory TableRowElement() => document.createElement("tr");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
TableRowElement.created() : super.created();
@DomName('HTMLTableRowElement.cells')
@DocsEditable()
List<Node> get _cells => _blink.Native_HTMLTableRowElement_cells_Getter(this);
@DomName('HTMLTableRowElement.rowIndex')
@DocsEditable()
int get rowIndex => _blink.Native_HTMLTableRowElement_rowIndex_Getter(this);
@DomName('HTMLTableRowElement.sectionRowIndex')
@DocsEditable()
int get sectionRowIndex => _blink.Native_HTMLTableRowElement_sectionRowIndex_Getter(this);
@DomName('HTMLTableRowElement.deleteCell')
@DocsEditable()
void deleteCell(int index) => _blink.Native_HTMLTableRowElement_deleteCell_Callback(this, index);
@DomName('HTMLTableRowElement.insertCell')
@DocsEditable()
HtmlElement _insertCell(int index) => _blink.Native_HTMLTableRowElement_insertCell_Callback(this, index);
}
// Copyright (c) 2013, 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.
@DocsEditable()
@DomName('HTMLTableSectionElement')
class TableSectionElement extends HtmlElement {
@DomName('HTMLTableSectionElement.rows')
List<TableRowElement> get rows =>
new _WrappedList<TableRowElement>(_rows);
TableRowElement addRow() {
return insertRow(-1);
}
TableRowElement insertRow(int index) => _insertRow(index);
// To suppress missing implicit constructor warnings.
factory TableSectionElement._() { throw new UnsupportedError("Not supported"); }
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
TableSectionElement.created() : super.created();
@DomName('HTMLTableSectionElement.rows')
@DocsEditable()
List<Node> get _rows => _blink.Native_HTMLTableSectionElement_rows_Getter(this);
@DomName('HTMLTableSectionElement.deleteRow')
@DocsEditable()
void deleteRow(int index) => _blink.Native_HTMLTableSectionElement_deleteRow_Callback(this, index);
@DomName('HTMLTableSectionElement.insertRow')
@DocsEditable()
HtmlElement _insertRow(int index) => _blink.Native_HTMLTableSectionElement_insertRow_Callback(this, index);
}
// Copyright (c) 2013, 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.
@Experimental()
@DomName('HTMLTemplateElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html#template-element
class TemplateElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory TemplateElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLTemplateElement.HTMLTemplateElement')
@DocsEditable()
factory TemplateElement() => document.createElement("template");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
TemplateElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLTemplateElement.content')
@DocsEditable()
DocumentFragment get content => _blink.Native_HTMLTemplateElement_content_Getter(this);
/**
* An override to place the contents into content rather than as child nodes.
*
* See also:
*
* * <https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/templates/index.html#innerhtml-on-templates>
*/
void setInnerHtml(String html,
{NodeValidator validator, NodeTreeSanitizer treeSanitizer}) {
text = null;
var fragment = createFragment(
html, validator: validator, treeSanitizer: treeSanitizer);
content.append(fragment);
}
}
// 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.
@DomName('Text')
class Text extends CharacterData {
factory Text(String data) => document._createTextNode(data);
// To suppress missing implicit constructor warnings.
factory Text._() { throw new UnsupportedError("Not supported"); }
@DomName('Text.wholeText')
@DocsEditable()
String get wholeText => _blink.Native_Text_wholeText_Getter(this);
@DomName('Text.getDestinationInsertionPoints')
@DocsEditable()
@Experimental() // untriaged
List<Node> getDestinationInsertionPoints() => _blink.Native_Text_getDestinationInsertionPoints_Callback(this);
@DomName('Text.splitText')
@DocsEditable()
Text splitText(int offset) => _blink.Native_Text_splitText_Callback(this, offset);
}
// 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.
@DocsEditable()
@DomName('HTMLTextAreaElement')
class TextAreaElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory TextAreaElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLTextAreaElement.HTMLTextAreaElement')
@DocsEditable()
factory TextAreaElement() => document.createElement("textarea");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
TextAreaElement.created() : super.created();
@DomName('HTMLTextAreaElement.autofocus')
@DocsEditable()
bool get autofocus => _blink.Native_HTMLTextAreaElement_autofocus_Getter(this);
@DomName('HTMLTextAreaElement.autofocus')
@DocsEditable()
void set autofocus(bool value) => _blink.Native_HTMLTextAreaElement_autofocus_Setter(this, value);
@DomName('HTMLTextAreaElement.cols')
@DocsEditable()
int get cols => _blink.Native_HTMLTextAreaElement_cols_Getter(this);
@DomName('HTMLTextAreaElement.cols')
@DocsEditable()
void set cols(int value) => _blink.Native_HTMLTextAreaElement_cols_Setter(this, value);
@DomName('HTMLTextAreaElement.defaultValue')
@DocsEditable()
String get defaultValue => _blink.Native_HTMLTextAreaElement_defaultValue_Getter(this);
@DomName('HTMLTextAreaElement.defaultValue')
@DocsEditable()
void set defaultValue(String value) => _blink.Native_HTMLTextAreaElement_defaultValue_Setter(this, value);
@DomName('HTMLTextAreaElement.dirName')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-textarea-dirname
@Experimental()
String get dirName => _blink.Native_HTMLTextAreaElement_dirName_Getter(this);
@DomName('HTMLTextAreaElement.dirName')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-textarea-dirname
@Experimental()
void set dirName(String value) => _blink.Native_HTMLTextAreaElement_dirName_Setter(this, value);
@DomName('HTMLTextAreaElement.disabled')
@DocsEditable()
bool get disabled => _blink.Native_HTMLTextAreaElement_disabled_Getter(this);
@DomName('HTMLTextAreaElement.disabled')
@DocsEditable()
void set disabled(bool value) => _blink.Native_HTMLTextAreaElement_disabled_Setter(this, value);
@DomName('HTMLTextAreaElement.form')
@DocsEditable()
FormElement get form => _blink.Native_HTMLTextAreaElement_form_Getter(this);
@DomName('HTMLTextAreaElement.inputMode')
@DocsEditable()
@Experimental() // untriaged
String get inputMode => _blink.Native_HTMLTextAreaElement_inputMode_Getter(this);
@DomName('HTMLTextAreaElement.inputMode')
@DocsEditable()
@Experimental() // untriaged
void set inputMode(String value) => _blink.Native_HTMLTextAreaElement_inputMode_Setter(this, value);
@DomName('HTMLTextAreaElement.labels')
@DocsEditable()
@Unstable()
List<Node> get labels => _blink.Native_HTMLTextAreaElement_labels_Getter(this);
@DomName('HTMLTextAreaElement.maxLength')
@DocsEditable()
int get maxLength => _blink.Native_HTMLTextAreaElement_maxLength_Getter(this);
@DomName('HTMLTextAreaElement.maxLength')
@DocsEditable()
void set maxLength(int value) => _blink.Native_HTMLTextAreaElement_maxLength_Setter(this, value);
@DomName('HTMLTextAreaElement.name')
@DocsEditable()
String get name => _blink.Native_HTMLTextAreaElement_name_Getter(this);
@DomName('HTMLTextAreaElement.name')
@DocsEditable()
void set name(String value) => _blink.Native_HTMLTextAreaElement_name_Setter(this, value);
@DomName('HTMLTextAreaElement.placeholder')
@DocsEditable()
String get placeholder => _blink.Native_HTMLTextAreaElement_placeholder_Getter(this);
@DomName('HTMLTextAreaElement.placeholder')
@DocsEditable()
void set placeholder(String value) => _blink.Native_HTMLTextAreaElement_placeholder_Setter(this, value);
@DomName('HTMLTextAreaElement.readOnly')
@DocsEditable()
bool get readOnly => _blink.Native_HTMLTextAreaElement_readOnly_Getter(this);
@DomName('HTMLTextAreaElement.readOnly')
@DocsEditable()
void set readOnly(bool value) => _blink.Native_HTMLTextAreaElement_readOnly_Setter(this, value);
@DomName('HTMLTextAreaElement.required')
@DocsEditable()
bool get required => _blink.Native_HTMLTextAreaElement_required_Getter(this);
@DomName('HTMLTextAreaElement.required')
@DocsEditable()
void set required(bool value) => _blink.Native_HTMLTextAreaElement_required_Setter(this, value);
@DomName('HTMLTextAreaElement.rows')
@DocsEditable()
int get rows => _blink.Native_HTMLTextAreaElement_rows_Getter(this);
@DomName('HTMLTextAreaElement.rows')
@DocsEditable()
void set rows(int value) => _blink.Native_HTMLTextAreaElement_rows_Setter(this, value);
@DomName('HTMLTextAreaElement.selectionDirection')
@DocsEditable()
String get selectionDirection => _blink.Native_HTMLTextAreaElement_selectionDirection_Getter(this);
@DomName('HTMLTextAreaElement.selectionDirection')
@DocsEditable()
void set selectionDirection(String value) => _blink.Native_HTMLTextAreaElement_selectionDirection_Setter(this, value);
@DomName('HTMLTextAreaElement.selectionEnd')
@DocsEditable()
int get selectionEnd => _blink.Native_HTMLTextAreaElement_selectionEnd_Getter(this);
@DomName('HTMLTextAreaElement.selectionEnd')
@DocsEditable()
void set selectionEnd(int value) => _blink.Native_HTMLTextAreaElement_selectionEnd_Setter(this, value);
@DomName('HTMLTextAreaElement.selectionStart')
@DocsEditable()
int get selectionStart => _blink.Native_HTMLTextAreaElement_selectionStart_Getter(this);
@DomName('HTMLTextAreaElement.selectionStart')
@DocsEditable()
void set selectionStart(int value) => _blink.Native_HTMLTextAreaElement_selectionStart_Setter(this, value);
@DomName('HTMLTextAreaElement.textLength')
@DocsEditable()
int get textLength => _blink.Native_HTMLTextAreaElement_textLength_Getter(this);
@DomName('HTMLTextAreaElement.type')
@DocsEditable()
String get type => _blink.Native_HTMLTextAreaElement_type_Getter(this);
@DomName('HTMLTextAreaElement.validationMessage')
@DocsEditable()
String get validationMessage => _blink.Native_HTMLTextAreaElement_validationMessage_Getter(this);
@DomName('HTMLTextAreaElement.validity')
@DocsEditable()
ValidityState get validity => _blink.Native_HTMLTextAreaElement_validity_Getter(this);
@DomName('HTMLTextAreaElement.value')
@DocsEditable()
String get value => _blink.Native_HTMLTextAreaElement_value_Getter(this);
@DomName('HTMLTextAreaElement.value')
@DocsEditable()
void set value(String value) => _blink.Native_HTMLTextAreaElement_value_Setter(this, value);
@DomName('HTMLTextAreaElement.willValidate')
@DocsEditable()
bool get willValidate => _blink.Native_HTMLTextAreaElement_willValidate_Getter(this);
@DomName('HTMLTextAreaElement.wrap')
@DocsEditable()
String get wrap => _blink.Native_HTMLTextAreaElement_wrap_Getter(this);
@DomName('HTMLTextAreaElement.wrap')
@DocsEditable()
void set wrap(String value) => _blink.Native_HTMLTextAreaElement_wrap_Setter(this, value);
@DomName('HTMLTextAreaElement.checkValidity')
@DocsEditable()
bool checkValidity() => _blink.Native_HTMLTextAreaElement_checkValidity_Callback(this);
@DomName('HTMLTextAreaElement.select')
@DocsEditable()
void select() => _blink.Native_HTMLTextAreaElement_select_Callback(this);
@DomName('HTMLTextAreaElement.setCustomValidity')
@DocsEditable()
void setCustomValidity(String error) => _blink.Native_HTMLTextAreaElement_setCustomValidity_Callback(this, error);
void setRangeText(String replacement, {int start, int end, String selectionMode}) => _blink.Native_HTMLTextAreaElement_setRangeText(this, replacement, start, end, selectionMode);
void setSelectionRange(int start, int end, [String direction]) => _blink.Native_HTMLTextAreaElement_setSelectionRange(this, start, end, direction);
}
// Copyright (c) 2013, 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.
@DomName('TextEvent')
@Unstable()
class TextEvent extends UIEvent {
factory TextEvent(String type,
{bool canBubble: false, bool cancelable: false, Window view, String data}) {
if (view == null) {
view = window;
}
var e = document._createEvent("TextEvent");
e._initTextEvent(type, canBubble, cancelable, view, data);
return e;
}
// To suppress missing implicit constructor warnings.
factory TextEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('TextEvent.data')
@DocsEditable()
String get data => _blink.Native_TextEvent_data_Getter(this);
@DomName('TextEvent.initTextEvent')
@DocsEditable()
void _initTextEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Window viewArg, String dataArg) => _blink.Native_TextEvent_initTextEvent_Callback(this, typeArg, canBubbleArg, cancelableArg, viewArg, dataArg);
}
// 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.
@DocsEditable()
@DomName('TextMetrics')
class TextMetrics extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory TextMetrics._() { throw new UnsupportedError("Not supported"); }
@DomName('TextMetrics.width')
@DocsEditable()
double get width => _blink.Native_TextMetrics_width_Getter(this);
}
// 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.
@DocsEditable()
@DomName('TextTrack')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrack
@Experimental()
class TextTrack extends EventTarget {
// To suppress missing implicit constructor warnings.
factory TextTrack._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `cuechange` events to event
* handlers that are not necessarily instances of [TextTrack].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('TextTrack.cuechangeEvent')
@DocsEditable()
static const EventStreamProvider<Event> cueChangeEvent = const EventStreamProvider<Event>('cuechange');
@DomName('TextTrack.activeCues')
@DocsEditable()
TextTrackCueList get activeCues => _blink.Native_TextTrack_activeCues_Getter(this);
@DomName('TextTrack.cues')
@DocsEditable()
TextTrackCueList get cues => _blink.Native_TextTrack_cues_Getter(this);
@DomName('TextTrack.id')
@DocsEditable()
@Experimental() // untriaged
String get id => _blink.Native_TextTrack_id_Getter(this);
@DomName('TextTrack.kind')
@DocsEditable()
String get kind => _blink.Native_TextTrack_kind_Getter(this);
@DomName('TextTrack.label')
@DocsEditable()
String get label => _blink.Native_TextTrack_label_Getter(this);
@DomName('TextTrack.language')
@DocsEditable()
String get language => _blink.Native_TextTrack_language_Getter(this);
@DomName('TextTrack.mode')
@DocsEditable()
String get mode => _blink.Native_TextTrack_mode_Getter(this);
@DomName('TextTrack.mode')
@DocsEditable()
void set mode(String value) => _blink.Native_TextTrack_mode_Setter(this, value);
@DomName('TextTrack.regions')
@DocsEditable()
@Experimental() // untriaged
VttRegionList get regions => _blink.Native_TextTrack_regions_Getter(this);
@DomName('TextTrack.addCue')
@DocsEditable()
void addCue(TextTrackCue cue) => _blink.Native_TextTrack_addCue_Callback(this, cue);
@DomName('TextTrack.addRegion')
@DocsEditable()
@Experimental() // untriaged
void addRegion(VttRegion region) => _blink.Native_TextTrack_addRegion_Callback(this, region);
@DomName('TextTrack.removeCue')
@DocsEditable()
void removeCue(TextTrackCue cue) => _blink.Native_TextTrack_removeCue_Callback(this, cue);
@DomName('TextTrack.removeRegion')
@DocsEditable()
@Experimental() // untriaged
void removeRegion(VttRegion region) => _blink.Native_TextTrack_removeRegion_Callback(this, region);
/// Stream of `cuechange` events handled by this [TextTrack].
@DomName('TextTrack.oncuechange')
@DocsEditable()
Stream<Event> get onCueChange => cueChangeEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('TextTrackCue')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue
@Experimental()
class TextTrackCue extends EventTarget {
// To suppress missing implicit constructor warnings.
factory TextTrackCue._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `enter` events to event
* handlers that are not necessarily instances of [TextTrackCue].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('TextTrackCue.enterEvent')
@DocsEditable()
static const EventStreamProvider<Event> enterEvent = const EventStreamProvider<Event>('enter');
/**
* Static factory designed to expose `exit` events to event
* handlers that are not necessarily instances of [TextTrackCue].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('TextTrackCue.exitEvent')
@DocsEditable()
static const EventStreamProvider<Event> exitEvent = const EventStreamProvider<Event>('exit');
@DomName('TextTrackCue.endTime')
@DocsEditable()
num get endTime => _blink.Native_TextTrackCue_endTime_Getter(this);
@DomName('TextTrackCue.endTime')
@DocsEditable()
void set endTime(num value) => _blink.Native_TextTrackCue_endTime_Setter(this, value);
@DomName('TextTrackCue.id')
@DocsEditable()
String get id => _blink.Native_TextTrackCue_id_Getter(this);
@DomName('TextTrackCue.id')
@DocsEditable()
void set id(String value) => _blink.Native_TextTrackCue_id_Setter(this, value);
@DomName('TextTrackCue.pauseOnExit')
@DocsEditable()
bool get pauseOnExit => _blink.Native_TextTrackCue_pauseOnExit_Getter(this);
@DomName('TextTrackCue.pauseOnExit')
@DocsEditable()
void set pauseOnExit(bool value) => _blink.Native_TextTrackCue_pauseOnExit_Setter(this, value);
@DomName('TextTrackCue.startTime')
@DocsEditable()
num get startTime => _blink.Native_TextTrackCue_startTime_Getter(this);
@DomName('TextTrackCue.startTime')
@DocsEditable()
void set startTime(num value) => _blink.Native_TextTrackCue_startTime_Setter(this, value);
@DomName('TextTrackCue.track')
@DocsEditable()
TextTrack get track => _blink.Native_TextTrackCue_track_Getter(this);
/// Stream of `enter` events handled by this [TextTrackCue].
@DomName('TextTrackCue.onenter')
@DocsEditable()
Stream<Event> get onEnter => enterEvent.forTarget(this);
/// Stream of `exit` events handled by this [TextTrackCue].
@DomName('TextTrackCue.onexit')
@DocsEditable()
Stream<Event> get onExit => exitEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('TextTrackCueList')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist
@Experimental()
class TextTrackCueList extends NativeFieldWrapperClass2 with ListMixin<TextTrackCue>, ImmutableListMixin<TextTrackCue> implements List<TextTrackCue> {
// To suppress missing implicit constructor warnings.
factory TextTrackCueList._() { throw new UnsupportedError("Not supported"); }
@DomName('TextTrackCueList.length')
@DocsEditable()
int get length => _blink.Native_TextTrackCueList_length_Getter(this);
TextTrackCue operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_TextTrackCueList_NativeIndexed_Getter(this, index);
}
TextTrackCue _nativeIndexedGetter(int index) => _blink.Native_TextTrackCueList_NativeIndexed_Getter(this, index);
void operator[]=(int index, TextTrackCue value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<TextTrackCue> mixins.
// TextTrackCue is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
TextTrackCue get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
TextTrackCue get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
TextTrackCue get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
TextTrackCue elementAt(int index) => this[index];
// -- end List<TextTrackCue> mixins.
@DomName('TextTrackCueList.getCueById')
@DocsEditable()
TextTrackCue getCueById(String id) => _blink.Native_TextTrackCueList_getCueById_Callback(this, id);
@DomName('TextTrackCueList.item')
@DocsEditable()
TextTrackCue item(int index) => _blink.Native_TextTrackCueList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('TextTrackList')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist
@Experimental()
class TextTrackList extends EventTarget with ListMixin<TextTrack>, ImmutableListMixin<TextTrack> implements List<TextTrack> {
// To suppress missing implicit constructor warnings.
factory TextTrackList._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `addtrack` events to event
* handlers that are not necessarily instances of [TextTrackList].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('TextTrackList.addtrackEvent')
@DocsEditable()
static const EventStreamProvider<TrackEvent> addTrackEvent = const EventStreamProvider<TrackEvent>('addtrack');
@DomName('TextTrackList.changeEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> changeEvent = const EventStreamProvider<Event>('change');
@DomName('TextTrackList.length')
@DocsEditable()
int get length => _blink.Native_TextTrackList_length_Getter(this);
TextTrack operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_TextTrackList_NativeIndexed_Getter(this, index);
}
TextTrack _nativeIndexedGetter(int index) => _blink.Native_TextTrackList_NativeIndexed_Getter(this, index);
void operator[]=(int index, TextTrack value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<TextTrack> mixins.
// TextTrack is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
TextTrack get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
TextTrack get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
TextTrack get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
TextTrack elementAt(int index) => this[index];
// -- end List<TextTrack> mixins.
@DomName('TextTrackList.getTrackById')
@DocsEditable()
@Experimental() // untriaged
TextTrack getTrackById(String id) => _blink.Native_TextTrackList_getTrackById_Callback(this, id);
@DomName('TextTrackList.item')
@DocsEditable()
TextTrack item(int index) => _blink.Native_TextTrackList_item_Callback(this, index);
/// Stream of `addtrack` events handled by this [TextTrackList].
@DomName('TextTrackList.onaddtrack')
@DocsEditable()
Stream<TrackEvent> get onAddTrack => addTrackEvent.forTarget(this);
@DomName('TextTrackList.onchange')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onChange => changeEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('TimeRanges')
@Unstable()
class TimeRanges extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory TimeRanges._() { throw new UnsupportedError("Not supported"); }
@DomName('TimeRanges.length')
@DocsEditable()
int get length => _blink.Native_TimeRanges_length_Getter(this);
@DomName('TimeRanges.end')
@DocsEditable()
double end(int index) => _blink.Native_TimeRanges_end_Callback(this, index);
@DomName('TimeRanges.start')
@DocsEditable()
double start(int index) => _blink.Native_TimeRanges_start_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('TimedItem')
@Experimental() // untriaged
class TimedItem extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory TimedItem._() { throw new UnsupportedError("Not supported"); }
@DomName('TimedItem.activeDuration')
@DocsEditable()
@Experimental() // untriaged
double get activeDuration => _blink.Native_TimedItem_activeDuration_Getter(this);
@DomName('TimedItem.currentIteration')
@DocsEditable()
@Experimental() // untriaged
int get currentIteration => _blink.Native_TimedItem_currentIteration_Getter(this);
@DomName('TimedItem.duration')
@DocsEditable()
@Experimental() // untriaged
double get duration => _blink.Native_TimedItem_duration_Getter(this);
@DomName('TimedItem.endTime')
@DocsEditable()
@Experimental() // untriaged
double get endTime => _blink.Native_TimedItem_endTime_Getter(this);
@DomName('TimedItem.localTime')
@DocsEditable()
@Experimental() // untriaged
double get localTime => _blink.Native_TimedItem_localTime_Getter(this);
@DomName('TimedItem.player')
@DocsEditable()
@Experimental() // untriaged
Player get player => _blink.Native_TimedItem_player_Getter(this);
@DomName('TimedItem.startTime')
@DocsEditable()
@Experimental() // untriaged
double get startTime => _blink.Native_TimedItem_startTime_Getter(this);
}
// 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.
@DocsEditable()
@DomName('Timeline')
@Experimental() // untriaged
class Timeline extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Timeline._() { throw new UnsupportedError("Not supported"); }
@DomName('Timeline.play')
@DocsEditable()
@Experimental() // untriaged
Player play(TimedItem source) => _blink.Native_Timeline_play_Callback(this, source);
}
// 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.
@DomName('TimeoutHandler')
typedef void TimeoutHandler();
// 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.
@DocsEditable()
@DomName('Timing')
@Experimental() // untriaged
class Timing extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Timing._() { throw new UnsupportedError("Not supported"); }
@DomName('Timing.delay')
@DocsEditable()
@Experimental() // untriaged
num get delay => _blink.Native_Timing_delay_Getter(this);
@DomName('Timing.delay')
@DocsEditable()
@Experimental() // untriaged
void set delay(num value) => _blink.Native_Timing_delay_Setter(this, value);
@DomName('Timing.direction')
@DocsEditable()
@Experimental() // untriaged
String get direction => _blink.Native_Timing_direction_Getter(this);
@DomName('Timing.direction')
@DocsEditable()
@Experimental() // untriaged
void set direction(String value) => _blink.Native_Timing_direction_Setter(this, value);
@DomName('Timing.easing')
@DocsEditable()
@Experimental() // untriaged
String get easing => _blink.Native_Timing_easing_Getter(this);
@DomName('Timing.easing')
@DocsEditable()
@Experimental() // untriaged
void set easing(String value) => _blink.Native_Timing_easing_Setter(this, value);
@DomName('Timing.endDelay')
@DocsEditable()
@Experimental() // untriaged
num get endDelay => _blink.Native_Timing_endDelay_Getter(this);
@DomName('Timing.endDelay')
@DocsEditable()
@Experimental() // untriaged
void set endDelay(num value) => _blink.Native_Timing_endDelay_Setter(this, value);
@DomName('Timing.fill')
@DocsEditable()
@Experimental() // untriaged
String get fill => _blink.Native_Timing_fill_Getter(this);
@DomName('Timing.fill')
@DocsEditable()
@Experimental() // untriaged
void set fill(String value) => _blink.Native_Timing_fill_Setter(this, value);
@DomName('Timing.iterationStart')
@DocsEditable()
@Experimental() // untriaged
num get iterationStart => _blink.Native_Timing_iterationStart_Getter(this);
@DomName('Timing.iterationStart')
@DocsEditable()
@Experimental() // untriaged
void set iterationStart(num value) => _blink.Native_Timing_iterationStart_Setter(this, value);
@DomName('Timing.iterations')
@DocsEditable()
@Experimental() // untriaged
num get iterations => _blink.Native_Timing_iterations_Getter(this);
@DomName('Timing.iterations')
@DocsEditable()
@Experimental() // untriaged
void set iterations(num value) => _blink.Native_Timing_iterations_Setter(this, value);
@DomName('Timing.playbackRate')
@DocsEditable()
@Experimental() // untriaged
num get playbackRate => _blink.Native_Timing_playbackRate_Getter(this);
@DomName('Timing.playbackRate')
@DocsEditable()
@Experimental() // untriaged
void set playbackRate(num value) => _blink.Native_Timing_playbackRate_Setter(this, value);
@DomName('Timing.__setter__')
@DocsEditable()
@Experimental() // untriaged
void __setter__(String name, num duration) => _blink.Native_Timing___setter___Callback(this, name, duration);
}
// 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.
@DocsEditable()
@DomName('HTMLTitleElement')
class TitleElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory TitleElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLTitleElement.HTMLTitleElement')
@DocsEditable()
factory TitleElement() => document.createElement("title");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
TitleElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('Touch')
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
class Touch extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory Touch._() { throw new UnsupportedError("Not supported"); }
@DomName('Touch.clientX')
@DocsEditable()
int get _clientX => _blink.Native_Touch_clientX_Getter(this);
@DomName('Touch.clientY')
@DocsEditable()
int get _clientY => _blink.Native_Touch_clientY_Getter(this);
@DomName('Touch.identifier')
@DocsEditable()
int get identifier => _blink.Native_Touch_identifier_Getter(this);
@DomName('Touch.pageX')
@DocsEditable()
int get _pageX => _blink.Native_Touch_pageX_Getter(this);
@DomName('Touch.pageY')
@DocsEditable()
int get _pageY => _blink.Native_Touch_pageY_Getter(this);
@DomName('Touch.screenX')
@DocsEditable()
int get _screenX => _blink.Native_Touch_screenX_Getter(this);
@DomName('Touch.screenY')
@DocsEditable()
int get _screenY => _blink.Native_Touch_screenY_Getter(this);
@DomName('Touch.target')
@DocsEditable()
EventTarget get target => _blink.Native_Touch_target_Getter(this);
@DomName('Touch.webkitForce')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
double get force => _blink.Native_Touch_webkitForce_Getter(this);
@DomName('Touch.webkitRadiusX')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
int get radiusX => _blink.Native_Touch_webkitRadiusX_Getter(this);
@DomName('Touch.webkitRadiusY')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
int get radiusY => _blink.Native_Touch_webkitRadiusY_Getter(this);
@DomName('Touch.webkitRotationAngle')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
double get rotationAngle => _blink.Native_Touch_webkitRotationAngle_Getter(this);
@DomName('Touch.clientX')
@DomName('Touch.clientY')
Point get client => new Point(_clientX, _clientY);
@DomName('Touch.pageX')
@DomName('Touch.pageY')
Point get page => new Point(_pageX, _pageY);
@DomName('Touch.screenX')
@DomName('Touch.screenY')
Point get screen => new Point(_screenX, _screenY);
}
// Copyright (c) 2013, 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.
@DomName('TouchEvent')
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
class TouchEvent extends UIEvent {
factory TouchEvent(TouchList touches, TouchList targetTouches,
TouchList changedTouches, String type,
{Window view, int screenX: 0, int screenY: 0, int clientX: 0,
int clientY: 0, bool ctrlKey: false, bool altKey: false,
bool shiftKey: false, bool metaKey: false}) {
if (view == null) {
view = window;
}
var e = document._createEvent("TouchEvent");
e._initTouchEvent(touches, targetTouches, changedTouches, type, view,
screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey);
return e;
}
// To suppress missing implicit constructor warnings.
factory TouchEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('TouchEvent.altKey')
@DocsEditable()
bool get altKey => _blink.Native_TouchEvent_altKey_Getter(this);
@DomName('TouchEvent.changedTouches')
@DocsEditable()
TouchList get changedTouches => _blink.Native_TouchEvent_changedTouches_Getter(this);
@DomName('TouchEvent.ctrlKey')
@DocsEditable()
bool get ctrlKey => _blink.Native_TouchEvent_ctrlKey_Getter(this);
@DomName('TouchEvent.metaKey')
@DocsEditable()
bool get metaKey => _blink.Native_TouchEvent_metaKey_Getter(this);
@DomName('TouchEvent.shiftKey')
@DocsEditable()
bool get shiftKey => _blink.Native_TouchEvent_shiftKey_Getter(this);
@DomName('TouchEvent.targetTouches')
@DocsEditable()
TouchList get targetTouches => _blink.Native_TouchEvent_targetTouches_Getter(this);
@DomName('TouchEvent.touches')
@DocsEditable()
TouchList get touches => _blink.Native_TouchEvent_touches_Getter(this);
@DomName('TouchEvent.initTouchEvent')
@DocsEditable()
void _initTouchEvent(TouchList touches, TouchList targetTouches, TouchList changedTouches, String type, Window view, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) => _blink.Native_TouchEvent_initTouchEvent_Callback(this, touches, targetTouches, changedTouches, type, view, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey);
/**
* Checks if touch events supported on the current platform.
*
* Note that touch events are only supported if the user is using a touch
* device.
*/
static bool get supported => Device.isEventTypeSupported('TouchEvent');
}
// Copyright (c) 2013, 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.
@DomName('TouchList')
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
class TouchList extends NativeFieldWrapperClass2 with ListMixin<Touch>, ImmutableListMixin<Touch> implements List<Touch> {
/// NB: This constructor likely does not work as you might expect it to! This
/// constructor will simply fail (returning null) if you are not on a device
/// with touch enabled. See dartbug.com/8314.
// TODO(5760): createTouchList now uses varargs.
factory TouchList() => null;//document._createTouchList();
// To suppress missing implicit constructor warnings.
factory TouchList._() { throw new UnsupportedError("Not supported"); }
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('TouchList.length')
@DocsEditable()
int get length => _blink.Native_TouchList_length_Getter(this);
Touch operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_TouchList_NativeIndexed_Getter(this, index);
}
Touch _nativeIndexedGetter(int index) => _blink.Native_TouchList_NativeIndexed_Getter(this, index);
void operator[]=(int index, Touch value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<Touch> mixins.
// Touch is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
Touch get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
Touch get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
Touch get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
Touch elementAt(int index) => this[index];
// -- end List<Touch> mixins.
@DomName('TouchList.item')
@DocsEditable()
Touch item(int index) => _blink.Native_TouchList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('HTMLTrackElement')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#the-track-element
@Experimental()
class TrackElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory TrackElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLTrackElement.HTMLTrackElement')
@DocsEditable()
factory TrackElement() => document.createElement("track");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
TrackElement.created() : super.created();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('HTMLTrackElement.ERROR')
@DocsEditable()
static const int ERROR = 3;
@DomName('HTMLTrackElement.LOADED')
@DocsEditable()
static const int LOADED = 2;
@DomName('HTMLTrackElement.LOADING')
@DocsEditable()
static const int LOADING = 1;
@DomName('HTMLTrackElement.NONE')
@DocsEditable()
static const int NONE = 0;
@DomName('HTMLTrackElement.default')
@DocsEditable()
bool get defaultValue => _blink.Native_HTMLTrackElement_default_Getter(this);
@DomName('HTMLTrackElement.default')
@DocsEditable()
void set defaultValue(bool value) => _blink.Native_HTMLTrackElement_default_Setter(this, value);
@DomName('HTMLTrackElement.kind')
@DocsEditable()
String get kind => _blink.Native_HTMLTrackElement_kind_Getter(this);
@DomName('HTMLTrackElement.kind')
@DocsEditable()
void set kind(String value) => _blink.Native_HTMLTrackElement_kind_Setter(this, value);
@DomName('HTMLTrackElement.label')
@DocsEditable()
String get label => _blink.Native_HTMLTrackElement_label_Getter(this);
@DomName('HTMLTrackElement.label')
@DocsEditable()
void set label(String value) => _blink.Native_HTMLTrackElement_label_Setter(this, value);
@DomName('HTMLTrackElement.readyState')
@DocsEditable()
int get readyState => _blink.Native_HTMLTrackElement_readyState_Getter(this);
@DomName('HTMLTrackElement.src')
@DocsEditable()
String get src => _blink.Native_HTMLTrackElement_src_Getter(this);
@DomName('HTMLTrackElement.src')
@DocsEditable()
void set src(String value) => _blink.Native_HTMLTrackElement_src_Setter(this, value);
@DomName('HTMLTrackElement.srclang')
@DocsEditable()
String get srclang => _blink.Native_HTMLTrackElement_srclang_Getter(this);
@DomName('HTMLTrackElement.srclang')
@DocsEditable()
void set srclang(String value) => _blink.Native_HTMLTrackElement_srclang_Setter(this, value);
@DomName('HTMLTrackElement.track')
@DocsEditable()
TextTrack get track => _blink.Native_HTMLTrackElement_track_Getter(this);
}
// 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.
@DocsEditable()
@DomName('TrackEvent')
@Unstable()
class TrackEvent extends Event {
// To suppress missing implicit constructor warnings.
factory TrackEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('TrackEvent.track')
@DocsEditable()
Object get track => _blink.Native_TrackEvent_track_Getter(this);
}
// 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.
@DocsEditable()
@DomName('TransitionEvent')
class TransitionEvent extends Event {
// To suppress missing implicit constructor warnings.
factory TransitionEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('TransitionEvent.elapsedTime')
@DocsEditable()
double get elapsedTime => _blink.Native_TransitionEvent_elapsedTime_Getter(this);
@DomName('TransitionEvent.propertyName')
@DocsEditable()
String get propertyName => _blink.Native_TransitionEvent_propertyName_Getter(this);
@DomName('TransitionEvent.pseudoElement')
@DocsEditable()
String get pseudoElement => _blink.Native_TransitionEvent_pseudoElement_Getter(this);
}
// Copyright (c) 2013, 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.
@DomName('TreeWalker')
@Unstable()
class TreeWalker extends NativeFieldWrapperClass2 {
factory TreeWalker(Node root, int whatToShow) {
return document._createTreeWalker(root, whatToShow, null);
}
// To suppress missing implicit constructor warnings.
factory TreeWalker._() { throw new UnsupportedError("Not supported"); }
@DomName('TreeWalker.currentNode')
@DocsEditable()
Node get currentNode => _blink.Native_TreeWalker_currentNode_Getter(this);
@DomName('TreeWalker.currentNode')
@DocsEditable()
void set currentNode(Node value) => _blink.Native_TreeWalker_currentNode_Setter(this, value);
@DomName('TreeWalker.filter')
@DocsEditable()
NodeFilter get filter => _blink.Native_TreeWalker_filter_Getter(this);
@DomName('TreeWalker.root')
@DocsEditable()
Node get root => _blink.Native_TreeWalker_root_Getter(this);
@DomName('TreeWalker.whatToShow')
@DocsEditable()
int get whatToShow => _blink.Native_TreeWalker_whatToShow_Getter(this);
@DomName('TreeWalker.firstChild')
@DocsEditable()
Node firstChild() => _blink.Native_TreeWalker_firstChild_Callback(this);
@DomName('TreeWalker.lastChild')
@DocsEditable()
Node lastChild() => _blink.Native_TreeWalker_lastChild_Callback(this);
@DomName('TreeWalker.nextNode')
@DocsEditable()
Node nextNode() => _blink.Native_TreeWalker_nextNode_Callback(this);
@DomName('TreeWalker.nextSibling')
@DocsEditable()
Node nextSibling() => _blink.Native_TreeWalker_nextSibling_Callback(this);
@DomName('TreeWalker.parentNode')
@DocsEditable()
Node parentNode() => _blink.Native_TreeWalker_parentNode_Callback(this);
@DomName('TreeWalker.previousNode')
@DocsEditable()
Node previousNode() => _blink.Native_TreeWalker_previousNode_Callback(this);
@DomName('TreeWalker.previousSibling')
@DocsEditable()
Node previousSibling() => _blink.Native_TreeWalker_previousSibling_Callback(this);
}
// 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.
@DomName('UIEvent')
class UIEvent extends Event {
// In JS, canBubble and cancelable are technically required parameters to
// init*Event. In practice, though, if they aren't provided they simply
// default to false (since that's Boolean(undefined)).
//
// Contrary to JS, we default canBubble and cancelable to true, since that's
// what people want most of the time anyway.
factory UIEvent(String type,
{Window view, int detail: 0, bool canBubble: true,
bool cancelable: true}) {
if (view == null) {
view = window;
}
final e = document._createEvent("UIEvent");
e._initUIEvent(type, canBubble, cancelable, view, detail);
return e;
}
// To suppress missing implicit constructor warnings.
factory UIEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('UIEvent.charCode')
@DocsEditable()
@Unstable()
int get _charCode => _blink.Native_UIEvent_charCode_Getter(this);
@DomName('UIEvent.detail')
@DocsEditable()
int get detail => _blink.Native_UIEvent_detail_Getter(this);
@DomName('UIEvent.keyCode')
@DocsEditable()
@Unstable()
int get _keyCode => _blink.Native_UIEvent_keyCode_Getter(this);
@DomName('UIEvent.layerX')
@DocsEditable()
// http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents
@Experimental() // nonstandard
int get _layerX => _blink.Native_UIEvent_layerX_Getter(this);
@DomName('UIEvent.layerY')
@DocsEditable()
// http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents
@Experimental() // nonstandard
int get _layerY => _blink.Native_UIEvent_layerY_Getter(this);
@DomName('UIEvent.pageX')
@DocsEditable()
// http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents
@Experimental() // nonstandard
int get _pageX => _blink.Native_UIEvent_pageX_Getter(this);
@DomName('UIEvent.pageY')
@DocsEditable()
// http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents
@Experimental() // nonstandard
int get _pageY => _blink.Native_UIEvent_pageY_Getter(this);
@DomName('UIEvent.view')
@DocsEditable()
WindowBase get view => _blink.Native_UIEvent_view_Getter(this);
@DomName('UIEvent.which')
@DocsEditable()
@Unstable()
int get which => _blink.Native_UIEvent_which_Getter(this);
@DomName('UIEvent.initUIEvent')
@DocsEditable()
void _initUIEvent(String type, bool canBubble, bool cancelable, Window view, int detail) => _blink.Native_UIEvent_initUIEvent_Callback(this, type, canBubble, cancelable, view, detail);
@DomName('UIEvent.layerX')
@DomName('UIEvent.layerY')
Point get layer => new Point(_layerX, _layerY);
@DomName('UIEvent.pageX')
@DomName('UIEvent.pageY')
Point get page => new Point(_pageX, _pageY);
}
// 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.
@DocsEditable()
@DomName('HTMLUListElement')
class UListElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory UListElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLUListElement.HTMLUListElement')
@DocsEditable()
factory UListElement() => document.createElement("ul");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
UListElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('HTMLUnknownElement')
class UnknownElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory UnknownElement._() { throw new UnsupportedError("Not supported"); }
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
UnknownElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('URL')
class Url extends NativeFieldWrapperClass2 implements UrlUtils {
// To suppress missing implicit constructor warnings.
factory Url._() { throw new UnsupportedError("Not supported"); }
static String createObjectUrl(blob_OR_source_OR_stream) => _blink.Native_URL_createObjectUrl(blob_OR_source_OR_stream);
@DomName('URL.createObjectUrlFromBlob')
@DocsEditable()
static String createObjectUrlFromBlob(Blob blob) => _blink.Native_URL_createObjectUrlFromBlob_Callback(blob);
@DomName('URL.createObjectUrlFromSource')
@DocsEditable()
static String createObjectUrlFromSource(MediaSource source) => _blink.Native_URL_createObjectUrlFromSource_Callback(source);
@DomName('URL.createObjectUrlFromStream')
@DocsEditable()
static String createObjectUrlFromStream(MediaStream stream) => _blink.Native_URL_createObjectUrlFromStream_Callback(stream);
@DomName('URL.revokeObjectURL')
@DocsEditable()
static void revokeObjectUrl(String url) => _blink.Native_URL_revokeObjectURL_Callback(url);
@DomName('URL.hash')
@DocsEditable()
@Experimental() // untriaged
String get hash => _blink.Native_URL_hash_Getter(this);
@DomName('URL.hash')
@DocsEditable()
@Experimental() // untriaged
void set hash(String value) => _blink.Native_URL_hash_Setter(this, value);
@DomName('URL.host')
@DocsEditable()
@Experimental() // untriaged
String get host => _blink.Native_URL_host_Getter(this);
@DomName('URL.host')
@DocsEditable()
@Experimental() // untriaged
void set host(String value) => _blink.Native_URL_host_Setter(this, value);
@DomName('URL.hostname')
@DocsEditable()
@Experimental() // untriaged
String get hostname => _blink.Native_URL_hostname_Getter(this);
@DomName('URL.hostname')
@DocsEditable()
@Experimental() // untriaged
void set hostname(String value) => _blink.Native_URL_hostname_Setter(this, value);
@DomName('URL.href')
@DocsEditable()
@Experimental() // untriaged
String get href => _blink.Native_URL_href_Getter(this);
@DomName('URL.href')
@DocsEditable()
@Experimental() // untriaged
void set href(String value) => _blink.Native_URL_href_Setter(this, value);
@DomName('URL.origin')
@DocsEditable()
@Experimental() // untriaged
String get origin => _blink.Native_URL_origin_Getter(this);
@DomName('URL.password')
@DocsEditable()
@Experimental() // untriaged
String get password => _blink.Native_URL_password_Getter(this);
@DomName('URL.password')
@DocsEditable()
@Experimental() // untriaged
void set password(String value) => _blink.Native_URL_password_Setter(this, value);
@DomName('URL.pathname')
@DocsEditable()
@Experimental() // untriaged
String get pathname => _blink.Native_URL_pathname_Getter(this);
@DomName('URL.pathname')
@DocsEditable()
@Experimental() // untriaged
void set pathname(String value) => _blink.Native_URL_pathname_Setter(this, value);
@DomName('URL.port')
@DocsEditable()
@Experimental() // untriaged
String get port => _blink.Native_URL_port_Getter(this);
@DomName('URL.port')
@DocsEditable()
@Experimental() // untriaged
void set port(String value) => _blink.Native_URL_port_Setter(this, value);
@DomName('URL.protocol')
@DocsEditable()
@Experimental() // untriaged
String get protocol => _blink.Native_URL_protocol_Getter(this);
@DomName('URL.protocol')
@DocsEditable()
@Experimental() // untriaged
void set protocol(String value) => _blink.Native_URL_protocol_Setter(this, value);
@DomName('URL.search')
@DocsEditable()
@Experimental() // untriaged
String get search => _blink.Native_URL_search_Getter(this);
@DomName('URL.search')
@DocsEditable()
@Experimental() // untriaged
void set search(String value) => _blink.Native_URL_search_Setter(this, value);
@DomName('URL.username')
@DocsEditable()
@Experimental() // untriaged
String get username => _blink.Native_URL_username_Getter(this);
@DomName('URL.username')
@DocsEditable()
@Experimental() // untriaged
void set username(String value) => _blink.Native_URL_username_Setter(this, value);
@DomName('URL.toString')
@DocsEditable()
@Experimental() // untriaged
String toString() => _blink.Native_URL_toString_Callback(this);
}
// 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.
@DocsEditable()
@DomName('URLUtils')
@Experimental() // untriaged
abstract class UrlUtils extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory UrlUtils._() { throw new UnsupportedError("Not supported"); }
@DomName('URLUtils.hash')
@DocsEditable()
@Experimental() // untriaged
String get hash => _blink.Native_URLUtils_hash_Getter(this);
@DomName('URLUtils.hash')
@DocsEditable()
@Experimental() // untriaged
void set hash(String value) => _blink.Native_URLUtils_hash_Setter(this, value);
@DomName('URLUtils.host')
@DocsEditable()
@Experimental() // untriaged
String get host => _blink.Native_URLUtils_host_Getter(this);
@DomName('URLUtils.host')
@DocsEditable()
@Experimental() // untriaged
void set host(String value) => _blink.Native_URLUtils_host_Setter(this, value);
@DomName('URLUtils.hostname')
@DocsEditable()
@Experimental() // untriaged
String get hostname => _blink.Native_URLUtils_hostname_Getter(this);
@DomName('URLUtils.hostname')
@DocsEditable()
@Experimental() // untriaged
void set hostname(String value) => _blink.Native_URLUtils_hostname_Setter(this, value);
@DomName('URLUtils.href')
@DocsEditable()
@Experimental() // untriaged
String get href => _blink.Native_URLUtils_href_Getter(this);
@DomName('URLUtils.href')
@DocsEditable()
@Experimental() // untriaged
void set href(String value) => _blink.Native_URLUtils_href_Setter(this, value);
@DomName('URLUtils.origin')
@DocsEditable()
@Experimental() // untriaged
String get origin => _blink.Native_URLUtils_origin_Getter(this);
@DomName('URLUtils.password')
@DocsEditable()
@Experimental() // untriaged
String get password => _blink.Native_URLUtils_password_Getter(this);
@DomName('URLUtils.password')
@DocsEditable()
@Experimental() // untriaged
void set password(String value) => _blink.Native_URLUtils_password_Setter(this, value);
@DomName('URLUtils.pathname')
@DocsEditable()
@Experimental() // untriaged
String get pathname => _blink.Native_URLUtils_pathname_Getter(this);
@DomName('URLUtils.pathname')
@DocsEditable()
@Experimental() // untriaged
void set pathname(String value) => _blink.Native_URLUtils_pathname_Setter(this, value);
@DomName('URLUtils.port')
@DocsEditable()
@Experimental() // untriaged
String get port => _blink.Native_URLUtils_port_Getter(this);
@DomName('URLUtils.port')
@DocsEditable()
@Experimental() // untriaged
void set port(String value) => _blink.Native_URLUtils_port_Setter(this, value);
@DomName('URLUtils.protocol')
@DocsEditable()
@Experimental() // untriaged
String get protocol => _blink.Native_URLUtils_protocol_Getter(this);
@DomName('URLUtils.protocol')
@DocsEditable()
@Experimental() // untriaged
void set protocol(String value) => _blink.Native_URLUtils_protocol_Setter(this, value);
@DomName('URLUtils.search')
@DocsEditable()
@Experimental() // untriaged
String get search => _blink.Native_URLUtils_search_Getter(this);
@DomName('URLUtils.search')
@DocsEditable()
@Experimental() // untriaged
void set search(String value) => _blink.Native_URLUtils_search_Setter(this, value);
@DomName('URLUtils.username')
@DocsEditable()
@Experimental() // untriaged
String get username => _blink.Native_URLUtils_username_Getter(this);
@DomName('URLUtils.username')
@DocsEditable()
@Experimental() // untriaged
void set username(String value) => _blink.Native_URLUtils_username_Setter(this, value);
@DomName('URLUtils.toString')
@DocsEditable()
@Experimental() // untriaged
String toString() => _blink.Native_URLUtils_toString_Callback(this);
}
// 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.
@DocsEditable()
@DomName('URLUtilsReadOnly')
@Experimental() // untriaged
abstract class UrlUtilsReadOnly extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory UrlUtilsReadOnly._() { throw new UnsupportedError("Not supported"); }
@DomName('URLUtilsReadOnly.hash')
@DocsEditable()
@Experimental() // untriaged
String get hash => _blink.Native_URLUtilsReadOnly_hash_Getter(this);
@DomName('URLUtilsReadOnly.host')
@DocsEditable()
@Experimental() // untriaged
String get host => _blink.Native_URLUtilsReadOnly_host_Getter(this);
@DomName('URLUtilsReadOnly.hostname')
@DocsEditable()
@Experimental() // untriaged
String get hostname => _blink.Native_URLUtilsReadOnly_hostname_Getter(this);
@DomName('URLUtilsReadOnly.href')
@DocsEditable()
@Experimental() // untriaged
String get href => _blink.Native_URLUtilsReadOnly_href_Getter(this);
@DomName('URLUtilsReadOnly.pathname')
@DocsEditable()
@Experimental() // untriaged
String get pathname => _blink.Native_URLUtilsReadOnly_pathname_Getter(this);
@DomName('URLUtilsReadOnly.port')
@DocsEditable()
@Experimental() // untriaged
String get port => _blink.Native_URLUtilsReadOnly_port_Getter(this);
@DomName('URLUtilsReadOnly.protocol')
@DocsEditable()
@Experimental() // untriaged
String get protocol => _blink.Native_URLUtilsReadOnly_protocol_Getter(this);
@DomName('URLUtilsReadOnly.search')
@DocsEditable()
@Experimental() // untriaged
String get search => _blink.Native_URLUtilsReadOnly_search_Getter(this);
@DomName('URLUtilsReadOnly.toString')
@DocsEditable()
@Experimental() // untriaged
String toString() => _blink.Native_URLUtilsReadOnly_toString_Callback(this);
}
// 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.
@DocsEditable()
@DomName('ValidityState')
class ValidityState extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory ValidityState._() { throw new UnsupportedError("Not supported"); }
@DomName('ValidityState.badInput')
@DocsEditable()
bool get badInput => _blink.Native_ValidityState_badInput_Getter(this);
@DomName('ValidityState.customError')
@DocsEditable()
bool get customError => _blink.Native_ValidityState_customError_Getter(this);
@DomName('ValidityState.patternMismatch')
@DocsEditable()
bool get patternMismatch => _blink.Native_ValidityState_patternMismatch_Getter(this);
@DomName('ValidityState.rangeOverflow')
@DocsEditable()
bool get rangeOverflow => _blink.Native_ValidityState_rangeOverflow_Getter(this);
@DomName('ValidityState.rangeUnderflow')
@DocsEditable()
bool get rangeUnderflow => _blink.Native_ValidityState_rangeUnderflow_Getter(this);
@DomName('ValidityState.stepMismatch')
@DocsEditable()
bool get stepMismatch => _blink.Native_ValidityState_stepMismatch_Getter(this);
@DomName('ValidityState.tooLong')
@DocsEditable()
bool get tooLong => _blink.Native_ValidityState_tooLong_Getter(this);
@DomName('ValidityState.typeMismatch')
@DocsEditable()
bool get typeMismatch => _blink.Native_ValidityState_typeMismatch_Getter(this);
@DomName('ValidityState.valid')
@DocsEditable()
bool get valid => _blink.Native_ValidityState_valid_Getter(this);
@DomName('ValidityState.valueMissing')
@DocsEditable()
bool get valueMissing => _blink.Native_ValidityState_valueMissing_Getter(this);
}
// 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.
@DomName('HTMLVideoElement')
class VideoElement extends MediaElement implements CanvasImageSource {
// To suppress missing implicit constructor warnings.
factory VideoElement._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLVideoElement.HTMLVideoElement')
@DocsEditable()
factory VideoElement() => document.createElement("video");
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
VideoElement.created() : super.created();
@DomName('HTMLVideoElement.height')
@DocsEditable()
int get height => _blink.Native_HTMLVideoElement_height_Getter(this);
@DomName('HTMLVideoElement.height')
@DocsEditable()
void set height(int value) => _blink.Native_HTMLVideoElement_height_Setter(this, value);
@DomName('HTMLVideoElement.poster')
@DocsEditable()
String get poster => _blink.Native_HTMLVideoElement_poster_Getter(this);
@DomName('HTMLVideoElement.poster')
@DocsEditable()
void set poster(String value) => _blink.Native_HTMLVideoElement_poster_Setter(this, value);
@DomName('HTMLVideoElement.videoHeight')
@DocsEditable()
int get videoHeight => _blink.Native_HTMLVideoElement_videoHeight_Getter(this);
@DomName('HTMLVideoElement.videoWidth')
@DocsEditable()
int get videoWidth => _blink.Native_HTMLVideoElement_videoWidth_Getter(this);
@DomName('HTMLVideoElement.webkitDecodedFrameCount')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
int get decodedFrameCount => _blink.Native_HTMLVideoElement_webkitDecodedFrameCount_Getter(this);
@DomName('HTMLVideoElement.webkitDroppedFrameCount')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
int get droppedFrameCount => _blink.Native_HTMLVideoElement_webkitDroppedFrameCount_Getter(this);
@DomName('HTMLVideoElement.width')
@DocsEditable()
int get width => _blink.Native_HTMLVideoElement_width_Getter(this);
@DomName('HTMLVideoElement.width')
@DocsEditable()
void set width(int value) => _blink.Native_HTMLVideoElement_width_Setter(this, value);
@DomName('HTMLVideoElement.getVideoPlaybackQuality')
@DocsEditable()
@Experimental() // untriaged
VideoPlaybackQuality getVideoPlaybackQuality() => _blink.Native_HTMLVideoElement_getVideoPlaybackQuality_Callback(this);
@DomName('HTMLVideoElement.webkitEnterFullscreen')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
void enterFullscreen() => _blink.Native_HTMLVideoElement_webkitEnterFullscreen_Callback(this);
@DomName('HTMLVideoElement.webkitExitFullscreen')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-exitfullscreen
void exitFullscreen() => _blink.Native_HTMLVideoElement_webkitExitFullscreen_Callback(this);
}
// 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.
@DocsEditable()
@DomName('VideoPlaybackQuality')
@Experimental() // untriaged
class VideoPlaybackQuality extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory VideoPlaybackQuality._() { throw new UnsupportedError("Not supported"); }
@DomName('VideoPlaybackQuality.corruptedVideoFrames')
@DocsEditable()
@Experimental() // untriaged
int get corruptedVideoFrames => _blink.Native_VideoPlaybackQuality_corruptedVideoFrames_Getter(this);
@DomName('VideoPlaybackQuality.creationTime')
@DocsEditable()
@Experimental() // untriaged
double get creationTime => _blink.Native_VideoPlaybackQuality_creationTime_Getter(this);
@DomName('VideoPlaybackQuality.droppedVideoFrames')
@DocsEditable()
@Experimental() // untriaged
int get droppedVideoFrames => _blink.Native_VideoPlaybackQuality_droppedVideoFrames_Getter(this);
@DomName('VideoPlaybackQuality.totalVideoFrames')
@DocsEditable()
@Experimental() // untriaged
int get totalVideoFrames => _blink.Native_VideoPlaybackQuality_totalVideoFrames_Getter(this);
}
// 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.
@DomName('VoidCallback')
// http://www.w3.org/TR/file-system-api/#the-voidcallback-interface
@Experimental()
typedef void VoidCallback();
// 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.
@DocsEditable()
@DomName('VTTCue')
@Experimental() // untriaged
class VttCue extends TextTrackCue {
// To suppress missing implicit constructor warnings.
factory VttCue._() { throw new UnsupportedError("Not supported"); }
@DomName('VTTCue.VTTCue')
@DocsEditable()
factory VttCue(num startTime, num endTime, String text) => _blink.Native_VTTCue_VttCue(startTime, endTime, text);
@DomName('VTTCue.align')
@DocsEditable()
@Experimental() // untriaged
String get align => _blink.Native_VTTCue_align_Getter(this);
@DomName('VTTCue.align')
@DocsEditable()
@Experimental() // untriaged
void set align(String value) => _blink.Native_VTTCue_align_Setter(this, value);
@DomName('VTTCue.line')
@DocsEditable()
@Experimental() // untriaged
int get line => _blink.Native_VTTCue_line_Getter(this);
@DomName('VTTCue.line')
@DocsEditable()
@Experimental() // untriaged
void set line(int value) => _blink.Native_VTTCue_line_Setter(this, value);
@DomName('VTTCue.position')
@DocsEditable()
@Experimental() // untriaged
int get position => _blink.Native_VTTCue_position_Getter(this);
@DomName('VTTCue.position')
@DocsEditable()
@Experimental() // untriaged
void set position(int value) => _blink.Native_VTTCue_position_Setter(this, value);
@DomName('VTTCue.regionId')
@DocsEditable()
@Experimental() // untriaged
String get regionId => _blink.Native_VTTCue_regionId_Getter(this);
@DomName('VTTCue.regionId')
@DocsEditable()
@Experimental() // untriaged
void set regionId(String value) => _blink.Native_VTTCue_regionId_Setter(this, value);
@DomName('VTTCue.size')
@DocsEditable()
@Experimental() // untriaged
int get size => _blink.Native_VTTCue_size_Getter(this);
@DomName('VTTCue.size')
@DocsEditable()
@Experimental() // untriaged
void set size(int value) => _blink.Native_VTTCue_size_Setter(this, value);
@DomName('VTTCue.snapToLines')
@DocsEditable()
@Experimental() // untriaged
bool get snapToLines => _blink.Native_VTTCue_snapToLines_Getter(this);
@DomName('VTTCue.snapToLines')
@DocsEditable()
@Experimental() // untriaged
void set snapToLines(bool value) => _blink.Native_VTTCue_snapToLines_Setter(this, value);
@DomName('VTTCue.text')
@DocsEditable()
@Experimental() // untriaged
String get text => _blink.Native_VTTCue_text_Getter(this);
@DomName('VTTCue.text')
@DocsEditable()
@Experimental() // untriaged
void set text(String value) => _blink.Native_VTTCue_text_Setter(this, value);
@DomName('VTTCue.vertical')
@DocsEditable()
@Experimental() // untriaged
String get vertical => _blink.Native_VTTCue_vertical_Getter(this);
@DomName('VTTCue.vertical')
@DocsEditable()
@Experimental() // untriaged
void set vertical(String value) => _blink.Native_VTTCue_vertical_Setter(this, value);
@DomName('VTTCue.getCueAsHTML')
@DocsEditable()
@Experimental() // untriaged
DocumentFragment getCueAsHtml() => _blink.Native_VTTCue_getCueAsHTML_Callback(this);
}
// 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.
@DocsEditable()
@DomName('VTTRegion')
@Experimental() // untriaged
class VttRegion extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory VttRegion._() { throw new UnsupportedError("Not supported"); }
@DomName('VTTRegion.VTTRegion')
@DocsEditable()
factory VttRegion() => _blink.Native_VTTRegion_VttRegion();
@DomName('VTTRegion.height')
@DocsEditable()
@Experimental() // untriaged
int get height => _blink.Native_VTTRegion_height_Getter(this);
@DomName('VTTRegion.height')
@DocsEditable()
@Experimental() // untriaged
void set height(int value) => _blink.Native_VTTRegion_height_Setter(this, value);
@DomName('VTTRegion.id')
@DocsEditable()
@Experimental() // untriaged
String get id => _blink.Native_VTTRegion_id_Getter(this);
@DomName('VTTRegion.id')
@DocsEditable()
@Experimental() // untriaged
void set id(String value) => _blink.Native_VTTRegion_id_Setter(this, value);
@DomName('VTTRegion.regionAnchorX')
@DocsEditable()
@Experimental() // untriaged
num get regionAnchorX => _blink.Native_VTTRegion_regionAnchorX_Getter(this);
@DomName('VTTRegion.regionAnchorX')
@DocsEditable()
@Experimental() // untriaged
void set regionAnchorX(num value) => _blink.Native_VTTRegion_regionAnchorX_Setter(this, value);
@DomName('VTTRegion.regionAnchorY')
@DocsEditable()
@Experimental() // untriaged
num get regionAnchorY => _blink.Native_VTTRegion_regionAnchorY_Getter(this);
@DomName('VTTRegion.regionAnchorY')
@DocsEditable()
@Experimental() // untriaged
void set regionAnchorY(num value) => _blink.Native_VTTRegion_regionAnchorY_Setter(this, value);
@DomName('VTTRegion.scroll')
@DocsEditable()
@Experimental() // untriaged
String get scroll => _blink.Native_VTTRegion_scroll_Getter(this);
@DomName('VTTRegion.scroll')
@DocsEditable()
@Experimental() // untriaged
void set scroll(String value) => _blink.Native_VTTRegion_scroll_Setter(this, value);
@DomName('VTTRegion.track')
@DocsEditable()
@Experimental() // untriaged
TextTrack get track => _blink.Native_VTTRegion_track_Getter(this);
@DomName('VTTRegion.viewportAnchorX')
@DocsEditable()
@Experimental() // untriaged
num get viewportAnchorX => _blink.Native_VTTRegion_viewportAnchorX_Getter(this);
@DomName('VTTRegion.viewportAnchorX')
@DocsEditable()
@Experimental() // untriaged
void set viewportAnchorX(num value) => _blink.Native_VTTRegion_viewportAnchorX_Setter(this, value);
@DomName('VTTRegion.viewportAnchorY')
@DocsEditable()
@Experimental() // untriaged
num get viewportAnchorY => _blink.Native_VTTRegion_viewportAnchorY_Getter(this);
@DomName('VTTRegion.viewportAnchorY')
@DocsEditable()
@Experimental() // untriaged
void set viewportAnchorY(num value) => _blink.Native_VTTRegion_viewportAnchorY_Setter(this, value);
@DomName('VTTRegion.width')
@DocsEditable()
@Experimental() // untriaged
num get width => _blink.Native_VTTRegion_width_Getter(this);
@DomName('VTTRegion.width')
@DocsEditable()
@Experimental() // untriaged
void set width(num value) => _blink.Native_VTTRegion_width_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('VTTRegionList')
@Experimental() // untriaged
class VttRegionList extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory VttRegionList._() { throw new UnsupportedError("Not supported"); }
@DomName('VTTRegionList.length')
@DocsEditable()
@Experimental() // untriaged
int get length => _blink.Native_VTTRegionList_length_Getter(this);
@DomName('VTTRegionList.getRegionById')
@DocsEditable()
@Experimental() // untriaged
VttRegion getRegionById(String id) => _blink.Native_VTTRegionList_getRegionById_Callback(this, id);
@DomName('VTTRegionList.item')
@DocsEditable()
@Experimental() // untriaged
VttRegion item(int index) => _blink.Native_VTTRegionList_item_Callback(this, index);
}
// 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.
@DocsEditable()
/**
* Use the WebSocket interface to connect to a WebSocket,
* and to send and receive data on that WebSocket.
*
* To use a WebSocket in your web app, first create a WebSocket object,
* passing the WebSocket URL as an argument to the constructor.
*
* var webSocket = new WebSocket('ws://127.0.0.1:1337/ws');
*
* To send data on the WebSocket, use the [send] method.
*
* if (webSocket != null && webSocket.readyState == WebSocket.OPEN) {
* webSocket.send(data);
* } else {
* print('WebSocket not connected, message $data not sent');
* }
*
* To receive data on the WebSocket, register a listener for message events.
*
* webSocket.onMessage.listen((MessageEvent e) {
* receivedData(e.data);
* });
*
* The message event handler receives a [MessageEvent] object
* as its sole argument.
* You can also define open, close, and error handlers,
* as specified by [WebSocketEvents].
*
* For more information, see the
* [WebSockets](http://www.dartlang.org/docs/library-tour/#html-websockets)
* section of the library tour and
* [Introducing WebSockets](http://www.html5rocks.com/en/tutorials/websockets/basics/),
* an HTML5Rocks.com tutorial.
*/
@DomName('WebSocket')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
@Unstable()
class WebSocket extends EventTarget {
// To suppress missing implicit constructor warnings.
factory WebSocket._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `close` events to event
* handlers that are not necessarily instances of [WebSocket].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('WebSocket.closeEvent')
@DocsEditable()
static const EventStreamProvider<CloseEvent> closeEvent = const EventStreamProvider<CloseEvent>('close');
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [WebSocket].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('WebSocket.errorEvent')
@DocsEditable()
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
/**
* Static factory designed to expose `message` events to event
* handlers that are not necessarily instances of [WebSocket].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('WebSocket.messageEvent')
@DocsEditable()
static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');
/**
* Static factory designed to expose `open` events to event
* handlers that are not necessarily instances of [WebSocket].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('WebSocket.openEvent')
@DocsEditable()
static const EventStreamProvider<Event> openEvent = const EventStreamProvider<Event>('open');
@DomName('WebSocket.WebSocket')
@DocsEditable()
factory WebSocket(String url, [protocol_OR_protocols]) => _blink.Native_WebSocket_WebSocket(url, protocol_OR_protocols);
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('WebSocket.CLOSED')
@DocsEditable()
static const int CLOSED = 3;
@DomName('WebSocket.CLOSING')
@DocsEditable()
static const int CLOSING = 2;
@DomName('WebSocket.CONNECTING')
@DocsEditable()
static const int CONNECTING = 0;
@DomName('WebSocket.OPEN')
@DocsEditable()
static const int OPEN = 1;
@DomName('WebSocket.binaryType')
@DocsEditable()
String get binaryType => _blink.Native_WebSocket_binaryType_Getter(this);
@DomName('WebSocket.binaryType')
@DocsEditable()
void set binaryType(String value) => _blink.Native_WebSocket_binaryType_Setter(this, value);
@DomName('WebSocket.bufferedAmount')
@DocsEditable()
int get bufferedAmount => _blink.Native_WebSocket_bufferedAmount_Getter(this);
@DomName('WebSocket.extensions')
@DocsEditable()
String get extensions => _blink.Native_WebSocket_extensions_Getter(this);
@DomName('WebSocket.protocol')
@DocsEditable()
String get protocol => _blink.Native_WebSocket_protocol_Getter(this);
@DomName('WebSocket.readyState')
@DocsEditable()
int get readyState => _blink.Native_WebSocket_readyState_Getter(this);
@DomName('WebSocket.url')
@DocsEditable()
String get url => _blink.Native_WebSocket_url_Getter(this);
void close([int code, String reason]) => _blink.Native_WebSocket_close(this, code, reason);
void send(data) => _blink.Native_WebSocket_send(this, data);
@DomName('WebSocket.sendBlob')
@DocsEditable()
void sendBlob(Blob data) => _blink.Native_WebSocket_sendBlob_Callback(this, data);
@DomName('WebSocket.sendByteBuffer')
@DocsEditable()
void sendByteBuffer(ByteBuffer data) => _blink.Native_WebSocket_sendByteBuffer_Callback(this, data);
@DomName('WebSocket.sendString')
@DocsEditable()
void sendString(String data) => _blink.Native_WebSocket_sendString_Callback(this, data);
@DomName('WebSocket.sendTypedData')
@DocsEditable()
void sendTypedData(TypedData data) => _blink.Native_WebSocket_sendTypedData_Callback(this, data);
/// Stream of `close` events handled by this [WebSocket].
@DomName('WebSocket.onclose')
@DocsEditable()
Stream<CloseEvent> get onClose => closeEvent.forTarget(this);
/// Stream of `error` events handled by this [WebSocket].
@DomName('WebSocket.onerror')
@DocsEditable()
Stream<Event> get onError => errorEvent.forTarget(this);
/// Stream of `message` events handled by this [WebSocket].
@DomName('WebSocket.onmessage')
@DocsEditable()
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
/// Stream of `open` events handled by this [WebSocket].
@DomName('WebSocket.onopen')
@DocsEditable()
Stream<Event> get onOpen => openEvent.forTarget(this);
}
// 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.
@DomName('WheelEvent')
class WheelEvent extends MouseEvent {
factory WheelEvent(String type,
{Window view, int deltaX: 0, int deltaY: 0,
int detail: 0, int screenX: 0, int screenY: 0, int clientX: 0,
int clientY: 0, int button: 0, bool canBubble: true,
bool cancelable: true, bool ctrlKey: false, bool altKey: false,
bool shiftKey: false, bool metaKey: false, EventTarget relatedTarget}) {
if (view == null) {
view = window;
}
var eventType = 'WheelEvent';
if (Device.isFirefox) {
eventType = 'MouseScrollEvents';
}
final event = document._createEvent(eventType);
// Dartium always needs these flipped because we're using the legacy
// _initWebKitWheelEvent instead of the more modern WheelEvent constructor
// which isn't yet properly exposed by the Dartium bindings.
deltaX = -deltaX;
deltaY = -deltaY;
// Fallthrough for Dartium.
event._initMouseEvent(type, canBubble, cancelable, view, detail,
screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,
metaKey, button, relatedTarget);
event._initWebKitWheelEvent(deltaX, deltaY,
view, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey,
metaKey);
return event;
}
// To suppress missing implicit constructor warnings.
factory WheelEvent._() { throw new UnsupportedError("Not supported"); }
@DomName('WheelEvent.DOM_DELTA_LINE')
@DocsEditable()
static const int DOM_DELTA_LINE = 0x01;
@DomName('WheelEvent.DOM_DELTA_PAGE')
@DocsEditable()
static const int DOM_DELTA_PAGE = 0x02;
@DomName('WheelEvent.DOM_DELTA_PIXEL')
@DocsEditable()
static const int DOM_DELTA_PIXEL = 0x00;
@DomName('WheelEvent.deltaMode')
@DocsEditable()
int get deltaMode => _blink.Native_WheelEvent_deltaMode_Getter(this);
@DomName('WheelEvent.deltaX')
@DocsEditable()
@Experimental() // untriaged
double get _deltaX => _blink.Native_WheelEvent_deltaX_Getter(this);
@DomName('WheelEvent.deltaY')
@DocsEditable()
@Experimental() // untriaged
double get _deltaY => _blink.Native_WheelEvent_deltaY_Getter(this);
@DomName('WheelEvent.deltaZ')
@DocsEditable()
@Experimental() // untriaged
double get deltaZ => _blink.Native_WheelEvent_deltaZ_Getter(this);
@DomName('WheelEvent.webkitDirectionInvertedFromDevice')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
bool get directionInvertedFromDevice => _blink.Native_WheelEvent_webkitDirectionInvertedFromDevice_Getter(this);
@DomName('WheelEvent.wheelDeltaX')
@DocsEditable()
@Experimental() // non-standard
int get wheelDeltaX => _blink.Native_WheelEvent_wheelDeltaX_Getter(this);
@DomName('WheelEvent.wheelDeltaY')
@DocsEditable()
@Experimental() // non-standard
int get wheelDeltaY => _blink.Native_WheelEvent_wheelDeltaY_Getter(this);
@DomName('WheelEvent.initWebKitWheelEvent')
@DocsEditable()
@Experimental()
void _initWebKitWheelEvent(int wheelDeltaX, int wheelDeltaY, Window view, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) => _blink.Native_WheelEvent_initWebKitWheelEvent_Callback(this, wheelDeltaX, wheelDeltaY, view, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey);
/**
* The amount that is expected to scroll horizontally, in units determined by
* [deltaMode].
*
* See also:
*
* * [WheelEvent.deltaX](http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-WheelEvent-deltaX) from the W3C.
*/
@DomName('WheelEvent.deltaX')
num get deltaX => _deltaX;
/**
* The amount that is expected to scroll vertically, in units determined by
* [deltaMode].
*
* See also:
*
* * [WheelEvent.deltaY](http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-WheelEvent-deltaY) from the W3C.
*/
@DomName('WheelEvent.deltaY')
num get deltaY => _deltaY;
}
// 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.
@DocsEditable()
/**
* Top-level container for the current browser tab or window.
*
* In a web browser, each window has a [Window] object, but within the context
* of a script, this object represents only the current window.
* Each other window, tab, and iframe has its own [Window] object.
*
* Each window contains a [Document] object, which contains all of the window's
* content.
*
* Use the top-level `window` object to access the current window.
* For example:
*
* // Draw a scene when the window repaints.
* drawScene(num delta) {...}
* window.animationFrame.then(drawScene);.
*
* // Write to the console.
* window.console.log('Jinkies!');
* window.console.error('Jeepers!');
*
* **Note:** This class represents only the current window, while [WindowBase]
* is a representation of any window, including other tabs, windows, and frames.
*
* ## See also
*
* * [WindowBase]
*
* ## Other resources
*
* * [DOM Window](https://developer.mozilla.org/en-US/docs/DOM/window) from MDN.
* * [Window](http://www.w3.org/TR/Window/) from the W3C.
*/
@DomName('Window')
class Window extends EventTarget implements WindowEventHandlers, WindowBase, GlobalEventHandlers, _WindowTimers, WindowBase64 {
/**
* Returns a Future that completes just before the window is about to
* repaint so the user can draw an animation frame.
*
* If you need to later cancel this animation, use [requestAnimationFrame]
* instead.
*
* The [Future] completes to a timestamp that represents a floating
* point value of the number of milliseconds that have elapsed since the page
* started to load (which is also the timestamp at this call to
* animationFrame).
*
* Note: The code that runs when the future completes should call
* [animationFrame] again for the animation to continue.
*/
Future<num> get animationFrame {
var completer = new Completer<num>.sync();
requestAnimationFrame((time) {
completer.complete(time);
});
return completer.future;
}
/**
* Called to draw an animation frame and then request the window to repaint
* after [callback] has finished (creating the animation).
*
* Use this method only if you need to later call [cancelAnimationFrame]. If
* not, the preferred Dart idiom is to set animation frames by calling
* [animationFrame], which returns a Future.
*
* Returns a non-zero valued integer to represent the request id for this
* request. This value only needs to be saved if you intend to call
* [cancelAnimationFrame] so you can specify the particular animation to
* cancel.
*
* Note: The supplied [callback] needs to call [requestAnimationFrame] again
* for the animation to continue.
*/
@DomName('Window.requestAnimationFrame')
int requestAnimationFrame(RequestAnimationFrameCallback callback) {
return _requestAnimationFrame(_wrapZone(callback));
}
/**
* Access a sandboxed file system of the specified `size`. If `persistent` is
* true, the application will request permission from the user to create
* lasting storage. This storage cannot be freed without the user's
* permission. Returns a [Future] whose value stores a reference to the
* sandboxed file system for use. Because the file system is sandboxed,
* applications cannot access file systems created in other web pages.
*/
Future<FileSystem> requestFileSystem(int size, {bool persistent: false}) {
return _requestFileSystem(persistent? 1 : 0, size);
}
/**
* Converts a point from node coordinates to this window's coordinates.
*
* ## Other resources
*
* * [webkitConvertPointFromPageToNode]
* (https://developer.apple.com/library/safari/documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html#//apple_ref/javascript/instm/DOMWindow/webkitConvertPointFromNodeToPage)
* from Safari Development Library.
*/
@DomName('Window.convertPointFromNodeToPage')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
Point convertPointFromNodeToPage(Node node, Point point) {
var result = _convertPointFromNodeToPage(node,
new _DomPoint(point.x, point.y));
return new Point(result.x, result.y);
}
/**
* Converts a point from this window's coordinates to node coordinates.
*
* ## Other resources
*
* * [webkitConvertPointFromPageToNode]
* (https://developer.apple.com/library/safari/documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html#//apple_ref/javascript/instm/DOMWindow/webkitConvertPointFromPageToNode)
* from Safari Development Library.
*/
@DomName('Window.convertPointFromPageToNode')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
Point convertPointFromPageToNode(Node node, Point point) {
var result = _convertPointFromPageToNode(node,
new _DomPoint(point.x, point.y));
return new Point(result.x, result.y);
}
/**
* Checks whether [convertPointFromNodeToPage] and
* [convertPointFromPageToNode] are supported on the current platform.
*/
static bool get supportsPointConversions => _DomPoint.supported;
// To suppress missing implicit constructor warnings.
factory Window._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `contentloaded` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.DOMContentLoadedEvent')
@DocsEditable()
static const EventStreamProvider<Event> contentLoadedEvent = const EventStreamProvider<Event>('DOMContentLoaded');
/**
* Static factory designed to expose `devicemotion` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.devicemotionEvent')
@DocsEditable()
// http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion
@Experimental()
static const EventStreamProvider<DeviceMotionEvent> deviceMotionEvent = const EventStreamProvider<DeviceMotionEvent>('devicemotion');
/**
* Static factory designed to expose `deviceorientation` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.deviceorientationEvent')
@DocsEditable()
// http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion
@Experimental()
static const EventStreamProvider<DeviceOrientationEvent> deviceOrientationEvent = const EventStreamProvider<DeviceOrientationEvent>('deviceorientation');
/**
* Static factory designed to expose `hashchange` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.hashchangeEvent')
@DocsEditable()
static const EventStreamProvider<Event> hashChangeEvent = const EventStreamProvider<Event>('hashchange');
/**
* Static factory designed to expose `message` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.messageEvent')
@DocsEditable()
static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');
/**
* Static factory designed to expose `offline` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.offlineEvent')
@DocsEditable()
static const EventStreamProvider<Event> offlineEvent = const EventStreamProvider<Event>('offline');
/**
* Static factory designed to expose `online` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.onlineEvent')
@DocsEditable()
static const EventStreamProvider<Event> onlineEvent = const EventStreamProvider<Event>('online');
/**
* Static factory designed to expose `pagehide` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.pagehideEvent')
@DocsEditable()
static const EventStreamProvider<Event> pageHideEvent = const EventStreamProvider<Event>('pagehide');
/**
* Static factory designed to expose `pageshow` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.pageshowEvent')
@DocsEditable()
static const EventStreamProvider<Event> pageShowEvent = const EventStreamProvider<Event>('pageshow');
/**
* Static factory designed to expose `popstate` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.popstateEvent')
@DocsEditable()
static const EventStreamProvider<PopStateEvent> popStateEvent = const EventStreamProvider<PopStateEvent>('popstate');
/**
* Static factory designed to expose `storage` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.storageEvent')
@DocsEditable()
static const EventStreamProvider<StorageEvent> storageEvent = const EventStreamProvider<StorageEvent>('storage');
/**
* Static factory designed to expose `unload` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.unloadEvent')
@DocsEditable()
static const EventStreamProvider<Event> unloadEvent = const EventStreamProvider<Event>('unload');
/**
* Static factory designed to expose `animationend` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.webkitAnimationEndEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
static const EventStreamProvider<AnimationEvent> animationEndEvent = const EventStreamProvider<AnimationEvent>('webkitAnimationEnd');
/**
* Static factory designed to expose `animationiteration` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.webkitAnimationIterationEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
static const EventStreamProvider<AnimationEvent> animationIterationEvent = const EventStreamProvider<AnimationEvent>('webkitAnimationIteration');
/**
* Static factory designed to expose `animationstart` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.webkitAnimationStartEvent')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
static const EventStreamProvider<AnimationEvent> animationStartEvent = const EventStreamProvider<AnimationEvent>('webkitAnimationStart');
/**
* Indicates that file system data cannot be cleared unless given user
* permission.
*
* ## Other resources
*
* * [Exploring the FileSystem APIs]
* (http://www.html5rocks.com/en/tutorials/file/filesystem/) from HTML5Rocks.
* * [File API]
* (http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem) from W3C.
*/
@DomName('Window.PERSISTENT')
@DocsEditable()
// http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem
@Experimental()
static const int PERSISTENT = 1;
/**
* Indicates that file system data can be cleared at any time.
*
* ## Other resources
*
* * [Exploring the FileSystem APIs]
* (http://www.html5rocks.com/en/tutorials/file/filesystem/) from HTML5Rocks.
* * [File API]
* (http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem) from W3C.
*/
@DomName('Window.TEMPORARY')
@DocsEditable()
// http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem
@Experimental()
static const int TEMPORARY = 0;
/**
* Entrypoint for CSS-related functions.
*
* ## Other resources
*
* * [The CSS interface](http://dev.w3.org/csswg/css-conditional/#the-css-interface) from W3C.
*/
@DomName('Window.CSS')
@DocsEditable()
Css get css => _blink.Native_Window_CSS_Getter(this);
/**
* The application cache for this window.
*
* ## Other resources
*
* * [A beginner's guide to using the application cache]
* (http://www.html5rocks.com/en/tutorials/appcache/beginner) from HTML5Rocks.
* * [Application cache API]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html#application-cache-api)
* from WHATWG.
*/
@DomName('Window.applicationCache')
@DocsEditable()
ApplicationCache get applicationCache => _blink.Native_Window_applicationCache_Getter(this);
@DomName('Window.closed')
@DocsEditable()
bool get closed => _blink.Native_Window_closed_Getter(this);
@DomName('Window.console')
@DocsEditable()
Console get console => _blink.Native_Window_console_Getter(this);
/**
* Entrypoint for the browser's cryptographic functions.
*
* ## Other resources
*
* * [Web cryptography API](http://www.w3.org/TR/WebCryptoAPI/) from W3C.
*/
@DomName('Window.crypto')
@DocsEditable()
// http://www.w3.org/TR/WebCryptoAPI/
@Experimental()
Crypto get crypto => _blink.Native_Window_crypto_Getter(this);
/// *Deprecated*.
@DomName('Window.defaultStatus')
@DocsEditable()
@Experimental() // non-standard
String get defaultStatus => _blink.Native_Window_defaultStatus_Getter(this);
/// *Deprecated*.
@DomName('Window.defaultStatus')
@DocsEditable()
@Experimental() // non-standard
void set defaultStatus(String value) => _blink.Native_Window_defaultStatus_Setter(this, value);
/// *Deprecated*.
@DomName('Window.defaultstatus')
@DocsEditable()
@Experimental() // non-standard
String get defaultstatus => _blink.Native_Window_defaultstatus_Getter(this);
/// *Deprecated*.
@DomName('Window.defaultstatus')
@DocsEditable()
@Experimental() // non-standard
void set defaultstatus(String value) => _blink.Native_Window_defaultstatus_Setter(this, value);
/**
* The ratio between physical pixels and logical CSS pixels.
*
* ## Other resources
*
* * [devicePixelRatio]
* (http://www.quirksmode.org/blog/archives/2012/06/devicepixelrati.html) from
* quirksmode.
* * [More about devicePixelRatio]
* (http://www.quirksmode.org/blog/archives/2012/07/more_about_devi.html) from
* quirksmode.
*/
@DomName('Window.devicePixelRatio')
@DocsEditable()
// http://www.quirksmode.org/blog/archives/2012/06/devicepixelrati.html
@Experimental() // non-standard
double get devicePixelRatio => _blink.Native_Window_devicePixelRatio_Getter(this);
@DomName('Window.document')
@DocsEditable()
Document get document => _blink.Native_Window_document_Getter(this);
/**
* The current session history for this window's newest document.
*
* ## Other resources
*
* * [Loading web pages]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html)
* from WHATWG.
*/
@DomName('Window.history')
@DocsEditable()
History get history => _blink.Native_Window_history_Getter(this);
@DomName('Window.indexedDB')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX, '15')
@SupportedBrowser(SupportedBrowser.IE, '10')
@Experimental()
IdbFactory get indexedDB => _blink.Native_Window_indexedDB_Getter(this);
/**
* The height of the viewport including scrollbars.
*
* ## Other resources
*
* * [innerHeight]
* (http://docs.webplatform.org/wiki/css/cssom/properties/innerHeight) from
* WebPlatform.org.
*/
@DomName('Window.innerHeight')
@DocsEditable()
int get innerHeight => _blink.Native_Window_innerHeight_Getter(this);
/**
* The width of the viewport including scrollbars.
*
* ## Other resources
*
* * [innerWidth]
* (http://docs.webplatform.org/wiki/css/cssom/properties/innerWidth) from
* WebPlatform.org.
*/
@DomName('Window.innerWidth')
@DocsEditable()
int get innerWidth => _blink.Native_Window_innerWidth_Getter(this);
/**
* Storage for this window that persists across sessions.
*
* ## Other resources
*
* * [DOM storage guide]
* (https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage) from
* MDN.
* * [The past, present & future of local storage for web applications]
* (http://diveintohtml5.info/storage.html) from Dive Into HTML5.
* * [Local storage specification]
* (http://www.w3.org/TR/webstorage/#the-localstorage-attribute) from W3C.
*/
@DomName('Window.localStorage')
@DocsEditable()
Storage get localStorage => _blink.Native_Window_localStorage_Getter(this);
@DomName('Window.location')
@DocsEditable()
Location get location => _blink.Native_Window_location_Getter(this);
/**
* This window's location bar, which displays the URL.
*
* ## Other resources
*
* * [Browser interface elements]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#browser-interface-elements)
* from WHATWG.
*/
@DomName('Window.locationbar')
@DocsEditable()
BarProp get locationbar => _blink.Native_Window_locationbar_Getter(this);
/**
* This window's menu bar, which displays menu commands.
*
* ## Other resources
*
* * [Browser interface elements]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#browser-interface-elements)
* from WHATWG.
*/
@DomName('Window.menubar')
@DocsEditable()
BarProp get menubar => _blink.Native_Window_menubar_Getter(this);
/**
* The name of this window.
*
* ## Other resources
*
* * [Window name]
* (http://docs.webplatform.org/wiki/html/attributes/name_(window)) from
* WebPlatform.org.
*/
@DomName('Window.name')
@DocsEditable()
String get name => _blink.Native_Window_name_Getter(this);
/**
* The name of this window.
*
* ## Other resources
*
* * [Window name]
* (http://docs.webplatform.org/wiki/html/attributes/name_(window)) from
* WebPlatform.org.
*/
@DomName('Window.name')
@DocsEditable()
void set name(String value) => _blink.Native_Window_name_Setter(this, value);
/**
* The user agent accessing this window.
*
* ## Other resources
*
* * [The navigator object]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#the-navigator-object)
* from WHATWG.
*/
@DomName('Window.navigator')
@DocsEditable()
Navigator get navigator => _blink.Native_Window_navigator_Getter(this);
/**
* Whether objects are drawn offscreen before being displayed.
*
* ## Other resources
*
* * [offscreenBuffering]
* (http://docs.webplatform.org/wiki/dom/properties/offscreenBuffering) from
* WebPlatform.org.
*/
@DomName('Window.offscreenBuffering')
@DocsEditable()
@Experimental() // non-standard
bool get offscreenBuffering => _blink.Native_Window_offscreenBuffering_Getter(this);
@DomName('Window.opener')
@DocsEditable()
WindowBase get opener => _blink.Native_Window_opener_Getter(this);
@DomName('Window.opener')
@DocsEditable()
void set opener(Window value) => _blink.Native_Window_opener_Setter(this, value);
@DomName('Window.orientation')
@DocsEditable()
@Experimental() // untriaged
int get orientation => _blink.Native_Window_orientation_Getter(this);
/**
* The height of this window including all user interface elements.
*
* ## Other resources
*
* * [outerHeight]
* (http://docs.webplatform.org/wiki/css/cssom/properties/outerHeight) from
* WebPlatform.org.
*/
@DomName('Window.outerHeight')
@DocsEditable()
int get outerHeight => _blink.Native_Window_outerHeight_Getter(this);
/**
* The width of the window including all user interface elements.
*
* ## Other resources
*
* * [outerWidth]
* (http://docs.webplatform.org/wiki/css/cssom/properties/outerWidth) from
* WebPlatform.org.
*/
@DomName('Window.outerWidth')
@DocsEditable()
int get outerWidth => _blink.Native_Window_outerWidth_Getter(this);
/**
* The distance this window has been scrolled horizontally.
*
* This attribute is an alias for [scrollX].
*
* ## Other resources
*
* * [The Screen interface specification]
* (http://www.w3.org/TR/cssom-view/#screen) from W3C.
* * [scrollX and pageXOffset]
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.scrollX) from MDN.
*/
@DomName('Window.pageXOffset')
@DocsEditable()
int get pageXOffset => _blink.Native_Window_pageXOffset_Getter(this);
/**
* The distance this window has been scrolled vertically.
*
* This attribute is an alias for [scrollY].
*
* ## Other resources
*
* * [The Screen interface specification]
* (http://www.w3.org/TR/cssom-view/#screen) from W3C.
* * [scrollY and pageYOffset]
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.scrollY) from MDN.
*/
@DomName('Window.pageYOffset')
@DocsEditable()
int get pageYOffset => _blink.Native_Window_pageYOffset_Getter(this);
@DomName('Window.parent')
@DocsEditable()
WindowBase get parent => _blink.Native_Window_parent_Getter(this);
/**
* Timing and navigation data for this window.
*
* ## Other resources
*
* * [Measuring page load speed with navigation timeing]
* (http://www.html5rocks.com/en/tutorials/webperformance/basics/) from
* HTML5Rocks.
* * [Navigation timing specification]
* (http://www.w3.org/TR/navigation-timing/) from W3C.
*/
@DomName('Window.performance')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE)
Performance get performance => _blink.Native_Window_performance_Getter(this);
/**
* Information about the screen displaying this window.
*
* ## Other resources
*
* * [The Screen interface specification]
* (http://www.w3.org/TR/cssom-view/#screen) from W3C.
*/
@DomName('Window.screen')
@DocsEditable()
Screen get screen => _blink.Native_Window_screen_Getter(this);
/**
* The distance from the left side of the screen to the left side of this
* window.
*
* ## Other resources
*
* * [The Screen interface specification]
* (http://www.w3.org/TR/cssom-view/#screen) from W3C.
*/
@DomName('Window.screenLeft')
@DocsEditable()
int get screenLeft => _blink.Native_Window_screenLeft_Getter(this);
/**
* The distance from the top of the screen to the top of this window.
*
* ## Other resources
*
* * [The Screen interface specification]
* (http://www.w3.org/TR/cssom-view/#screen) from W3C.
*/
@DomName('Window.screenTop')
@DocsEditable()
int get screenTop => _blink.Native_Window_screenTop_Getter(this);
/**
* The distance from the left side of the screen to the mouse pointer.
*
* ## Other resources
*
* * [The Screen interface specification]
* (http://www.w3.org/TR/cssom-view/#screen) from W3C.
*/
@DomName('Window.screenX')
@DocsEditable()
int get screenX => _blink.Native_Window_screenX_Getter(this);
/**
* The distance from the top of the screen to the mouse pointer.
*
* ## Other resources
*
* * [The Screen interface specification]
* (http://www.w3.org/TR/cssom-view/#screen) from W3C.
*/
@DomName('Window.screenY')
@DocsEditable()
int get screenY => _blink.Native_Window_screenY_Getter(this);
@DomName('Window.scrollX')
@DocsEditable()
int get scrollX => _blink.Native_Window_scrollX_Getter(this);
@DomName('Window.scrollY')
@DocsEditable()
int get scrollY => _blink.Native_Window_scrollY_Getter(this);
/**
* This window's scroll bars.
*
* ## Other resources
*
* * [Browser interface elements]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#browser-interface-elements)
* from WHATWG.
*/
@DomName('Window.scrollbars')
@DocsEditable()
BarProp get scrollbars => _blink.Native_Window_scrollbars_Getter(this);
/**
* The current window.
*
* ## Other resources
*
* * [Window.self]
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.self) from MDN.
*/
@DomName('Window.self')
@DocsEditable()
WindowBase get self => _blink.Native_Window_self_Getter(this);
/**
* Storage for this window that is cleared when this session ends.
*
* ## Other resources
*
* * [DOM storage guide]
* (https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage) from
* MDN.
* * [The past, present & future of local storage for web applications]
* (http://diveintohtml5.info/storage.html) from Dive Into HTML5.
* * [Local storage specification]
* (http://www.w3.org/TR/webstorage/#dom-sessionstorage) from W3C.
*/
@DomName('Window.sessionStorage')
@DocsEditable()
Storage get sessionStorage => _blink.Native_Window_sessionStorage_Getter(this);
/**
* Access to speech synthesis in the browser.
*
* ## Other resources
*
* * [Web speech specification]
* (https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section)
* from W3C.
*/
@DomName('Window.speechSynthesis')
@DocsEditable()
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section
@Experimental()
SpeechSynthesis get speechSynthesis => _blink.Native_Window_speechSynthesis_Getter(this);
/// *Deprecated*.
@DomName('Window.status')
@DocsEditable()
String get status => _blink.Native_Window_status_Getter(this);
/// *Deprecated*.
@DomName('Window.status')
@DocsEditable()
void set status(String value) => _blink.Native_Window_status_Setter(this, value);
/**
* This window's status bar.
*
* ## Other resources
*
* * [Browser interface elements]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#browser-interface-elements)
* from WHATWG.
*/
@DomName('Window.statusbar')
@DocsEditable()
BarProp get statusbar => _blink.Native_Window_statusbar_Getter(this);
/**
* Access to CSS media queries.
*
* ## Other resources
*
* * [StyleMedia class reference]
* (https://developer.apple.com/library/safari/documentation/SafariDOMAdditions/Reference/StyleMedia/StyleMedia/StyleMedia.html)
* from Safari Developer Library.
*/
@DomName('Window.styleMedia')
@DocsEditable()
// http://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/StyleMedia/StyleMedia/StyleMedia.html
@Experimental() // nonstandard
StyleMedia get styleMedia => _blink.Native_Window_styleMedia_Getter(this);
/**
* This window's tool bar.
*
* ## Other resources
*
* * [Browser interface elements]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#browser-interface-elements)
* from WHATWG.
*/
@DomName('Window.toolbar')
@DocsEditable()
BarProp get toolbar => _blink.Native_Window_toolbar_Getter(this);
@DomName('Window.top')
@DocsEditable()
WindowBase get top => _blink.Native_Window_top_Getter(this);
/**
* The current window.
*
* ## Other resources
*
* * [Window.window]
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.window) from MDN.
*/
@DomName('Window.window')
@DocsEditable()
WindowBase get window => _blink.Native_Window_window_Getter(this);
WindowBase __getter__(index_OR_name) => _blink.Native_Window___getter__(this, index_OR_name);
/**
* Displays a modal alert to the user.
*
* ## Other resources
*
* * [User prompts]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#user-prompts)
* from WHATWG.
*/
@DomName('Window.alert')
@DocsEditable()
void alert(String message) => _blink.Native_Window_alert_Callback(this, message);
@DomName('Window.cancelAnimationFrame')
@DocsEditable()
void cancelAnimationFrame(int id) => _blink.Native_Window_cancelAnimationFrame_Callback(this, id);
@DomName('Window.close')
@DocsEditable()
void close() => _blink.Native_Window_close_Callback(this);
/**
* Displays a modal OK/Cancel prompt to the user.
*
* ## Other resources
*
* * [User prompts]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#user-prompts)
* from WHATWG.
*/
@DomName('Window.confirm')
@DocsEditable()
bool confirm(String message) => _blink.Native_Window_confirm_Callback(this, message);
/**
* Finds text in this window.
*
* ## Other resources
*
* * [Window.find]
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.find) from MDN.
*/
@DomName('Window.find')
@DocsEditable()
@Experimental() // non-standard
bool find(String string, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) => _blink.Native_Window_find_Callback(this, string, caseSensitive, backwards, wrap, wholeWord, searchInFrames, showDialog);
@DomName('Window.getComputedStyle')
@DocsEditable()
CssStyleDeclaration _getComputedStyle(Element element, String pseudoElement) => _blink.Native_Window_getComputedStyle_Callback(this, element, pseudoElement);
/**
* Returns all CSS rules that apply to the element's pseudo-element.
*/
@DomName('Window.getMatchedCSSRules')
@DocsEditable()
@Experimental() // non-standard
List<CssRule> getMatchedCssRules(Element element, String pseudoElement) => _blink.Native_Window_getMatchedCSSRules_Callback(this, element, pseudoElement);
/**
* Returns the currently selected text.
*
* ## Other resources
*
* * [Window.getSelection]
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.getSelection)
* from MDN.
*/
@DomName('Window.getSelection')
@DocsEditable()
Selection getSelection() => _blink.Native_Window_getSelection_Callback(this);
/**
* Returns a list of media queries for the given query string.
*
* ## Other resources
*
* * [Testing media queries]
* (https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Testing_media_queries)
* from MDN.
* * [The MediaQueryList specification]
* (http://www.w3.org/TR/cssom-view/#the-mediaquerylist-interface) from W3C.
*/
@DomName('Window.matchMedia')
@DocsEditable()
MediaQueryList matchMedia(String query) => _blink.Native_Window_matchMedia_Callback(this, query);
/**
* Moves this window.
*
* x and y can be negative.
*
* ## Other resources
*
* * [Window.moveBy]
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.moveBy) from MDN.
* * [Window.moveBy]
* (http://dev.w3.org/csswg/cssom-view/#dom-window-moveby) from W3C.
*/
@DomName('Window.moveBy')
@DocsEditable()
void moveBy(num x, num y) => _blink.Native_Window_moveBy_Callback(this, x, y);
@DomName('Window.moveTo')
@DocsEditable()
void _moveTo(num x, num y) => _blink.Native_Window_moveTo_Callback(this, x, y);
@DomName('Window.open')
@DocsEditable()
WindowBase open(String url, String name, [String options]) => _blink.Native_Window_open_Callback(this, url, name, options);
/// *Deprecated.*
@DomName('Window.openDatabase')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3.org/TR/webdatabase/
@Experimental() // deprecated
SqlDatabase openDatabase(String name, String version, String displayName, int estimatedSize, [DatabaseCallback creationCallback]) => _blink.Native_Window_openDatabase_Callback(this, name, version, displayName, estimatedSize, creationCallback);
@DomName('Window.postMessage')
@DocsEditable()
void postMessage(/*SerializedScriptValue*/ message, String targetOrigin, [List<MessagePort> messagePorts]) => _blink.Native_Window_postMessage_Callback(this, message, targetOrigin, messagePorts);
/**
* Opens the print dialog for this window.
*
* ## Other resources
*
* * [Window.print]
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.print) from MDN.
*/
@DomName('Window.print')
@DocsEditable()
void print() => _blink.Native_Window_print_Callback(this);
@DomName('Window.requestAnimationFrame')
@DocsEditable()
int _requestAnimationFrame(RequestAnimationFrameCallback callback) => _blink.Native_Window_requestAnimationFrame_Callback(this, callback);
/**
* Resizes this window by an offset.
*
* ## Other resources
*
* * [Window resizeBy] (http://docs.webplatform.org/wiki/dom/methods/resizeBy)
* from WebPlatform.org.
*/
@DomName('Window.resizeBy')
@DocsEditable()
void resizeBy(num x, num y) => _blink.Native_Window_resizeBy_Callback(this, x, y);
/**
* Resizes this window to a specific width and height.
*
* ## Other resources
*
* * [Window resizeTo] (http://docs.webplatform.org/wiki/dom/methods/resizeTo)
* from WebPlatform.org.
*/
@DomName('Window.resizeTo')
@DocsEditable()
void resizeTo(num width, num height) => _blink.Native_Window_resizeTo_Callback(this, width, height);
/**
* Scrolls the page horizontally and vertically to a specific point.
*
* This method is identical to [scrollTo].
*
* ## Other resources
*
* * [Window scroll] (http://docs.webplatform.org/wiki/dom/methods/scroll)
* from WebPlatform.org.
*/
@DomName('Window.scroll')
@DocsEditable()
void scroll(int x, int y, [Map scrollOptions]) => _blink.Native_Window_scroll_Callback(this, x, y, scrollOptions);
/**
* Scrolls the page horizontally and vertically by an offset.
*
* ## Other resources
*
* * [Window scrollBy] (http://docs.webplatform.org/wiki/dom/methods/scrollBy)
* from WebPlatform.org.
*/
@DomName('Window.scrollBy')
@DocsEditable()
void scrollBy(int x, int y, [Map scrollOptions]) => _blink.Native_Window_scrollBy_Callback(this, x, y, scrollOptions);
/**
* Scrolls the page horizontally and vertically to a specific point.
*
* This method is identical to [scroll].
*
* ## Other resources
*
* * [Window scrollTo] (http://docs.webplatform.org/wiki/dom/methods/scrollTo)
* from WebPlatform.org.
*/
@DomName('Window.scrollTo')
@DocsEditable()
void scrollTo(int x, int y, [Map scrollOptions]) => _blink.Native_Window_scrollTo_Callback(this, x, y, scrollOptions);
/**
* Opens a new page as a modal dialog.
*
* ## Other resources
*
* * [Dialogs implemented using separate documents]
* (http://www.w3.org/html/wg/drafts/html/master/webappapis.html#dialogs-implemented-using-separate-documents)
* from W3C.
*/
@DomName('Window.showModalDialog')
@DocsEditable()
Object showModalDialog(String url, [Object dialogArgs, String featureArgs]) => _blink.Native_Window_showModalDialog_Callback(this, url, dialogArgs, featureArgs);
/**
* Stops the window from loading.
*
* ## Other resources
*
* * [The Window object]
* (http://www.w3.org/html/wg/drafts/html/master/browsers.html#the-window-object)
* from W3C.
*/
@DomName('Window.stop')
@DocsEditable()
void stop() => _blink.Native_Window_stop_Callback(this);
@DomName('Window.toString')
@DocsEditable()
String toString() => _blink.Native_Window_toString_Callback(this);
@DomName('Window.webkitConvertPointFromNodeToPage')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html
_DomPoint _convertPointFromNodeToPage(Node node, _DomPoint p) => _blink.Native_Window_webkitConvertPointFromNodeToPage_Callback(this, node, p);
@DomName('Window.webkitConvertPointFromPageToNode')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html
_DomPoint _convertPointFromPageToNode(Node node, _DomPoint p) => _blink.Native_Window_webkitConvertPointFromPageToNode_Callback(this, node, p);
@DomName('Window.webkitRequestFileSystem')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem
void __requestFileSystem(int type, int size, _FileSystemCallback successCallback, [_ErrorCallback errorCallback]) => _blink.Native_Window_webkitRequestFileSystem_Callback(this, type, size, successCallback, errorCallback);
Future<FileSystem> _requestFileSystem(int type, int size) {
var completer = new Completer<FileSystem>();
__requestFileSystem(type, size,
(value) { completer.complete(value); },
(error) { completer.completeError(error); });
return completer.future;
}
/**
* Asynchronously retrieves a local filesystem entry.
*
* ## Other resources
*
* * [Obtaining access to file system entry points]
* (http://www.w3.org/TR/file-system-api/#obtaining-access-to-file-system-entry-points)
* from W3C.
*/
@DomName('Window.webkitResolveLocalFileSystemURL')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://www.w3.org/TR/file-system-api/#idl-def-LocalFileSystem
void _resolveLocalFileSystemUrl(String url, _EntryCallback successCallback, [_ErrorCallback errorCallback]) => _blink.Native_Window_webkitResolveLocalFileSystemURL_Callback(this, url, successCallback, errorCallback);
Future<Entry> resolveLocalFileSystemUrl(String url) {
var completer = new Completer<Entry>();
_resolveLocalFileSystemUrl(url,
(value) { completer.complete(value); },
(error) { completer.completeError(error); });
return completer.future;
}
@DomName('Window.atob')
@DocsEditable()
String atob(String string) => _blink.Native_Window_atob_Callback(this, string);
@DomName('Window.btoa')
@DocsEditable()
String btoa(String string) => _blink.Native_Window_btoa_Callback(this, string);
@DomName('Window.clearInterval')
@DocsEditable()
void _clearInterval(int handle) => _blink.Native_Window_clearInterval_Callback(this, handle);
@DomName('Window.clearTimeout')
@DocsEditable()
void _clearTimeout(int handle) => _blink.Native_Window_clearTimeout_Callback(this, handle);
@DomName('Window.setInterval')
@DocsEditable()
int _setInterval(Object handler, int timeout) => _blink.Native_Window_setInterval_Callback(this, handler, timeout);
@DomName('Window.setTimeout')
@DocsEditable()
int _setTimeout(Object handler, int timeout) => _blink.Native_Window_setTimeout_Callback(this, handler, timeout);
/// Stream of `contentloaded` events handled by this [Window].
@DomName('Window.onDOMContentLoaded')
@DocsEditable()
Stream<Event> get onContentLoaded => contentLoadedEvent.forTarget(this);
/// Stream of `abort` events handled by this [Window].
@DomName('Window.onabort')
@DocsEditable()
Stream<Event> get onAbort => Element.abortEvent.forTarget(this);
/// Stream of `blur` events handled by this [Window].
@DomName('Window.onblur')
@DocsEditable()
Stream<Event> get onBlur => Element.blurEvent.forTarget(this);
/// Stream of `change` events handled by this [Window].
@DomName('Window.onchange')
@DocsEditable()
Stream<Event> get onChange => Element.changeEvent.forTarget(this);
/// Stream of `click` events handled by this [Window].
@DomName('Window.onclick')
@DocsEditable()
Stream<MouseEvent> get onClick => Element.clickEvent.forTarget(this);
/// Stream of `contextmenu` events handled by this [Window].
@DomName('Window.oncontextmenu')
@DocsEditable()
Stream<MouseEvent> get onContextMenu => Element.contextMenuEvent.forTarget(this);
/// Stream of `doubleclick` events handled by this [Window].
@DomName('Window.ondblclick')
@DocsEditable()
Stream<Event> get onDoubleClick => Element.doubleClickEvent.forTarget(this);
/// Stream of `devicemotion` events handled by this [Window].
@DomName('Window.ondevicemotion')
@DocsEditable()
// http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion
@Experimental()
Stream<DeviceMotionEvent> get onDeviceMotion => deviceMotionEvent.forTarget(this);
/// Stream of `deviceorientation` events handled by this [Window].
@DomName('Window.ondeviceorientation')
@DocsEditable()
// http://dev.w3.org/geo/api/spec-source-orientation.html#devicemotion
@Experimental()
Stream<DeviceOrientationEvent> get onDeviceOrientation => deviceOrientationEvent.forTarget(this);
/// Stream of `drag` events handled by this [Window].
@DomName('Window.ondrag')
@DocsEditable()
Stream<MouseEvent> get onDrag => Element.dragEvent.forTarget(this);
/// Stream of `dragend` events handled by this [Window].
@DomName('Window.ondragend')
@DocsEditable()
Stream<MouseEvent> get onDragEnd => Element.dragEndEvent.forTarget(this);
/// Stream of `dragenter` events handled by this [Window].
@DomName('Window.ondragenter')
@DocsEditable()
Stream<MouseEvent> get onDragEnter => Element.dragEnterEvent.forTarget(this);
/// Stream of `dragleave` events handled by this [Window].
@DomName('Window.ondragleave')
@DocsEditable()
Stream<MouseEvent> get onDragLeave => Element.dragLeaveEvent.forTarget(this);
/// Stream of `dragover` events handled by this [Window].
@DomName('Window.ondragover')
@DocsEditable()
Stream<MouseEvent> get onDragOver => Element.dragOverEvent.forTarget(this);
/// Stream of `dragstart` events handled by this [Window].
@DomName('Window.ondragstart')
@DocsEditable()
Stream<MouseEvent> get onDragStart => Element.dragStartEvent.forTarget(this);
/// Stream of `drop` events handled by this [Window].
@DomName('Window.ondrop')
@DocsEditable()
Stream<MouseEvent> get onDrop => Element.dropEvent.forTarget(this);
/// Stream of `error` events handled by this [Window].
@DomName('Window.onerror')
@DocsEditable()
Stream<Event> get onError => Element.errorEvent.forTarget(this);
/// Stream of `focus` events handled by this [Window].
@DomName('Window.onfocus')
@DocsEditable()
Stream<Event> get onFocus => Element.focusEvent.forTarget(this);
/// Stream of `hashchange` events handled by this [Window].
@DomName('Window.onhashchange')
@DocsEditable()
Stream<Event> get onHashChange => hashChangeEvent.forTarget(this);
/// Stream of `input` events handled by this [Window].
@DomName('Window.oninput')
@DocsEditable()
Stream<Event> get onInput => Element.inputEvent.forTarget(this);
/// Stream of `invalid` events handled by this [Window].
@DomName('Window.oninvalid')
@DocsEditable()
Stream<Event> get onInvalid => Element.invalidEvent.forTarget(this);
/// Stream of `keydown` events handled by this [Window].
@DomName('Window.onkeydown')
@DocsEditable()
Stream<KeyboardEvent> get onKeyDown => Element.keyDownEvent.forTarget(this);
/// Stream of `keypress` events handled by this [Window].
@DomName('Window.onkeypress')
@DocsEditable()
Stream<KeyboardEvent> get onKeyPress => Element.keyPressEvent.forTarget(this);
/// Stream of `keyup` events handled by this [Window].
@DomName('Window.onkeyup')
@DocsEditable()
Stream<KeyboardEvent> get onKeyUp => Element.keyUpEvent.forTarget(this);
/// Stream of `load` events handled by this [Window].
@DomName('Window.onload')
@DocsEditable()
Stream<Event> get onLoad => Element.loadEvent.forTarget(this);
/// Stream of `message` events handled by this [Window].
@DomName('Window.onmessage')
@DocsEditable()
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
/// Stream of `mousedown` events handled by this [Window].
@DomName('Window.onmousedown')
@DocsEditable()
Stream<MouseEvent> get onMouseDown => Element.mouseDownEvent.forTarget(this);
/// Stream of `mouseenter` events handled by this [Window].
@DomName('Window.onmouseenter')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onMouseEnter => Element.mouseEnterEvent.forTarget(this);
/// Stream of `mouseleave` events handled by this [Window].
@DomName('Window.onmouseleave')
@DocsEditable()
@Experimental() // untriaged
Stream<MouseEvent> get onMouseLeave => Element.mouseLeaveEvent.forTarget(this);
/// Stream of `mousemove` events handled by this [Window].
@DomName('Window.onmousemove')
@DocsEditable()
Stream<MouseEvent> get onMouseMove => Element.mouseMoveEvent.forTarget(this);
/// Stream of `mouseout` events handled by this [Window].
@DomName('Window.onmouseout')
@DocsEditable()
Stream<MouseEvent> get onMouseOut => Element.mouseOutEvent.forTarget(this);
/// Stream of `mouseover` events handled by this [Window].
@DomName('Window.onmouseover')
@DocsEditable()
Stream<MouseEvent> get onMouseOver => Element.mouseOverEvent.forTarget(this);
/// Stream of `mouseup` events handled by this [Window].
@DomName('Window.onmouseup')
@DocsEditable()
Stream<MouseEvent> get onMouseUp => Element.mouseUpEvent.forTarget(this);
/// Stream of `mousewheel` events handled by this [Window].
@DomName('Window.onmousewheel')
@DocsEditable()
Stream<WheelEvent> get onMouseWheel => Element.mouseWheelEvent.forTarget(this);
/// Stream of `offline` events handled by this [Window].
@DomName('Window.onoffline')
@DocsEditable()
Stream<Event> get onOffline => offlineEvent.forTarget(this);
/// Stream of `online` events handled by this [Window].
@DomName('Window.ononline')
@DocsEditable()
Stream<Event> get onOnline => onlineEvent.forTarget(this);
/// Stream of `pagehide` events handled by this [Window].
@DomName('Window.onpagehide')
@DocsEditable()
Stream<Event> get onPageHide => pageHideEvent.forTarget(this);
/// Stream of `pageshow` events handled by this [Window].
@DomName('Window.onpageshow')
@DocsEditable()
Stream<Event> get onPageShow => pageShowEvent.forTarget(this);
/// Stream of `popstate` events handled by this [Window].
@DomName('Window.onpopstate')
@DocsEditable()
Stream<PopStateEvent> get onPopState => popStateEvent.forTarget(this);
/// Stream of `reset` events handled by this [Window].
@DomName('Window.onreset')
@DocsEditable()
Stream<Event> get onReset => Element.resetEvent.forTarget(this);
/// Stream of `resize` events handled by this [Window].
@DomName('Window.onresize')
@DocsEditable()
Stream<Event> get onResize => Element.resizeEvent.forTarget(this);
/// Stream of `scroll` events handled by this [Window].
@DomName('Window.onscroll')
@DocsEditable()
Stream<Event> get onScroll => Element.scrollEvent.forTarget(this);
/// Stream of `search` events handled by this [Window].
@DomName('Window.onsearch')
@DocsEditable()
// http://www.w3.org/TR/html-markup/input.search.html
@Experimental()
Stream<Event> get onSearch => Element.searchEvent.forTarget(this);
/// Stream of `select` events handled by this [Window].
@DomName('Window.onselect')
@DocsEditable()
Stream<Event> get onSelect => Element.selectEvent.forTarget(this);
/// Stream of `storage` events handled by this [Window].
@DomName('Window.onstorage')
@DocsEditable()
Stream<StorageEvent> get onStorage => storageEvent.forTarget(this);
/// Stream of `submit` events handled by this [Window].
@DomName('Window.onsubmit')
@DocsEditable()
Stream<Event> get onSubmit => Element.submitEvent.forTarget(this);
/// Stream of `touchcancel` events handled by this [Window].
@DomName('Window.ontouchcancel')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
Stream<TouchEvent> get onTouchCancel => Element.touchCancelEvent.forTarget(this);
/// Stream of `touchend` events handled by this [Window].
@DomName('Window.ontouchend')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
Stream<TouchEvent> get onTouchEnd => Element.touchEndEvent.forTarget(this);
/// Stream of `touchmove` events handled by this [Window].
@DomName('Window.ontouchmove')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
Stream<TouchEvent> get onTouchMove => Element.touchMoveEvent.forTarget(this);
/// Stream of `touchstart` events handled by this [Window].
@DomName('Window.ontouchstart')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
Stream<TouchEvent> get onTouchStart => Element.touchStartEvent.forTarget(this);
/// Stream of `transitionend` events handled by this [Window].
@DomName('Window.ontransitionend')
@DocsEditable()
Stream<TransitionEvent> get onTransitionEnd => Element.transitionEndEvent.forTarget(this);
/// Stream of `unload` events handled by this [Window].
@DomName('Window.onunload')
@DocsEditable()
Stream<Event> get onUnload => unloadEvent.forTarget(this);
/// Stream of `animationend` events handled by this [Window].
@DomName('Window.onwebkitAnimationEnd')
@DocsEditable()
@Experimental()
Stream<AnimationEvent> get onAnimationEnd => animationEndEvent.forTarget(this);
/// Stream of `animationiteration` events handled by this [Window].
@DomName('Window.onwebkitAnimationIteration')
@DocsEditable()
@Experimental()
Stream<AnimationEvent> get onAnimationIteration => animationIterationEvent.forTarget(this);
/// Stream of `animationstart` events handled by this [Window].
@DomName('Window.onwebkitAnimationStart')
@DocsEditable()
@Experimental()
Stream<AnimationEvent> get onAnimationStart => animationStartEvent.forTarget(this);
/**
* Static factory designed to expose `beforeunload` events to event
* handlers that are not necessarily instances of [Window].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Window.beforeunloadEvent')
static const EventStreamProvider<BeforeUnloadEvent> beforeUnloadEvent =
const _BeforeUnloadEventStreamProvider('beforeunload');
/// Stream of `beforeunload` events handled by this [Window].
@DomName('Window.onbeforeunload')
Stream<Event> get onBeforeUnload => beforeUnloadEvent.forTarget(this);
/**
* Moves this window to a specific position.
*
* x and y can be negative.
*
* ## Other resources
*
* * [Window.moveTo]
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.moveTo) from MDN.
* * [Window.moveTo]
* (http://dev.w3.org/csswg/cssom-view/#dom-window-moveto) from W3C.
*/
void moveTo(Point p) {
_moveTo(p.x, p.y);
}
}
class _BeforeUnloadEventStreamProvider implements
EventStreamProvider<BeforeUnloadEvent> {
final String _eventType;
const _BeforeUnloadEventStreamProvider(this._eventType);
Stream<BeforeUnloadEvent> forTarget(EventTarget e, {bool useCapture: false}) {
var stream = new _EventStream(e, _eventType, useCapture);
return stream;
}
String getEventType(EventTarget target) {
return _eventType;
}
ElementStream<BeforeUnloadEvent> forElement(Element e, {bool useCapture: false}) {
return new _ElementEventStreamImpl(e, _eventType, useCapture);
}
ElementStream<BeforeUnloadEvent> _forElementList(ElementList e,
{bool useCapture: false}) {
return new _ElementListEventStreamImpl(e, _eventType, useCapture);
}
}
// 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.
@DocsEditable()
@DomName('WindowBase64')
@Experimental() // untriaged
abstract class WindowBase64 extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory WindowBase64._() { throw new UnsupportedError("Not supported"); }
@DomName('WindowBase64.atob')
@DocsEditable()
@Experimental() // untriaged
String atob(String string) => _blink.Native_WindowBase64_atob_Callback(this, string);
@DomName('WindowBase64.btoa')
@DocsEditable()
@Experimental() // untriaged
String btoa(String string) => _blink.Native_WindowBase64_btoa_Callback(this, string);
}
// 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.
@DocsEditable()
@DomName('WindowEventHandlers')
@Experimental() // untriaged
abstract class WindowEventHandlers extends EventTarget {
// To suppress missing implicit constructor warnings.
factory WindowEventHandlers._() { throw new UnsupportedError("Not supported"); }
@DomName('WindowEventHandlers.hashchangeEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> hashChangeEvent = const EventStreamProvider<Event>('hashchange');
@DomName('WindowEventHandlers.messageEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');
@DomName('WindowEventHandlers.offlineEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> offlineEvent = const EventStreamProvider<Event>('offline');
@DomName('WindowEventHandlers.onlineEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> onlineEvent = const EventStreamProvider<Event>('online');
@DomName('WindowEventHandlers.popstateEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<PopStateEvent> popStateEvent = const EventStreamProvider<PopStateEvent>('popstate');
@DomName('WindowEventHandlers.storageEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<StorageEvent> storageEvent = const EventStreamProvider<StorageEvent>('storage');
@DomName('WindowEventHandlers.unloadEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> unloadEvent = const EventStreamProvider<Event>('unload');
@DomName('WindowEventHandlers.onhashchange')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onHashChange => hashChangeEvent.forTarget(this);
@DomName('WindowEventHandlers.onmessage')
@DocsEditable()
@Experimental() // untriaged
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
@DomName('WindowEventHandlers.onoffline')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onOffline => offlineEvent.forTarget(this);
@DomName('WindowEventHandlers.ononline')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onOnline => onlineEvent.forTarget(this);
@DomName('WindowEventHandlers.onpopstate')
@DocsEditable()
@Experimental() // untriaged
Stream<PopStateEvent> get onPopState => popStateEvent.forTarget(this);
@DomName('WindowEventHandlers.onstorage')
@DocsEditable()
@Experimental() // untriaged
Stream<StorageEvent> get onStorage => storageEvent.forTarget(this);
@DomName('WindowEventHandlers.onunload')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onUnload => unloadEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('Worker')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
// http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#worker
@Experimental() // stable
class Worker extends EventTarget implements AbstractWorker {
// To suppress missing implicit constructor warnings.
factory Worker._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [Worker].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Worker.errorEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
/**
* Static factory designed to expose `message` events to event
* handlers that are not necessarily instances of [Worker].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('Worker.messageEvent')
@DocsEditable()
static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');
@DomName('Worker.Worker')
@DocsEditable()
factory Worker(String scriptUrl) => _blink.Native_Worker_Worker(scriptUrl);
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('Worker.postMessage')
@DocsEditable()
void postMessage(/*SerializedScriptValue*/ message, [List<MessagePort> messagePorts]) => _blink.Native_Worker_postMessage_Callback(this, message, messagePorts);
@DomName('Worker.terminate')
@DocsEditable()
void terminate() => _blink.Native_Worker_terminate_Callback(this);
/// Stream of `error` events handled by this [Worker].
@DomName('Worker.onerror')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onError => errorEvent.forTarget(this);
/// Stream of `message` events handled by this [Worker].
@DomName('Worker.onmessage')
@DocsEditable()
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('WorkerConsole')
@Experimental() // untriaged
class WorkerConsole extends ConsoleBase {
// To suppress missing implicit constructor warnings.
factory WorkerConsole._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('WorkerCrypto')
@Experimental() // untriaged
class WorkerCrypto extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory WorkerCrypto._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('WorkerGlobalScope')
@Experimental() // untriaged
class WorkerGlobalScope extends EventTarget implements _WindowTimers, WindowBase64 {
// To suppress missing implicit constructor warnings.
factory WorkerGlobalScope._() { throw new UnsupportedError("Not supported"); }
/**
* Static factory designed to expose `error` events to event
* handlers that are not necessarily instances of [WorkerGlobalScope].
*
* See [EventStreamProvider] for usage information.
*/
@DomName('WorkerGlobalScope.errorEvent')
@DocsEditable()
@Experimental() // untriaged
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
@DomName('WorkerGlobalScope.PERSISTENT')
@DocsEditable()
@Experimental() // untriaged
static const int PERSISTENT = 1;
@DomName('WorkerGlobalScope.TEMPORARY')
@DocsEditable()
@Experimental() // untriaged
static const int TEMPORARY = 0;
@DomName('WorkerGlobalScope.console')
@DocsEditable()
@Experimental() // untriaged
WorkerConsole get console => _blink.Native_WorkerGlobalScope_console_Getter(this);
@DomName('WorkerGlobalScope.crypto')
@DocsEditable()
@Experimental() // untriaged
WorkerCrypto get crypto => _blink.Native_WorkerGlobalScope_crypto_Getter(this);
@DomName('WorkerGlobalScope.indexedDB')
@DocsEditable()
@Experimental() // untriaged
IdbFactory get indexedDB => _blink.Native_WorkerGlobalScope_indexedDB_Getter(this);
@DomName('WorkerGlobalScope.location')
@DocsEditable()
@Experimental() // untriaged
_WorkerLocation get location => _blink.Native_WorkerGlobalScope_location_Getter(this);
@DomName('WorkerGlobalScope.navigator')
@DocsEditable()
@Experimental() // untriaged
_WorkerNavigator get navigator => _blink.Native_WorkerGlobalScope_navigator_Getter(this);
@DomName('WorkerGlobalScope.performance')
@DocsEditable()
@Experimental() // untriaged
WorkerPerformance get performance => _blink.Native_WorkerGlobalScope_performance_Getter(this);
@DomName('WorkerGlobalScope.self')
@DocsEditable()
@Experimental() // untriaged
WorkerGlobalScope get self => _blink.Native_WorkerGlobalScope_self_Getter(this);
@DomName('WorkerGlobalScope.close')
@DocsEditable()
@Experimental() // untriaged
void close() => _blink.Native_WorkerGlobalScope_close_Callback(this);
@DomName('WorkerGlobalScope.openDatabase')
@DocsEditable()
@Experimental() // untriaged
SqlDatabase openDatabase(String name, String version, String displayName, int estimatedSize, [DatabaseCallback creationCallback]) => _blink.Native_WorkerGlobalScope_openDatabase_Callback(this, name, version, displayName, estimatedSize, creationCallback);
@DomName('WorkerGlobalScope.openDatabaseSync')
@DocsEditable()
@Experimental() // untriaged
_DatabaseSync openDatabaseSync(String name, String version, String displayName, int estimatedSize, [DatabaseCallback creationCallback]) => _blink.Native_WorkerGlobalScope_openDatabaseSync_Callback(this, name, version, displayName, estimatedSize, creationCallback);
@DomName('WorkerGlobalScope.webkitRequestFileSystem')
@DocsEditable()
@Experimental() // untriaged
void _webkitRequestFileSystem(int type, int size, [_FileSystemCallback successCallback, _ErrorCallback errorCallback]) => _blink.Native_WorkerGlobalScope_webkitRequestFileSystem_Callback(this, type, size, successCallback, errorCallback);
Future<FileSystem> webkitRequestFileSystem(int type, int size) {
var completer = new Completer<FileSystem>();
_webkitRequestFileSystem(type, size,
(value) { completer.complete(value); },
(error) { completer.completeError(error); });
return completer.future;
}
@DomName('WorkerGlobalScope.webkitRequestFileSystemSync')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@Experimental() // untriaged
_DOMFileSystemSync requestFileSystemSync(int type, int size) => _blink.Native_WorkerGlobalScope_webkitRequestFileSystemSync_Callback(this, type, size);
@DomName('WorkerGlobalScope.webkitResolveLocalFileSystemSyncURL')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@Experimental() // untriaged
_EntrySync resolveLocalFileSystemSyncUrl(String url) => _blink.Native_WorkerGlobalScope_webkitResolveLocalFileSystemSyncURL_Callback(this, url);
@DomName('WorkerGlobalScope.webkitResolveLocalFileSystemURL')
@DocsEditable()
@Experimental() // untriaged
void _webkitResolveLocalFileSystemUrl(String url, _EntryCallback successCallback, [_ErrorCallback errorCallback]) => _blink.Native_WorkerGlobalScope_webkitResolveLocalFileSystemURL_Callback(this, url, successCallback, errorCallback);
Future<Entry> webkitResolveLocalFileSystemUrl(String url) {
var completer = new Completer<Entry>();
_webkitResolveLocalFileSystemUrl(url,
(value) { completer.complete(value); },
(error) { completer.completeError(error); });
return completer.future;
}
@DomName('WorkerGlobalScope.atob')
@DocsEditable()
@Experimental() // untriaged
String atob(String string) => _blink.Native_WorkerGlobalScope_atob_Callback(this, string);
@DomName('WorkerGlobalScope.btoa')
@DocsEditable()
@Experimental() // untriaged
String btoa(String string) => _blink.Native_WorkerGlobalScope_btoa_Callback(this, string);
@DomName('WorkerGlobalScope.clearInterval')
@DocsEditable()
@Experimental() // untriaged
void _clearInterval(int handle) => _blink.Native_WorkerGlobalScope_clearInterval_Callback(this, handle);
@DomName('WorkerGlobalScope.clearTimeout')
@DocsEditable()
@Experimental() // untriaged
void _clearTimeout(int handle) => _blink.Native_WorkerGlobalScope_clearTimeout_Callback(this, handle);
@DomName('WorkerGlobalScope.setInterval')
@DocsEditable()
@Experimental() // untriaged
int _setInterval(Object handler, int timeout) => _blink.Native_WorkerGlobalScope_setInterval_Callback(this, handler, timeout);
@DomName('WorkerGlobalScope.setTimeout')
@DocsEditable()
@Experimental() // untriaged
int _setTimeout(Object handler, int timeout) => _blink.Native_WorkerGlobalScope_setTimeout_Callback(this, handler, timeout);
/// Stream of `error` events handled by this [WorkerGlobalScope].
@DomName('WorkerGlobalScope.onerror')
@DocsEditable()
@Experimental() // untriaged
Stream<Event> get onError => errorEvent.forTarget(this);
}
// 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.
@DocsEditable()
@DomName('WorkerPerformance')
@Experimental() // untriaged
class WorkerPerformance extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory WorkerPerformance._() { throw new UnsupportedError("Not supported"); }
@DomName('WorkerPerformance.now')
@DocsEditable()
@Experimental() // untriaged
double now() => _blink.Native_WorkerPerformance_now_Callback(this);
}
// 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.
@DocsEditable()
@DomName('XPathEvaluator')
// http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator
@deprecated // experimental
class XPathEvaluator extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory XPathEvaluator._() { throw new UnsupportedError("Not supported"); }
@DomName('XPathEvaluator.XPathEvaluator')
@DocsEditable()
factory XPathEvaluator() => _blink.Native_XPathEvaluator_XPathEvaluator();
@DomName('XPathEvaluator.createExpression')
@DocsEditable()
XPathExpression createExpression(String expression, XPathNSResolver resolver) => _blink.Native_XPathEvaluator_createExpression_Callback(this, expression, resolver);
@DomName('XPathEvaluator.createNSResolver')
@DocsEditable()
XPathNSResolver createNSResolver(Node nodeResolver) => _blink.Native_XPathEvaluator_createNSResolver_Callback(this, nodeResolver);
@DomName('XPathEvaluator.evaluate')
@DocsEditable()
XPathResult evaluate(String expression, Node contextNode, XPathNSResolver resolver, int type, XPathResult inResult) => _blink.Native_XPathEvaluator_evaluate_Callback(this, expression, contextNode, resolver, type, inResult);
}
// 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.
@DocsEditable()
@DomName('XPathExpression')
// http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathExpression
@deprecated // experimental
class XPathExpression extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory XPathExpression._() { throw new UnsupportedError("Not supported"); }
@DomName('XPathExpression.evaluate')
@DocsEditable()
XPathResult evaluate(Node contextNode, int type, XPathResult inResult) => _blink.Native_XPathExpression_evaluate_Callback(this, contextNode, type, inResult);
}
// 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.
@DocsEditable()
@DomName('XPathNSResolver')
// http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathNSResolver
@deprecated // experimental
class XPathNSResolver extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory XPathNSResolver._() { throw new UnsupportedError("Not supported"); }
@DomName('XPathNSResolver.lookupNamespaceURI')
@DocsEditable()
String lookupNamespaceUri(String prefix) => _blink.Native_XPathNSResolver_lookupNamespaceURI_Callback(this, prefix);
}
// 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.
@DocsEditable()
@DomName('XPathResult')
// http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult
@deprecated // experimental
class XPathResult extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory XPathResult._() { throw new UnsupportedError("Not supported"); }
@DomName('XPathResult.ANY_TYPE')
@DocsEditable()
static const int ANY_TYPE = 0;
@DomName('XPathResult.ANY_UNORDERED_NODE_TYPE')
@DocsEditable()
static const int ANY_UNORDERED_NODE_TYPE = 8;
@DomName('XPathResult.BOOLEAN_TYPE')
@DocsEditable()
static const int BOOLEAN_TYPE = 3;
@DomName('XPathResult.FIRST_ORDERED_NODE_TYPE')
@DocsEditable()
static const int FIRST_ORDERED_NODE_TYPE = 9;
@DomName('XPathResult.NUMBER_TYPE')
@DocsEditable()
static const int NUMBER_TYPE = 1;
@DomName('XPathResult.ORDERED_NODE_ITERATOR_TYPE')
@DocsEditable()
static const int ORDERED_NODE_ITERATOR_TYPE = 5;
@DomName('XPathResult.ORDERED_NODE_SNAPSHOT_TYPE')
@DocsEditable()
static const int ORDERED_NODE_SNAPSHOT_TYPE = 7;
@DomName('XPathResult.STRING_TYPE')
@DocsEditable()
static const int STRING_TYPE = 2;
@DomName('XPathResult.UNORDERED_NODE_ITERATOR_TYPE')
@DocsEditable()
static const int UNORDERED_NODE_ITERATOR_TYPE = 4;
@DomName('XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE')
@DocsEditable()
static const int UNORDERED_NODE_SNAPSHOT_TYPE = 6;
@DomName('XPathResult.booleanValue')
@DocsEditable()
bool get booleanValue => _blink.Native_XPathResult_booleanValue_Getter(this);
@DomName('XPathResult.invalidIteratorState')
@DocsEditable()
bool get invalidIteratorState => _blink.Native_XPathResult_invalidIteratorState_Getter(this);
@DomName('XPathResult.numberValue')
@DocsEditable()
double get numberValue => _blink.Native_XPathResult_numberValue_Getter(this);
@DomName('XPathResult.resultType')
@DocsEditable()
int get resultType => _blink.Native_XPathResult_resultType_Getter(this);
@DomName('XPathResult.singleNodeValue')
@DocsEditable()
Node get singleNodeValue => _blink.Native_XPathResult_singleNodeValue_Getter(this);
@DomName('XPathResult.snapshotLength')
@DocsEditable()
int get snapshotLength => _blink.Native_XPathResult_snapshotLength_Getter(this);
@DomName('XPathResult.stringValue')
@DocsEditable()
String get stringValue => _blink.Native_XPathResult_stringValue_Getter(this);
@DomName('XPathResult.iterateNext')
@DocsEditable()
Node iterateNext() => _blink.Native_XPathResult_iterateNext_Callback(this);
@DomName('XPathResult.snapshotItem')
@DocsEditable()
Node snapshotItem(int index) => _blink.Native_XPathResult_snapshotItem_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('XMLDocument')
@Experimental() // untriaged
class XmlDocument extends Document {
// To suppress missing implicit constructor warnings.
factory XmlDocument._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('XMLSerializer')
// http://domparsing.spec.whatwg.org/#the-xmlserializer-interface
@deprecated // stable
class XmlSerializer extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory XmlSerializer._() { throw new UnsupportedError("Not supported"); }
@DomName('XMLSerializer.XMLSerializer')
@DocsEditable()
factory XmlSerializer() => _blink.Native_XMLSerializer_XmlSerializer();
@DomName('XMLSerializer.serializeToString')
@DocsEditable()
String serializeToString(Node node) => _blink.Native_XMLSerializer_serializeToString_Callback(this, node);
}
// 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.
@DocsEditable()
@DomName('XSLTProcessor')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.SAFARI)
@deprecated // nonstandard
class XsltProcessor extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory XsltProcessor._() { throw new UnsupportedError("Not supported"); }
@DomName('XSLTProcessor.XSLTProcessor')
@DocsEditable()
factory XsltProcessor() => _blink.Native_XSLTProcessor_XsltProcessor();
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('XSLTProcessor.clearParameters')
@DocsEditable()
void clearParameters() => _blink.Native_XSLTProcessor_clearParameters_Callback(this);
@DomName('XSLTProcessor.getParameter')
@DocsEditable()
String getParameter(String namespaceURI, String localName) => _blink.Native_XSLTProcessor_getParameter_Callback(this, namespaceURI, localName);
@DomName('XSLTProcessor.importStylesheet')
@DocsEditable()
void importStylesheet(Node stylesheet) => _blink.Native_XSLTProcessor_importStylesheet_Callback(this, stylesheet);
@DomName('XSLTProcessor.removeParameter')
@DocsEditable()
void removeParameter(String namespaceURI, String localName) => _blink.Native_XSLTProcessor_removeParameter_Callback(this, namespaceURI, localName);
@DomName('XSLTProcessor.reset')
@DocsEditable()
void reset() => _blink.Native_XSLTProcessor_reset_Callback(this);
@DomName('XSLTProcessor.setParameter')
@DocsEditable()
void setParameter(String namespaceURI, String localName, String value) => _blink.Native_XSLTProcessor_setParameter_Callback(this, namespaceURI, localName, value);
@DomName('XSLTProcessor.transformToDocument')
@DocsEditable()
Document transformToDocument(Node source) => _blink.Native_XSLTProcessor_transformToDocument_Callback(this, source);
@DomName('XSLTProcessor.transformToFragment')
@DocsEditable()
DocumentFragment transformToFragment(Node source, Document docVal) => _blink.Native_XSLTProcessor_transformToFragment_Callback(this, source, docVal);
}
// 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.
@DocsEditable()
@DomName('Attr')
class _Attr extends Node {
// To suppress missing implicit constructor warnings.
factory _Attr._() { throw new UnsupportedError("Not supported"); }
@DomName('Attr.localName')
@DocsEditable()
@Experimental() // untriaged
String get _localName => _blink.Native_Attr_localName_Getter(this);
@DomName('Attr.name')
@DocsEditable()
String get name => _blink.Native_Attr_name_Getter(this);
@DomName('Attr.namespaceURI')
@DocsEditable()
@Experimental() // untriaged
String get _namespaceUri => _blink.Native_Attr_namespaceURI_Getter(this);
@DomName('Attr.value')
@DocsEditable()
String get value => _blink.Native_Attr_value_Getter(this);
@DomName('Attr.value')
@DocsEditable()
void set value(String value) => _blink.Native_Attr_value_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('CSSPrimitiveValue')
// http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface
@deprecated // deprecated
abstract class _CSSPrimitiveValue extends _CSSValue {
// To suppress missing implicit constructor warnings.
factory _CSSPrimitiveValue._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('CSSUnknownRule')
// http://dev.w3.org/csswg/cssom/#the-cssstylesheet-interface
@deprecated // deprecated
abstract class _CSSUnknownRule extends CssRule {
// To suppress missing implicit constructor warnings.
factory _CSSUnknownRule._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('CSSValue')
// http://dev.w3.org/csswg/cssom/
@deprecated // deprecated
abstract class _CSSValue extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _CSSValue._() { throw new UnsupportedError("Not supported"); }
}
// Copyright (c) 2013, 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.
@DocsEditable()
@DomName('ClientRect')
class _ClientRect extends NativeFieldWrapperClass2 implements Rectangle {
// NOTE! All code below should be common with RectangleBase.
String toString() {
return 'Rectangle ($left, $top) $width x $height';
}
bool operator ==(other) {
if (other is !Rectangle) return false;
return left == other.left && top == other.top && width == other.width &&
height == other.height;
}
int get hashCode => _JenkinsSmiHash.hash4(left.hashCode, top.hashCode,
width.hashCode, height.hashCode);
/**
* Computes the intersection of `this` and [other].
*
* The intersection of two axis-aligned rectangles, if any, is always another
* axis-aligned rectangle.
*
* Returns the intersection of this and `other`, or null if they don't
* intersect.
*/
Rectangle intersection(Rectangle other) {
var x0 = max(left, other.left);
var x1 = min(left + width, other.left + other.width);
if (x0 <= x1) {
var y0 = max(top, other.top);
var y1 = min(top + height, other.top + other.height);
if (y0 <= y1) {
return new Rectangle(x0, y0, x1 - x0, y1 - y0);
}
}
return null;
}
/**
* Returns true if `this` intersects [other].
*/
bool intersects(Rectangle<num> other) {
return (left <= other.left + other.width &&
other.left <= left + width &&
top <= other.top + other.height &&
other.top <= top + height);
}
/**
* Returns a new rectangle which completely contains `this` and [other].
*/
Rectangle boundingBox(Rectangle other) {
var right = max(this.left + this.width, other.left + other.width);
var bottom = max(this.top + this.height, other.top + other.height);
var left = min(this.left, other.left);
var top = min(this.top, other.top);
return new Rectangle(left, top, right - left, bottom - top);
}
/**
* Tests whether `this` entirely contains [another].
*/
bool containsRectangle(Rectangle<num> another) {
return left <= another.left &&
left + width >= another.left + another.width &&
top <= another.top &&
top + height >= another.top + another.height;
}
/**
* Tests whether [another] is inside or along the edges of `this`.
*/
bool containsPoint(Point<num> another) {
return another.x >= left &&
another.x <= left + width &&
another.y >= top &&
another.y <= top + height;
}
Point get topLeft => new Point(this.left, this.top);
Point get topRight => new Point(this.left + this.width, this.top);
Point get bottomRight => new Point(this.left + this.width,
this.top + this.height);
Point get bottomLeft => new Point(this.left,
this.top + this.height);
// To suppress missing implicit constructor warnings.
factory _ClientRect._() { throw new UnsupportedError("Not supported"); }
@DomName('ClientRect.bottom')
@DocsEditable()
double get bottom => _blink.Native_ClientRect_bottom_Getter(this);
@DomName('ClientRect.height')
@DocsEditable()
double get height => _blink.Native_ClientRect_height_Getter(this);
@DomName('ClientRect.left')
@DocsEditable()
double get left => _blink.Native_ClientRect_left_Getter(this);
@DomName('ClientRect.right')
@DocsEditable()
double get right => _blink.Native_ClientRect_right_Getter(this);
@DomName('ClientRect.top')
@DocsEditable()
double get top => _blink.Native_ClientRect_top_Getter(this);
@DomName('ClientRect.width')
@DocsEditable()
double get width => _blink.Native_ClientRect_width_Getter(this);
}
/**
* This is the [Jenkins hash function][1] but using masking to keep
* values in SMI range.
*
* [1]: http://en.wikipedia.org/wiki/Jenkins_hash_function
*
* Use:
* Hash each value with the hash of the previous value, then get the final
* hash by calling finish.
*
* var hash = 0;
* for (var value in values) {
* hash = JenkinsSmiHash.combine(hash, value.hashCode);
* }
* hash = JenkinsSmiHash.finish(hash);
*/
class _JenkinsSmiHash {
// TODO(11617): This class should be optimized and standardized elsewhere.
static int combine(int hash, int value) {
hash = 0x1fffffff & (hash + value);
hash = 0x1fffffff & (hash + ((0x0007ffff & hash) << 10));
return hash ^ (hash >> 6);
}
static int finish(int hash) {
hash = 0x1fffffff & (hash + ((0x03ffffff & hash) << 3));
hash = hash ^ (hash >> 11);
return 0x1fffffff & (hash + ((0x00003fff & hash) << 15));
}
static int hash2(a, b) => finish(combine(combine(0, a), b));
static int hash4(a, b, c, d) =>
finish(combine(combine(combine(combine(0, a), b), c), d));
}
// 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.
@DocsEditable()
@DomName('ClientRectList')
class _ClientRectList extends NativeFieldWrapperClass2 with ListMixin<Rectangle>, ImmutableListMixin<Rectangle> implements List<Rectangle> {
// To suppress missing implicit constructor warnings.
factory _ClientRectList._() { throw new UnsupportedError("Not supported"); }
@DomName('ClientRectList.length')
@DocsEditable()
int get length => _blink.Native_ClientRectList_length_Getter(this);
Rectangle operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_ClientRectList_NativeIndexed_Getter(this, index);
}
Rectangle _nativeIndexedGetter(int index) => _blink.Native_ClientRectList_NativeIndexed_Getter(this, index);
void operator[]=(int index, Rectangle value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<Rectangle> mixins.
// Rectangle is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
Rectangle get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
Rectangle get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
Rectangle get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
Rectangle elementAt(int index) => this[index];
// -- end List<Rectangle> mixins.
@DomName('ClientRectList.item')
@DocsEditable()
Rectangle item(int index) => _blink.Native_ClientRectList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('Counter')
// http://dev.w3.org/csswg/cssom/
@deprecated // deprecated
abstract class _Counter extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _Counter._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('CSSRuleList')
class _CssRuleList extends NativeFieldWrapperClass2 with ListMixin<CssRule>, ImmutableListMixin<CssRule> implements List<CssRule> {
// To suppress missing implicit constructor warnings.
factory _CssRuleList._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSRuleList.length')
@DocsEditable()
int get length => _blink.Native_CSSRuleList_length_Getter(this);
CssRule operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_CSSRuleList_NativeIndexed_Getter(this, index);
}
CssRule _nativeIndexedGetter(int index) => _blink.Native_CSSRuleList_NativeIndexed_Getter(this, index);
void operator[]=(int index, CssRule value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<CssRule> mixins.
// CssRule is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
CssRule get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
CssRule get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
CssRule get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
CssRule elementAt(int index) => this[index];
// -- end List<CssRule> mixins.
@DomName('CSSRuleList.item')
@DocsEditable()
CssRule item(int index) => _blink.Native_CSSRuleList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('CSSValueList')
// http://dev.w3.org/csswg/cssom/
@deprecated // deprecated
class _CssValueList extends _CSSValue with ListMixin<_CSSValue>, ImmutableListMixin<_CSSValue> implements List<_CSSValue> {
// To suppress missing implicit constructor warnings.
factory _CssValueList._() { throw new UnsupportedError("Not supported"); }
@DomName('CSSValueList.length')
@DocsEditable()
int get length => _blink.Native_CSSValueList_length_Getter(this);
_CSSValue operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_CSSValueList_NativeIndexed_Getter(this, index);
}
_CSSValue _nativeIndexedGetter(int index) => _blink.Native_CSSValueList_NativeIndexed_Getter(this, index);
void operator[]=(int index, _CSSValue value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<_CSSValue> mixins.
// _CSSValue is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
_CSSValue get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
_CSSValue get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
_CSSValue get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
_CSSValue elementAt(int index) => this[index];
// -- end List<_CSSValue> mixins.
@DomName('CSSValueList.item')
@DocsEditable()
_CSSValue item(int index) => _blink.Native_CSSValueList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('DOMFileSystemSync')
@SupportedBrowser(SupportedBrowser.CHROME)
@Experimental()
// http://www.w3.org/TR/file-system-api/#the-filesystemsync-interface
abstract class _DOMFileSystemSync extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _DOMFileSystemSync._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('DatabaseSync')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3.org/TR/webdatabase/#databasesync
@deprecated // deprecated
abstract class _DatabaseSync extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _DatabaseSync._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('DirectoryEntrySync')
// http://www.w3.org/TR/file-system-api/#the-directoryentrysync-interface
@Experimental()
abstract class _DirectoryEntrySync extends _EntrySync {
// To suppress missing implicit constructor warnings.
factory _DirectoryEntrySync._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('DirectoryReaderSync')
// http://www.w3.org/TR/file-system-api/#idl-def-DirectoryReaderSync
@Experimental()
abstract class _DirectoryReaderSync extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _DirectoryReaderSync._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('DocumentType')
// http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-412266927
@deprecated // stable
abstract class _DocumentType extends Node implements ChildNode {
// To suppress missing implicit constructor warnings.
factory _DocumentType._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('WebKitPoint')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://developer.apple.com/library/safari/#documentation/DataManagement/Reference/DOMWindowAdditionsReference/DOMWindowAdditions/DOMWindowAdditions.html
@Experimental() // non-standard
class _DomPoint extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _DomPoint._() { throw new UnsupportedError("Not supported"); }
@DomName('WebKitPoint.WebKitPoint')
@DocsEditable()
factory _DomPoint(num x, num y) => _create(x, y);
@DocsEditable()
static _DomPoint _create(x, y) => _blink.Native_WebKitPoint_constructorCallback(x, y);
/// Checks if this type is supported on the current platform.
static bool get supported => true;
@DomName('WebKitPoint.x')
@DocsEditable()
num get x => _blink.Native_WebKitPoint_x_Getter(this);
@DomName('WebKitPoint.x')
@DocsEditable()
void set x(num value) => _blink.Native_WebKitPoint_x_Setter(this, value);
@DomName('WebKitPoint.y')
@DocsEditable()
num get y => _blink.Native_WebKitPoint_y_Getter(this);
@DomName('WebKitPoint.y')
@DocsEditable()
void set y(num value) => _blink.Native_WebKitPoint_y_Setter(this, value);
}
// 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.
@DocsEditable()
@DomName('EntrySync')
// http://www.w3.org/TR/file-system-api/#idl-def-EntrySync
@Experimental()
abstract class _EntrySync extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _EntrySync._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('FileEntrySync')
// http://www.w3.org/TR/file-system-api/#the-fileentrysync-interface
@Experimental()
abstract class _FileEntrySync extends _EntrySync {
// To suppress missing implicit constructor warnings.
factory _FileEntrySync._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('FileReaderSync')
// http://www.w3.org/TR/FileAPI/#FileReaderSync
@Experimental()
abstract class _FileReaderSync extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _FileReaderSync._() { throw new UnsupportedError("Not supported"); }
@DomName('FileReaderSync.FileReaderSync')
@DocsEditable()
factory _FileReaderSync() => _blink.Native_FileReaderSync__FileReaderSync();
}
// 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.
@DocsEditable()
@DomName('FileWriterSync')
// http://www.w3.org/TR/file-writer-api/#idl-def-FileWriterSync
@Experimental()
abstract class _FileWriterSync extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _FileWriterSync._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('GamepadList')
// https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html
@Experimental()
class _GamepadList extends NativeFieldWrapperClass2 with ListMixin<Gamepad>, ImmutableListMixin<Gamepad> implements List<Gamepad> {
// To suppress missing implicit constructor warnings.
factory _GamepadList._() { throw new UnsupportedError("Not supported"); }
@DomName('GamepadList.length')
@DocsEditable()
int get length => _blink.Native_GamepadList_length_Getter(this);
Gamepad operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_GamepadList_NativeIndexed_Getter(this, index);
}
Gamepad _nativeIndexedGetter(int index) => _blink.Native_GamepadList_NativeIndexed_Getter(this, index);
void operator[]=(int index, Gamepad value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<Gamepad> mixins.
// Gamepad is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
Gamepad get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
Gamepad get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
Gamepad get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
Gamepad elementAt(int index) => this[index];
// -- end List<Gamepad> mixins.
@DomName('GamepadList.item')
@DocsEditable()
Gamepad item(int index) => _blink.Native_GamepadList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('HTMLAllCollection')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#dom-document-all
@deprecated // deprecated
abstract class _HTMLAllCollection extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _HTMLAllCollection._() { throw new UnsupportedError("Not supported"); }
@DomName('HTMLAllCollection.item')
@DocsEditable()
Element _item(int index) => _blink.Native_HTMLAllCollection_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('HTMLAppletElement')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#the-applet-element
@deprecated // deprecated
abstract class _HTMLAppletElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory _HTMLAppletElement._() { throw new UnsupportedError("Not supported"); }
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
_HTMLAppletElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('HTMLDirectoryElement')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#dir
@deprecated // deprecated
abstract class _HTMLDirectoryElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory _HTMLDirectoryElement._() { throw new UnsupportedError("Not supported"); }
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
_HTMLDirectoryElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('HTMLFontElement')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#htmlfontelement
@deprecated // deprecated
abstract class _HTMLFontElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory _HTMLFontElement._() { throw new UnsupportedError("Not supported"); }
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
_HTMLFontElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('HTMLFrameElement')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#htmlframeelement
@deprecated // deprecated
abstract class _HTMLFrameElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory _HTMLFrameElement._() { throw new UnsupportedError("Not supported"); }
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
_HTMLFrameElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('HTMLFrameSetElement')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#frameset
@deprecated // deprecated
abstract class _HTMLFrameSetElement extends HtmlElement implements WindowEventHandlers {
// To suppress missing implicit constructor warnings.
factory _HTMLFrameSetElement._() { throw new UnsupportedError("Not supported"); }
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
_HTMLFrameSetElement.created() : super.created();
}
// 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.
@DocsEditable()
@DomName('HTMLMarqueeElement')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#the-marquee-element
@deprecated // deprecated
abstract class _HTMLMarqueeElement extends HtmlElement {
// To suppress missing implicit constructor warnings.
factory _HTMLMarqueeElement._() { throw new UnsupportedError("Not supported"); }
/**
* Constructor instantiated by the DOM when a custom element has been created.
*
* This can only be called by subclasses from their created constructor.
*/
_HTMLMarqueeElement.created() : super.created();
}
// 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.
@DomName('MutationEvent')
// http://www.w3.org/TR/DOM-Level-3-Events/#events-mutationevents
@deprecated
abstract class _MutationEvent extends Event {
factory _MutationEvent(String type,
{bool canBubble: false, bool cancelable: false, Node relatedNode,
String prevValue, String newValue, String attrName, int attrChange: 0}) {
var event = document._createEvent('MutationEvent');
event._initMutationEvent(type, canBubble, cancelable, relatedNode,
prevValue, newValue, attrName, attrChange);
return event;
}
// To suppress missing implicit constructor warnings.
factory _MutationEvent._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('NamedNodeMap')
// http://dom.spec.whatwg.org/#namednodemap
@deprecated // deprecated
class _NamedNodeMap extends NativeFieldWrapperClass2 with ListMixin<Node>, ImmutableListMixin<Node> implements List<Node> {
// To suppress missing implicit constructor warnings.
factory _NamedNodeMap._() { throw new UnsupportedError("Not supported"); }
@DomName('NamedNodeMap.length')
@DocsEditable()
int get length => _blink.Native_NamedNodeMap_length_Getter(this);
Node operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_NamedNodeMap_NativeIndexed_Getter(this, index);
}
Node _nativeIndexedGetter(int index) => _blink.Native_NamedNodeMap_NativeIndexed_Getter(this, index);
void operator[]=(int index, Node value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<Node> mixins.
// Node is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
Node get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
Node get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
Node get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
Node elementAt(int index) => this[index];
// -- end List<Node> mixins.
@DomName('NamedNodeMap.__getter__')
@DocsEditable()
Node __getter__(String name) => _blink.Native_NamedNodeMap___getter___Callback(this, name);
@DomName('NamedNodeMap.getNamedItem')
@DocsEditable()
Node getNamedItem(String name) => _blink.Native_NamedNodeMap_getNamedItem_Callback(this, name);
@DomName('NamedNodeMap.getNamedItemNS')
@DocsEditable()
Node getNamedItemNS(String namespaceURI, String localName) => _blink.Native_NamedNodeMap_getNamedItemNS_Callback(this, namespaceURI, localName);
@DomName('NamedNodeMap.item')
@DocsEditable()
Node item(int index) => _blink.Native_NamedNodeMap_item_Callback(this, index);
@DomName('NamedNodeMap.removeNamedItem')
@DocsEditable()
Node removeNamedItem(String name) => _blink.Native_NamedNodeMap_removeNamedItem_Callback(this, name);
@DomName('NamedNodeMap.removeNamedItemNS')
@DocsEditable()
Node removeNamedItemNS(String namespaceURI, String localName) => _blink.Native_NamedNodeMap_removeNamedItemNS_Callback(this, namespaceURI, localName);
@DomName('NamedNodeMap.setNamedItem')
@DocsEditable()
Node setNamedItem(Node node) => _blink.Native_NamedNodeMap_setNamedItem_Callback(this, node);
@DomName('NamedNodeMap.setNamedItemNS')
@DocsEditable()
Node setNamedItemNS(Node node) => _blink.Native_NamedNodeMap_setNamedItemNS_Callback(this, node);
}
// 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.
@DocsEditable()
@DomName('Notation')
// http://dom.spec.whatwg.org/#notation
@deprecated // deprecated
abstract class _Notation extends Node {
// To suppress missing implicit constructor warnings.
factory _Notation._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('NotificationCenter')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3.org/TR/notifications/#showing-a-notification
@deprecated // deprecated
abstract class _NotificationCenter extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _NotificationCenter._() { throw new UnsupportedError("Not supported"); }
/// Checks if this type is supported on the current platform.
static bool get supported => true;
}
// 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.
@DocsEditable()
@DomName('PagePopupController')
@deprecated // nonstandard
abstract class _PagePopupController extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _PagePopupController._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('RGBColor')
// http://dev.w3.org/csswg/cssom/
@deprecated // deprecated
abstract class _RGBColor extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _RGBColor._() { throw new UnsupportedError("Not supported"); }
}
// Copyright (c) 2013, 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.
@DomName('RadioNodeList')
abstract class _RadioNodeList extends NodeList {
// To suppress missing implicit constructor warnings.
factory _RadioNodeList._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('Rect')
// http://dev.w3.org/csswg/cssom/
@deprecated // deprecated
abstract class _Rect extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _Rect._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('ServiceWorker')
@Experimental() // untriaged
abstract class _ServiceWorker extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _ServiceWorker._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('SpeechInputResultList')
// http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html#speech_input_result_list_interface
@Experimental()
class _SpeechInputResultList extends NativeFieldWrapperClass2 with ListMixin<SpeechInputResult>, ImmutableListMixin<SpeechInputResult> implements List<SpeechInputResult> {
// To suppress missing implicit constructor warnings.
factory _SpeechInputResultList._() { throw new UnsupportedError("Not supported"); }
@DomName('SpeechInputResultList.length')
@DocsEditable()
int get length => _blink.Native_SpeechInputResultList_length_Getter(this);
SpeechInputResult operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_SpeechInputResultList_NativeIndexed_Getter(this, index);
}
SpeechInputResult _nativeIndexedGetter(int index) => _blink.Native_SpeechInputResultList_NativeIndexed_Getter(this, index);
void operator[]=(int index, SpeechInputResult value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<SpeechInputResult> mixins.
// SpeechInputResult is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
SpeechInputResult get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
SpeechInputResult get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
SpeechInputResult get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
SpeechInputResult elementAt(int index) => this[index];
// -- end List<SpeechInputResult> mixins.
@DomName('SpeechInputResultList.item')
@DocsEditable()
SpeechInputResult item(int index) => _blink.Native_SpeechInputResultList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('SpeechRecognitionResultList')
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechrecognitionresultlist
@Experimental()
class _SpeechRecognitionResultList extends NativeFieldWrapperClass2 with ListMixin<SpeechRecognitionResult>, ImmutableListMixin<SpeechRecognitionResult> implements List<SpeechRecognitionResult> {
// To suppress missing implicit constructor warnings.
factory _SpeechRecognitionResultList._() { throw new UnsupportedError("Not supported"); }
@DomName('SpeechRecognitionResultList.length')
@DocsEditable()
int get length => _blink.Native_SpeechRecognitionResultList_length_Getter(this);
SpeechRecognitionResult operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_SpeechRecognitionResultList_NativeIndexed_Getter(this, index);
}
SpeechRecognitionResult _nativeIndexedGetter(int index) => _blink.Native_SpeechRecognitionResultList_NativeIndexed_Getter(this, index);
void operator[]=(int index, SpeechRecognitionResult value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<SpeechRecognitionResult> mixins.
// SpeechRecognitionResult is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
SpeechRecognitionResult get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
SpeechRecognitionResult get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
SpeechRecognitionResult get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
SpeechRecognitionResult elementAt(int index) => this[index];
// -- end List<SpeechRecognitionResult> mixins.
@DomName('SpeechRecognitionResultList.item')
@DocsEditable()
SpeechRecognitionResult item(int index) => _blink.Native_SpeechRecognitionResultList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('StyleSheetList')
class _StyleSheetList extends NativeFieldWrapperClass2 with ListMixin<StyleSheet>, ImmutableListMixin<StyleSheet> implements List<StyleSheet> {
// To suppress missing implicit constructor warnings.
factory _StyleSheetList._() { throw new UnsupportedError("Not supported"); }
@DomName('StyleSheetList.length')
@DocsEditable()
int get length => _blink.Native_StyleSheetList_length_Getter(this);
StyleSheet operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.range(index, 0, length);
return _blink.Native_StyleSheetList_NativeIndexed_Getter(this, index);
}
StyleSheet _nativeIndexedGetter(int index) => _blink.Native_StyleSheetList_NativeIndexed_Getter(this, index);
void operator[]=(int index, StyleSheet value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
// -- start List<StyleSheet> mixins.
// StyleSheet is the element type.
void set length(int value) {
throw new UnsupportedError("Cannot resize immutable List.");
}
StyleSheet get first {
if (this.length > 0) {
return _nativeIndexedGetter(0);
}
throw new StateError("No elements");
}
StyleSheet get last {
int len = this.length;
if (len > 0) {
return _nativeIndexedGetter(len - 1);
}
throw new StateError("No elements");
}
StyleSheet get single {
int len = this.length;
if (len == 1) {
return _nativeIndexedGetter(0);
}
if (len == 0) throw new StateError("No elements");
throw new StateError("More than one element");
}
StyleSheet elementAt(int index) => this[index];
// -- end List<StyleSheet> mixins.
@DomName('StyleSheetList.__getter__')
@DocsEditable()
CssStyleSheet __getter__(String name) => _blink.Native_StyleSheetList___getter___Callback(this, name);
@DomName('StyleSheetList.item')
@DocsEditable()
StyleSheet item(int index) => _blink.Native_StyleSheetList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('SubtleCrypto')
@Experimental() // untriaged
abstract class _SubtleCrypto extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _SubtleCrypto._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('WebKitCSSFilterValue')
// http://dev.w3.org/csswg/cssom/
@deprecated // deprecated
abstract class _WebKitCSSFilterValue extends _CssValueList {
// To suppress missing implicit constructor warnings.
factory _WebKitCSSFilterValue._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('WebKitCSSMatrix')
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://dev.w3.org/csswg/cssom/
@deprecated // deprecated
abstract class _WebKitCSSMatrix extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _WebKitCSSMatrix._() { throw new UnsupportedError("Not supported"); }
@DomName('WebKitCSSMatrix.WebKitCSSMatrix')
@DocsEditable()
factory _WebKitCSSMatrix([String cssValue]) => _blink.Native_WebKitCSSMatrix__WebKitCSSMatrix(cssValue);
}
// 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.
@DocsEditable()
@DomName('WebKitCSSTransformValue')
// http://dev.w3.org/csswg/cssom/
@deprecated // deprecated
abstract class _WebKitCSSTransformValue extends _CssValueList {
// To suppress missing implicit constructor warnings.
factory _WebKitCSSTransformValue._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('WebKitMediaSource')
@Experimental() // untriaged
abstract class _WebKitMediaSource extends EventTarget {
// To suppress missing implicit constructor warnings.
factory _WebKitMediaSource._() { throw new UnsupportedError("Not supported"); }
@DomName('WebKitMediaSource.WebKitMediaSource')
@DocsEditable()
factory _WebKitMediaSource() => _blink.Native_WebKitMediaSource__WebKitMediaSource();
}
// 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.
@DocsEditable()
@DomName('WebKitNotification')
@Experimental() // untriaged
abstract class _WebKitNotification extends EventTarget {
// To suppress missing implicit constructor warnings.
factory _WebKitNotification._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('WebKitSourceBuffer')
@Experimental() // untriaged
abstract class _WebKitSourceBuffer extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _WebKitSourceBuffer._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('WebKitSourceBufferList')
@Experimental() // untriaged
abstract class _WebKitSourceBufferList extends EventTarget {
// To suppress missing implicit constructor warnings.
factory _WebKitSourceBufferList._() { throw new UnsupportedError("Not supported"); }
@DomName('WebKitSourceBufferList.item')
@DocsEditable()
@Experimental() // untriaged
_WebKitSourceBuffer _item(int index) => _blink.Native_WebKitSourceBufferList_item_Callback(this, index);
}
// 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.
@DocsEditable()
@DomName('WindowTimers')
@Experimental() // untriaged
abstract class _WindowTimers extends NativeFieldWrapperClass2 {
// To suppress missing implicit constructor warnings.
factory _WindowTimers._() { throw new UnsupportedError("Not supported"); }
@DomName('WindowTimers.clearInterval')
@DocsEditable()
@Experimental() // untriaged
void _clearInterval(int handle) => _blink.Native_WindowTimers_clearInterval_Callback(this, handle);
@DomName('WindowTimers.clearTimeout')
@DocsEditable()
@Experimental() // untriaged
void _clearTimeout(int handle) => _blink.Native_WindowTimers_clearTimeout_Callback(this, handle);
@DomName('WindowTimers.setInterval')
@DocsEditable()
@Experimental() // untriaged
int _setInterval(Object handler, int timeout) => _blink.Native_WindowTimers_setInterval_Callback(this, handler, timeout);
@DomName('WindowTimers.setTimeout')
@DocsEditable()
@Experimental() // untriaged
int _setTimeout(Object handler, int timeout) => _blink.Native_WindowTimers_setTimeout_Callback(this, handler, timeout);
}
// 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.
@DocsEditable()
@DomName('WorkerLocation')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerlocation
@Experimental()
abstract class _WorkerLocation extends NativeFieldWrapperClass2 implements UrlUtilsReadOnly {
// To suppress missing implicit constructor warnings.
factory _WorkerLocation._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('WorkerNavigator')
// http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workernavigator
@Experimental()
abstract class _WorkerNavigator extends NativeFieldWrapperClass2 implements NavigatorOnLine, NavigatorID {
// To suppress missing implicit constructor warnings.
factory _WorkerNavigator._() { throw new UnsupportedError("Not supported"); }
}
// 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.
@DocsEditable()
@DomName('XMLHttpRequestProgressEvent')
@Experimental() // nonstandard
abstract class _XMLHttpRequestProgressEvent extends ProgressEvent {
// To suppress missing implicit constructor warnings.
factory _XMLHttpRequestProgressEvent._() { throw new UnsupportedError("Not supported"); }
}
// 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.
abstract class _AttributeMap implements Map<String, String> {
final Element _element;
_AttributeMap(this._element);
void addAll(Map<String, String> other) {
other.forEach((k, v) { this[k] = v; });
}
bool containsValue(String value) {
for (var v in this.values) {
if (value == v) {
return true;
}
}
return false;
}
String putIfAbsent(String key, String ifAbsent()) {
if (!containsKey(key)) {
this[key] = ifAbsent();
}
return this[key];
}
void clear() {
for (var key in keys) {
remove(key);
}
}
void forEach(void f(String key, String value)) {
for (var key in keys) {
var value = this[key];
f(key, value);
}
}
Iterable<String> get keys {
// TODO: generate a lazy collection instead.
var attributes = _element._attributes;
var keys = new List<String>();
for (int i = 0, len = attributes.length; i < len; i++) {
if (_matches(attributes[i])) {
keys.add(attributes[i].name);
}
}
return keys;
}
Iterable<String> get values {
// TODO: generate a lazy collection instead.
var attributes = _element._attributes;
var values = new List<String>();
for (int i = 0, len = attributes.length; i < len; i++) {
if (_matches(attributes[i])) {
values.add(attributes[i].value);
}
}
return values;
}
/**
* Returns true if there is no {key, value} pair in the map.
*/
bool get isEmpty {
return length == 0;
}
/**
* Returns true if there is at least one {key, value} pair in the map.
*/
bool get isNotEmpty => !isEmpty;
/**
* Checks to see if the node should be included in this map.
*/
bool _matches(Node node);
}
/**
* Wrapper to expose [Element.attributes] as a typed map.
*/
class _ElementAttributeMap extends _AttributeMap {
_ElementAttributeMap(Element element): super(element);
bool containsKey(String key) {
return _element._hasAttribute(key);
}
String operator [](String key) {
return _element.getAttribute(key);
}
void operator []=(String key, String value) {
_element.setAttribute(key, value);
}
String remove(String key) {
String value = _element.getAttribute(key);
_element._removeAttribute(key);
return value;
}
/**
* The number of {key, value} pairs in the map.
*/
int get length {
return keys.length;
}
bool _matches(Node node) => node._namespaceUri == null;
}
/**
* Wrapper to expose namespaced attributes as a typed map.
*/
class _NamespacedAttributeMap extends _AttributeMap {
final String _namespace;
_NamespacedAttributeMap(Element element, this._namespace): super(element);
bool containsKey(String key) {
return _element._hasAttributeNS(_namespace, key);
}
String operator [](String key) {
return _element.getAttributeNS(_namespace, key);
}
void operator []=(String key, String value) {
_element.setAttributeNS(_namespace, key, value);
}
String remove(String key) {
String value = this[key];
_element._removeAttributeNS(_namespace, key);
return value;
}
/**
* The number of {key, value} pairs in the map.
*/
int get length {
return keys.length;
}
bool _matches(Node node) => node._namespaceUri == _namespace;
}
/**
* Provides a Map abstraction on top of data-* attributes, similar to the
* dataSet in the old DOM.
*/
class _DataAttributeMap implements Map<String, String> {
final Map<String, String> _attributes;
_DataAttributeMap(this._attributes);
// interface Map
void addAll(Map<String, String> other) {
other.forEach((k, v) { this[k] = v; });
}
// TODO: Use lazy iterator when it is available on Map.
bool containsValue(String value) => values.any((v) => v == value);
bool containsKey(String key) => _attributes.containsKey(_attr(key));
String operator [](String key) => _attributes[_attr(key)];
void operator []=(String key, String value) {
_attributes[_attr(key)] = value;
}
String putIfAbsent(String key, String ifAbsent()) =>
_attributes.putIfAbsent(_attr(key), ifAbsent);
String remove(String key) => _attributes.remove(_attr(key));
void clear() {
// Needs to operate on a snapshot since we are mutating the collection.
for (String key in keys) {
remove(key);
}
}
void forEach(void f(String key, String value)) {
_attributes.forEach((String key, String value) {
if (_matches(key)) {
f(_strip(key), value);
}
});
}
Iterable<String> get keys {
final keys = new List<String>();
_attributes.forEach((String key, String value) {
if (_matches(key)) {
keys.add(_strip(key));
}
});
return keys;
}
Iterable<String> get values {
final values = new List<String>();
_attributes.forEach((String key, String value) {
if (_matches(key)) {
values.add(value);
}
});
return values;
}
int get length => keys.length;
// TODO: Use lazy iterator when it is available on Map.
bool get isEmpty => length == 0;
bool get isNotEmpty => !isEmpty;
// Helpers.
String _attr(String key) => 'data-${_toHyphenedName(key)}';
bool _matches(String key) => key.startsWith('data-');
String _strip(String key) => _toCamelCase(key.substring(5));
/**
* Converts a string name with hyphens into an identifier, by removing hyphens
* and capitalizing the following letter. Optionally [startUppercase] to
* captialize the first letter.
*/
String _toCamelCase(String hyphenedName, {bool startUppercase: false}) {
var segments = hyphenedName.split('-');
int start = startUppercase ? 0 : 1;
for (int i = start; i < segments.length; i++) {
var segment = segments[i];
if (segment.length > 0) {
// Character between 'a'..'z' mapped to 'A'..'Z'
segments[i] = '${segment[0].toUpperCase()}${segment.substring(1)}';
}
}
return segments.join('');
}
/** Reverse of [toCamelCase]. */
String _toHyphenedName(String word) {
var sb = new StringBuffer();
for (int i = 0; i < word.length; i++) {
var lower = word[i].toLowerCase();
if (word[i] != lower && i > 0) sb.write('-');
sb.write(lower);
}
return sb.toString();
}
}
// 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.
/**
* An object that can be drawn to a 2D canvas rendering context.
*
* The image drawn to the canvas depends on the type of this object:
*
* * If this object is an [ImageElement], then this element's image is
* drawn to the canvas. If this element is an animated image, then this
* element's poster frame is drawn. If this element has no poster frame, then
* the first frame of animation is drawn.
*
* * If this object is a [VideoElement], then the frame at this element's current
* playback position is drawn to the canvas.
*
* * If this object is a [CanvasElement], then this element's bitmap is drawn to
* the canvas.
*
* **Note:** Currently all versions of Internet Explorer do not support
* drawing a video element to a canvas. You may also encounter problems drawing
* a video to a canvas in Firefox if the source of the video is a data URL.
*
* ## See also
*
* * [CanvasRenderingContext2D.drawImage]
* * [CanvasRenderingContext2D.drawImageToRect]
* * [CanvasRenderingContext2D.drawImageScaled]
* * [CanvasRenderingContext2D.drawImageScaledFromSource]
*
* ## Other resources
*
* * [Image sources for 2D rendering contexts]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#image-sources-for-2d-rendering-contexts)
* from WHATWG.
* * [Drawing images]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-drawimage)
* from WHATWG.
*/
abstract class CanvasImageSource {}
// 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.
/**
* Top-level container for a browser tab or window.
*
* In a web browser, a [WindowBase] object represents any browser window. This
* object contains the window's state and its relation to other
* windows, such as which window opened this window.
*
* **Note:** This class represents any window, while [Window] is
* used to access the properties and content of the current window or tab.
*
* ## See also
*
* * [Window]
*
* ## Other resources
*
* * [DOM Window](https://developer.mozilla.org/en-US/docs/DOM/window) from MDN.
* * [Window](http://www.w3.org/TR/Window/) from the W3C.
*/
abstract class WindowBase implements EventTarget {
// Fields.
/**
* The current location of this window.
*
* Location currentLocation = window.location;
* print(currentLocation.href); // 'http://www.example.com:80/'
*/
LocationBase get location;
/**
* The current session history for this window.
*
* ## Other resources
*
* * [Session history and navigation specification]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/history.html)
* from WHATWG.
*/
HistoryBase get history;
/**
* Indicates whether this window has been closed.
*
* print(window.closed); // 'false'
* window.close();
* print(window.closed); // 'true'
*/
bool get closed;
/**
* A reference to the window that opened this one.
*
* Window thisWindow = window;
* WindowBase otherWindow = thisWindow.open('http://www.example.com/', 'foo');
* print(otherWindow.opener == thisWindow); // 'true'
*/
WindowBase get opener;
/**
* A reference to the parent of this window.
*
* If this [WindowBase] has no parent, [parent] will return a reference to
* the [WindowBase] itself.
*
* IFrameElement myIFrame = new IFrameElement();
* window.document.body.elements.add(myIFrame);
* print(myIframe.contentWindow.parent == window) // 'true'
*
* print(window.parent == window) // 'true'
*/
WindowBase get parent;
/**
* A reference to the topmost window in the window hierarchy.
*
* If this [WindowBase] is the topmost [WindowBase], [top] will return a
* reference to the [WindowBase] itself.
*
* // Add an IFrame to the current window.
* IFrameElement myIFrame = new IFrameElement();
* window.document.body.elements.add(myIFrame);
*
* // Add an IFrame inside of the other IFrame.
* IFrameElement innerIFrame = new IFrameElement();
* myIFrame.elements.add(innerIFrame);
*
* print(myIframe.contentWindow.top == window) // 'true'
* print(innerIFrame.contentWindow.top == window) // 'true'
*
* print(window.top == window) // 'true'
*/
WindowBase get top;
// Methods.
/**
* Closes the window.
*
* This method should only succeed if the [WindowBase] object is
* **script-closeable** and the window calling [close] is allowed to navigate
* the window.
*
* A window is script-closeable if it is either a window
* that was opened by another window, or if it is a window with only one
* document in its history.
*
* A window might not be allowed to navigate, and therefore close, another
* window due to browser security features.
*
* var other = window.open('http://www.example.com', 'foo');
* // Closes other window, as it is script-closeable.
* other.close();
* print(other.closed()); // 'true'
*
* window.location('http://www.mysite.com', 'foo');
* // Does not close this window, as the history has changed.
* window.close();
* print(window.closed()); // 'false'
*
* See also:
*
* * [Window close discussion](http://www.w3.org/TR/html5/browsers.html#dom-window-close) from the W3C
*/
void close();
/**
* Sends a cross-origin message.
*
* ## Other resources
*
* * [window.postMessage]
* (https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage) from
* MDN.
* * [Cross-document messaging]
* (http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html)
* from WHATWG.
*/
void postMessage(var message, String targetOrigin, [List messagePorts]);
}
abstract class LocationBase {
void set href(String val);
}
abstract class HistoryBase {
void back();
void forward();
void go(int distance);
}
// 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.
/** A Set that stores the CSS class names for an element. */
abstract class CssClassSet implements Set<String> {
/**
* Adds the class [value] to the element if it is not on it, removes it if it
* is.
*
* If [shouldAdd] is true, then we always add that [value] to the element. If
* [shouldAdd] is false then we always remove [value] from the element.
*/
bool toggle(String value, [bool shouldAdd]);
/**
* Returns [:true:] if classes cannot be added or removed from this
* [:CssClassSet:].
*/
bool get frozen;
/**
* Determine if this element contains the class [value].
*
* This is the Dart equivalent of jQuery's
* [hasClass](http://api.jquery.com/hasClass/).
*/
bool contains(String value);
/**
* Add the class [value] to element.
*
* This is the Dart equivalent of jQuery's
* [addClass](http://api.jquery.com/addClass/).
*
* If this corresponds to one element. Returns true if [value] was added to
* the set, otherwise false.
*
* If this corresponds to many elements, null is always returned.
*/
bool add(String value);
/**
* Remove the class [value] from element, and return true on successful
* removal.
*
* This is the Dart equivalent of jQuery's
* [removeClass](http://api.jquery.com/removeClass/).
*/
bool remove(Object value);
/**
* Add all classes specified in [iterable] to element.
*
* This is the Dart equivalent of jQuery's
* [addClass](http://api.jquery.com/addClass/).
*/
void addAll(Iterable<String> iterable);
/**
* Remove all classes specified in [iterable] from element.
*
* This is the Dart equivalent of jQuery's
* [removeClass](http://api.jquery.com/removeClass/).
*/
void removeAll(Iterable<String> iterable);
/**
* Toggles all classes specified in [iterable] on element.
*
* Iterate through [iterable]'s items, and add it if it is not on it, or
* remove it if it is. This is the Dart equivalent of jQuery's
* [toggleClass](http://api.jquery.com/toggleClass/).
* If [shouldAdd] is true, then we always add all the classes in [iterable]
* element. If [shouldAdd] is false then we always remove all the classes in
* [iterable] from the element.
*/
void toggleAll(Iterable<String> iterable, [bool shouldAdd]);
}
/**
* A set (union) of the CSS classes that are present in a set of elements.
* Implemented separately from _ElementCssClassSet for performance.
*/
class _MultiElementCssClassSet extends CssClassSetImpl {
final Iterable<Element> _elementIterable;
Iterable<_ElementCssClassSet> _elementCssClassSetIterable;
_MultiElementCssClassSet(this._elementIterable) {
_elementCssClassSetIterable = new List.from(_elementIterable).map(
(e) => new _ElementCssClassSet(e));
}
Set<String> readClasses() {
var s = new LinkedHashSet<String>();
_elementCssClassSetIterable.forEach((e) => s.addAll(e.readClasses()));
return s;
}
void writeClasses(Set<String> s) {
var classes = new List.from(s).join(' ');
for (Element e in _elementIterable) {
e.className = classes;
}
}
/**
* Helper method used to modify the set of css classes on this element.
*
* f - callback with:
* s - a Set of all the css class name currently on this element.
*
* After f returns, the modified set is written to the
* className property of this element.
*/
modify( f(Set<String> s)) {
_elementCssClassSetIterable.forEach((e) => e.modify(f));
}
/**
* Adds the class [value] to the element if it is not on it, removes it if it
* is.
*/
bool toggle(String value, [bool shouldAdd]) =>
_modifyWithReturnValue((e) => e.toggle(value, shouldAdd));
/**
* Remove the class [value] from element, and return true on successful
* removal.
*
* This is the Dart equivalent of jQuery's
* [removeClass](http://api.jquery.com/removeClass/).
*/
bool remove(Object value) => _modifyWithReturnValue((e) => e.remove(value));
bool _modifyWithReturnValue(f) => _elementCssClassSetIterable.fold(
false, (prevValue, element) => f(element) || prevValue);
}
class _ElementCssClassSet extends CssClassSetImpl {
final Element _element;
_ElementCssClassSet(this._element);
Set<String> readClasses() {
var s = new LinkedHashSet<String>();
var classname = _element.className;
for (String name in classname.split(' ')) {
String trimmed = name.trim();
if (!trimmed.isEmpty) {
s.add(trimmed);
}
}
return s;
}
void writeClasses(Set<String> s) {
List list = new List.from(s);
_element.className = s.join(' ');
}
}
// Copyright (c) 2013, 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.
/**
* A rectangle representing all the content of the element in the
* [box model](http://www.w3.org/TR/CSS2/box.html).
*/
class _ContentCssRect extends CssRect {
_ContentCssRect(element) : super(element);
num get height => _element.offsetHeight +
_addOrSubtractToBoxModel(_HEIGHT, _CONTENT);
num get width => _element.offsetWidth +
_addOrSubtractToBoxModel(_WIDTH, _CONTENT);
/**
* Set the height to `newHeight`.
*
* newHeight can be either a [num] representing the height in pixels or a
* [Dimension] object. Values of newHeight that are less than zero are
* converted to effectively setting the height to 0. This is equivalent to the
* `height` function in jQuery and the calculated `height` CSS value,
* converted to a num in pixels.
*/
void set height(newHeight) {
if (newHeight is Dimension) {
if (newHeight.value < 0) newHeight = new Dimension.px(0);
_element.style.height = newHeight.toString();
} else {
if (newHeight < 0) newHeight = 0;
_element.style.height = '${newHeight}px';
}
}
/**
* Set the current computed width in pixels of this element.
*
* newWidth can be either a [num] representing the width in pixels or a
* [Dimension] object. This is equivalent to the `width` function in jQuery
* and the calculated
* `width` CSS value, converted to a dimensionless num in pixels.
*/
void set width(newWidth) {
if (newWidth is Dimension) {
if (newWidth.value < 0) newWidth = new Dimension.px(0);
_element.style.width = newWidth.toString();
} else {
if (newWidth < 0) newWidth = 0;
_element.style.width = '${newWidth}px';
}
}
num get left => _element.getBoundingClientRect().left -
_addOrSubtractToBoxModel(['left'], _CONTENT);
num get top => _element.getBoundingClientRect().top -
_addOrSubtractToBoxModel(['top'], _CONTENT);
}
/**
* A list of element content rectangles in the
* [box model](http://www.w3.org/TR/CSS2/box.html).
*/
class _ContentCssListRect extends _ContentCssRect {
List<Element> _elementList;
_ContentCssListRect(elementList) : super(elementList.first) {
_elementList = elementList;
}
/**
* Set the height to `newHeight`.
*
* Values of newHeight that are less than zero are converted to effectively
* setting the height to 0. This is equivalent to the `height`
* function in jQuery and the calculated `height` CSS value, converted to a
* num in pixels.
*/
void set height(newHeight) {
_elementList.forEach((e) => e.contentEdge.height = newHeight);
}
/**
* Set the current computed width in pixels of this element.
*
* This is equivalent to the `width` function in jQuery and the calculated
* `width` CSS value, converted to a dimensionless num in pixels.
*/
void set width(newWidth) {
_elementList.forEach((e) => e.contentEdge.width = newWidth);
}
}
/**
* A rectangle representing the dimensions of the space occupied by the
* element's content + padding in the
* [box model](http://www.w3.org/TR/CSS2/box.html).
*/
class _PaddingCssRect extends CssRect {
_PaddingCssRect(element) : super(element);
num get height => _element.offsetHeight +
_addOrSubtractToBoxModel(_HEIGHT, _PADDING);
num get width => _element.offsetWidth +
_addOrSubtractToBoxModel(_WIDTH, _PADDING);
num get left => _element.getBoundingClientRect().left -
_addOrSubtractToBoxModel(['left'], _PADDING);
num get top => _element.getBoundingClientRect().top -
_addOrSubtractToBoxModel(['top'], _PADDING);
}
/**
* A rectangle representing the dimensions of the space occupied by the
* element's content + padding + border in the
* [box model](http://www.w3.org/TR/CSS2/box.html).
*/
class _BorderCssRect extends CssRect {
_BorderCssRect(element) : super(element);
num get height => _element.offsetHeight;
num get width => _element.offsetWidth;
num get left => _element.getBoundingClientRect().left;
num get top => _element.getBoundingClientRect().top;
}
/**
* A rectangle representing the dimensions of the space occupied by the
* element's content + padding + border + margin in the
* [box model](http://www.w3.org/TR/CSS2/box.html).
*/
class _MarginCssRect extends CssRect {
_MarginCssRect(element) : super(element);
num get height => _element.offsetHeight +
_addOrSubtractToBoxModel(_HEIGHT, _MARGIN);
num get width =>
_element.offsetWidth + _addOrSubtractToBoxModel(_WIDTH, _MARGIN);
num get left => _element.getBoundingClientRect().left -
_addOrSubtractToBoxModel(['left'], _MARGIN);
num get top => _element.getBoundingClientRect().top -
_addOrSubtractToBoxModel(['top'], _MARGIN);
}
/**
* A class for representing CSS dimensions.
*
* In contrast to the more general purpose [Rectangle] class, this class's
* values are mutable, so one can change the height of an element
* programmatically.
*
* _Important_ _note_: use of these methods will perform CSS calculations that
* can trigger a browser reflow. Therefore, use of these properties _during_ an
* animation frame is discouraged. See also:
* [Browser Reflow](https://developers.google.com/speed/articles/reflow)
*/
abstract class CssRect extends MutableRectangle<num> {
Element _element;
CssRect(this._element) : super(0, 0, 0, 0);
num get left;
num get top;
/**
* The height of this rectangle.
*
* This is equivalent to the `height` function in jQuery and the calculated
* `height` CSS value, converted to a dimensionless num in pixels. Unlike
* [getBoundingClientRect], `height` will return the same numerical width if
* the element is hidden or not.
*/
num get height;
/**
* The width of this rectangle.
*
* This is equivalent to the `width` function in jQuery and the calculated
* `width` CSS value, converted to a dimensionless num in pixels. Unlike
* [getBoundingClientRect], `width` will return the same numerical width if
* the element is hidden or not.
*/
num get width;
/**
* Set the height to `newHeight`.
*
* newHeight can be either a [num] representing the height in pixels or a
* [Dimension] object. Values of newHeight that are less than zero are
* converted to effectively setting the height to 0. This is equivalent to the
* `height` function in jQuery and the calculated `height` CSS value,
* converted to a num in pixels.
*
* Note that only the content height can actually be set via this method.
*/
void set height(newHeight) {
throw new UnsupportedError("Can only set height for content rect.");
}
/**
* Set the current computed width in pixels of this element.
*
* newWidth can be either a [num] representing the width in pixels or a
* [Dimension] object. This is equivalent to the `width` function in jQuery
* and the calculated
* `width` CSS value, converted to a dimensionless num in pixels.
*
* Note that only the content width can be set via this method.
*/
void set width(newWidth) {
throw new UnsupportedError("Can only set width for content rect.");
}
/**
* Return a value that is used to modify the initial height or width
* measurement of an element. Depending on the value (ideally an enum) passed
* to augmentingMeasurement, we may need to add or subtract margin, padding,
* or border values, depending on the measurement we're trying to obtain.
*/
num _addOrSubtractToBoxModel(List<String> dimensions,
String augmentingMeasurement) {
// getComputedStyle always returns pixel values (hence, computed), so we're
// always dealing with pixels in this method.
var styles = _element.getComputedStyle();
var val = 0;
for (String measurement in dimensions) {
// The border-box and default box model both exclude margin in the regular
// height/width calculation, so add it if we want it for this measurement.
if (augmentingMeasurement == _MARGIN) {
val += new Dimension.css(styles.getPropertyValue(
'$augmentingMeasurement-$measurement')).value;
}
// The border-box includes padding and border, so remove it if we want
// just the content itself.
if (augmentingMeasurement == _CONTENT) {
val -= new Dimension.css(
styles.getPropertyValue('${_PADDING}-$measurement')).value;
}
// At this point, we don't wan't to augment with border or margin,
// so remove border.
if (augmentingMeasurement != _MARGIN) {
val -= new Dimension.css(styles.getPropertyValue(
'border-${measurement}-width')).value;
}
}
return val;
}
}
final _HEIGHT = ['top', 'bottom'];
final _WIDTH = ['right', 'left'];
final _CONTENT = 'content';
final _PADDING = 'padding';
final _MARGIN = 'margin';
/**
* Class representing a
* [length measurement](https://developer.mozilla.org/en-US/docs/Web/CSS/length)
* in CSS.
*/
@Experimental()
class Dimension {
num _value;
String _unit;
/** Set this CSS Dimension to a percentage `value`. */
Dimension.percent(this._value) : _unit = '%';
/** Set this CSS Dimension to a pixel `value`. */
Dimension.px(this._value) : _unit = 'px';
/** Set this CSS Dimension to a pica `value`. */
Dimension.pc(this._value) : _unit = 'pc';
/** Set this CSS Dimension to a point `value`. */
Dimension.pt(this._value) : _unit = 'pt';
/** Set this CSS Dimension to an inch `value`. */
Dimension.inch(this._value) : _unit = 'in';
/** Set this CSS Dimension to a centimeter `value`. */
Dimension.cm(this._value) : _unit = 'cm';
/** Set this CSS Dimension to a millimeter `value`. */
Dimension.mm(this._value) : _unit = 'mm';
/**
* Set this CSS Dimension to the specified number of ems.
*
* 1em is equal to the current font size. (So 2ems is equal to double the font
* size). This is useful for producing website layouts that scale nicely with
* the user's desired font size.
*/
Dimension.em(this._value) : _unit = 'em';
/**
* Set this CSS Dimension to the specified number of x-heights.
*
* One ex is equal to the the x-height of a font's baseline to its mean line,
* generally the height of the letter "x" in the font, which is usually about
* half the font-size.
*/
Dimension.ex(this._value) : _unit = 'ex';
/**
* Construct a Dimension object from the valid, simple CSS string `cssValue`
* that represents a distance measurement.
*
* This constructor is intended as a convenience method for working with
* simplistic CSS length measurements. Non-numeric values such as `auto` or
* `inherit` or invalid CSS will cause this constructor to throw a
* FormatError.
*/
Dimension.css(String cssValue) {
if (cssValue == '') cssValue = '0px';
if (cssValue.endsWith('%')) {
_unit = '%';
} else {
_unit = cssValue.substring(cssValue.length - 2);
}
if (cssValue.contains('.')) {
_value = double.parse(cssValue.substring(0,
cssValue.length - _unit.length));
} else {
_value = int.parse(cssValue.substring(0, cssValue.length - _unit.length));
}
}
/** Print out the CSS String representation of this value. */
String toString() {
return '${_value}${_unit}';
}
/** Return a unitless, numerical value of this CSS value. */
num get value => this._value;
}
// Copyright (c) 2011, 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.
typedef EventListener(Event event);
// Copyright (c) 2013, 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.
/**
* A factory to expose DOM events as Streams.
*/
class EventStreamProvider<T extends Event> {
final String _eventType;
const EventStreamProvider(this._eventType);
/**
* Gets a [Stream] for this event type, on the specified target.
*
* This will always return a broadcast stream so multiple listeners can be
* used simultaneously.
*
* This may be used to capture DOM events:
*
* Element.keyDownEvent.forTarget(element, useCapture: true).listen(...);
*
* // Alternate method:
* Element.keyDownEvent.forTarget(element).capture(...);
*
* Or for listening to an event which will bubble through the DOM tree:
*
* MediaElement.pauseEvent.forTarget(document.body).listen(...);
*
* See also:
*
* [addEventListener](http://docs.webplatform.org/wiki/dom/methods/addEventListener)
*/
Stream<T> forTarget(EventTarget e, {bool useCapture: false}) =>
new _EventStream(e, _eventType, useCapture);
/**
* Gets an [ElementEventStream] for this event type, on the specified element.
*
* This will always return a broadcast stream so multiple listeners can be
* used simultaneously.
*
* This may be used to capture DOM events:
*
* Element.keyDownEvent.forElement(element, useCapture: true).listen(...);
*
* // Alternate method:
* Element.keyDownEvent.forElement(element).capture(...);
*
* Or for listening to an event which will bubble through the DOM tree:
*
* MediaElement.pauseEvent.forElement(document.body).listen(...);
*
* See also:
*
* [addEventListener](http://docs.webplatform.org/wiki/dom/methods/addEventListener)
*/
ElementStream<T> forElement(Element e, {bool useCapture: false}) {
return new _ElementEventStreamImpl(e, _eventType, useCapture);
}
/**
* Gets an [ElementEventStream] for this event type, on the list of elements.
*
* This will always return a broadcast stream so multiple listeners can be
* used simultaneously.
*
* This may be used to capture DOM events:
*
* Element.keyDownEvent._forElementList(element, useCapture: true).listen(...);
*
* See also:
*
* [addEventListener](http://docs.webplatform.org/wiki/dom/methods/addEventListener)
*/
ElementStream<T> _forElementList(ElementList e, {bool useCapture: false}) {
return new _ElementListEventStreamImpl(e, _eventType, useCapture);
}
/**
* Gets the type of the event which this would listen for on the specified
* event target.
*
* The target is necessary because some browsers may use different event names
* for the same purpose and the target allows differentiating browser support.
*/
String getEventType(EventTarget target) {
return _eventType;
}
}
/** A specialized Stream available to [Element]s to enable event delegation. */
abstract class ElementStream<T extends Event> implements Stream<T> {
/**
* Return a stream that only fires when the particular event fires for
* elements matching the specified CSS selector.
*
* This is the Dart equivalent to jQuery's
* [delegate](http://api.jquery.com/delegate/).
*/
Stream<T> matches(String selector);
/**
* Adds a capturing subscription to this stream.
*
* If the target of the event is a descendant of the element from which this
* stream derives then [onData] is called before the event propagates down to
* the target. This is the opposite of bubbling behavior, where the event
* is first processed for the event target and then bubbles upward.
*
* ## Other resources
*
* * [Event Capture]
* (http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow-capture)
* from the W3C DOM Events specification.
*/
StreamSubscription<T> capture(void onData(T event));
}
/**
* Adapter for exposing DOM events as Dart streams.
*/
class _EventStream<T extends Event> extends Stream<T> {
final EventTarget _target;
final String _eventType;
final bool _useCapture;
_EventStream(this._target, this._eventType, this._useCapture);
// DOM events are inherently multi-subscribers.
Stream<T> asBroadcastStream({void onListen(StreamSubscription subscription),
void onCancel(StreamSubscription subscription)})
=> this;
bool get isBroadcast => true;
StreamSubscription<T> listen(void onData(T event),
{ Function onError,
void onDone(),
bool cancelOnError}) {
return new _EventStreamSubscription<T>(
this._target, this._eventType, onData, this._useCapture);
}
}
/**
* Adapter for exposing DOM Element events as streams, while also allowing
* event delegation.
*/
class _ElementEventStreamImpl<T extends Event> extends _EventStream<T>
implements ElementStream<T> {
_ElementEventStreamImpl(target, eventType, useCapture) :
super(target, eventType, useCapture);
Stream<T> matches(String selector) => this.where(
(event) => event.target.matchesWithAncestors(selector)).map((e) {
e._selector = selector;
return e;
});
StreamSubscription<T> capture(void onData(T event)) =>
new _EventStreamSubscription<T>(
this._target, this._eventType, onData, true);
}
/**
* Adapter for exposing events on a collection of DOM Elements as streams,
* while also allowing event delegation.
*/
class _ElementListEventStreamImpl<T extends Event> extends Stream<T>
implements ElementStream<T> {
final Iterable<Element> _targetList;
final bool _useCapture;
final String _eventType;
_ElementListEventStreamImpl(
this._targetList, this._eventType, this._useCapture);
Stream<T> matches(String selector) => this.where(
(event) => event.target.matchesWithAncestors(selector)).map((e) {
e._selector = selector;
return e;
});
// Delegate all regular Stream behavior to a wrapped Stream.
StreamSubscription<T> listen(void onData(T event),
{ Function onError,
void onDone(),
bool cancelOnError}) {
var pool = new _StreamPool.broadcast();
for (var target in _targetList) {
pool.add(new _EventStream(target, _eventType, _useCapture));
}
return pool.stream.listen(onData, onError: onError, onDone: onDone,
cancelOnError: cancelOnError);
}
StreamSubscription<T> capture(void onData(T event)) {
var pool = new _StreamPool.broadcast();
for (var target in _targetList) {
pool.add(new _EventStream(target, _eventType, true));
}
return pool.stream.listen(onData);
}
Stream<T> asBroadcastStream({void onListen(StreamSubscription subscription),
void onCancel(StreamSubscription subscription)})
=> this;
bool get isBroadcast => true;
}
class _EventStreamSubscription<T extends Event> extends StreamSubscription<T> {
int _pauseCount = 0;
EventTarget _target;
final String _eventType;
var _onData;
final bool _useCapture;
_EventStreamSubscription(this._target, this._eventType, onData,
this._useCapture) : _onData = _wrapZone(onData) {
_tryResume();
}
Future cancel() {
if (_canceled) return null;
_unlisten();
// Clear out the target to indicate this is complete.
_target = null;
_onData = null;
return null;
}
bool get _canceled => _target == null;
void onData(void handleData(T event)) {
if (_canceled) {
throw new StateError("Subscription has been canceled.");
}
// Remove current event listener.
_unlisten();
_onData = _wrapZone(handleData);
_tryResume();
}
/// Has no effect.
void onError(Function handleError) {}
/// Has no effect.
void onDone(void handleDone()) {}
void pause([Future resumeSignal]) {
if (_canceled) return;
++_pauseCount;
_unlisten();
if (resumeSignal != null) {
resumeSignal.whenComplete(resume);
}
}
bool get isPaused => _pauseCount > 0;
void resume() {
if (_canceled || !isPaused) return;
--_pauseCount;
_tryResume();
}
void _tryResume() {
if (_onData != null && !isPaused) {
_target.addEventListener(_eventType, _onData, _useCapture);
}
}
void _unlisten() {
if (_onData != null) {
_target.removeEventListener(_eventType, _onData, _useCapture);
}
}
Future asFuture([var futureValue]) {
// We just need a future that will never succeed or fail.
Completer completer = new Completer();
return completer.future;
}
}
/**
* A stream of custom events, which enables the user to "fire" (add) their own
* custom events to a stream.
*/
abstract class CustomStream<T extends Event> implements Stream<T> {
/**
* Add the following custom event to the stream for dispatching to interested
* listeners.
*/
void add(T event);
}
class _CustomEventStreamImpl<T extends Event> extends Stream<T>
implements CustomStream<T> {
StreamController<T> _streamController;
/** The type of event this stream is providing (e.g. "keydown"). */
String _type;
_CustomEventStreamImpl(String type) {
_type = type;
_streamController = new StreamController.broadcast(sync: true);
}
// Delegate all regular Stream behavior to our wrapped Stream.
StreamSubscription<T> listen(void onData(T event),
{ Function onError,
void onDone(),
bool cancelOnError}) {
return _streamController.stream.listen(onData, onError: onError,
onDone: onDone, cancelOnError: cancelOnError);
}
Stream<T> asBroadcastStream({void onListen(StreamSubscription subscription),
void onCancel(StreamSubscription subscription)})
=> _streamController.stream;
bool get isBroadcast => true;
void add(T event) {
if (event.type == _type) _streamController.add(event);
}
}
class _CustomKeyEventStreamImpl extends _CustomEventStreamImpl<KeyEvent>
implements CustomStream<KeyEvent> {
_CustomKeyEventStreamImpl(String type) : super(type);
void add(KeyEvent event) {
if (event.type == _type) {
event.currentTarget.dispatchEvent(event._parent);
_streamController.add(event);
}
}
}
/**
* A pool of streams whose events are unified and emitted through a central
* stream.
*/
// TODO (efortuna): Remove this when Issue 12218 is addressed.
class _StreamPool<T> {
StreamController<T> _controller;
/// Subscriptions to the streams that make up the pool.
var _subscriptions = new Map<Stream<T>, StreamSubscription<T>>();
/**
* Creates a new stream pool where [stream] can be listened to more than
* once.
*
* Any events from buffered streams in the pool will be emitted immediately,
* regardless of whether [stream] has any subscribers.
*/
_StreamPool.broadcast() {
_controller = new StreamController<T>.broadcast(sync: true,
onCancel: close);
}
/**
* The stream through which all events from streams in the pool are emitted.
*/
Stream<T> get stream => _controller.stream;
/**
* Adds [stream] as a member of this pool.
*
* Any events from [stream] will be emitted through [this.stream]. If
* [stream] is sync, they'll be emitted synchronously; if [stream] is async,
* they'll be emitted asynchronously.
*/
void add(Stream<T> stream) {
if (_subscriptions.containsKey(stream)) return;
_subscriptions[stream] = stream.listen(_controller.add,
onError: _controller.addError,
onDone: () => remove(stream));
}
/** Removes [stream] as a member of this pool. */
void remove(Stream<T> stream) {
var subscription = _subscriptions.remove(stream);
if (subscription != null) subscription.cancel();
}
/** Removes all streams from this pool and closes [stream]. */
void close() {
for (var subscription in _subscriptions.values) {
subscription.cancel();
}
_subscriptions.clear();
_controller.close();
}
}
/**
* A factory to expose DOM events as streams, where the DOM event name has to
* be determined on the fly (for example, mouse wheel events).
*/
class _CustomEventStreamProvider<T extends Event>
implements EventStreamProvider<T> {
final _eventTypeGetter;
const _CustomEventStreamProvider(this._eventTypeGetter);
Stream<T> forTarget(EventTarget e, {bool useCapture: false}) {
return new _EventStream(e, _eventTypeGetter(e), useCapture);
}
ElementStream<T> forElement(Element e, {bool useCapture: false}) {
return new _ElementEventStreamImpl(e, _eventTypeGetter(e), useCapture);
}
ElementStream<T> _forElementList(ElementList e,
{bool useCapture: false}) {
return new _ElementListEventStreamImpl(e, _eventTypeGetter(e), useCapture);
}
String getEventType(EventTarget target) {
return _eventTypeGetter(target);
}
String get _eventType =>
throw new UnsupportedError('Access type through getEventType method.');
}
// DO NOT EDIT- this file is generated from running tool/generator.sh.
// Copyright (c) 2013, 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.
/**
* A Dart DOM validator generated from Caja whitelists.
*
* This contains a whitelist of known HTML tagNames and attributes and will only
* accept known good values.
*
* See also:
*
* * <https://code.google.com/p/google-caja/wiki/CajaWhitelists>
*/
class _Html5NodeValidator implements NodeValidator {
static final Set<String> _allowedElements = new Set.from([
'A',
'ABBR',
'ACRONYM',
'ADDRESS',
'AREA',
'ARTICLE',
'ASIDE',
'AUDIO',
'B',
'BDI',
'BDO',
'BIG',
'BLOCKQUOTE',
'BR',
'BUTTON',
'CANVAS',
'CAPTION',
'CENTER',
'CITE',
'CODE',
'COL',
'COLGROUP',
'COMMAND',
'DATA',
'DATALIST',
'DD',
'DEL',
'DETAILS',
'DFN',
'DIR',
'DIV',
'DL',
'DT',
'EM',
'FIELDSET',
'FIGCAPTION',
'FIGURE',
'FONT',
'FOOTER',
'FORM',
'H1',
'H2',
'H3',
'H4',
'H5',
'H6',
'HEADER',
'HGROUP',
'HR',
'I',
'IFRAME',
'IMG',
'INPUT',
'INS',
'KBD',
'LABEL',
'LEGEND',
'LI',
'MAP',
'MARK',
'MENU',
'METER',
'NAV',
'NOBR',
'OL',
'OPTGROUP',
'OPTION',
'OUTPUT',
'P',
'PRE',
'PROGRESS',
'Q',
'S',
'SAMP',
'SECTION',
'SELECT',
'SMALL',
'SOURCE',
'SPAN',
'STRIKE',
'STRONG',
'SUB',
'SUMMARY',
'SUP',
'TABLE',
'TBODY',
'TD',
'TEXTAREA',
'TFOOT',
'TH',
'THEAD',
'TIME',
'TR',
'TRACK',
'TT',
'U',
'UL',
'VAR',
'VIDEO',
'WBR',
]);
static const _standardAttributes = const <String>[
'*::class',
'*::dir',
'*::draggable',
'*::hidden',
'*::id',
'*::inert',
'*::itemprop',
'*::itemref',
'*::itemscope',
'*::lang',
'*::spellcheck',
'*::title',
'*::translate',
'A::accesskey',
'A::coords',
'A::hreflang',
'A::name',
'A::shape',
'A::tabindex',
'A::target',
'A::type',
'AREA::accesskey',
'AREA::alt',
'AREA::coords',
'AREA::nohref',
'AREA::shape',
'AREA::tabindex',
'AREA::target',
'AUDIO::controls',
'AUDIO::loop',
'AUDIO::mediagroup',
'AUDIO::muted',
'AUDIO::preload',
'BDO::dir',
'BODY::alink',
'BODY::bgcolor',
'BODY::link',
'BODY::text',
'BODY::vlink',
'BR::clear',
'BUTTON::accesskey',
'BUTTON::disabled',
'BUTTON::name',
'BUTTON::tabindex',
'BUTTON::type',
'BUTTON::value',
'CANVAS::height',
'CANVAS::width',
'CAPTION::align',
'COL::align',
'COL::char',
'COL::charoff',
'COL::span',
'COL::valign',
'COL::width',
'COLGROUP::align',
'COLGROUP::char',
'COLGROUP::charoff',
'COLGROUP::span',
'COLGROUP::valign',
'COLGROUP::width',
'COMMAND::checked',
'COMMAND::command',
'COMMAND::disabled',
'COMMAND::label',
'COMMAND::radiogroup',
'COMMAND::type',
'DATA::value',
'DEL::datetime',
'DETAILS::open',
'DIR::compact',
'DIV::align',
'DL::compact',
'FIELDSET::disabled',
'FONT::color',
'FONT::face',
'FONT::size',
'FORM::accept',
'FORM::autocomplete',
'FORM::enctype',
'FORM::method',
'FORM::name',
'FORM::novalidate',
'FORM::target',
'FRAME::name',
'H1::align',
'H2::align',
'H3::align',
'H4::align',
'H5::align',
'H6::align',
'HR::align',
'HR::noshade',
'HR::size',
'HR::width',
'HTML::version',
'IFRAME::align',
'IFRAME::frameborder',
'IFRAME::height',
'IFRAME::marginheight',
'IFRAME::marginwidth',
'IFRAME::width',
'IMG::align',
'IMG::alt',
'IMG::border',
'IMG::height',
'IMG::hspace',
'IMG::ismap',
'IMG::name',
'IMG::usemap',
'IMG::vspace',
'IMG::width',
'INPUT::accept',
'INPUT::accesskey',
'INPUT::align',
'INPUT::alt',
'INPUT::autocomplete',
'INPUT::checked',
'INPUT::disabled',
'INPUT::inputmode',
'INPUT::ismap',
'INPUT::list',
'INPUT::max',
'INPUT::maxlength',
'INPUT::min',
'INPUT::multiple',
'INPUT::name',
'INPUT::placeholder',
'INPUT::readonly',
'INPUT::required',
'INPUT::size',
'INPUT::step',
'INPUT::tabindex',
'INPUT::type',
'INPUT::usemap',
'INPUT::value',
'INS::datetime',
'KEYGEN::disabled',
'KEYGEN::keytype',
'KEYGEN::name',
'LABEL::accesskey',
'LABEL::for',
'LEGEND::accesskey',
'LEGEND::align',
'LI::type',
'LI::value',
'LINK::sizes',
'MAP::name',
'MENU::compact',
'MENU::label',
'MENU::type',
'METER::high',
'METER::low',
'METER::max',
'METER::min',
'METER::value',
'OBJECT::typemustmatch',
'OL::compact',
'OL::reversed',
'OL::start',
'OL::type',
'OPTGROUP::disabled',
'OPTGROUP::label',
'OPTION::disabled',
'OPTION::label',
'OPTION::selected',
'OPTION::value',
'OUTPUT::for',
'OUTPUT::name',
'P::align',
'PRE::width',
'PROGRESS::max',
'PROGRESS::min',
'PROGRESS::value',
'SELECT::autocomplete',
'SELECT::disabled',
'SELECT::multiple',
'SELECT::name',
'SELECT::required',
'SELECT::size',
'SELECT::tabindex',
'SOURCE::type',
'TABLE::align',
'TABLE::bgcolor',
'TABLE::border',
'TABLE::cellpadding',
'TABLE::cellspacing',
'TABLE::frame',
'TABLE::rules',
'TABLE::summary',
'TABLE::width',
'TBODY::align',
'TBODY::char',
'TBODY::charoff',
'TBODY::valign',
'TD::abbr',
'TD::align',
'TD::axis',
'TD::bgcolor',
'TD::char',
'TD::charoff',
'TD::colspan',
'TD::headers',
'TD::height',
'TD::nowrap',
'TD::rowspan',
'TD::scope',
'TD::valign',
'TD::width',
'TEXTAREA::accesskey',
'TEXTAREA::autocomplete',
'TEXTAREA::cols',
'TEXTAREA::disabled',
'TEXTAREA::inputmode',
'TEXTAREA::name',
'TEXTAREA::placeholder',
'TEXTAREA::readonly',
'TEXTAREA::required',
'TEXTAREA::rows',
'TEXTAREA::tabindex',
'TEXTAREA::wrap',
'TFOOT::align',
'TFOOT::char',
'TFOOT::charoff',
'TFOOT::valign',
'TH::abbr',
'TH::align',
'TH::axis',
'TH::bgcolor',
'TH::char',
'TH::charoff',
'TH::colspan',
'TH::headers',
'TH::height',
'TH::nowrap',
'TH::rowspan',
'TH::scope',
'TH::valign',
'TH::width',
'THEAD::align',
'THEAD::char',
'THEAD::charoff',
'THEAD::valign',
'TR::align',
'TR::bgcolor',
'TR::char',
'TR::charoff',
'TR::valign',
'TRACK::default',
'TRACK::kind',
'TRACK::label',
'TRACK::srclang',
'UL::compact',
'UL::type',
'VIDEO::controls',
'VIDEO::height',
'VIDEO::loop',
'VIDEO::mediagroup',
'VIDEO::muted',
'VIDEO::preload',
'VIDEO::width',
];
static const _uriAttributes = const <String>[
'A::href',
'AREA::href',
'BLOCKQUOTE::cite',
'BODY::background',
'COMMAND::icon',
'DEL::cite',
'FORM::action',
'IMG::src',
'INPUT::src',
'INS::cite',
'Q::cite',
'VIDEO::poster',
];
final UriPolicy uriPolicy;
static final Map<String, Function> _attributeValidators = {};
/**
* All known URI attributes will be validated against the UriPolicy, if
* [uriPolicy] is null then a default UriPolicy will be used.
*/
_Html5NodeValidator({UriPolicy uriPolicy})
:uriPolicy = uriPolicy != null ? uriPolicy : new UriPolicy() {
if (_attributeValidators.isEmpty) {
for (var attr in _standardAttributes) {
_attributeValidators[attr] = _standardAttributeValidator;
}
for (var attr in _uriAttributes) {
_attributeValidators[attr] = _uriAttributeValidator;
}
}
}
bool allowsElement(Element element) {
return _allowedElements.contains(element.tagName);
}
bool allowsAttribute(Element element, String attributeName, String value) {
var tagName = element.tagName;
var validator = _attributeValidators['$tagName::$attributeName'];
if (validator == null) {
validator = _attributeValidators['*::$attributeName'];
}
if (validator == null) {
return false;
}
return validator(element, attributeName, value, this);
}
static bool _standardAttributeValidator(Element element, String attributeName,
String value, _Html5NodeValidator context) {
return true;
}
static bool _uriAttributeValidator(Element element, String attributeName,
String value, _Html5NodeValidator context) {
return context.uriPolicy.allowsUri(value);
}
}
// 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.
abstract class ImmutableListMixin<E> implements List<E> {
// From Iterable<$E>:
Iterator<E> get iterator {
// Note: NodeLists are not fixed size. And most probably length shouldn't
// be cached in both iterator _and_ forEach method. For now caching it
// for consistency.
return new FixedSizeListIterator<E>(this);
}
// From Collection<E>:
void add(E value) {
throw new UnsupportedError("Cannot add to immutable List.");
}
void addAll(Iterable<E> iterable) {
throw new UnsupportedError("Cannot add to immutable List.");
}
// From List<E>:
void sort([int compare(E a, E b)]) {
throw new UnsupportedError("Cannot sort immutable List.");
}
void shuffle([Random random]) {
throw new UnsupportedError("Cannot shuffle immutable List.");
}
void insert(int index, E element) {
throw new UnsupportedError("Cannot add to immutable List.");
}
void insertAll(int index, Iterable<E> iterable) {
throw new UnsupportedError("Cannot add to immutable List.");
}
void setAll(int index, Iterable<E> iterable) {
throw new UnsupportedError("Cannot modify an immutable List.");
}
E removeAt(int pos) {
throw new UnsupportedError("Cannot remove from immutable List.");
}
E removeLast() {
throw new UnsupportedError("Cannot remove from immutable List.");
}
bool remove(Object object) {
throw new UnsupportedError("Cannot remove from immutable List.");
}
void removeWhere(bool test(E element)) {
throw new UnsupportedError("Cannot remove from immutable List.");
}
void retainWhere(bool test(E element)) {
throw new UnsupportedError("Cannot remove from immutable List.");
}
void setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) {
throw new UnsupportedError("Cannot setRange on immutable List.");
}
void removeRange(int start, int end) {
throw new UnsupportedError("Cannot removeRange on immutable List.");
}
void replaceRange(int start, int end, Iterable<E> iterable) {
throw new UnsupportedError("Cannot modify an immutable List.");
}
void fillRange(int start, int end, [E fillValue]) {
throw new UnsupportedError("Cannot modify an immutable List.");
}
}
// 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.
/**
* Defines the keycode values for keys that are returned by
* KeyboardEvent.keyCode.
*
* Important note: There is substantial divergence in how different browsers
* handle keycodes and their variants in different locales/keyboard layouts. We
* provide these constants to help make code processing keys more readable.
*/
abstract class KeyCode {
// These constant names were borrowed from Closure's Keycode enumeration
// class.
// http://closure-library.googlecode.com/svn/docs/closure_goog_events_keycodes.js.source.html
static const int WIN_KEY_FF_LINUX = 0;
static const int MAC_ENTER = 3;
static const int BACKSPACE = 8;
static const int TAB = 9;
/** NUM_CENTER is also NUMLOCK for FF and Safari on Mac. */
static const int NUM_CENTER = 12;
static const int ENTER = 13;
static const int SHIFT = 16;
static const int CTRL = 17;
static const int ALT = 18;
static const int PAUSE = 19;
static const int CAPS_LOCK = 20;
static const int ESC = 27;
static const int SPACE = 32;
static const int PAGE_UP = 33;
static const int PAGE_DOWN = 34;
static const int END = 35;
static const int HOME = 36;
static const int LEFT = 37;
static const int UP = 38;
static const int RIGHT = 39;
static const int DOWN = 40;
static const int NUM_NORTH_EAST = 33;
static const int NUM_SOUTH_EAST = 34;
static const int NUM_SOUTH_WEST = 35;
static const int NUM_NORTH_WEST = 36;
static const int NUM_WEST = 37;
static const int NUM_NORTH = 38;
static const int NUM_EAST = 39;
static const int NUM_SOUTH = 40;
static const int PRINT_SCREEN = 44;
static const int INSERT = 45;
static const int NUM_INSERT = 45;
static const int DELETE = 46;
static const int NUM_DELETE = 46;
static const int ZERO = 48;
static const int ONE = 49;
static const int TWO = 50;
static const int THREE = 51;
static const int FOUR = 52;
static const int FIVE = 53;
static const int SIX = 54;
static const int SEVEN = 55;
static const int EIGHT = 56;
static const int NINE = 57;
static const int FF_SEMICOLON = 59;
static const int FF_EQUALS = 61;
/**
* CAUTION: The question mark is for US-keyboard layouts. It varies
* for other locales and keyboard layouts.
*/
static const int QUESTION_MARK = 63;
static const int A = 65;
static const int B = 66;
static const int C = 67;
static const int D = 68;
static const int E = 69;
static const int F = 70;
static const int G = 71;
static const int H = 72;
static const int I = 73;
static const int J = 74;
static const int K = 75;
static const int L = 76;
static const int M = 77;
static const int N = 78;
static const int O = 79;
static const int P = 80;
static const int Q = 81;
static const int R = 82;
static const int S = 83;
static const int T = 84;
static const int U = 85;
static const int V = 86;
static const int W = 87;
static const int X = 88;
static const int Y = 89;
static const int Z = 90;
static const int META = 91;
static const int WIN_KEY_LEFT = 91;
static const int WIN_KEY_RIGHT = 92;
static const int CONTEXT_MENU = 93;
static const int NUM_ZERO = 96;
static const int NUM_ONE = 97;
static const int NUM_TWO = 98;
static const int NUM_THREE = 99;
static const int NUM_FOUR = 100;
static const int NUM_FIVE = 101;
static const int NUM_SIX = 102;
static const int NUM_SEVEN = 103;
static const int NUM_EIGHT = 104;
static const int NUM_NINE = 105;
static const int NUM_MULTIPLY = 106;
static const int NUM_PLUS = 107;
static const int NUM_MINUS = 109;
static const int NUM_PERIOD = 110;
static const int NUM_DIVISION = 111;
static const int F1 = 112;
static const int F2 = 113;
static const int F3 = 114;
static const int F4 = 115;
static const int F5 = 116;
static const int F6 = 117;
static const int F7 = 118;
static const int F8 = 119;
static const int F9 = 120;
static const int F10 = 121;
static const int F11 = 122;
static const int F12 = 123;
static const int NUMLOCK = 144;
static const int SCROLL_LOCK = 145;
// OS-specific media keys like volume controls and browser controls.
static const int FIRST_MEDIA_KEY = 166;
static const int LAST_MEDIA_KEY = 183;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int SEMICOLON = 186;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int DASH = 189;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int EQUALS = 187;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int COMMA = 188;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int PERIOD = 190;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int SLASH = 191;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int APOSTROPHE = 192;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int TILDE = 192;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int SINGLE_QUOTE = 222;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int OPEN_SQUARE_BRACKET = 219;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int BACKSLASH = 220;
/**
* CAUTION: This constant requires localization for other locales and keyboard
* layouts.
*/
static const int CLOSE_SQUARE_BRACKET = 221;
static const int WIN_KEY = 224;
static const int MAC_FF_META = 224;
static const int WIN_IME = 229;
/** A sentinel value if the keycode could not be determined. */
static const int UNKNOWN = -1;
/**
* Returns true if the keyCode produces a (US keyboard) character.
* Note: This does not (yet) cover characters on non-US keyboards (Russian,
* Hebrew, etc.).
*/
static bool isCharacterKey(int keyCode) {
if ((keyCode >= ZERO && keyCode <= NINE) ||
(keyCode >= NUM_ZERO && keyCode <= NUM_MULTIPLY) ||
(keyCode >= A && keyCode <= Z)) {
return true;
}
// Safari sends zero key code for non-latin characters.
if (Device.isWebKit && keyCode == 0) {
return true;
}
return (keyCode == SPACE || keyCode == QUESTION_MARK || keyCode == NUM_PLUS
|| keyCode == NUM_MINUS || keyCode == NUM_PERIOD ||
keyCode == NUM_DIVISION || keyCode == SEMICOLON ||
keyCode == FF_SEMICOLON || keyCode == DASH || keyCode == EQUALS ||
keyCode == FF_EQUALS || keyCode == COMMA || keyCode == PERIOD ||
keyCode == SLASH || keyCode == APOSTROPHE || keyCode == SINGLE_QUOTE ||
keyCode == OPEN_SQUARE_BRACKET || keyCode == BACKSLASH ||
keyCode == CLOSE_SQUARE_BRACKET);
}
/**
* Experimental helper function for converting keyCodes to keyNames for the
* keyIdentifier attribute still used in browsers not updated with current
* spec. This is an imperfect conversion! It will need to be refined, but
* hopefully it can just completely go away once all the browsers update to
* follow the DOM3 spec.
*/
static String _convertKeyCodeToKeyName(int keyCode) {
switch(keyCode) {
case KeyCode.ALT: return _KeyName.ALT;
case KeyCode.BACKSPACE: return _KeyName.BACKSPACE;
case KeyCode.CAPS_LOCK: return _KeyName.CAPS_LOCK;
case KeyCode.CTRL: return _KeyName.CONTROL;
case KeyCode.DELETE: return _KeyName.DEL;
case KeyCode.DOWN: return _KeyName.DOWN;
case KeyCode.END: return _KeyName.END;
case KeyCode.ENTER: return _KeyName.ENTER;
case KeyCode.ESC: return _KeyName.ESC;
case KeyCode.F1: return _KeyName.F1;
case KeyCode.F2: return _KeyName.F2;
case KeyCode.F3: return _KeyName.F3;
case KeyCode.F4: return _KeyName.F4;
case KeyCode.F5: return _KeyName.F5;
case KeyCode.F6: return _KeyName.F6;
case KeyCode.F7: return _KeyName.F7;
case KeyCode.F8: return _KeyName.F8;
case KeyCode.F9: return _KeyName.F9;
case KeyCode.F10: return _KeyName.F10;
case KeyCode.F11: return _KeyName.F11;
case KeyCode.F12: return _KeyName.F12;
case KeyCode.HOME: return _KeyName.HOME;
case KeyCode.INSERT: return _KeyName.INSERT;
case KeyCode.LEFT: return _KeyName.LEFT;
case KeyCode.META: return _KeyName.META;
case KeyCode.NUMLOCK: return _KeyName.NUM_LOCK;
case KeyCode.PAGE_DOWN: return _KeyName.PAGE_DOWN;
case KeyCode.PAGE_UP: return _KeyName.PAGE_UP;
case KeyCode.PAUSE: return _KeyName.PAUSE;
case KeyCode.PRINT_SCREEN: return _KeyName.PRINT_SCREEN;
case KeyCode.RIGHT: return _KeyName.RIGHT;
case KeyCode.SCROLL_LOCK: return _KeyName.SCROLL;
case KeyCode.SHIFT: return _KeyName.SHIFT;
case KeyCode.SPACE: return _KeyName.SPACEBAR;
case KeyCode.TAB: return _KeyName.TAB;
case KeyCode.UP: return _KeyName.UP;
case KeyCode.WIN_IME:
case KeyCode.WIN_KEY:
case KeyCode.WIN_KEY_LEFT:
case KeyCode.WIN_KEY_RIGHT:
return _KeyName.WIN;
default: return _KeyName.UNIDENTIFIED;
}
return _KeyName.UNIDENTIFIED;
}
}
// Copyright (c) 2011, 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.
/**
* Defines the standard key locations returned by
* KeyboardEvent.getKeyLocation.
*/
abstract class KeyLocation {
/**
* The event key is not distinguished as the left or right version
* of the key, and did not originate from the numeric keypad (or did not
* originate with a virtual key corresponding to the numeric keypad).
*/
static const int STANDARD = 0;
/**
* The event key is in the left key location.
*/
static const int LEFT = 1;
/**
* The event key is in the right key location.
*/
static const int RIGHT = 2;
/**
* The event key originated on the numeric keypad or with a virtual key
* corresponding to the numeric keypad.
*/
static const int NUMPAD = 3;
/**
* The event key originated on a mobile device, either on a physical
* keypad or a virtual keyboard.
*/
static const int MOBILE = 4;
/**
* The event key originated on a game controller or a joystick on a mobile
* device.
*/
static const int JOYSTICK = 5;
}
// 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.
/**
* Defines the standard keyboard identifier names for keys that are returned
* by KeyboardEvent.getKeyboardIdentifier when the key does not have a direct
* unicode mapping.
*/
abstract class _KeyName {
/** The Accept (Commit, OK) key */
static const String ACCEPT = "Accept";
/** The Add key */
static const String ADD = "Add";
/** The Again key */
static const String AGAIN = "Again";
/** The All Candidates key */
static const String ALL_CANDIDATES = "AllCandidates";
/** The Alphanumeric key */
static const String ALPHANUMERIC = "Alphanumeric";
/** The Alt (Menu) key */
static const String ALT = "Alt";
/** The Alt-Graph key */
static const String ALT_GRAPH = "AltGraph";
/** The Application key */
static const String APPS = "Apps";
/** The ATTN key */
static const String ATTN = "Attn";
/** The Browser Back key */
static const String BROWSER_BACK = "BrowserBack";
/** The Browser Favorites key */
static const String BROWSER_FAVORTIES = "BrowserFavorites";
/** The Browser Forward key */
static const String BROWSER_FORWARD = "BrowserForward";
/** The Browser Home key */
static const String BROWSER_NAME = "BrowserHome";
/** The Browser Refresh key */
static const String BROWSER_REFRESH = "BrowserRefresh";
/** The Browser Search key */
static const String BROWSER_SEARCH = "BrowserSearch";
/** The Browser Stop key */
static const String BROWSER_STOP = "BrowserStop";
/** The Camera key */
static const String CAMERA = "Camera";
/** The Caps Lock (Capital) key */
static const String CAPS_LOCK = "CapsLock";
/** The Clear key */
static const String CLEAR = "Clear";
/** The Code Input key */
static const String CODE_INPUT = "CodeInput";
/** The Compose key */
static const String COMPOSE = "Compose";
/** The Control (Ctrl) key */
static const String CONTROL = "Control";
/** The Crsel key */
static const String CRSEL = "Crsel";
/** The Convert key */
static const String CONVERT = "Convert";
/** The Copy key */
static const String COPY = "Copy";
/** The Cut key */
static const String CUT = "Cut";
/** The Decimal key */
static const String DECIMAL = "Decimal";
/** The Divide key */
static const String DIVIDE = "Divide";
/** The Down Arrow key */
static const String DOWN = "Down";
/** The diagonal Down-Left Arrow key */
static const String DOWN_LEFT = "DownLeft";
/** The diagonal Down-Right Arrow key */
static const String DOWN_RIGHT = "DownRight";
/** The Eject key */
static const String EJECT = "Eject";
/** The End key */
static const String END = "End";
/**
* The Enter key. Note: This key value must also be used for the Return
* (Macintosh numpad) key
*/
static const String ENTER = "Enter";
/** The Erase EOF key */
static const String ERASE_EOF= "EraseEof";
/** The Execute key */
static const String EXECUTE = "Execute";
/** The Exsel key */
static const String EXSEL = "Exsel";
/** The Function switch key */
static const String FN = "Fn";
/** The F1 key */
static const String F1 = "F1";
/** The F2 key */
static const String F2 = "F2";
/** The F3 key */
static const String F3 = "F3";
/** The F4 key */
static const String F4 = "F4";
/** The F5 key */
static const String F5 = "F5";
/** The F6 key */
static const String F6 = "F6";
/** The F7 key */
static const String F7 = "F7";
/** The F8 key */
static const String F8 = "F8";
/** The F9 key */
static const String F9 = "F9";
/** The F10 key */
static const String F10 = "F10";
/** The F11 key */
static const String F11 = "F11";
/** The F12 key */
static const String F12 = "F12";
/** The F13 key */
static const String F13 = "F13";
/** The F14 key */
static const String F14 = "F14";
/** The F15 key */
static const String F15 = "F15";
/** The F16 key */
static const String F16 = "F16";
/** The F17 key */
static const String F17 = "F17";
/** The F18 key */
static const String F18 = "F18";
/** The F19 key */
static const String F19 = "F19";
/** The F20 key */
static const String F20 = "F20";
/** The F21 key */
static const String F21 = "F21";
/** The F22 key */
static const String F22 = "F22";
/** The F23 key */
static const String F23 = "F23";
/** The F24 key */
static const String F24 = "F24";
/** The Final Mode (Final) key used on some asian keyboards */
static const String FINAL_MODE = "FinalMode";
/** The Find key */
static const String FIND = "Find";
/** The Full-Width Characters key */
static const String FULL_WIDTH = "FullWidth";
/** The Half-Width Characters key */
static const String HALF_WIDTH = "HalfWidth";
/** The Hangul (Korean characters) Mode key */
static const String HANGUL_MODE = "HangulMode";
/** The Hanja (Korean characters) Mode key */
static const String HANJA_MODE = "HanjaMode";
/** The Help key */
static const String HELP = "Help";
/** The Hiragana (Japanese Kana characters) key */
static const String HIRAGANA = "Hiragana";
/** The Home key */
static const String HOME = "Home";
/** The Insert (Ins) key */
static const String INSERT = "Insert";
/** The Japanese-Hiragana key */
static const String JAPANESE_HIRAGANA = "JapaneseHiragana";
/** The Japanese-Katakana key */
static const String JAPANESE_KATAKANA = "JapaneseKatakana";
/** The Japanese-Romaji key */
static const String JAPANESE_ROMAJI = "JapaneseRomaji";
/** The Junja Mode key */
static const String JUNJA_MODE = "JunjaMode";
/** The Kana Mode (Kana Lock) key */
static const String KANA_MODE = "KanaMode";
/**
* The Kanji (Japanese name for ideographic characters of Chinese origin)
* Mode key
*/
static const String KANJI_MODE = "KanjiMode";
/** The Katakana (Japanese Kana characters) key */
static const String KATAKANA = "Katakana";
/** The Start Application One key */
static const String LAUNCH_APPLICATION_1 = "LaunchApplication1";
/** The Start Application Two key */
static const String LAUNCH_APPLICATION_2 = "LaunchApplication2";
/** The Start Mail key */
static const String LAUNCH_MAIL = "LaunchMail";
/** The Left Arrow key */
static const String LEFT = "Left";
/** The Menu key */
static const String MENU = "Menu";
/**
* The Meta key. Note: This key value shall be also used for the Apple
* Command key
*/
static const String META = "Meta";
/** The Media Next Track key */
static const String MEDIA_NEXT_TRACK = "MediaNextTrack";
/** The Media Play Pause key */
static const String MEDIA_PAUSE_PLAY = "MediaPlayPause";
/** The Media Previous Track key */
static const String MEDIA_PREVIOUS_TRACK = "MediaPreviousTrack";
/** The Media Stop key */
static const String MEDIA_STOP = "MediaStop";
/** The Mode Change key */
static const String MODE_CHANGE = "ModeChange";
/** The Next Candidate function key */
static const String NEXT_CANDIDATE = "NextCandidate";
/** The Nonconvert (Don't Convert) key */
static const String NON_CONVERT = "Nonconvert";
/** The Number Lock key */
static const String NUM_LOCK = "NumLock";
/** The Page Down (Next) key */
static const String PAGE_DOWN = "PageDown";
/** The Page Up key */
static const String PAGE_UP = "PageUp";
/** The Paste key */
static const String PASTE = "Paste";
/** The Pause key */
static const String PAUSE = "Pause";
/** The Play key */
static const String PLAY = "Play";
/**
* The Power key. Note: Some devices may not expose this key to the
* operating environment
*/
static const String POWER = "Power";
/** The Previous Candidate function key */
static const String PREVIOUS_CANDIDATE = "PreviousCandidate";
/** The Print Screen (PrintScrn, SnapShot) key */
static const String PRINT_SCREEN = "PrintScreen";
/** The Process key */
static const String PROCESS = "Process";
/** The Props key */
static const String PROPS = "Props";
/** The Right Arrow key */
static const String RIGHT = "Right";
/** The Roman Characters function key */
static const String ROMAN_CHARACTERS = "RomanCharacters";
/** The Scroll Lock key */
static const String SCROLL = "Scroll";
/** The Select key */
static const String SELECT = "Select";
/** The Select Media key */
static const String SELECT_MEDIA = "SelectMedia";
/** The Separator key */
static const String SEPARATOR = "Separator";
/** The Shift key */
static const String SHIFT = "Shift";
/** The Soft1 key */
static const String SOFT_1 = "Soft1";
/** The Soft2 key */
static const String SOFT_2 = "Soft2";
/** The Soft3 key */
static const String SOFT_3 = "Soft3";
/** The Soft4 key */
static const String SOFT_4 = "Soft4";
/** The Stop key */
static const String STOP = "Stop";
/** The Subtract key */
static const String SUBTRACT = "Subtract";
/** The Symbol Lock key */
static const String SYMBOL_LOCK = "SymbolLock";
/** The Up Arrow key */
static const String UP = "Up";
/** The diagonal Up-Left Arrow key */
static const String UP_LEFT = "UpLeft";
/** The diagonal Up-Right Arrow key */
static const String UP_RIGHT = "UpRight";
/** The Undo key */
static const String UNDO = "Undo";
/** The Volume Down key */
static const String VOLUME_DOWN = "VolumeDown";
/** The Volume Mute key */
static const String VOLUMN_MUTE = "VolumeMute";
/** The Volume Up key */
static const String VOLUMN_UP = "VolumeUp";
/** The Windows Logo key */
static const String WIN = "Win";
/** The Zoom key */
static const String ZOOM = "Zoom";
/**
* The Backspace (Back) key. Note: This key value shall be also used for the
* key labeled 'delete' MacOS keyboards when not modified by the 'Fn' key
*/
static const String BACKSPACE = "Backspace";
/** The Horizontal Tabulation (Tab) key */
static const String TAB = "Tab";
/** The Cancel key */
static const String CANCEL = "Cancel";
/** The Escape (Esc) key */
static const String ESC = "Esc";
/** The Space (Spacebar) key: */
static const String SPACEBAR = "Spacebar";
/**
* The Delete (Del) Key. Note: This key value shall be also used for the key
* labeled 'delete' MacOS keyboards when modified by the 'Fn' key
*/
static const String DEL = "Del";
/** The Combining Grave Accent (Greek Varia, Dead Grave) key */
static const String DEAD_GRAVE = "DeadGrave";
/**
* The Combining Acute Accent (Stress Mark, Greek Oxia, Tonos, Dead Eacute)
* key
*/
static const String DEAD_EACUTE = "DeadEacute";
/** The Combining Circumflex Accent (Hat, Dead Circumflex) key */
static const String DEAD_CIRCUMFLEX = "DeadCircumflex";
/** The Combining Tilde (Dead Tilde) key */
static const String DEAD_TILDE = "DeadTilde";
/** The Combining Macron (Long, Dead Macron) key */
static const String DEAD_MACRON = "DeadMacron";
/** The Combining Breve (Short, Dead Breve) key */
static const String DEAD_BREVE = "DeadBreve";
/** The Combining Dot Above (Derivative, Dead Above Dot) key */
static const String DEAD_ABOVE_DOT = "DeadAboveDot";
/**
* The Combining Diaeresis (Double Dot Abode, Umlaut, Greek Dialytika,
* Double Derivative, Dead Diaeresis) key
*/
static const String DEAD_UMLAUT = "DeadUmlaut";
/** The Combining Ring Above (Dead Above Ring) key */
static const String DEAD_ABOVE_RING = "DeadAboveRing";
/** The Combining Double Acute Accent (Dead Doubleacute) key */
static const String DEAD_DOUBLEACUTE = "DeadDoubleacute";
/** The Combining Caron (Hacek, V Above, Dead Caron) key */
static const String DEAD_CARON = "DeadCaron";
/** The Combining Cedilla (Dead Cedilla) key */
static const String DEAD_CEDILLA = "DeadCedilla";
/** The Combining Ogonek (Nasal Hook, Dead Ogonek) key */
static const String DEAD_OGONEK = "DeadOgonek";
/**
* The Combining Greek Ypogegrammeni (Greek Non-Spacing Iota Below, Iota
* Subscript, Dead Iota) key
*/
static const String DEAD_IOTA = "DeadIota";
/**
* The Combining Katakana-Hiragana Voiced Sound Mark (Dead Voiced Sound) key
*/
static const String DEAD_VOICED_SOUND = "DeadVoicedSound";
/**
* The Combining Katakana-Hiragana Semi-Voiced Sound Mark (Dead Semivoiced
* Sound) key
*/
static const String DEC_SEMIVOICED_SOUND= "DeadSemivoicedSound";
/**
* Key value used when an implementation is unable to identify another key
* value, due to either hardware, platform, or software constraints
*/
static const String UNIDENTIFIED = "Unidentified";
}
// 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.
/**
* Internal class that does the actual calculations to determine keyCode and
* charCode for keydown, keypress, and keyup events for all browsers.
*/
class _KeyboardEventHandler extends EventStreamProvider<KeyEvent> {
// This code inspired by Closure's KeyHandling library.
// http://closure-library.googlecode.com/svn/docs/closure_goog_events_keyhandler.js.source.html
/**
* The set of keys that have been pressed down without seeing their
* corresponding keyup event.
*/
final List<KeyboardEvent> _keyDownList = <KeyboardEvent>[];
/** The type of KeyEvent we are tracking (keyup, keydown, keypress). */
final String _type;
/** The element we are watching for events to happen on. */
final EventTarget _target;
// The distance to shift from upper case alphabet Roman letters to lower case.
static final int _ROMAN_ALPHABET_OFFSET = "a".codeUnits[0] - "A".codeUnits[0];
/** Custom Stream (Controller) to produce KeyEvents for the stream. */
_CustomKeyEventStreamImpl _stream;
static const _EVENT_TYPE = 'KeyEvent';
/**
* An enumeration of key identifiers currently part of the W3C draft for DOM3
* and their mappings to keyCodes.
* http://www.w3.org/TR/DOM-Level-3-Events/keyset.html#KeySet-Set
*/
static const Map<String, int> _keyIdentifier = const {
'Up': KeyCode.UP,
'Down': KeyCode.DOWN,
'Left': KeyCode.LEFT,
'Right': KeyCode.RIGHT,
'Enter': KeyCode.ENTER,
'F1': KeyCode.F1,
'F2': KeyCode.F2,
'F3': KeyCode.F3,
'F4': KeyCode.F4,
'F5': KeyCode.F5,
'F6': KeyCode.F6,
'F7': KeyCode.F7,
'F8': KeyCode.F8,
'F9': KeyCode.F9,
'F10': KeyCode.F10,
'F11': KeyCode.F11,
'F12': KeyCode.F12,
'U+007F': KeyCode.DELETE,
'Home': KeyCode.HOME,
'End': KeyCode.END,
'PageUp': KeyCode.PAGE_UP,
'PageDown': KeyCode.PAGE_DOWN,
'Insert': KeyCode.INSERT
};
/** Return a stream for KeyEvents for the specified target. */
// Note: this actually functions like a factory constructor.
CustomStream<KeyEvent> forTarget(EventTarget e, {bool useCapture: false}) {
var handler = new _KeyboardEventHandler.initializeAllEventListeners(
_type, e);
return handler._stream;
}
/**
* General constructor, performs basic initialization for our improved
* KeyboardEvent controller.
*/
_KeyboardEventHandler(this._type): super(_EVENT_TYPE),
_stream = new _CustomKeyEventStreamImpl('event'), _target = null;
/**
* Hook up all event listeners under the covers so we can estimate keycodes
* and charcodes when they are not provided.
*/
_KeyboardEventHandler.initializeAllEventListeners(this._type, this._target) :
super(_EVENT_TYPE) {
Element.keyDownEvent.forTarget(_target, useCapture: true).listen(
processKeyDown);
Element.keyPressEvent.forTarget(_target, useCapture: true).listen(
processKeyPress);
Element.keyUpEvent.forTarget(_target, useCapture: true).listen(
processKeyUp);
_stream = new _CustomKeyEventStreamImpl(_type);
}
/** Determine if caps lock is one of the currently depressed keys. */
bool get _capsLockOn =>
_keyDownList.any((var element) => element.keyCode == KeyCode.CAPS_LOCK);
/**
* Given the previously recorded keydown key codes, see if we can determine
* the keycode of this keypress [event]. (Generally browsers only provide
* charCode information for keypress events, but with a little
* reverse-engineering, we can also determine the keyCode.) Returns
* KeyCode.UNKNOWN if the keycode could not be determined.
*/
int _determineKeyCodeForKeypress(KeyboardEvent event) {
// Note: This function is a work in progress. We'll expand this function
// once we get more information about other keyboards.
for (var prevEvent in _keyDownList) {
if (prevEvent._shadowCharCode == event.charCode) {
return prevEvent.keyCode;
}
if ((event.shiftKey || _capsLockOn) && event.charCode >= "A".codeUnits[0]
&& event.charCode <= "Z".codeUnits[0] && event.charCode +
_ROMAN_ALPHABET_OFFSET == prevEvent._shadowCharCode) {
return prevEvent.keyCode;
}
}
return KeyCode.UNKNOWN;
}
/**
* Given the charater code returned from a keyDown [event], try to ascertain
* and return the corresponding charCode for the character that was pressed.
* This information is not shown to the user, but used to help polyfill
* keypress events.
*/
int _findCharCodeKeyDown(KeyboardEvent event) {
if (event.keyLocation == 3) { // Numpad keys.
switch (event.keyCode) {
case KeyCode.NUM_ZERO:
// Even though this function returns _charCodes_, for some cases the
// KeyCode == the charCode we want, in which case we use the keycode
// constant for readability.
return KeyCode.ZERO;
case KeyCode.NUM_ONE:
return KeyCode.ONE;
case KeyCode.NUM_TWO:
return KeyCode.TWO;
case KeyCode.NUM_THREE:
return KeyCode.THREE;
case KeyCode.NUM_FOUR:
return KeyCode.FOUR;
case KeyCode.NUM_FIVE:
return KeyCode.FIVE;
case KeyCode.NUM_SIX:
return KeyCode.SIX;
case KeyCode.NUM_SEVEN:
return KeyCode.SEVEN;
case KeyCode.NUM_EIGHT:
return KeyCode.EIGHT;
case KeyCode.NUM_NINE:
return KeyCode.NINE;
case KeyCode.NUM_MULTIPLY:
return 42; // Char code for *
case KeyCode.NUM_PLUS:
return 43; // +
case KeyCode.NUM_MINUS:
return 45; // -
case KeyCode.NUM_PERIOD:
return 46; // .
case KeyCode.NUM_DIVISION:
return 47; // /
}
} else if (event.keyCode >= 65 && event.keyCode <= 90) {
// Set the "char code" for key down as the lower case letter. Again, this
// will not show up for the user, but will be helpful in estimating
// keyCode locations and other information during the keyPress event.
return event.keyCode + _ROMAN_ALPHABET_OFFSET;
}
switch(event.keyCode) {
case KeyCode.SEMICOLON:
return KeyCode.FF_SEMICOLON;
case KeyCode.EQUALS:
return KeyCode.FF_EQUALS;
case KeyCode.COMMA:
return 44; // Ascii value for ,
case KeyCode.DASH:
return 45; // -
case KeyCode.PERIOD:
return 46; // .
case KeyCode.SLASH:
return 47; // /
case KeyCode.APOSTROPHE:
return 96; // `
case KeyCode.OPEN_SQUARE_BRACKET:
return 91; // [
case KeyCode.BACKSLASH:
return 92; // \
case KeyCode.CLOSE_SQUARE_BRACKET:
return 93; // ]
case KeyCode.SINGLE_QUOTE:
return 39; // '
}
return event.keyCode;
}
/**
* Returns true if the key fires a keypress event in the current browser.
*/
bool _firesKeyPressEvent(KeyEvent event) {
if (!Device.isIE && !Device.isWebKit) {
return true;
}
if (Device.userAgent.contains('Mac') && event.altKey) {
return KeyCode.isCharacterKey(event.keyCode);
}
// Alt but not AltGr which is represented as Alt+Ctrl.
if (event.altKey && !event.ctrlKey) {
return false;
}
// Saves Ctrl or Alt + key for IE and WebKit, which won't fire keypress.
if (!event.shiftKey &&
(_keyDownList.last.keyCode == KeyCode.CTRL ||
_keyDownList.last.keyCode == KeyCode.ALT ||
Device.userAgent.contains('Mac') &&
_keyDownList.last.keyCode == KeyCode.META)) {
return false;
}
// Some keys with Ctrl/Shift do not issue keypress in WebKit.
if (Device.isWebKit && event.ctrlKey && event.shiftKey && (
event.keyCode == KeyCode.BACKSLASH ||
event.keyCode == KeyCode.OPEN_SQUARE_BRACKET ||
event.keyCode == KeyCode.CLOSE_SQUARE_BRACKET ||
event.keyCode == KeyCode.TILDE ||
event.keyCode == KeyCode.SEMICOLON || event.keyCode == KeyCode.DASH ||
event.keyCode == KeyCode.EQUALS || event.keyCode == KeyCode.COMMA ||
event.keyCode == KeyCode.PERIOD || event.keyCode == KeyCode.SLASH ||
event.keyCode == KeyCode.APOSTROPHE ||
event.keyCode == KeyCode.SINGLE_QUOTE)) {
return false;
}
switch (event.keyCode) {
case KeyCode.ENTER:
// IE9 does not fire keypress on ENTER.
return !Device.isIE;
case KeyCode.ESC:
return !Device.isWebKit;
}
return KeyCode.isCharacterKey(event.keyCode);
}
/**
* Normalize the keycodes to the IE KeyCodes (this is what Chrome, IE, and
* Opera all use).
*/
int _normalizeKeyCodes(KeyboardEvent event) {
// Note: This may change once we get input about non-US keyboards.
if (Device.isFirefox) {
switch(event.keyCode) {
case KeyCode.FF_EQUALS:
return KeyCode.EQUALS;
case KeyCode.FF_SEMICOLON:
return KeyCode.SEMICOLON;
case KeyCode.MAC_FF_META:
return KeyCode.META;
case KeyCode.WIN_KEY_FF_LINUX:
return KeyCode.WIN_KEY;
}
}
return event.keyCode;
}
/** Handle keydown events. */
void processKeyDown(KeyboardEvent e) {
// Ctrl-Tab and Alt-Tab can cause the focus to be moved to another window
// before we've caught a key-up event. If the last-key was one of these
// we reset the state.
if (_keyDownList.length > 0 &&
(_keyDownList.last.keyCode == KeyCode.CTRL && !e.ctrlKey ||
_keyDownList.last.keyCode == KeyCode.ALT && !e.altKey ||
Device.userAgent.contains('Mac') &&
_keyDownList.last.keyCode == KeyCode.META && !e.metaKey)) {
_keyDownList.clear();
}
var event = new KeyEvent.wrap(e);
event._shadowKeyCode = _normalizeKeyCodes(event);
// Technically a "keydown" event doesn't have a charCode. This is
// calculated nonetheless to provide us with more information in giving
// as much information as possible on keypress about keycode and also
// charCode.
event._shadowCharCode = _findCharCodeKeyDown(event);
if (_keyDownList.length > 0 && event.keyCode != _keyDownList.last.keyCode &&
!_firesKeyPressEvent(event)) {
// Some browsers have quirks not firing keypress events where all other
// browsers do. This makes them more consistent.
processKeyPress(e);
}
_keyDownList.add(event);
_stream.add(event);
}
/** Handle keypress events. */
void processKeyPress(KeyboardEvent event) {
var e = new KeyEvent.wrap(event);
// IE reports the character code in the keyCode field for keypress events.
// There are two exceptions however, Enter and Escape.
if (Device.isIE) {
if (e.keyCode == KeyCode.ENTER || e.keyCode == KeyCode.ESC) {
e._shadowCharCode = 0;
} else {
e._shadowCharCode = e.keyCode;
}
} else if (Device.isOpera) {
// Opera reports the character code in the keyCode field.
e._shadowCharCode = KeyCode.isCharacterKey(e.keyCode) ? e.keyCode : 0;
}
// Now we guestimate about what the keycode is that was actually
// pressed, given previous keydown information.
e._shadowKeyCode = _determineKeyCodeForKeypress(e);
// Correct the key value for certain browser-specific quirks.
if (e._shadowKeyIdentifier != null &&
_keyIdentifier.containsKey(e._shadowKeyIdentifier)) {
// This is needed for Safari Windows because it currently doesn't give a
// keyCode/which for non printable keys.
e._shadowKeyCode = _keyIdentifier[e._shadowKeyIdentifier];
}
e._shadowAltKey = _keyDownList.any((var element) => element.altKey);
_stream.add(e);
}
/** Handle keyup events. */
void processKeyUp(KeyboardEvent event) {
var e = new KeyEvent.wrap(event);
KeyboardEvent toRemove = null;
for (var key in _keyDownList) {
if (key.keyCode == e.keyCode) {
toRemove = key;
}
}
if (toRemove != null) {
_keyDownList.removeWhere((element) => element == toRemove);
} else if (_keyDownList.length > 0) {
// This happens when we've reached some international keyboard case we
// haven't accounted for or we haven't correctly eliminated all browser
// inconsistencies. Filing bugs on when this is reached is welcome!
_keyDownList.removeLast();
}
_stream.add(e);
}
}
/**
* Records KeyboardEvents that occur on a particular element, and provides a
* stream of outgoing KeyEvents with cross-browser consistent keyCode and
* charCode values despite the fact that a multitude of browsers that have
* varying keyboard default behavior.
*
* Example usage:
*
* KeyboardEventStream.onKeyDown(document.body).listen(
* keydownHandlerTest);
*
* This class is very much a work in progress, and we'd love to get information
* on how we can make this class work with as many international keyboards as
* possible. Bugs welcome!
*/
class KeyboardEventStream {
/** Named constructor to produce a stream for onKeyPress events. */
static CustomStream<KeyEvent> onKeyPress(EventTarget target) =>
new _KeyboardEventHandler('keypress').forTarget(target);
/** Named constructor to produce a stream for onKeyUp events. */
static CustomStream<KeyEvent> onKeyUp(EventTarget target) =>
new _KeyboardEventHandler('keyup').forTarget(target);
/** Named constructor to produce a stream for onKeyDown events. */
static CustomStream<KeyEvent> onKeyDown(EventTarget target) =>
new _KeyboardEventHandler('keydown').forTarget(target);
}
// Copyright (c) 2013, 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.
/**
* Class which helps construct standard node validation policies.
*
* By default this will not accept anything, but the 'allow*' functions can be
* used to expand what types of elements or attributes are allowed.
*
* All allow functions are additive- elements will be accepted if they are
* accepted by any specific rule.
*
* It is important to remember that sanitization is not just intended to prevent
* cross-site scripting attacks, but also to prevent information from being
* displayed in unexpected ways. For example something displaying basic
* formatted text may not expect `<video>` tags to appear. In this case an
* empty NodeValidatorBuilder with just [allowTextElements] might be
* appropriate.
*/
class NodeValidatorBuilder implements NodeValidator {
final List<NodeValidator> _validators = <NodeValidator>[];
NodeValidatorBuilder() {
}
/**
* Creates a new NodeValidatorBuilder which accepts common constructs.
*
* By default this will accept HTML5 elements and attributes with the default
* [UriPolicy] and templating elements.
*
* Notable syntax which is filtered:
*
* * Only known-good HTML5 elements and attributes are allowed.
* * All URLs must be same-origin, use [allowNavigation] and [allowImages] to
* specify additional URI policies.
* * Inline-styles are not allowed.
* * Custom element tags are disallowed, use [allowCustomElement].
* * Custom tags extensions are disallowed, use [allowTagExtension].
* * SVG Elements are not allowed, use [allowSvg].
*
* For scenarios where the HTML should only contain formatted text
* [allowTextElements] is more appropriate.
*
* Use [allowSvg] to allow SVG elements.
*/
NodeValidatorBuilder.common() {
allowHtml5();
allowTemplating();
}
/**
* Allows navigation elements- Form and Anchor tags, along with common
* attributes.
*
* The UriPolicy can be used to restrict the locations the navigation elements
* are allowed to direct to. By default this will use the default [UriPolicy].
*/
void allowNavigation([UriPolicy uriPolicy]) {
if (uriPolicy == null) {
uriPolicy = new UriPolicy();
}
add(new _SimpleNodeValidator.allowNavigation(uriPolicy));
}
/**
* Allows image elements.
*
* The UriPolicy can be used to restrict the locations the images may be
* loaded from. By default this will use the default [UriPolicy].
*/
void allowImages([UriPolicy uriPolicy]) {
if (uriPolicy == null) {
uriPolicy = new UriPolicy();
}
add(new _SimpleNodeValidator.allowImages(uriPolicy));
}
/**
* Allow basic text elements.
*
* This allows a subset of HTML5 elements, specifically just these tags and
* no attributes.
*
* * B
* * BLOCKQUOTE
* * BR
* * EM
* * H1
* * H2
* * H3
* * H4
* * H5
* * H6
* * HR
* * I
* * LI
* * OL
* * P
* * SPAN
* * UL
*/
void allowTextElements() {
add(new _SimpleNodeValidator.allowTextElements());
}
/**
* Allow inline styles on elements.
*
* If [tagName] is not specified then this allows inline styles on all
* elements. Otherwise tagName limits the styles to the specified elements.
*/
void allowInlineStyles({String tagName}) {
if (tagName == null) {
tagName = '*';
} else {
tagName = tagName.toUpperCase();
}
add(new _SimpleNodeValidator(null, allowedAttributes: ['$tagName::style']));
}
/**
* Allow common safe HTML5 elements and attributes.
*
* This list is based off of the Caja whitelists at:
* https://code.google.com/p/google-caja/wiki/CajaWhitelists.
*
* Common things which are not allowed are script elements, style attributes
* and any script handlers.
*/
void allowHtml5({UriPolicy uriPolicy}) {
add(new _Html5NodeValidator(uriPolicy: uriPolicy));
}
/**
* Allow SVG elements and attributes except for known bad ones.
*/
void allowSvg() {
add(new _SvgNodeValidator());
}
/**
* Allow custom elements with the specified tag name and specified attributes.
*
* This will allow the elements as custom tags (such as <x-foo></x-foo>),
* but will not allow tag extensions. Use [allowTagExtension] to allow
* tag extensions.
*/
void allowCustomElement(String tagName,
{UriPolicy uriPolicy,
Iterable<String> attributes,
Iterable<String> uriAttributes}) {
var tagNameUpper = tagName.toUpperCase();
var attrs;
if (attributes != null) {
attrs =
attributes.map((name) => '$tagNameUpper::${name.toLowerCase()}');
}
var uriAttrs;
if (uriAttributes != null) {
uriAttrs =
uriAttributes.map((name) => '$tagNameUpper::${name.toLowerCase()}');
}
if (uriPolicy == null) {
uriPolicy = new UriPolicy();
}
add(new _CustomElementNodeValidator(
uriPolicy,
[tagNameUpper],
attrs,
uriAttrs,
false,
true));
}
/**
* Allow custom tag extensions with the specified type name and specified
* attributes.
*
* This will allow tag extensions (such as <div is="x-foo"></div>),
* but will not allow custom tags. Use [allowCustomElement] to allow
* custom tags.
*/
void allowTagExtension(String tagName, String baseName,
{UriPolicy uriPolicy,
Iterable<String> attributes,
Iterable<String> uriAttributes}) {
var baseNameUpper = baseName.toUpperCase();
var tagNameUpper = tagName.toUpperCase();
var attrs;
if (attributes != null) {
attrs =
attributes.map((name) => '$baseNameUpper::${name.toLowerCase()}');
}
var uriAttrs;
if (uriAttributes != null) {
uriAttrs =
uriAttributes.map((name) => '$baseNameUpper::${name.toLowerCase()}');
}
if (uriPolicy == null) {
uriPolicy = new UriPolicy();
}
add(new _CustomElementNodeValidator(
uriPolicy,
[tagNameUpper, baseNameUpper],
attrs,
uriAttrs,
true,
false));
}
void allowElement(String tagName, {UriPolicy uriPolicy,
Iterable<String> attributes,
Iterable<String> uriAttributes}) {
allowCustomElement(tagName, uriPolicy: uriPolicy,
attributes: attributes,
uriAttributes: uriAttributes);
}
/**
* Allow templating elements (such as <template> and template-related
* attributes.
*
* This still requires other validators to allow regular attributes to be
* bound (such as [allowHtml5]).
*/
void allowTemplating() {
add(new _TemplatingNodeValidator());
}
/**
* Add an additional validator to the current list of validators.
*
* Elements and attributes will be accepted if they are accepted by any
* validators.
*/
void add(NodeValidator validator) {
_validators.add(validator);
}
bool allowsElement(Element element) {
return _validators.any((v) => v.allowsElement(element));
}
bool allowsAttribute(Element element, String attributeName, String value) {
return _validators.any(
(v) => v.allowsAttribute(element, attributeName, value));
}
}
class _SimpleNodeValidator implements NodeValidator {
final Set<String> allowedElements;
final Set<String> allowedAttributes;
final Set<String> allowedUriAttributes;
final UriPolicy uriPolicy;
factory _SimpleNodeValidator.allowNavigation(UriPolicy uriPolicy) {
return new _SimpleNodeValidator(uriPolicy,
allowedElements: [
'A',
'FORM'],
allowedAttributes: [
'A::accesskey',
'A::coords',
'A::hreflang',
'A::name',
'A::shape',
'A::tabindex',
'A::target',
'A::type',
'FORM::accept',
'FORM::autocomplete',
'FORM::enctype',
'FORM::method',
'FORM::name',
'FORM::novalidate',
'FORM::target',
],
allowedUriAttributes: [
'A::href',
'FORM::action',
]);
}
factory _SimpleNodeValidator.allowImages(UriPolicy uriPolicy) {
return new _SimpleNodeValidator(uriPolicy,
allowedElements: [
'IMG'
],
allowedAttributes: [
'IMG::align',
'IMG::alt',
'IMG::border',
'IMG::height',
'IMG::hspace',
'IMG::ismap',
'IMG::name',
'IMG::usemap',
'IMG::vspace',
'IMG::width',
],
allowedUriAttributes: [
'IMG::src',
]);
}
factory _SimpleNodeValidator.allowTextElements() {
return new _SimpleNodeValidator(null,
allowedElements: [
'B',
'BLOCKQUOTE',
'BR',
'EM',
'H1',
'H2',
'H3',
'H4',
'H5',
'H6',
'HR',
'I',
'LI',
'OL',
'P',
'SPAN',
'UL',
]);
}
/**
* Elements must be uppercased tag names. For example `'IMG'`.
* Attributes must be uppercased tag name followed by :: followed by
* lowercase attribute name. For example `'IMG:src'`.
*/
_SimpleNodeValidator(this.uriPolicy,
{Iterable<String> allowedElements, Iterable<String> allowedAttributes,
Iterable<String> allowedUriAttributes}):
this.allowedElements = allowedElements != null ?
new Set.from(allowedElements) : new Set(),
this.allowedAttributes = allowedAttributes != null ?
new Set.from(allowedAttributes) : new Set(),
this.allowedUriAttributes = allowedUriAttributes != null ?
new Set.from(allowedUriAttributes) : new Set();
bool allowsElement(Element element) {
return allowedElements.contains(element.tagName);
}
bool allowsAttribute(Element element, String attributeName, String value) {
var tagName = element.tagName;
if (allowedUriAttributes.contains('$tagName::$attributeName')) {
return uriPolicy.allowsUri(value);
} else if (allowedUriAttributes.contains('*::$attributeName')) {
return uriPolicy.allowsUri(value);
} else if (allowedAttributes.contains('$tagName::$attributeName')) {
return true;
} else if (allowedAttributes.contains('*::$attributeName')) {
return true;
} else if (allowedAttributes.contains('$tagName::*')) {
return true;
} else if (allowedAttributes.contains('*::*')) {
return true;
}
return false;
}
}
class _CustomElementNodeValidator extends _SimpleNodeValidator {
final bool allowTypeExtension;
final bool allowCustomTag;
_CustomElementNodeValidator(UriPolicy uriPolicy,
Iterable<String> allowedElements,
Iterable<String> allowedAttributes,
Iterable<String> allowedUriAttributes,
bool allowTypeExtension,
bool allowCustomTag):
super(uriPolicy,
allowedElements: allowedElements,
allowedAttributes: allowedAttributes,
allowedUriAttributes: allowedUriAttributes),
this.allowTypeExtension = allowTypeExtension == true,
this.allowCustomTag = allowCustomTag == true;
bool allowsElement(Element element) {
if (allowTypeExtension) {
var isAttr = element.attributes['is'];
if (isAttr != null) {
return allowedElements.contains(isAttr.toUpperCase()) &&
allowedElements.contains(element.tagName);
}
}
return allowCustomTag && allowedElements.contains(element.tagName);
}
bool allowsAttribute(Element element, String attributeName, String value) {
if (allowsElement(element)) {
if (allowTypeExtension && attributeName == 'is' &&
allowedElements.contains(value.toUpperCase())) {
return true;
}
return super.allowsAttribute(element, attributeName, value);
}
return false;
}
}
class _TemplatingNodeValidator extends _SimpleNodeValidator {
static const _TEMPLATE_ATTRS =
const <String>['bind', 'if', 'ref', 'repeat', 'syntax'];
final Set<String> _templateAttrs;
_TemplatingNodeValidator():
super(null,
allowedElements: [
'TEMPLATE'
],
allowedAttributes: _TEMPLATE_ATTRS.map((attr) => 'TEMPLATE::$attr')),
_templateAttrs = new Set<String>.from(_TEMPLATE_ATTRS) {
}
bool allowsAttribute(Element element, String attributeName, String value) {
if (super.allowsAttribute(element, attributeName, value)) {
return true;
}
if (attributeName == 'template' && value == "") {
return true;
}
if (element.attributes['template'] == "" ) {
return _templateAttrs.contains(attributeName);
}
return false;
}
}
class _SvgNodeValidator implements NodeValidator {
bool allowsElement(Element element) {
if (element is svg.ScriptElement) {
return false;
}
if (element is svg.SvgElement) {
return true;
}
return false;
}
bool allowsAttribute(Element element, String attributeName, String value) {
if (attributeName == 'is' || attributeName.startsWith('on')) {
return false;
}
return allowsElement(element);
}
}
// Copyright (c) 2011, 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.
/**
* Contains the set of standard values returned by HTMLDocument.getReadyState.
*/
abstract class ReadyState {
/**
* Indicates the document is still loading and parsing.
*/
static const String LOADING = "loading";
/**
* Indicates the document is finished parsing but is still loading
* subresources.
*/
static const String INTERACTIVE = "interactive";
/**
* Indicates the document and all subresources have been loaded.
*/
static const String COMPLETE = "complete";
}
// Copyright (c) 2013, 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.
/**
* Interface used to validate that only accepted elements and attributes are
* allowed while parsing HTML strings into DOM nodes.
*
* In general, customization of validation behavior should be done via the
* [NodeValidatorBuilder] class to mitigate the chances of incorrectly
* implementing validation rules.
*/
abstract class NodeValidator {
/**
* Construct a default NodeValidator which only accepts whitelisted HTML5
* elements and attributes.
*
* If a uriPolicy is not specified then the default uriPolicy will be used.
*/
factory NodeValidator({UriPolicy uriPolicy}) =>
new _Html5NodeValidator(uriPolicy: uriPolicy);
factory NodeValidator.throws(NodeValidator base) =>
new _ThrowsNodeValidator(base);
/**
* Returns true if the tagName is an accepted type.
*/
bool allowsElement(Element element);
/**
* Returns true if the attribute is allowed.
*
* The attributeName parameter will always be in lowercase.
*
* See [allowsElement] for format of tagName.
*/
bool allowsAttribute(Element element, String attributeName, String value);
}
/**
* Performs sanitization of a node tree after construction to ensure that it
* does not contain any disallowed elements or attributes.
*
* In general custom implementations of this class should not be necessary and
* all validation customization should be done in custom NodeValidators, but
* custom implementations of this class can be created to perform more complex
* tree sanitization.
*/
abstract class NodeTreeSanitizer {
/**
* Constructs a default tree sanitizer which will remove all elements and
* attributes which are not allowed by the provided validator.
*/
factory NodeTreeSanitizer(NodeValidator validator) =>
new _ValidatingTreeSanitizer(validator);
/**
* Called with the root of the tree which is to be sanitized.
*
* This method needs to walk the entire tree and either remove elements and
* attributes which are not recognized as safe or throw an exception which
* will mark the entire tree as unsafe.
*/
void sanitizeTree(Node node);
}
/**
* Defines the policy for what types of uris are allowed for particular
* attribute values.
*
* This can be used to provide custom rules such as allowing all http:// URIs
* for image attributes but only same-origin URIs for anchor tags.
*/
abstract class UriPolicy {
/**
* Constructs the default UriPolicy which is to only allow Uris to the same
* origin as the application was launched from.
*
* This will block all ftp: mailto: URIs. It will also block accessing
* https://example.com if the app is running from http://example.com.
*/
factory UriPolicy() => new _SameOriginUriPolicy();
/**
* Checks if the uri is allowed on the specified attribute.
*
* The uri provided may or may not be a relative path.
*/
bool allowsUri(String uri);
}
/**
* Allows URIs to the same origin as the current application was loaded from
* (such as https://example.com:80).
*/
class _SameOriginUriPolicy implements UriPolicy {
final AnchorElement _hiddenAnchor = new AnchorElement();
final Location _loc = window.location;
bool allowsUri(String uri) {
_hiddenAnchor.href = uri;
// IE leaves an empty hostname for same-origin URIs.
return (_hiddenAnchor.hostname == _loc.hostname &&
_hiddenAnchor.port == _loc.port &&
_hiddenAnchor.protocol == _loc.protocol) ||
(_hiddenAnchor.hostname == '' &&
_hiddenAnchor.port == '' &&
_hiddenAnchor.protocol == ':');
}
}
class _ThrowsNodeValidator implements NodeValidator {
final NodeValidator validator;
_ThrowsNodeValidator(this.validator) {}
bool allowsElement(Element element) {
if (!validator.allowsElement(element)) {
throw new ArgumentError(element.tagName);
}
return true;
}
bool allowsAttribute(Element element, String attributeName, String value) {
if (!validator.allowsAttribute(element, attributeName, value)) {
throw new ArgumentError('${element.tagName}[$attributeName="$value"]');
}
}
}
/**
* Standard tree sanitizer which validates a node tree against the provided
* validator and removes any nodes or attributes which are not allowed.
*/
class _ValidatingTreeSanitizer implements NodeTreeSanitizer {
NodeValidator validator;
_ValidatingTreeSanitizer(this.validator) {}
void sanitizeTree(Node node) {
void walk(Node node) {
sanitizeNode(node);
var child = node.lastChild;
while (child != null) {
// Child may be removed during the walk.
var nextChild = child.previousNode;
walk(child);
child = nextChild;
}
}
walk(node);
}
void sanitizeNode(Node node) {
switch (node.nodeType) {
case Node.ELEMENT_NODE:
Element element = node;
var attrs = element.attributes;
if (!validator.allowsElement(element)) {
window.console.warn(
'Removing disallowed element <${element.tagName}>');
element.remove();
break;
}
var isAttr = attrs['is'];
if (isAttr != null) {
if (!validator.allowsAttribute(element, 'is', isAttr)) {
window.console.warn('Removing disallowed type extension '
'<${element.tagName} is="$isAttr">');
element.remove();
break;
}
}
// TODO(blois): Need to be able to get all attributes, irrespective of
// XMLNS.
var keys = attrs.keys.toList();
for (var i = attrs.length - 1; i >= 0; --i) {
var name = keys[i];
if (!validator.allowsAttribute(element, name.toLowerCase(),
attrs[name])) {
window.console.warn('Removing disallowed attribute '
'<${element.tagName} $name="${attrs[name]}">');
attrs.remove(name);
}
}
if (element is TemplateElement) {
TemplateElement template = element;
sanitizeTree(template.content);
}
break;
case Node.COMMENT_NODE:
case Node.DOCUMENT_FRAGMENT_NODE:
case Node.TEXT_NODE:
case Node.CDATA_SECTION_NODE:
break;
default:
node.remove();
}
}
}
// Copyright (c) 2013, 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.
/**
* A list which just wraps another list, for either intercepting list calls or
* retyping the list (for example, from List<A> to List<B> where B extends A).
*/
class _WrappedList<E extends Node> extends ListBase<E>
implements NodeListWrapper {
final List _list;
_WrappedList(this._list);
// Iterable APIs
Iterator<E> get iterator => new _WrappedIterator(_list.iterator);
int get length => _list.length;
// Collection APIs
void add(E element) { _list.add(element); }
bool remove(Object element) => _list.remove(element);
void clear() { _list.clear(); }
// List APIs
E operator [](int index) => _list[index];
void operator []=(int index, E value) { _list[index] = value; }
void set length(int newLength) { _list.length = newLength; }
void sort([int compare(E a, E b)]) { _list.sort(compare); }
int indexOf(Object element, [int start = 0]) => _list.indexOf(element, start);
int lastIndexOf(Object element, [int start]) => _list.lastIndexOf(element, start);
void insert(int index, E element) => _list.insert(index, element);
E removeAt(int index) => _list.removeAt(index);
void setRange(int start, int end, Iterable<E> iterable, [int skipCount = 0]) {
_list.setRange(start, end, iterable, skipCount);
}
void removeRange(int start, int end) { _list.removeRange(start, end); }
void replaceRange(int start, int end, Iterable<E> iterable) {
_list.replaceRange(start, end, iterable);
}
void fillRange(int start, int end, [E fillValue]) {
_list.fillRange(start, end, fillValue);
}
List<Node> get rawList => _list;
}
/**
* Iterator wrapper for _WrappedList.
*/
class _WrappedIterator<E> implements Iterator<E> {
Iterator _iterator;
_WrappedIterator(this._iterator);
bool moveNext() {
return _iterator.moveNext();
}
E get current => _iterator.current;
}
// 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.
class _HttpRequestUtils {
// Helper for factory HttpRequest.get
static HttpRequest get(String url,
onComplete(HttpRequest request),
bool withCredentials) {
final request = new HttpRequest();
request.open('GET', url, async: true);
request.withCredentials = withCredentials;
request.onReadyStateChange.listen((e) {
if (request.readyState == HttpRequest.DONE) {
onComplete(request);
}
});
request.send();
return request;
}
}
// Copyright (c) 2011, 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.
// Iterator for arrays with fixed size.
class FixedSizeListIterator<T> implements Iterator<T> {
final List<T> _array;
final int _length; // Cache array length for faster access.
int _position;
T _current;
FixedSizeListIterator(List<T> array)
: _array = array,
_position = -1,
_length = array.length;
bool moveNext() {
int nextPosition = _position + 1;
if (nextPosition < _length) {
_current = _array[nextPosition];
_position = nextPosition;
return true;
}
_current = null;
_position = _length;
return false;
}
T get current => _current;
}
// Iterator for arrays with variable size.
class _VariableSizeListIterator<T> implements Iterator<T> {
final List<T> _array;
int _position;
T _current;
_VariableSizeListIterator(List<T> array)
: _array = array,
_position = -1;
bool moveNext() {
int nextPosition = _position + 1;
if (nextPosition < _array.length) {
_current = _array[nextPosition];
_position = nextPosition;
return true;
}
_current = null;
_position = _array.length;
return false;
}
T get current => _current;
}
// Copyright (c) 2014, 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.
/// Dartium ElementUpgrader implementation.
class _VMElementUpgrader implements ElementUpgrader {
final Type _type;
final Type _nativeType;
_VMElementUpgrader(Document document, Type type, String extendsTag) :
_type = type,
_nativeType = _validateCustomType(type).reflectedType {
if (extendsTag == null) {
if (_nativeType != HtmlElement) {
throw new UnsupportedError('Class must provide extendsTag if base '
'native class is not HtmlElement');
}
} else {
if (document.createElement(extendsTag).runtimeType != _nativeType) {
throw new UnsupportedError(
'extendsTag does not match base native class');
}
}
}
Element upgrade(Element element) {
if (element.runtimeType != _nativeType) {
throw new UnsupportedError('Element is incorrect type');
}
return _Utils.changeElementWrapper(element, _type);
}
}
/// Validates that the custom type is properly formed-
///
/// * Is a user-defined class.
/// * Has a created constructor with zero args.
/// * Derives from an Element subclass.
///
/// Then returns the native base class.
ClassMirror _validateCustomType(Type type) {
ClassMirror cls = reflectClass(type);
if (_isBuiltinType(cls)) {
throw new UnsupportedError('Invalid custom element from '
'${(cls.owner as LibraryMirror).uri}.');
}
var className = MirrorSystem.getName(cls.simpleName);
var createdConstructor = cls.declarations[new Symbol('$className.created')];
if (createdConstructor == null ||
createdConstructor is! MethodMirror ||
!createdConstructor.isConstructor) {
throw new UnsupportedError(
'Class is missing constructor $className.created');
}
if (createdConstructor.parameters.length > 0) {
throw new UnsupportedError(
'Constructor $className.created must take zero arguments');
}
Symbol objectName = reflectClass(Object).qualifiedName;
bool isRoot(ClassMirror cls) =>
cls == null || cls.qualifiedName == objectName;
Symbol elementName = reflectClass(HtmlElement).qualifiedName;
bool isElement(ClassMirror cls) =>
cls != null && cls.qualifiedName == elementName;
ClassMirror superClass = cls.superclass;
ClassMirror nativeClass = _isBuiltinType(superClass) ? superClass : null;
while(!isRoot(superClass) && !isElement(superClass)) {
superClass = superClass.superclass;
if (nativeClass == null && _isBuiltinType(superClass)) {
nativeClass = superClass;
}
}
return nativeClass;
}
bool _isBuiltinType(ClassMirror cls) {
// TODO(vsm): Find a less hackish way to do this.
LibraryMirror lib = cls.owner;
String libName = lib.uri.toString();
return libName.startsWith('dart:');
}
/**
* A custom KeyboardEvent that attempts to eliminate cross-browser
* inconsistencies, and also provide both keyCode and charCode information
* for all key events (when such information can be determined).
*
* KeyEvent tries to provide a higher level, more polished keyboard event
* information on top of the "raw" [KeyboardEvent].
*
* The mechanics of using KeyEvents is a little different from the underlying
* [KeyboardEvent]. To use KeyEvents, you need to create a stream and then add
* KeyEvents to the stream, rather than using the [EventTarget.dispatchEvent].
* Here's an example usage:
*
* // Initialize a stream for the KeyEvents:
* var stream = KeyEvent.keyPressEvent.forTarget(document.body);
* // Start listening to the stream of KeyEvents.
* stream.listen((keyEvent) =>
* window.console.log('KeyPress event detected ${keyEvent.charCode}'));
* ...
* // Add a new KeyEvent of someone pressing the 'A' key to the stream so
* // listeners can know a KeyEvent happened.
* stream.add(new KeyEvent('keypress', keyCode: 65, charCode: 97));
*
* This class is very much a work in progress, and we'd love to get information
* on how we can make this class work with as many international keyboards as
* possible. Bugs welcome!
*/
@Experimental()
class KeyEvent extends _WrappedEvent implements KeyboardEvent {
/** The parent KeyboardEvent that this KeyEvent is wrapping and "fixing". */
KeyboardEvent _parent;
/** The "fixed" value of whether the alt key is being pressed. */
bool _shadowAltKey;
/** Caculated value of what the estimated charCode is for this event. */
int _shadowCharCode;
/** Caculated value of what the estimated keyCode is for this event. */
int _shadowKeyCode;
/** Caculated value of what the estimated keyCode is for this event. */
int get keyCode => _shadowKeyCode;
/** Caculated value of what the estimated charCode is for this event. */
int get charCode => this.type == 'keypress' ? _shadowCharCode : 0;
/** Caculated value of whether the alt key is pressed is for this event. */
bool get altKey => _shadowAltKey;
/** Caculated value of what the estimated keyCode is for this event. */
int get which => keyCode;
/** Accessor to the underlying keyCode value is the parent event. */
int get _realKeyCode => _parent.keyCode;
/** Accessor to the underlying charCode value is the parent event. */
int get _realCharCode => _parent.charCode;
/** Accessor to the underlying altKey value is the parent event. */
bool get _realAltKey => _parent.altKey;
/** Shadows on top of the parent's currentTarget. */
EventTarget _currentTarget;
/** Construct a KeyEvent with [parent] as the event we're emulating. */
KeyEvent.wrap(KeyboardEvent parent): super(parent) {
_parent = parent;
_shadowAltKey = _realAltKey;
_shadowCharCode = _realCharCode;
_shadowKeyCode = _realKeyCode;
_currentTarget = _parent.currentTarget == null? window :
_parent.currentTarget;
}
/** Programmatically create a new KeyEvent (and KeyboardEvent). */
factory KeyEvent(String type,
{Window view, bool canBubble: true, bool cancelable: true, int keyCode: 0,
int charCode: 0, int keyLocation: 1, bool ctrlKey: false,
bool altKey: false, bool shiftKey: false, bool metaKey: false,
bool altGraphKey: false, EventTarget currentTarget}) {
var parent = new KeyboardEvent(type, view: view, canBubble: canBubble,
cancelable: cancelable, keyLocation: keyLocation, ctrlKey: ctrlKey,
altKey: altKey, shiftKey: shiftKey, metaKey: metaKey, altGraphKey:
altGraphKey);
var keyEvent = new KeyEvent.wrap(parent);
keyEvent._shadowAltKey = altKey;
keyEvent._shadowCharCode = charCode;
keyEvent._shadowKeyCode = keyCode;
keyEvent._currentTarget = currentTarget == null ? window : currentTarget;
return keyEvent;
}
/** Accessor to provide a stream of KeyEvents on the desired target. */
static EventStreamProvider<KeyEvent> keyDownEvent =
new _KeyboardEventHandler('keydown');
/** Accessor to provide a stream of KeyEvents on the desired target. */
static EventStreamProvider<KeyEvent> keyUpEvent =
new _KeyboardEventHandler('keyup');
/** Accessor to provide a stream of KeyEvents on the desired target. */
static EventStreamProvider<KeyEvent> keyPressEvent =
new _KeyboardEventHandler('keypress');
/** The currently registered target for this event. */
EventTarget get currentTarget => _currentTarget;
/** True if the altGraphKey is pressed during this event. */
bool get altGraphKey => _parent.altGraphKey;
/** Accessor to the clipboardData available for this event. */
DataTransfer get clipboardData => _parent.clipboardData;
/** True if the ctrl key is pressed during this event. */
bool get ctrlKey => _parent.ctrlKey;
int get detail => _parent.detail;
/**
* Accessor to the part of the keyboard that the key was pressed from (one of
* KeyLocation.STANDARD, KeyLocation.RIGHT, KeyLocation.LEFT,
* KeyLocation.NUMPAD, KeyLocation.MOBILE, KeyLocation.JOYSTICK).
*/
int get keyLocation => _parent.keyLocation;
Point get layer => _parent.layer;
/** True if the Meta (or Mac command) key is pressed during this event. */
bool get metaKey => _parent.metaKey;
Point get page => _parent.page;
/** True if the shift key was pressed during this event. */
bool get shiftKey => _parent.shiftKey;
Window get view => _parent.view;
void _initUIEvent(String type, bool canBubble, bool cancelable,
Window view, int detail) {
throw new UnsupportedError("Cannot initialize a UI Event from a KeyEvent.");
}
String get _shadowKeyIdentifier => _parent._keyIdentifier;
int get _charCode => charCode;
int get _keyCode => keyCode;
String get _keyIdentifier {
throw new UnsupportedError("keyIdentifier is unsupported.");
}
void _initKeyboardEvent(String type, bool canBubble, bool cancelable,
Window view, String keyIdentifier, int keyLocation, bool ctrlKey,
bool altKey, bool shiftKey, bool metaKey,
bool altGraphKey) {
throw new UnsupportedError(
"Cannot initialize a KeyboardEvent from a KeyEvent.");
}
int get _layerX => throw new UnsupportedError('Not applicable to KeyEvent');
int get _layerY => throw new UnsupportedError('Not applicable to KeyEvent');
int get _pageX => throw new UnsupportedError('Not applicable to KeyEvent');
int get _pageY => throw new UnsupportedError('Not applicable to KeyEvent');
@Experimental() // untriaged
bool getModifierState(String keyArgument) => throw new UnimplementedError();
@Experimental() // untriaged
int get location => throw new UnimplementedError();
@Experimental() // untriaged
bool get repeat => throw new UnimplementedError();
dynamic get _get_view => throw new UnimplementedError();
}
// Copyright (c) 2013, 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.
class Platform {
/**
* Returns true if dart:typed_data types are supported on this
* browser. If false, using these types will generate a runtime
* error.
*/
static final supportsTypedData = true;
/**
* Returns true if SIMD types in dart:typed_data types are supported
* on this browser. If false, using these types will generate a runtime
* error.
*/
static final supportsSimd = true;
}
// Copyright (c) 2013, 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.
/**
* Helper class to implement custom events which wrap DOM events.
*/
class _WrappedEvent implements Event {
final Event wrapped;
/** The CSS selector involved with event delegation. */
String _selector;
_WrappedEvent(this.wrapped);
bool get bubbles => wrapped.bubbles;
bool get cancelable => wrapped.cancelable;
DataTransfer get clipboardData => wrapped.clipboardData;
EventTarget get currentTarget => wrapped.currentTarget;
bool get defaultPrevented => wrapped.defaultPrevented;
int get eventPhase => wrapped.eventPhase;
EventTarget get target => wrapped.target;
int get timeStamp => wrapped.timeStamp;
String get type => wrapped.type;
void _initEvent(String eventTypeArg, bool canBubbleArg,
bool cancelableArg) {
throw new UnsupportedError(
'Cannot initialize this Event.');
}
void preventDefault() {
wrapped.preventDefault();
}
void stopImmediatePropagation() {
wrapped.stopImmediatePropagation();
}
void stopPropagation() {
wrapped.stopPropagation();
}
/**
* A pointer to the element whose CSS selector matched within which an event
* was fired. If this Event was not associated with any Event delegation,
* accessing this value will throw an [UnsupportedError].
*/
Element get matchingTarget {
if (_selector == null) {
throw new UnsupportedError('Cannot call matchingTarget if this Event did'
' not arise as a result of event delegation.');
}
var currentTarget = this.currentTarget;
var target = this.target;
var matchedTarget;
do {
if (target.matches(_selector)) return target;
target = target.parent;
} while (target != null && target != currentTarget.parent);
throw new StateError('No selector matched for populating matchedTarget.');
}
/**
* This event's path, taking into account shadow DOM.
*
* ## Other resources
*
* * [Shadow DOM extensions to Event]
* (http://w3c.github.io/webcomponents/spec/shadow/#extensions-to-event) from
* W3C.
*/
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#extensions-to-event
@Experimental()
List<Node> get path => wrapped.path;
}
// Copyright (c) 2013, 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.
_wrapZone(callback(arg)) {
// For performance reasons avoid wrapping if we are in the root zone.
if (Zone.current == Zone.ROOT) return callback;
if (callback == null) return null;
return Zone.current.bindUnaryCallback(callback, runGuarded: true);
}
_wrapBinaryZone(callback(arg1, arg2)) {
if (Zone.current == Zone.ROOT) return callback;
if (callback == null) return null;
return Zone.current.bindBinaryCallback(callback, runGuarded: true);
}
/**
* Alias for [querySelector]. Note this function is deprecated because its
* semantics will be changing in the future.
*/
@deprecated
@Experimental()
Element query(String relativeSelectors) => document.query(relativeSelectors);
/**
* Alias for [querySelectorAll]. Note this function is deprecated because its
* semantics will be changing in the future.
*/
@deprecated
@Experimental()
ElementList queryAll(String relativeSelectors) => document.queryAll(relativeSelectors);
/**
* Finds the first descendant element of this document that matches the
* specified group of selectors.
*
* Unless your webpage contains multiple documents, the top-level
* [querySelector]
* method behaves the same as this method, so you should use it instead to
* save typing a few characters.
*
* [selectors] should be a string using CSS selector syntax.
*
* var element1 = document.querySelector('.className');
* var element2 = document.querySelector('#id');
*
* For details about CSS selector syntax, see the
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
*/
Element querySelector(String selectors) => document.querySelector(selectors);
/**
* Finds all descendant elements of this document that match the specified
* group of selectors.
*
* Unless your webpage contains multiple documents, the top-level
* [querySelectorAll]
* method behaves the same as this method, so you should use it instead to
* save typing a few characters.
*
* [selectors] should be a string using CSS selector syntax.
*
* var items = document.querySelectorAll('.itemClassName');
*
* For details about CSS selector syntax, see the
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
*/
ElementList querySelectorAll(String selectors) => document.querySelectorAll(selectors);
/// A utility for changing the Dart wrapper type for elements.
abstract class ElementUpgrader {
/// Upgrade the specified element to be of the Dart type this was created for.
///
/// After upgrading the element passed in is invalid and the returned value
/// should be used instead.
Element upgrade(Element element);
}
// 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.
class _Property {
_Property(this.name) :
_hasValue = false,
writable = false,
isMethod = false,
isOwn = true,
wasThrown = false;
bool get hasValue => _hasValue;
get value => _value;
set value(v) {
_value = v;
_hasValue = true;
}
final String name;
Function setter;
Function getter;
var _value;
bool _hasValue;
bool writable;
bool isMethod;
bool isOwn;
bool wasThrown;
}
class _ConsoleVariables {
Map<String, Object> _data = new Map<String, Object>();
/**
* Forward member accesses to the backing JavaScript object.
*/
noSuchMethod(Invocation invocation) {
String member = MirrorSystem.getName(invocation.memberName);
if (invocation.isGetter) {
return _data[member];
} else if (invocation.isSetter) {
assert(member.endsWith('='));
member = member.substring(0, member.length - 1);
_data[member] = invocation.positionalArguments[0];
} else {
return Function.apply(_data[member], invocation.positionalArguments,
invocation.namedArguments);
}
}
void clear() => _data.clear();
/**
* List all variables currently defined.
*/
List variables() => _data.keys.toList();
void setVariable(String name, value) {
_data[name] = value;
}
}
/**
* Base class for invocation trampolines used to closurize methods, getters
* and setters.
*/
abstract class _Trampoline implements Function {
final ObjectMirror _receiver;
final MethodMirror _methodMirror;
final Symbol _selector;
_Trampoline(this._receiver, this._methodMirror, this._selector);
}
class _MethodTrampoline extends _Trampoline {
_MethodTrampoline(ObjectMirror receiver, MethodMirror methodMirror,
Symbol selector) :
super(receiver, methodMirror, selector);
noSuchMethod(Invocation msg) {
if (msg.memberName != #call) return super.noSuchMethod(msg);
return _receiver.invoke(_selector,
msg.positionalArguments,
msg.namedArguments).reflectee;
}
}
/**
* Invocation trampoline class used to closurize getters.
*/
class _GetterTrampoline extends _Trampoline {
_GetterTrampoline(ObjectMirror receiver, MethodMirror methodMirror,
Symbol selector) :
super(receiver, methodMirror, selector);
call() => _receiver.getField(_selector).reflectee;
}
/**
* Invocation trampoline class used to closurize setters.
*/
class _SetterTrampoline extends _Trampoline {
_SetterTrampoline(ObjectMirror receiver, MethodMirror methodMirror,
Symbol selector) :
super(receiver, methodMirror, selector);
call(value) {
_receiver.setField(_selector, value);
}
}
class _Utils {
static double dateTimeToDouble(DateTime dateTime) =>
dateTime.millisecondsSinceEpoch.toDouble();
static DateTime doubleToDateTime(double dateTime) {
try {
return new DateTime.fromMillisecondsSinceEpoch(dateTime.toInt());
} catch(_) {
// TODO(antonnm): treat exceptions properly in bindings and
// find out how to treat NaNs.
return null;
}
}
static List convertToList(List list) {
// FIXME: [possible optimization]: do not copy the array if Dart_IsArray is fine w/ it.
final length = list.length;
List result = new List(length);
result.setRange(0, length, list);
return result;
}
static List convertMapToList(Map map) {
List result = [];
map.forEach((k, v) => result.addAll([k, v]));
return result;
}
static int convertCanvasElementGetContextMap(Map map) {
int result = 0;
if (map['alpha'] == true) result |= 0x01;
if (map['depth'] == true) result |= 0x02;
if (map['stencil'] == true) result |= 0x4;
if (map['antialias'] == true) result |= 0x08;
if (map['premultipliedAlpha'] == true) result |= 0x10;
if (map['preserveDrawingBuffer'] == true) result |= 0x20;
return result;
}
static void populateMap(Map result, List list) {
for (int i = 0; i < list.length; i += 2) {
result[list[i]] = list[i + 1];
}
}
static bool isMap(obj) => obj is Map;
static List toListIfIterable(obj) => obj is Iterable ? obj.toList() : null;
static Map createMap() => {};
static makeUnimplementedError(String fileName, int lineNo) {
return new UnsupportedError('[info: $fileName:$lineNo]');
}
static bool isTypeSubclassOf(Type type, Type other) {
if (type == other) {
return true;
}
var superclass = reflectClass(type).superclass;
if (superclass != null) {
return isTypeSubclassOf(superclass.reflectedType, other);
}
return false;
}
static Element getAndValidateNativeType(Type type, String tagName) {
var element = new Element.tag(tagName);
if (!isTypeSubclassOf(type, element.runtimeType)) {
return null;
}
return element;
}
static window() => _blink.Native_Utils_window();
static forwardingPrint(String message) => _blink.Native_Utils_forwardingPrint(message);
// TODO(vsm): Make this API compatible with spawnUri. It should also
// return a Future<Isolate>.
static spawnDomUri(String uri) => _blink.Native_Utils_spawnDomUri(uri);
// The following methods were added for debugger integration to make working
// with the Dart C mirrors API simpler.
// TODO(jacobr): consider moving them to a separate library.
// If Dart supported dynamic code injection, we would only inject this code
// when the debugger is invoked.
/**
* Strips the private secret prefix from member names of the form
* someName@hash.
*/
static String stripMemberName(String name) {
int endIndex = name.indexOf('@');
return endIndex > 0 ? name.substring(0, endIndex) : name;
}
/**
* Takes a list containing variable names and corresponding values and
* returns a map from normalized names to values. Variable names are assumed
* to have list offsets 2*n values at offset 2*n+1. This method is required
* because Dart_GetLocalVariables returns a list instead of an object that
* can be queried to lookup names and values.
*/
static Map<String, dynamic> createLocalVariablesMap(List localVariables) {
var map = {};
for (int i = 0; i < localVariables.length; i+=2) {
map[stripMemberName(localVariables[i])] = localVariables[i+1];
}
return map;
}
static _ConsoleVariables _consoleTempVariables = new _ConsoleVariables();
/**
* Takes an [expression] and a list of [local] variable and returns an
* expression for a closure with a body matching the original expression
* where locals are passed in as arguments. Returns a list containing the
* String expression for the closure and the list of arguments that should
* be passed to it. The expression should then be evaluated using
* Dart_EvaluateExpr which will generate a closure that should be invoked
* with the list of arguments passed to this method.
*
* For example:
* <code>
* _consoleTempVariables = {'a' : someValue, 'b': someOtherValue}
* wrapExpressionAsClosure("foo + bar + a", ["bar", 40, "foo", 2], true)
* </code>
* will return:
* <code>
* ["""(final $consoleVariables, final bar, final foo, final a, final b) =>
* (foo + bar + a
* )""",
* [_consoleTempVariables, 40, 2, someValue, someOtherValue]]
* </code>
*/
static List wrapExpressionAsClosure(String expression, List locals,
bool includeCommandLineAPI) {
var args = {};
var sb = new StringBuffer("(");
addArg(arg, value) {
arg = stripMemberName(arg);
if (args.containsKey(arg)) return;
// We ignore arguments with the name 'this' rather than throwing an
// exception because Dart_GetLocalVariables includes 'this' and it
// is more convenient to filter it out here than from C++ code.
// 'this' needs to be handled by calling Dart_EvaluateExpr with
// 'this' as the target rather than by passing it as an argument.
if (arg == 'this') return;
if (args.isNotEmpty) {
sb.write(", ");
}
sb.write("final $arg");
args[arg] = value;
}
if (includeCommandLineAPI) {
addArg("\$consoleVariables", _consoleTempVariables);
// FIXME: use a real Dart tokenizer. The following regular expressions
// only allow setting variables at the immediate start of the expression
// to limit the number of edge cases we have to handle.
// Match expressions that start with "var x"
final _VARIABLE_DECLARATION = new RegExp("^(\\s*)var\\s+(\\w+)");
// Match expressions that start with "someExistingConsoleVar ="
final _SET_VARIABLE = new RegExp("^(\\s*)(\\w+)(\\s*=)");
// Match trailing semicolons.
final _ENDING_SEMICOLONS = new RegExp("(;\\s*)*\$");
expression = expression.replaceAllMapped(_VARIABLE_DECLARATION,
(match) {
var variableName = match[2];
// Set the console variable if it isn't already set.
if (!_consoleTempVariables._data.containsKey(variableName)) {
_consoleTempVariables._data[variableName] = null;
}
return "${match[1]}\$consoleVariables.${variableName}";
});
expression = expression.replaceAllMapped(_SET_VARIABLE,
(match) {
var variableName = match[2];
// Only rewrite if the name matches an existing console variable.
if (_consoleTempVariables._data.containsKey(variableName)) {
return "${match[1]}\$consoleVariables.${variableName}${match[3]}";
} else {
return match[0];
}
});
// We only allow dart expressions not Dart statements. Silently remove
// trailing semicolons the user might have added by accident to reduce the
// number of spurious compile errors.
expression = expression.replaceFirst(_ENDING_SEMICOLONS, "");
}
if (locals != null) {
for (int i = 0; i < locals.length; i+= 2) {
addArg(locals[i], locals[i+1]);
}
}
// Inject all the already defined console variables.
_consoleTempVariables._data.forEach(addArg);
// TODO(jacobr): remove the parentheses around the expresson once
// dartbug.com/13723 is fixed. Currently we wrap expression in parentheses
// to ensure only valid Dart expressions are allowed. Otherwise the DartVM
// quietly ignores trailing Dart statements resulting in user confusion
// when part of an invalid expression they entered is ignored.
sb..write(') => (\n$expression\n)');
return [sb.toString(), args.values.toList(growable: false)];
}
static String _getShortSymbolName(Symbol symbol,
DeclarationMirror declaration) {
var name = MirrorSystem.getName(symbol);
if (declaration is MethodMirror) {
if (declaration.isSetter && name[name.length-1] == "=") {
return name.substring(0, name.length-1);
}
if (declaration.isConstructor) {
return name.substring(name.indexOf('.') + 1);
}
}
return name;
}
/**
* Returns a list of completions to use if the receiver is o.
*/
static List<String> getCompletions(o) {
MirrorSystem system = currentMirrorSystem();
var completions = new Set<String>();
addAll(Map<Symbol, dynamic> map, bool isStatic) {
map.forEach((symbol, mirror) {
if (mirror.isStatic == isStatic && !mirror.isPrivate) {
var name = MirrorSystem.getName(symbol);
if (mirror is MethodMirror && mirror.isSetter)
name = name.substring(0, name.length - 1);
completions.add(name);
}
});
}
addForClass(ClassMirror mirror, bool isStatic) {
if (mirror == null)
return;
addAll(mirror.declarations, isStatic);
if (mirror.superclass != null)
addForClass(mirror.superclass, isStatic);
for (var interface in mirror.superinterfaces) {
addForClass(interface, isStatic);
}
}
if (o is Type) {
addForClass(reflectClass(o), true);
} else {
addForClass(reflect(o).type, false);
}
return completions.toList(growable: false);
}
/**
* Adds all candidate String completitions from [declarations] to [output]
* filtering based on [staticContext] and [includePrivate].
*/
static void _getCompletionsHelper(ClassMirror classMirror,
bool staticContext, LibraryMirror libraryMirror, Set<String> output) {
bool includePrivate = libraryMirror == classMirror.owner;
classMirror.declarations.forEach((symbol, declaration) {
if (!includePrivate && declaration.isPrivate) return;
if (declaration is VariableMirror) {
if (staticContext != declaration.isStatic) return;
} else if (declaration is MethodMirror) {
if (declaration.isOperator) return;
if (declaration.isConstructor) {
if (!staticContext) return;
var name = MirrorSystem.getName(declaration.constructorName);
if (name.isNotEmpty) output.add(name);
return;
}
if (staticContext != declaration.isStatic) return;
} else if (declaration is TypeMirror) {
return;
}
output.add(_getShortSymbolName(symbol, declaration));
});
if (!staticContext) {
for (var interface in classMirror.superinterfaces) {
_getCompletionsHelper(interface, staticContext,
libraryMirror, output);
}
if (classMirror.superclass != null) {
_getCompletionsHelper(classMirror.superclass, staticContext,
libraryMirror, output);
}
}
}
static void _getLibraryCompletionsHelper(
LibraryMirror library, bool includePrivate, Set<String> output) {
library.declarations.forEach((symbol, declaration) {
if (!includePrivate && declaration.isPrivate) return;
output.add(_getShortSymbolName(symbol, declaration));
});
}
static LibraryMirror getLibraryMirror(String url) =>
currentMirrorSystem().libraries[Uri.parse(url)];
/**
* Get code completions for [o] only showing privates from [libraryUrl].
*/
static List<String> getObjectCompletions(o, String libraryUrl) {
var classMirror;
bool staticContext;
if (o is Type) {
classMirror = reflectClass(o);
staticContext = true;
} else {
classMirror = reflect(o).type;
staticContext = false;
}
var names = new Set<String>();
getClassCompletions(classMirror, names, staticContext, libraryUrl);
return names.toList()..sort();
}
static void getClassCompletions(ClassMirror classMirror, Set<String> names,
bool staticContext, String libraryUrl) {
LibraryMirror libraryMirror = getLibraryMirror(libraryUrl);
_getCompletionsHelper(classMirror, staticContext, libraryMirror, names);
}
static List<String> getLibraryCompletions(String url) {
var names = new Set<String>();
_getLibraryCompletionsHelper(getLibraryMirror(url), true, names);
return names.toList();
}
/**
* Get valid code completitions from within a library and all libraries
* imported by that library.
*/
static List<String> getLibraryCompletionsIncludingImports(String url) {
var names = new Set<String>();
var libraryMirror = getLibraryMirror(url);
_getLibraryCompletionsHelper(libraryMirror, true, names);
for (var dependency in libraryMirror.libraryDependencies) {
if (dependency.isImport) {
if (dependency.prefix == null) {
_getLibraryCompletionsHelper(dependency.targetLibrary, false, names);
} else {
names.add(MirrorSystem.getName(dependency.prefix));
}
}
}
return names.toList();
}
static final SIDE_EFFECT_FREE_LIBRARIES = new Set<String>()
..add('dart:html')
..add('dart:indexed_db')
..add('dart:svg')
..add('dart:typed_data')
..add('dart:web_audio')
..add('dart:web_gl')
..add('dart:web_sql');
static LibraryMirror _getLibrary(MethodMirror methodMirror) {
var owner = methodMirror.owner;
if (owner is ClassMirror) {
return owner;
} else if (owner is LibraryMirror) {
return owner;
}
return null;
}
/**
* For parity with the JavaScript debugger, we treat some getters as if
* they are fields so that users can see their values immediately.
* This matches JavaScript's behavior for getters on DOM objects.
* In the future we should consider adding an annotation to tag getters
* in user libraries as side effect free.
*/
static bool _isSideEffectFreeGetter(MethodMirror methodMirror,
LibraryMirror libraryMirror) {
// This matches JavaScript behavior. We should consider displaying
// getters for all dart platform libraries rather than just the DOM
// libraries.
return libraryMirror.uri.scheme == 'dart' &&
SIDE_EFFECT_FREE_LIBRARIES.contains(libraryMirror.uri.toString());
}
/**
* Whether we should treat a property as a field for the purposes of the
* debugger.
*/
static bool treatPropertyAsField(MethodMirror methodMirror,
LibraryMirror libraryMirror) {
return (methodMirror.isGetter || methodMirror.isSetter) &&
(methodMirror.isSynthetic ||
_isSideEffectFreeGetter(methodMirror,libraryMirror));
}
// TODO(jacobr): generate more concise function descriptions instead of
// dumping the entire function source.
static String describeFunction(function) {
if (function is _Trampoline) return function._methodMirror.source;
try {
var mirror = reflect(function);
return mirror.function.source;
} catch (e) {
return function.toString();
}
}
static List getInvocationTrampolineDetails(_Trampoline method) {
var loc = method._methodMirror.location;
return [loc.line, loc.column, loc.sourceUri.toString(),
MirrorSystem.getName(method._selector)];
}
static List getLibraryProperties(String libraryUrl, bool ownProperties,
bool accessorPropertiesOnly) {
var properties = new Map<String, _Property>();
var libraryMirror = getLibraryMirror(libraryUrl);
_addInstanceMirrors(libraryMirror, libraryMirror,
libraryMirror.declarations,
ownProperties, accessorPropertiesOnly, false, false,
properties);
if (!accessorPropertiesOnly) {
// We need to add class properties for all classes in the library.
libraryMirror.declarations.forEach((symbol, declarationMirror) {
if (declarationMirror is ClassMirror) {
var name = MirrorSystem.getName(symbol);
if (declarationMirror.hasReflectedType
&& !properties.containsKey(name)) {
properties[name] = new _Property(name)
..value = declarationMirror.reflectedType;
}
}
});
}
return packageProperties(properties);
}
static List getObjectProperties(o, bool ownProperties,
bool accessorPropertiesOnly) {
var properties = new Map<String, _Property>();
var names = new Set<String>();
var objectMirror = reflect(o);
var classMirror = objectMirror.type;
_addInstanceMirrors(objectMirror, classMirror.owner,
classMirror.instanceMembers,
ownProperties, accessorPropertiesOnly, false, true,
properties);
return packageProperties(properties);
}
static List getObjectClassProperties(o, bool ownProperties,
bool accessorPropertiesOnly) {
var properties = new Map<String, _Property>();
var objectMirror = reflect(o);
var classMirror = objectMirror.type;
_addInstanceMirrors(objectMirror, classMirror.owner,
classMirror.instanceMembers,
ownProperties, accessorPropertiesOnly, true, false,
properties);
_addStatics(classMirror, properties, accessorPropertiesOnly);
return packageProperties(properties);
}
static List getClassProperties(Type t, bool ownProperties,
bool accessorPropertiesOnly) {
var properties = new Map<String, _Property>();
var classMirror = reflectClass(t);
_addStatics(classMirror, properties, accessorPropertiesOnly);
return packageProperties(properties);
}
static void _addStatics(ClassMirror classMirror,
Map<String, _Property> properties,
bool accessorPropertiesOnly) {
var libraryMirror = classMirror.owner;
classMirror.declarations.forEach((symbol, declaration) {
var name = _getShortSymbolName(symbol, declaration);
if (name.isEmpty) return;
if (declaration is VariableMirror) {
if (accessorPropertiesOnly) return;
if (!declaration.isStatic) return;
properties.putIfAbsent(name, () => new _Property(name))
..value = classMirror.getField(symbol).reflectee
..writable = !declaration.isFinal && !declaration.isConst;
} else if (declaration is MethodMirror) {
MethodMirror methodMirror = declaration;
// FIXMEDART: should we display constructors?
if (methodMirror.isConstructor) return;
if (!methodMirror.isStatic) return;
if (accessorPropertiesOnly) {
if (methodMirror.isRegularMethod ||
treatPropertyAsField(methodMirror, libraryMirror)) {
return;
}
} else if (!methodMirror.isRegularMethod &&
!treatPropertyAsField(methodMirror, libraryMirror)) {
return;
}
var property = properties.putIfAbsent(name, () => new _Property(name));
_fillMethodMirrorProperty(libraryMirror, classMirror, methodMirror,
symbol, accessorPropertiesOnly, property);
}
});
}
static void _fillMethodMirrorProperty(LibraryMirror libraryMirror,
methodOwner, MethodMirror methodMirror, Symbol symbol,
bool accessorPropertiesOnly, _Property property) {
if (methodMirror.isRegularMethod) {
property
..value = new _MethodTrampoline(methodOwner, methodMirror, symbol)
..isMethod = true;
} else if (methodMirror.isGetter) {
if (treatPropertyAsField(methodMirror, libraryMirror)) {
try {
property.value = methodOwner.getField(symbol).reflectee;
} catch (e) {
property
..wasThrown = true
..value = e;
}
} else if (accessorPropertiesOnly) {
property.getter = new _GetterTrampoline(methodOwner,
methodMirror, symbol);
}
} else if (methodMirror.isSetter) {
if (accessorPropertiesOnly &&
!treatPropertyAsField(methodMirror, libraryMirror)) {
property.setter = new _SetterTrampoline(methodOwner,
methodMirror, MirrorSystem.getSymbol(property.name, libraryMirror));
}
property.writable = true;
}
}
/**
* Helper method that handles collecting up properties from classes
* or libraries using the filters [ownProperties], [accessorPropertiesOnly],
* [hideFields], and [hideMethods] to determine which properties are
* collected. [accessorPropertiesOnly] specifies whether all properties
* should be returned or just accessors. [hideFields] specifies whether
* fields should be hidden. hideMethods specifies whether methods should be
* shown or hidden. [ownProperties] is not currently used but is part of the
* Blink devtools API for enumerating properties.
*/
static void _addInstanceMirrors(
ObjectMirror objectMirror,
LibraryMirror libraryMirror,
Map<Symbol, Mirror> declarations,
bool ownProperties, bool accessorPropertiesOnly,
bool hideFields, bool hideMethods,
Map<String, _Property> properties) {
declarations.forEach((symbol, declaration) {
if (declaration is TypedefMirror || declaration is ClassMirror) return;
var name = _getShortSymbolName(symbol, declaration);
if (name.isEmpty) return;
bool isField = declaration is VariableMirror ||
(declaration is MethodMirror &&
treatPropertyAsField(declaration, libraryMirror));
if ((isField && hideFields) || (hideMethods && !isField)) return;
if (accessorPropertiesOnly) {
if (declaration is VariableMirror || declaration.isRegularMethod ||
isField) {
return;
}
} else if (declaration is MethodMirror &&
(declaration.isGetter || declaration.isSetter) &&
!treatPropertyAsField(declaration, libraryMirror)) {
return;
}
var property = properties.putIfAbsent(name, () => new _Property(name));
if (declaration is VariableMirror) {
property
..value = objectMirror.getField(symbol).reflectee
..writable = !declaration.isFinal && !declaration.isConst;
return;
}
_fillMethodMirrorProperty(libraryMirror, objectMirror, declaration,
symbol, accessorPropertiesOnly, property);
});
}
/**
* Flatten down the properties data structure into a List that is easy to
* access from native code.
*/
static List packageProperties(Map<String, _Property> properties) {
var ret = [];
for (var property in properties.values) {
ret.addAll([property.name,
property.setter,
property.getter,
property.value,
property.hasValue,
property.writable,
property.isMethod,
property.isOwn,
property.wasThrown]);
}
return ret;
}
/**
* Get a property, returning null if the property does not exist.
* For private property names, we attempt to resolve the property in the
* context of each library that the property name could be associated with.
*/
static getObjectPropertySafe(o, String propertyName) {
var objectMirror = reflect(o);
var classMirror = objectMirror.type;
if (propertyName.startsWith("_")) {
var attemptedLibraries = new Set<LibraryMirror>();
while (classMirror != null) {
LibraryMirror library = classMirror.owner;
if (!attemptedLibraries.contains(library)) {
try {
return objectMirror.getField(
MirrorSystem.getSymbol(propertyName, library)).reflectee;
} catch (e) { }
attemptedLibraries.add(library);
}
classMirror = classMirror.superclass;
}
return null;
}
try {
return objectMirror.getField(
MirrorSystem.getSymbol(propertyName)).reflectee;
} catch (e) {
return null;
}
}
/**
* Helper to wrap the inspect method on InjectedScriptHost to provide the
* inspect method required for the
*/
static List consoleApi(host) {
return [
"inspect",
(o) {
host.inspect(o, null);
return o;
},
"dir",
window().console.dir,
"dirxml",
window().console.dirxml
// FIXME: add copy method.
];
}
static List getMapKeyList(Map map) => map.keys.toList();
static bool isNoSuchMethodError(obj) => obj is NoSuchMethodError;
static void register(Document document, String tag, Type type,
String extendsTagName) {
var nativeClass = _validateCustomType(type);
if (extendsTagName == null) {
if (nativeClass.reflectedType != HtmlElement) {
throw new UnsupportedError('Class must provide extendsTag if base '
'native class is not HTMLElement');
}
}
_register(document, tag, type, extendsTagName);
}
static void _register(Document document, String tag, Type customType,
String extendsTagName) => _blink.Native_Utils_register(document, tag, customType, extendsTagName);
static Element createElement(Document document, String tagName) =>
_blink.Native_Utils_createElement(document, tagName);
static void initializeCustomElement(HtmlElement element) =>
_blink.Native_Utils_initializeCustomElement(element);
static Element changeElementWrapper(HtmlElement element, Type type) =>
_blink.Native_Utils_changeElementWrapper(element, type);
}
class _DOMWindowCrossFrame extends NativeFieldWrapperClass2 implements
WindowBase {
_DOMWindowCrossFrame.internal();
// Fields.
HistoryBase get history => _blink.Native_DOMWindowCrossFrame_get_history(this);
LocationBase get location => _blink.Native_DOMWindowCrossFrame_get_location(this);
bool get closed => _blink.Native_DOMWindowCrossFrame_get_closed(this);
WindowBase get opener => _blink.Native_DOMWindowCrossFrame_get_opener(this);
WindowBase get parent => _blink.Native_DOMWindowCrossFrame_get_parent(this);
WindowBase get top => _blink.Native_DOMWindowCrossFrame_get_top(this);
// Methods.
void close() => _blink.Native_DOMWindowCrossFrame_close(this);
void postMessage(/*SerializedScriptValue*/ message, String targetOrigin, [List messagePorts]) =>
_blink.Native_DOMWindowCrossFrame_postMessage(this, message, targetOrigin, messagePorts);
// Implementation support.
String get typeName => "Window";
// TODO(efortuna): Remove this method. dartbug.com/16814
Events get on => throw new UnsupportedError(
'You can only attach EventListeners to your own window.');
// TODO(efortuna): Remove this method. dartbug.com/16814
void addEventListener(String type, EventListener listener, [bool useCapture])
=> throw new UnsupportedError(
'You can only attach EventListeners to your own window.');
// TODO(efortuna): Remove this method. dartbug.com/16814
bool dispatchEvent(Event event) => throw new UnsupportedError(
'You can only attach EventListeners to your own window.');
// TODO(efortuna): Remove this method. dartbug.com/16814
void removeEventListener(String type, EventListener listener,
[bool useCapture]) => throw new UnsupportedError(
'You can only attach EventListeners to your own window.');
}
class _HistoryCrossFrame extends NativeFieldWrapperClass2 implements HistoryBase {
_HistoryCrossFrame.internal();
// Methods.
void back() => _blink.Native_HistoryCrossFrame_back(this);
void forward() => _blink.Native_HistoryCrossFrame_forward(this);
void go(int distance) => _blink.Native_HistoryCrossFrame_go(this, distance);
// Implementation support.
String get typeName => "History";
}
class _LocationCrossFrame extends NativeFieldWrapperClass2 implements LocationBase {
_LocationCrossFrame.internal();
// Fields.
void set href(String h) => _blink.Native_LocationCrossFrame_set_href(this, h);
// Implementation support.
String get typeName => "Location";
}
class _DOMStringMap extends NativeFieldWrapperClass2 implements Map<String, String> {
_DOMStringMap.internal();
bool containsValue(String value) => Maps.containsValue(this, value);
bool containsKey(String key) => _blink.Native_DOMStringMap_containsKey(this, key);
String operator [](String key) => _blink.Native_DOMStringMap_item(this, key);
void operator []=(String key, String value) => _blink.Native_DOMStringMap_setItem(this, key, value);
String putIfAbsent(String key, String ifAbsent()) => Maps.putIfAbsent(this, key, ifAbsent);
String remove(String key) => _blink.Native_DOMStringMap_remove(this, key);
void clear() => Maps.clear(this);
void forEach(void f(String key, String value)) => Maps.forEach(this, f);
Iterable<String> get keys => _blink.Native_DOMStringMap_get_keys(this);
Iterable<String> get values => Maps.getValues(this);
int get length => Maps.length(this);
bool get isEmpty => Maps.isEmpty(this);
bool get isNotEmpty => Maps.isNotEmpty(this);
void addAll(Map<String, String> other) {
other.forEach((key, value) => this[key] = value);
}
}
final _printClosure = (s) => window.console.log(s);
final _pureIsolatePrintClosure = (s) {
throw new UnimplementedError("Printing from a background isolate "
"is not supported in the browser");
};
final _forwardingPrintClosure = _Utils.forwardingPrint;
final _uriBaseClosure = () => Uri.parse(window.location.href);
final _pureIsolateUriBaseClosure = () {
throw new UnimplementedError("Uri.base on a background isolate "
"is not supported in the browser");
};
class _Timer implements Timer {
static const int _STATE_TIMEOUT = 0;
static const int _STATE_INTERVAL = 1;
int _state;
_Timer(int milliSeconds, void callback(Timer timer), bool repeating) {
if (repeating) {
_state = (window._setInterval(() {
callback(this);
}, milliSeconds) << 1) | _STATE_INTERVAL;
} else {
_state = (window._setTimeout(() {
_state = null;
callback(this);
}, milliSeconds) << 1) | _STATE_TIMEOUT;
}
}
void cancel() {
if (_state == null) return;
int id = _state >> 1;
if ((_state & 1) == _STATE_TIMEOUT) {
window._clearTimeout(id);
} else {
window._clearInterval(id);
}
_state = null;
}
bool get isActive => _state != null;
}
get _timerFactoryClosure =>
(int milliSeconds, void callback(Timer timer), bool repeating) {
return new _Timer(milliSeconds, callback, repeating);
};
get _pureIsolateTimerFactoryClosure =>
((int milliSeconds, void callback(Timer time), bool repeating) =>
throw new UnimplementedError("Timers on background isolates "
"are not supported in the browser"));
class _ScheduleImmediateHelper {
MutationObserver _observer;
final DivElement _div = new DivElement();
Function _callback;
_ScheduleImmediateHelper() {
// Run in the root-zone as the DOM callback would otherwise execute in the
// current zone.
Zone.ROOT.run(() {
// Mutation events get fired as soon as the current event stack is unwound
// so we just make a dummy event and listen for that.
_observer = new MutationObserver(_handleMutation);
_observer.observe(_div, attributes: true);
});
}
void _schedule(callback) {
if (_callback != null) {
throw new StateError(
'Only one immediate callback can be scheduled at once');
}
_callback = callback;
// Toggle it to trigger the mutation event.
_div.hidden = !_div.hidden;
}
_handleMutation(List<MutationRecord> mutations, MutationObserver observer) {
var tmp = _callback;
_callback = null;
tmp();
}
}
final _ScheduleImmediateHelper _scheduleImmediateHelper =
new _ScheduleImmediateHelper();
get _scheduleImmediateClosure => (void callback()) {
_scheduleImmediateHelper._schedule(callback);
};
get _pureIsolateScheduleImmediateClosure => ((void callback()) =>
throw new UnimplementedError("scheduleMicrotask in background isolates "
"are not supported in the browser"));
void _initializeCustomElement(Element e) {
_Utils.initializeCustomElement(e);
}