diff --git a/pkg/dev_compiler/lib/runtime/dart/html.js b/pkg/dev_compiler/lib/runtime/dart/html.js index 91a71ef3f502..17d35d304cad 100644 --- a/pkg/dev_compiler/lib/runtime/dart/html.js +++ b/pkg/dev_compiler/lib/runtime/dart/html.js @@ -6007,6 +6007,31 @@ dart_library.library('dart/html', null, /* Imports */[ }); let _CustomEventStreamProvider = _CustomEventStreamProvider$(); HtmlDocument.visibilityChangeEvent = dart.const(new (_CustomEventStreamProvider$(Event))(HtmlDocument._determineVisibilityChangeEventType)); + class HtmlHtmlElement extends HtmlElement { + static _() { + dart.throw(new core.UnsupportedError("Not supported")); + } + static new() { + return dart.as(exports.document.createElement("html"), HtmlHtmlElement); + } + static internalCreateHtmlHtmlElement() { + return new HtmlHtmlElement.internal_(); + } + internal_() { + super.internal_(); + } + } + dart.defineNamedConstructor(HtmlHtmlElement, 'internal_'); + dart.setSignature(HtmlHtmlElement, { + constructors: () => ({ + _: [HtmlHtmlElement, []], + new: [HtmlHtmlElement, []], + internal_: [HtmlHtmlElement, []] + }), + statics: () => ({internalCreateHtmlHtmlElement: [HtmlHtmlElement, []]}), + names: ['internalCreateHtmlHtmlElement'] + }); + HtmlHtmlElement[dart.metadata] = () => [dart.const(new _metadata.DocsEditable()), dart.const(new _metadata.DomName('HTMLHtmlElement')), dart.const(new _js_helper.Native("HTMLHtmlElement"))]; class HttpRequestEventTarget extends EventTarget { static _() { dart.throw(new core.UnsupportedError("Not supported")); @@ -7481,6 +7506,9 @@ dart_library.library('dart/html', null, /* Imports */[ const _registerProtocolHandler_1 = Symbol('_registerProtocolHandler_1'); const _sendBeacon_1 = Symbol('_sendBeacon_1'); class Navigator extends DartHtmlDomObject { + get language() { + return this.raw.language || this.raw.userLanguage; + } static _() { dart.throw(new core.UnsupportedError("Not supported")); } @@ -8178,6 +8206,64 @@ dart_library.library('dart/html', null, /* Imports */[ Range.START_TO_END = 1; Range.START_TO_START = 0; const RequestAnimationFrameCallback = dart.typedef('RequestAnimationFrameCallback', () => dart.functionType(dart.void, [core.num])); + const _availLeft = Symbol('_availLeft'); + const _availTop = Symbol('_availTop'); + const _availWidth = Symbol('_availWidth'); + const _availHeight = Symbol('_availHeight'); + class Screen extends DartHtmlDomObject { + get available() { + return new math.Rectangle(this[_availLeft], this[_availTop], this[_availWidth], this[_availHeight]); + } + static _() { + dart.throw(new core.UnsupportedError("Not supported")); + } + static internalCreateScreen() { + return new Screen.internal_(); + } + internal_() { + super.DartHtmlDomObject(); + } + ['=='](other) { + return dart.equals(unwrap_jso(other), unwrap_jso(this)) || dart.notNull(core.identical(this, other)); + } + get hashCode() { + return dart.hashCode(unwrap_jso(this)); + } + get [_availHeight]() { + return dart.as(wrap_jso(this.raw.availHeight), core.int); + } + get [_availLeft]() { + return dart.as(wrap_jso(this.raw.availLeft), core.int); + } + get [_availTop]() { + return dart.as(wrap_jso(this.raw.availTop), core.int); + } + get [_availWidth]() { + return dart.as(wrap_jso(this.raw.availWidth), core.int); + } + get colorDepth() { + return dart.as(wrap_jso(this.raw.colorDepth), core.int); + } + get height() { + return dart.as(wrap_jso(this.raw.height), core.int); + } + get pixelDepth() { + return dart.as(wrap_jso(this.raw.pixelDepth), core.int); + } + get width() { + return dart.as(wrap_jso(this.raw.width), core.int); + } + } + dart.defineNamedConstructor(Screen, 'internal_'); + dart.setSignature(Screen, { + constructors: () => ({ + _: [Screen, []], + internal_: [Screen, []] + }), + statics: () => ({internalCreateScreen: [Screen, []]}), + names: ['internalCreateScreen'] + }); + Screen[dart.metadata] = () => [dart.const(new _metadata.DocsEditable()), dart.const(new _metadata.DomName('Screen')), dart.const(new _js_helper.Native("Screen"))]; class ShadowRoot extends DocumentFragment { static _() { dart.throw(new core.UnsupportedError("Not supported")); @@ -8667,6 +8753,9 @@ dart_library.library('dart/html', null, /* Imports */[ get [_get_parent]() { return wrap_jso(this.raw.parent); } + get screen() { + return dart.as(wrap_jso(this.raw.screen), Screen); + } get screenLeft() { return dart.as(wrap_jso(this.raw.screenLeft), core.int); } @@ -12484,10 +12573,10 @@ dart_library.library('dart/html', null, /* Imports */[ dart.fn(createCustomUpgrader, dart.dynamic, [core.Type, dart.dynamic]); dart.defineLazyProperties(exports, { get htmlBlinkMap() { - return dart.map({_HistoryCrossFrame: dart.fn(() => _HistoryCrossFrame, core.Type, []), _LocationCrossFrame: dart.fn(() => _LocationCrossFrame, core.Type, []), _DOMWindowCrossFrame: dart.fn(() => _DOMWindowCrossFrame, core.Type, []), DateTime: dart.fn(() => core.DateTime, core.Type, []), JsObject: dart.fn(() => dart.dload(/* Unimplemented unknown name */js, 'JsObjectImpl')), JsFunction: dart.fn(() => dart.dload(/* Unimplemented unknown name */js, 'JsFunctionImpl')), JsArray: dart.fn(() => dart.dload(/* Unimplemented unknown name */js, 'JsArrayImpl')), Attr: dart.fn(() => _Attr, core.Type, []), CSSStyleDeclaration: dart.fn(() => CssStyleDeclaration, core.Type, []), CharacterData: dart.fn(() => CharacterData, core.Type, []), ChildNode: dart.fn(() => ChildNode, core.Type, []), ClientRect: dart.fn(() => _ClientRect, core.Type, []), Comment: dart.fn(() => Comment, core.Type, []), Console: dart.fn(() => Console, core.Type, []), ConsoleBase: dart.fn(() => ConsoleBase, core.Type, []), DOMImplementation: dart.fn(() => DomImplementation, core.Type, []), DOMTokenList: dart.fn(() => DomTokenList, core.Type, []), Document: dart.fn(() => Document, core.Type, []), DocumentFragment: dart.fn(() => DocumentFragment, core.Type, []), Element: dart.fn(() => Element, core.Type, []), Event: dart.fn(() => Event, core.Type, []), EventTarget: dart.fn(() => EventTarget, core.Type, []), HTMLAnchorElement: dart.fn(() => AnchorElement, core.Type, []), HTMLBaseElement: dart.fn(() => BaseElement, core.Type, []), HTMLBodyElement: dart.fn(() => BodyElement, core.Type, []), HTMLCollection: dart.fn(() => HtmlCollection, core.Type, []), HTMLDivElement: dart.fn(() => DivElement, core.Type, []), HTMLDocument: dart.fn(() => HtmlDocument, core.Type, []), HTMLElement: dart.fn(() => HtmlElement, core.Type, []), HTMLHeadElement: dart.fn(() => HeadElement, core.Type, []), HTMLInputElement: dart.fn(() => InputElement, core.Type, []), HTMLStyleElement: dart.fn(() => StyleElement, core.Type, []), HTMLTemplateElement: dart.fn(() => TemplateElement, core.Type, []), History: dart.fn(() => History, core.Type, []), KeyboardEvent: dart.fn(() => KeyboardEvent, core.Type, []), Location: dart.fn(() => Location, core.Type, []), MouseEvent: dart.fn(() => MouseEvent, core.Type, []), NamedNodeMap: dart.fn(() => _NamedNodeMap, core.Type, []), Navigator: dart.fn(() => Navigator, core.Type, []), NavigatorCPU: dart.fn(() => NavigatorCpu, core.Type, []), Node: dart.fn(() => Node, core.Type, []), NodeList: dart.fn(() => NodeList, core.Type, []), ParentNode: dart.fn(() => ParentNode, core.Type, []), ProgressEvent: dart.fn(() => ProgressEvent, core.Type, []), Range: dart.fn(() => Range, core.Type, []), ShadowRoot: dart.fn(() => ShadowRoot, core.Type, []), Text: dart.fn(() => Text, core.Type, []), UIEvent: dart.fn(() => UIEvent, core.Type, []), URLUtils: dart.fn(() => UrlUtils, core.Type, []), Window: dart.fn(() => Window, core.Type, []), XMLHttpRequest: dart.fn(() => HttpRequest, core.Type, []), XMLHttpRequestEventTarget: dart.fn(() => HttpRequestEventTarget, core.Type, []), XMLHttpRequestProgressEvent: dart.fn(() => _XMLHttpRequestProgressEvent, core.Type, [])}); + return dart.map({_HistoryCrossFrame: dart.fn(() => _HistoryCrossFrame, core.Type, []), _LocationCrossFrame: dart.fn(() => _LocationCrossFrame, core.Type, []), _DOMWindowCrossFrame: dart.fn(() => _DOMWindowCrossFrame, core.Type, []), DateTime: dart.fn(() => core.DateTime, core.Type, []), JsObject: dart.fn(() => dart.dload(/* Unimplemented unknown name */js, 'JsObjectImpl')), JsFunction: dart.fn(() => dart.dload(/* Unimplemented unknown name */js, 'JsFunctionImpl')), JsArray: dart.fn(() => dart.dload(/* Unimplemented unknown name */js, 'JsArrayImpl')), Attr: dart.fn(() => _Attr, core.Type, []), CSSStyleDeclaration: dart.fn(() => CssStyleDeclaration, core.Type, []), CharacterData: dart.fn(() => CharacterData, core.Type, []), ChildNode: dart.fn(() => ChildNode, core.Type, []), ClientRect: dart.fn(() => _ClientRect, core.Type, []), Comment: dart.fn(() => Comment, core.Type, []), Console: dart.fn(() => Console, core.Type, []), ConsoleBase: dart.fn(() => ConsoleBase, core.Type, []), DOMImplementation: dart.fn(() => DomImplementation, core.Type, []), DOMTokenList: dart.fn(() => DomTokenList, core.Type, []), Document: dart.fn(() => Document, core.Type, []), DocumentFragment: dart.fn(() => DocumentFragment, core.Type, []), Element: dart.fn(() => Element, core.Type, []), Event: dart.fn(() => Event, core.Type, []), EventTarget: dart.fn(() => EventTarget, core.Type, []), HTMLAnchorElement: dart.fn(() => AnchorElement, core.Type, []), HTMLBaseElement: dart.fn(() => BaseElement, core.Type, []), HTMLBodyElement: dart.fn(() => BodyElement, core.Type, []), HTMLCollection: dart.fn(() => HtmlCollection, core.Type, []), HTMLDivElement: dart.fn(() => DivElement, core.Type, []), HTMLDocument: dart.fn(() => HtmlDocument, core.Type, []), HTMLElement: dart.fn(() => HtmlElement, core.Type, []), HTMLHeadElement: dart.fn(() => HeadElement, core.Type, []), HTMLHtmlElement: dart.fn(() => HtmlHtmlElement, core.Type, []), HTMLInputElement: dart.fn(() => InputElement, core.Type, []), HTMLStyleElement: dart.fn(() => StyleElement, core.Type, []), HTMLTemplateElement: dart.fn(() => TemplateElement, core.Type, []), History: dart.fn(() => History, core.Type, []), KeyboardEvent: dart.fn(() => KeyboardEvent, core.Type, []), Location: dart.fn(() => Location, core.Type, []), MouseEvent: dart.fn(() => MouseEvent, core.Type, []), NamedNodeMap: dart.fn(() => _NamedNodeMap, core.Type, []), Navigator: dart.fn(() => Navigator, core.Type, []), NavigatorCPU: dart.fn(() => NavigatorCpu, core.Type, []), Node: dart.fn(() => Node, core.Type, []), NodeList: dart.fn(() => NodeList, core.Type, []), ParentNode: dart.fn(() => ParentNode, core.Type, []), ProgressEvent: dart.fn(() => ProgressEvent, core.Type, []), Range: dart.fn(() => Range, core.Type, []), Screen: dart.fn(() => Screen, core.Type, []), ShadowRoot: dart.fn(() => ShadowRoot, core.Type, []), Text: dart.fn(() => Text, core.Type, []), UIEvent: dart.fn(() => UIEvent, core.Type, []), URLUtils: dart.fn(() => UrlUtils, core.Type, []), Window: dart.fn(() => Window, core.Type, []), XMLHttpRequest: dart.fn(() => HttpRequest, core.Type, []), XMLHttpRequestEventTarget: dart.fn(() => HttpRequestEventTarget, core.Type, []), XMLHttpRequestProgressEvent: dart.fn(() => _XMLHttpRequestProgressEvent, core.Type, [])}); }, get htmlBlinkFunctionMap() { - return dart.map({Attr: dart.fn(() => _Attr.internalCreate_Attr, dart.functionType(_Attr, []), []), CSSStyleDeclaration: dart.fn(() => CssStyleDeclaration.internalCreateCssStyleDeclaration, dart.functionType(CssStyleDeclaration, []), []), CharacterData: dart.fn(() => CharacterData.internalCreateCharacterData, dart.functionType(CharacterData, []), []), ClientRect: dart.fn(() => _ClientRect.internalCreate_ClientRect, dart.functionType(_ClientRect, []), []), Comment: dart.fn(() => Comment.internalCreateComment, dart.functionType(Comment, []), []), Console: dart.fn(() => Console.internalCreateConsole, dart.functionType(Console, []), []), ConsoleBase: dart.fn(() => ConsoleBase.internalCreateConsoleBase, dart.functionType(ConsoleBase, []), []), DOMImplementation: dart.fn(() => DomImplementation.internalCreateDomImplementation, dart.functionType(DomImplementation, []), []), DOMTokenList: dart.fn(() => DomTokenList.internalCreateDomTokenList, dart.functionType(DomTokenList, []), []), Document: dart.fn(() => Document.internalCreateDocument, dart.functionType(Document, []), []), DocumentFragment: dart.fn(() => DocumentFragment.internalCreateDocumentFragment, dart.functionType(DocumentFragment, []), []), Element: dart.fn(() => Element.internalCreateElement, dart.functionType(Element, []), []), Event: dart.fn(() => Event.internalCreateEvent, dart.functionType(Event, []), []), EventTarget: dart.fn(() => EventTarget.internalCreateEventTarget, dart.functionType(EventTarget, []), []), HTMLAnchorElement: dart.fn(() => AnchorElement.internalCreateAnchorElement, dart.functionType(AnchorElement, []), []), HTMLBaseElement: dart.fn(() => BaseElement.internalCreateBaseElement, dart.functionType(BaseElement, []), []), HTMLBodyElement: dart.fn(() => BodyElement.internalCreateBodyElement, dart.functionType(BodyElement, []), []), HTMLCollection: dart.fn(() => HtmlCollection.internalCreateHtmlCollection, dart.functionType(HtmlCollection, []), []), HTMLDivElement: dart.fn(() => DivElement.internalCreateDivElement, dart.functionType(DivElement, []), []), HTMLDocument: dart.fn(() => HtmlDocument.internalCreateHtmlDocument, dart.functionType(HtmlDocument, []), []), HTMLElement: dart.fn(() => HtmlElement.internalCreateHtmlElement, dart.functionType(HtmlElement, []), []), HTMLHeadElement: dart.fn(() => HeadElement.internalCreateHeadElement, dart.functionType(HeadElement, []), []), HTMLInputElement: dart.fn(() => InputElement.internalCreateInputElement, dart.functionType(InputElement, []), []), HTMLStyleElement: dart.fn(() => StyleElement.internalCreateStyleElement, dart.functionType(StyleElement, []), []), HTMLTemplateElement: dart.fn(() => TemplateElement.internalCreateTemplateElement, dart.functionType(TemplateElement, []), []), History: dart.fn(() => History.internalCreateHistory, dart.functionType(History, []), []), KeyboardEvent: dart.fn(() => KeyboardEvent.internalCreateKeyboardEvent, dart.functionType(KeyboardEvent, []), []), Location: dart.fn(() => Location.internalCreateLocation, dart.functionType(Location, []), []), MouseEvent: dart.fn(() => MouseEvent.internalCreateMouseEvent, dart.functionType(MouseEvent, []), []), NamedNodeMap: dart.fn(() => _NamedNodeMap.internalCreate_NamedNodeMap, dart.functionType(_NamedNodeMap, []), []), Navigator: dart.fn(() => Navigator.internalCreateNavigator, dart.functionType(Navigator, []), []), Node: dart.fn(() => Node.internalCreateNode, dart.functionType(Node, []), []), NodeList: dart.fn(() => NodeList.internalCreateNodeList, dart.functionType(NodeList, []), []), ProgressEvent: dart.fn(() => ProgressEvent.internalCreateProgressEvent, dart.functionType(ProgressEvent, []), []), Range: dart.fn(() => Range.internalCreateRange, dart.functionType(Range, []), []), ShadowRoot: dart.fn(() => ShadowRoot.internalCreateShadowRoot, dart.functionType(ShadowRoot, []), []), Text: dart.fn(() => Text.internalCreateText, dart.functionType(Text, []), []), UIEvent: dart.fn(() => UIEvent.internalCreateUIEvent, dart.functionType(UIEvent, []), []), Window: dart.fn(() => Window.internalCreateWindow, dart.functionType(Window, []), []), XMLHttpRequest: dart.fn(() => HttpRequest.internalCreateHttpRequest, dart.functionType(HttpRequest, []), []), XMLHttpRequestEventTarget: dart.fn(() => HttpRequestEventTarget.internalCreateHttpRequestEventTarget, dart.functionType(HttpRequestEventTarget, []), []), XMLHttpRequestProgressEvent: dart.fn(() => _XMLHttpRequestProgressEvent.internalCreate_XMLHttpRequestProgressEvent, dart.functionType(_XMLHttpRequestProgressEvent, []), [])}); + return dart.map({Attr: dart.fn(() => _Attr.internalCreate_Attr, dart.functionType(_Attr, []), []), CSSStyleDeclaration: dart.fn(() => CssStyleDeclaration.internalCreateCssStyleDeclaration, dart.functionType(CssStyleDeclaration, []), []), CharacterData: dart.fn(() => CharacterData.internalCreateCharacterData, dart.functionType(CharacterData, []), []), ClientRect: dart.fn(() => _ClientRect.internalCreate_ClientRect, dart.functionType(_ClientRect, []), []), Comment: dart.fn(() => Comment.internalCreateComment, dart.functionType(Comment, []), []), Console: dart.fn(() => Console.internalCreateConsole, dart.functionType(Console, []), []), ConsoleBase: dart.fn(() => ConsoleBase.internalCreateConsoleBase, dart.functionType(ConsoleBase, []), []), DOMImplementation: dart.fn(() => DomImplementation.internalCreateDomImplementation, dart.functionType(DomImplementation, []), []), DOMTokenList: dart.fn(() => DomTokenList.internalCreateDomTokenList, dart.functionType(DomTokenList, []), []), Document: dart.fn(() => Document.internalCreateDocument, dart.functionType(Document, []), []), DocumentFragment: dart.fn(() => DocumentFragment.internalCreateDocumentFragment, dart.functionType(DocumentFragment, []), []), Element: dart.fn(() => Element.internalCreateElement, dart.functionType(Element, []), []), Event: dart.fn(() => Event.internalCreateEvent, dart.functionType(Event, []), []), EventTarget: dart.fn(() => EventTarget.internalCreateEventTarget, dart.functionType(EventTarget, []), []), HTMLAnchorElement: dart.fn(() => AnchorElement.internalCreateAnchorElement, dart.functionType(AnchorElement, []), []), HTMLBaseElement: dart.fn(() => BaseElement.internalCreateBaseElement, dart.functionType(BaseElement, []), []), HTMLBodyElement: dart.fn(() => BodyElement.internalCreateBodyElement, dart.functionType(BodyElement, []), []), HTMLCollection: dart.fn(() => HtmlCollection.internalCreateHtmlCollection, dart.functionType(HtmlCollection, []), []), HTMLDivElement: dart.fn(() => DivElement.internalCreateDivElement, dart.functionType(DivElement, []), []), HTMLDocument: dart.fn(() => HtmlDocument.internalCreateHtmlDocument, dart.functionType(HtmlDocument, []), []), HTMLElement: dart.fn(() => HtmlElement.internalCreateHtmlElement, dart.functionType(HtmlElement, []), []), HTMLHeadElement: dart.fn(() => HeadElement.internalCreateHeadElement, dart.functionType(HeadElement, []), []), HTMLHtmlElement: dart.fn(() => HtmlHtmlElement.internalCreateHtmlHtmlElement, dart.functionType(HtmlHtmlElement, []), []), HTMLInputElement: dart.fn(() => InputElement.internalCreateInputElement, dart.functionType(InputElement, []), []), HTMLStyleElement: dart.fn(() => StyleElement.internalCreateStyleElement, dart.functionType(StyleElement, []), []), HTMLTemplateElement: dart.fn(() => TemplateElement.internalCreateTemplateElement, dart.functionType(TemplateElement, []), []), History: dart.fn(() => History.internalCreateHistory, dart.functionType(History, []), []), KeyboardEvent: dart.fn(() => KeyboardEvent.internalCreateKeyboardEvent, dart.functionType(KeyboardEvent, []), []), Location: dart.fn(() => Location.internalCreateLocation, dart.functionType(Location, []), []), MouseEvent: dart.fn(() => MouseEvent.internalCreateMouseEvent, dart.functionType(MouseEvent, []), []), NamedNodeMap: dart.fn(() => _NamedNodeMap.internalCreate_NamedNodeMap, dart.functionType(_NamedNodeMap, []), []), Navigator: dart.fn(() => Navigator.internalCreateNavigator, dart.functionType(Navigator, []), []), Node: dart.fn(() => Node.internalCreateNode, dart.functionType(Node, []), []), NodeList: dart.fn(() => NodeList.internalCreateNodeList, dart.functionType(NodeList, []), []), ProgressEvent: dart.fn(() => ProgressEvent.internalCreateProgressEvent, dart.functionType(ProgressEvent, []), []), Range: dart.fn(() => Range.internalCreateRange, dart.functionType(Range, []), []), Screen: dart.fn(() => Screen.internalCreateScreen, dart.functionType(Screen, []), []), ShadowRoot: dart.fn(() => ShadowRoot.internalCreateShadowRoot, dart.functionType(ShadowRoot, []), []), Text: dart.fn(() => Text.internalCreateText, dart.functionType(Text, []), []), UIEvent: dart.fn(() => UIEvent.internalCreateUIEvent, dart.functionType(UIEvent, []), []), Window: dart.fn(() => Window.internalCreateWindow, dart.functionType(Window, []), []), XMLHttpRequest: dart.fn(() => HttpRequest.internalCreateHttpRequest, dart.functionType(HttpRequest, []), []), XMLHttpRequestEventTarget: dart.fn(() => HttpRequestEventTarget.internalCreateHttpRequestEventTarget, dart.functionType(HttpRequestEventTarget, []), []), XMLHttpRequestProgressEvent: dart.fn(() => _XMLHttpRequestProgressEvent.internalCreate_XMLHttpRequestProgressEvent, dart.functionType(_XMLHttpRequestProgressEvent, []), [])}); } }); function getHtmlCreateFunction(key) { @@ -12543,6 +12632,7 @@ dart_library.library('dart/html', null, /* Imports */[ exports.ImmutableListMixin = ImmutableListMixin; exports.HtmlCollection = HtmlCollection; exports.HtmlDocument = HtmlDocument; + exports.HtmlHtmlElement = HtmlHtmlElement; exports.HttpRequestEventTarget = HttpRequestEventTarget; exports.HttpRequest = HttpRequest; exports.ProgressEvent = ProgressEvent; @@ -12581,6 +12671,7 @@ dart_library.library('dart/html', null, /* Imports */[ exports.ParentNode = ParentNode; exports.Range = Range; exports.RequestAnimationFrameCallback = RequestAnimationFrameCallback; + exports.Screen = Screen; exports.ShadowRoot = ShadowRoot; exports.StyleElement = StyleElement; exports.TemplateElement = TemplateElement; diff --git a/pkg/dev_compiler/lib/src/codegen/js_codegen.dart b/pkg/dev_compiler/lib/src/codegen/js_codegen.dart index 2f0a0b8ed3b5..6c98ba55310c 100644 --- a/pkg/dev_compiler/lib/src/codegen/js_codegen.dart +++ b/pkg/dev_compiler/lib/src/codegen/js_codegen.dart @@ -1776,7 +1776,7 @@ class JSCodegenVisitor extends GeneralizingAstVisitor with ClosureAnnotator { return _emitTopLevelName(element); } - JS.Expression _emitTopLevelName(Element e, {String suffix : ''}) { + JS.Expression _emitTopLevelName(Element e, {String suffix: ''}) { var libName = _libraryName(e.library); var nameExpr = _propertyName((_getJSExportName(e) ?? e.name) + suffix); diff --git a/pkg/dev_compiler/test/codegen/expect/collection/src/unmodifiable_wrappers.txt b/pkg/dev_compiler/test/codegen/expect/collection/src/unmodifiable_wrappers.txt index 77f094464031..db710016780e 100644 --- a/pkg/dev_compiler/test/codegen/expect/collection/src/unmodifiable_wrappers.txt +++ b/pkg/dev_compiler/test/codegen/expect/collection/src/unmodifiable_wrappers.txt @@ -1,6 +1,6 @@ // Messages from compiling unmodifiable_wrappers.dart -severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.expand' and 'Iterable.map' (package:collection/src/unmodifiable_wrappers.dart, line 33, col 7) -severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.map' and 'Iterable.expand' (package:collection/src/unmodifiable_wrappers.dart, line 136, col 7) +severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.map' and 'Iterable.expand' (package:collection/src/unmodifiable_wrappers.dart, line 33, col 7) +severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.expand' and 'Iterable.map' (package:collection/src/unmodifiable_wrappers.dart, line 136, col 7) warning: [DOWN_CAST_COMPOSITE] _throw() (dynamic) will need runtime check to cast to type E (package:collection/src/unmodifiable_wrappers.dart, line 88, col 28) warning: [DOWN_CAST_COMPOSITE] _throw() (dynamic) will need runtime check to cast to type E (package:collection/src/unmodifiable_wrappers.dart, line 94, col 21) warning: [DOWN_CAST_COMPOSITE] _throw() (dynamic) will need runtime check to cast to type V (package:collection/src/unmodifiable_wrappers.dart, line 218, col 41) diff --git a/pkg/dev_compiler/test/codegen/expect/collection/wrappers.txt b/pkg/dev_compiler/test/codegen/expect/collection/wrappers.txt index 56eb8f0994bf..ba3a5dfea051 100644 --- a/pkg/dev_compiler/test/codegen/expect/collection/wrappers.txt +++ b/pkg/dev_compiler/test/codegen/expect/collection/wrappers.txt @@ -4,14 +4,14 @@ severe: [INVALID_METHOD_OVERRIDE] Invalid override. The type of _DelegatingItera severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.map' and 'Iterable.expand' (package:collection/wrappers.dart, line 117, col 7) severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.expand (((E) → Iterable) → Iterable) is not a subtype of Iterable.expand (((E) → Iterable) → Iterable). (package:collection/wrappers.dart, line 117, col 25) severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.map (((E) → dynamic) → Iterable) is not a subtype of Iterable.map (((E) → T) → Iterable). (package:collection/wrappers.dart, line 117, col 25) -severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.map' and 'Iterable.expand' (package:collection/wrappers.dart, line 216, col 7) +severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.expand' and 'Iterable.map' (package:collection/wrappers.dart, line 216, col 7) severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.expand (((E) → Iterable) → Iterable) is not a subtype of Iterable.expand (((E) → Iterable) → Iterable). (package:collection/wrappers.dart, line 216, col 24) severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.map (((E) → dynamic) → Iterable) is not a subtype of Iterable.map (((E) → T) → Iterable). (package:collection/wrappers.dart, line 216, col 24) -severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.map' and 'Iterable.expand' (package:collection/wrappers.dart, line 269, col 7) +severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.expand' and 'Iterable.map' (package:collection/wrappers.dart, line 269, col 7) severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.expand (((E) → Iterable) → Iterable) is not a subtype of Iterable.expand (((E) → Iterable) → Iterable). (package:collection/wrappers.dart, line 269, col 26) severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.map (((E) → dynamic) → Iterable) is not a subtype of Iterable.map (((E) → T) → Iterable). (package:collection/wrappers.dart, line 269, col 26) -severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.expand' and 'Iterable.map' (package:collection/wrappers.dart, line 367, col 7) -severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.map' and 'Iterable.expand' (package:collection/wrappers.dart, line 452, col 7) +severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.map' and 'Iterable.expand' (package:collection/wrappers.dart, line 367, col 7) +severe: [AnalyzerMessage] Missing concrete implementation of 'Iterable.expand' and 'Iterable.map' (package:collection/wrappers.dart, line 452, col 7) severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.expand (((V) → Iterable) → Iterable) is not a subtype of Iterable.expand (((V) → Iterable) → Iterable). (package:collection/wrappers.dart, line 452, col 25) severe: [INVALID_METHOD_OVERRIDE] Base class introduces an invalid override. The type of _DelegatingIterableBase.map (((V) → dynamic) → Iterable) is not a subtype of Iterable.map (((V) → T) → Iterable). (package:collection/wrappers.dart, line 452, col 25) warning: [DOWN_CAST_COMPOSITE] _base.fold(initialValue, combine) (dynamic) will need runtime check to cast to type T (package:collection/wrappers.dart, line 49, col 7) diff --git a/pkg/dev_compiler/tool/input_sdk/lib/html/ddc/html_ddc.dart b/pkg/dev_compiler/tool/input_sdk/lib/html/ddc/html_ddc.dart index 8843384eed9d..d423b983e992 100644 --- a/pkg/dev_compiler/tool/input_sdk/lib/html/ddc/html_ddc.dart +++ b/pkg/dev_compiler/tool/input_sdk/lib/html/ddc/html_ddc.dart @@ -8443,6 +8443,32 @@ class HtmlDocument extends Document { // BSD-style license that can be found in the LICENSE file. +@DocsEditable() +@DomName('HTMLHtmlElement') +@Native("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"); + + + @Deprecated("Internal Use Only") + static HtmlHtmlElement internalCreateHtmlHtmlElement() { + return new HtmlHtmlElement.internal_(); + } + + @Deprecated("Internal Use Only") + HtmlHtmlElement.internal_() : super.internal_(); + +} +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file +// for 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. @@ -10936,6 +10962,9 @@ class MouseEvent extends UIEvent { class Navigator extends DartHtmlDomObject implements NavigatorCpu { + @DomName('Navigator.language') + String get language => JS('String', '#.language || #.userLanguage', this.raw, + this.raw); // To suppress missing implicit constructor warnings. @@ -12250,6 +12279,74 @@ class Range extends DartHtmlDomObject { @DomName('RequestAnimationFrameCallback') typedef void RequestAnimationFrameCallback(num highResTime); +// 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') +@Native("Screen") +class Screen extends DartHtmlDomObject { + + @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"); } + + @Deprecated("Internal Use Only") + static Screen internalCreateScreen() { + return new Screen.internal_(); + } + + @Deprecated("Internal Use Only") + Screen.internal_() { } + + bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other); + int get hashCode => unwrap_jso(this).hashCode; + + @JSName('availHeight') + @DomName('Screen.availHeight') + @DocsEditable() + int get _availHeight => wrap_jso(JS("int", "#.availHeight", this.raw)); + + @JSName('availLeft') + @DomName('Screen.availLeft') + @DocsEditable() + @Experimental() // nonstandard + int get _availLeft => wrap_jso(JS("int", "#.availLeft", this.raw)); + + @JSName('availTop') + @DomName('Screen.availTop') + @DocsEditable() + @Experimental() // nonstandard + int get _availTop => wrap_jso(JS("int", "#.availTop", this.raw)); + + @JSName('availWidth') + @DomName('Screen.availWidth') + @DocsEditable() + int get _availWidth => wrap_jso(JS("int", "#.availWidth", this.raw)); + + @DomName('Screen.colorDepth') + @DocsEditable() + int get colorDepth => wrap_jso(JS("int", "#.colorDepth", this.raw)); + + @DomName('Screen.height') + @DocsEditable() + int get height => wrap_jso(JS("int", "#.height", this.raw)); + + @DomName('Screen.pixelDepth') + @DocsEditable() + int get pixelDepth => wrap_jso(JS("int", "#.pixelDepth", this.raw)); + + @DomName('Screen.width') + @DocsEditable() + int get width => wrap_jso(JS("int", "#.width", this.raw)); +} // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. @@ -13183,6 +13280,18 @@ class Window extends EventTarget implements WindowBase { @Returns('Window|=Object') dynamic get _get_parent => wrap_jso(JS("dynamic", "#.parent", this.raw)); + /** + * 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 => wrap_jso(JS("Screen", "#.screen", this.raw)); + /** * The distance from the left side of the screen to the left side of this * window. @@ -19511,6 +19620,7 @@ final htmlBlinkMap = { 'HTMLDocument': () => HtmlDocument, 'HTMLElement': () => HtmlElement, 'HTMLHeadElement': () => HeadElement, + 'HTMLHtmlElement': () => HtmlHtmlElement, 'HTMLInputElement': () => InputElement, 'HTMLStyleElement': () => StyleElement, 'HTMLTemplateElement': () => TemplateElement, @@ -19526,6 +19636,7 @@ final htmlBlinkMap = { 'ParentNode': () => ParentNode, 'ProgressEvent': () => ProgressEvent, 'Range': () => Range, + 'Screen': () => Screen, 'ShadowRoot': () => ShadowRoot, 'Text': () => Text, 'UIEvent': () => UIEvent, @@ -19561,6 +19672,7 @@ final htmlBlinkFunctionMap = { 'HTMLDocument': () => HtmlDocument.internalCreateHtmlDocument, 'HTMLElement': () => HtmlElement.internalCreateHtmlElement, 'HTMLHeadElement': () => HeadElement.internalCreateHeadElement, + 'HTMLHtmlElement': () => HtmlHtmlElement.internalCreateHtmlHtmlElement, 'HTMLInputElement': () => InputElement.internalCreateInputElement, 'HTMLStyleElement': () => StyleElement.internalCreateStyleElement, 'HTMLTemplateElement': () => TemplateElement.internalCreateTemplateElement, @@ -19574,6 +19686,7 @@ final htmlBlinkFunctionMap = { 'NodeList': () => NodeList.internalCreateNodeList, 'ProgressEvent': () => ProgressEvent.internalCreateProgressEvent, 'Range': () => Range.internalCreateRange, + 'Screen': () => Screen.internalCreateScreen, 'ShadowRoot': () => ShadowRoot.internalCreateShadowRoot, 'Text': () => Text.internalCreateText, 'UIEvent': () => UIEvent.internalCreateUIEvent, diff --git a/pkg/dev_compiler/tool/sdk_expected_errors.txt b/pkg/dev_compiler/tool/sdk_expected_errors.txt index e7f2696faf75..71adcaf84346 100644 --- a/pkg/dev_compiler/tool/sdk_expected_errors.txt +++ b/pkg/dev_compiler/tool/sdk_expected_errors.txt @@ -276,33 +276,33 @@ warning: [DOWN_CAST_COMPOSITE] _clampToZero(height) (num) will need runtime chec warning: [DOWN_CAST_COMPOSITE] interfaceThunk() (dynamic) will need runtime check to cast to type List (dart:_js_mirrors, line 127, col 31) severe: [AnalyzerMessage] The setter 'classes' is not defined for the class 'Node' (dart:html, line 5484, col 32) severe: [AnalyzerMessage] The method '_registerCustomElement' is not defined for the class 'HtmlDocument' (dart:html, line 8391, col 5) -severe: [AnalyzerMessage] 14 positional arguments expected, but 18 found (dart:html, line 10927, col 185) -severe: [AnalyzerMessage] The getter 'name' is not defined for the class 'Node' (dart:html, line 14476, col 32) -severe: [AnalyzerMessage] The getter 'value' is not defined for the class 'Node' (dart:html, line 14488, col 34) -severe: [INVALID_FIELD_OVERRIDE] Field declaration MutableRectangle.left cannot be overridden in CssRect. (dart:html, line 15163, col 3) -severe: [INVALID_FIELD_OVERRIDE] Field declaration MutableRectangle.top cannot be overridden in CssRect. (dart:html, line 15165, col 3) -severe: [AnalyzerMessage] The method 'matchesWithAncestors' is not defined for the class 'EventTarget' (dart:html, line 15762, col 31) -severe: [AnalyzerMessage] The method 'matchesWithAncestors' is not defined for the class 'EventTarget' (dart:html, line 15786, col 31) -severe: [AnalyzerMessage] Missing concrete implementation of 'EventTarget._addEventListener_1', 'EventTarget._removeEventListener_3', 'EventTarget._removeEventListener_1', 'EventTarget._removeEventListener_2' and 7 more (dart:html, line 18495, col 7) -severe: [AnalyzerMessage] Missing concrete implementation of 'Event._stopImmediatePropagation_1', getter 'DartHtmlDomObject.raw', 'Event._preventDefault_1', setter 'DartHtmlDomObject.raw' and 4 more (dart:html, line 18643, col 7) -severe: [AnalyzerMessage] The method 'makeLeafDispatchRecord' is not defined for the class 'KeyEvent' (dart:html, line 18689, col 12) -severe: [AnalyzerMessage] The method 'setDispatchProperty' is not defined for the class 'KeyEvent' (dart:html, line 18759, col 5) -severe: [AnalyzerMessage] Undefined class 'DataTransfer' (dart:html, line 18803, col 3) -severe: [AnalyzerMessage] The getter 'clipboardData' is not defined for the class 'KeyboardEvent' (dart:html, line 18803, col 45) -severe: [AnalyzerMessage] Missing concrete implementation of setter 'DartHtmlDomObject.raw', 'Event._initEvent_1', getter 'DartHtmlDomObject.raw', 'Event._stopImmediatePropagation_1' and 2 more (dart:html, line 18877, col 7) -severe: [AnalyzerMessage] Undefined class 'DataTransfer' (dart:html, line 18889, col 3) -severe: [AnalyzerMessage] The getter 'clipboardData' is not defined for the class 'Event' (dart:html, line 18889, col 45) -severe: [AnalyzerMessage] The method 'matches' is not defined for the class 'EventTarget' (dart:html, line 18935, col 18) -severe: [AnalyzerMessage] The getter 'parent' is not defined for the class 'EventTarget' (dart:html, line 18936, col 23) -severe: [AnalyzerMessage] The getter 'parent' is not defined for the class 'EventTarget' (dart:html, line 18937, col 56) -severe: [AnalyzerMessage] Directives must appear before any declarations (dart:html, line 19340, col 1) -severe: [AnalyzerMessage] The name 'Entry' is not a type and cannot be used as a parameterized type (dart:html, line 19406, col 44) -severe: [AnalyzerMessage] Expected to find ';' (dart:html, line 19457, col 48) -severe: [AnalyzerMessage] Undefined name 'console' (dart:html, line 19465, col 7) -severe: [AnalyzerMessage] Undefined name 'console' (dart:html, line 19471, col 5) -severe: [AnalyzerMessage] Undefined name 'js' (dart:html, line 19488, col 21) -severe: [AnalyzerMessage] Undefined name 'js' (dart:html, line 19489, col 23) -severe: [AnalyzerMessage] Undefined name 'js' (dart:html, line 19490, col 20) +severe: [AnalyzerMessage] 14 positional arguments expected, but 18 found (dart:html, line 10953, col 185) +severe: [AnalyzerMessage] The getter 'name' is not defined for the class 'Node' (dart:html, line 14585, col 32) +severe: [AnalyzerMessage] The getter 'value' is not defined for the class 'Node' (dart:html, line 14597, col 34) +severe: [INVALID_FIELD_OVERRIDE] Field declaration MutableRectangle.left cannot be overridden in CssRect. (dart:html, line 15272, col 3) +severe: [INVALID_FIELD_OVERRIDE] Field declaration MutableRectangle.top cannot be overridden in CssRect. (dart:html, line 15274, col 3) +severe: [AnalyzerMessage] The method 'matchesWithAncestors' is not defined for the class 'EventTarget' (dart:html, line 15871, col 31) +severe: [AnalyzerMessage] The method 'matchesWithAncestors' is not defined for the class 'EventTarget' (dart:html, line 15895, col 31) +severe: [AnalyzerMessage] Missing concrete implementation of 'EventTarget._addEventListener_1', 'EventTarget._removeEventListener_3', 'EventTarget._removeEventListener_1', 'EventTarget._removeEventListener_2' and 7 more (dart:html, line 18604, col 7) +severe: [AnalyzerMessage] Missing concrete implementation of 'Event._stopImmediatePropagation_1', getter 'DartHtmlDomObject.raw', 'Event._preventDefault_1', setter 'DartHtmlDomObject.raw' and 4 more (dart:html, line 18752, col 7) +severe: [AnalyzerMessage] The method 'makeLeafDispatchRecord' is not defined for the class 'KeyEvent' (dart:html, line 18798, col 12) +severe: [AnalyzerMessage] The method 'setDispatchProperty' is not defined for the class 'KeyEvent' (dart:html, line 18868, col 5) +severe: [AnalyzerMessage] Undefined class 'DataTransfer' (dart:html, line 18912, col 3) +severe: [AnalyzerMessage] The getter 'clipboardData' is not defined for the class 'KeyboardEvent' (dart:html, line 18912, col 45) +severe: [AnalyzerMessage] Missing concrete implementation of setter 'DartHtmlDomObject.raw', 'Event._initEvent_1', getter 'DartHtmlDomObject.raw', 'Event._stopImmediatePropagation_1' and 2 more (dart:html, line 18986, col 7) +severe: [AnalyzerMessage] Undefined class 'DataTransfer' (dart:html, line 18998, col 3) +severe: [AnalyzerMessage] The getter 'clipboardData' is not defined for the class 'Event' (dart:html, line 18998, col 45) +severe: [AnalyzerMessage] The method 'matches' is not defined for the class 'EventTarget' (dart:html, line 19044, col 18) +severe: [AnalyzerMessage] The getter 'parent' is not defined for the class 'EventTarget' (dart:html, line 19045, col 23) +severe: [AnalyzerMessage] The getter 'parent' is not defined for the class 'EventTarget' (dart:html, line 19046, col 56) +severe: [AnalyzerMessage] Directives must appear before any declarations (dart:html, line 19449, col 1) +severe: [AnalyzerMessage] The name 'Entry' is not a type and cannot be used as a parameterized type (dart:html, line 19515, col 44) +severe: [AnalyzerMessage] Expected to find ';' (dart:html, line 19566, col 48) +severe: [AnalyzerMessage] Undefined name 'console' (dart:html, line 19574, col 7) +severe: [AnalyzerMessage] Undefined name 'console' (dart:html, line 19580, col 5) +severe: [AnalyzerMessage] Undefined name 'js' (dart:html, line 19597, col 21) +severe: [AnalyzerMessage] Undefined name 'js' (dart:html, line 19598, col 23) +severe: [AnalyzerMessage] Undefined name 'js' (dart:html, line 19599, col 20) severe: [AnalyzerMessage] The name 'File' is not defined and cannot be used in an 'is' expression (dart:html_common/conversions.dart, line 103, col 14) severe: [AnalyzerMessage] The name 'Blob' is not defined and cannot be used in an 'is' expression (dart:html_common/conversions.dart, line 104, col 14) severe: [AnalyzerMessage] The name 'FileList' is not defined and cannot be used in an 'is' expression (dart:html_common/conversions.dart, line 105, col 14) @@ -331,37 +331,37 @@ warning: [DOWN_CAST_COMPOSITE] test ((dynamic) → bool) will need runtime check warning: [DOWN_CAST_COMPOSITE] copy (List) will need runtime check to cast to type Iterable (dart:html, line 5818, col 21) warning: [DOWN_CAST_COMPOSITE] wrap_jso(JS("List", "#.children", this.raw)) (dynamic) will need runtime check to cast to type List (dart:html, line 7344, col 31) warning: [DOWN_CAST_COMPOSITE] wrap_jso(JS("List", "#.path", this.raw)) (dynamic) will need runtime check to cast to type List (dart:html, line 7646, col 26) -warning: [DOWN_CAST_COMPOSITE] request(url, method: method, sendData: sendData).then((xhr) {return xhr.responseText;}) (Future) will need runtime check to cast to type Future (dart:html, line 8736, col 14) -warning: [DOWN_CAST_COMPOSITE] wrap_jso(JS("List", "#.labels", this.raw)) (dynamic) will need runtime check to cast to type List (dart:html, line 9657, col 28) -warning: [DOWN_CAST_COMPOSITE] copy (List) will need runtime check to cast to type Iterable (dart:html, line 11251, col 23) -warning: [DOWN_CAST_COMPOSITE] wrap_jso(JS('List', '#.childNodes', this.raw)) (dynamic) will need runtime check to cast to type List (dart:html, line 11333, col 32) -warning: [DOWN_CAST_COMPOSITE] wrap_jso(JS("List", "#.children", this.raw)) (dynamic) will need runtime check to cast to type List (dart:html, line 11855, col 31) -warning: [DOWN_CAST_COMPOSITE] wrap_jso(JS("List", "#.raw.querySelectorAll(#)", this, unwrap_jso(selectors))) (dynamic) will need runtime check to cast to type List (dart:html, line 11863, col 53) -warning: [DOWN_CAST_COMPOSITE] _wrapZone(callback) (dynamic) will need runtime check to cast to type (num) → void (dart:html, line 12852, col 35) -warning: [DOWN_CAST_COMPOSITE] _HEIGHT (List) will need runtime check to cast to type List (dart:html, line 15014, col 32) -warning: [DOWN_CAST_COMPOSITE] _WIDTH (List) will need runtime check to cast to type List (dart:html, line 15017, col 32) -warning: [DOWN_CAST_COMPOSITE] elementList (dynamic) will need runtime check to cast to type List (dart:html, line 15070, col 20) -warning: [DOWN_CAST_COMPOSITE] _HEIGHT (List) will need runtime check to cast to type List (dart:html, line 15104, col 32) -warning: [DOWN_CAST_COMPOSITE] _WIDTH (List) will need runtime check to cast to type List (dart:html, line 15106, col 32) -warning: [DOWN_CAST_COMPOSITE] _HEIGHT (List) will need runtime check to cast to type List (dart:html, line 15136, col 32) -warning: [DOWN_CAST_COMPOSITE] _WIDTH (List) will need runtime check to cast to type List (dart:html, line 15138, col 55) -warning: [DOWN_CAST_COMPOSITE] e (ElementList) will need runtime check to cast to type Iterable (dart:html, line 15683, col 44) -warning: [DOWN_CAST_COMPOSITE] this.where((event) => event.target.matchesWithAncestors(selector)).map((e) {e._selector = selector; return e;}) (Stream) will need runtime check to cast to type Stream (dart:html, line 15761, col 41) -warning: [DOWN_CAST_COMPOSITE] this.where((event) => event.target.matchesWithAncestors(selector)).map((e) {e._selector = selector; return e;}) (Stream) will need runtime check to cast to type Stream (dart:html, line 15785, col 41) -warning: [DOWN_CAST_COMPOSITE] pool.stream.listen(onData, onError: onError, onDone: onDone, cancelOnError: cancelOnError) (StreamSubscription) will need runtime check to cast to type StreamSubscription (dart:html, line 15800, col 12) -warning: [DOWN_CAST_COMPOSITE] pool.stream.listen(onData) (StreamSubscription) will need runtime check to cast to type StreamSubscription (dart:html, line 15809, col 12) -warning: [DOWN_CAST_COMPOSITE] _onData (dynamic) will need runtime check to cast to type (Event) → dynamic (dart:html, line 15879, col 44) -warning: [DOWN_CAST_COMPOSITE] _onData (dynamic) will need runtime check to cast to type (Event) → dynamic (dart:html, line 15885, col 47) -warning: [DOWN_CAST_COMPOSITE] e (ElementList) will need runtime check to cast to type Iterable (dart:html, line 16029, col 44) -warning: [DOWN_CAST_COMPOSITE] attrs (dynamic) will need runtime check to cast to type Iterable (dart:html, line 17950, col 9) -warning: [DOWN_CAST_COMPOSITE] uriAttrs (dynamic) will need runtime check to cast to type Iterable (dart:html, line 17951, col 9) -warning: [DOWN_CAST_COMPOSITE] attrs (dynamic) will need runtime check to cast to type Iterable (dart:html, line 17988, col 9) -warning: [DOWN_CAST_COMPOSITE] uriAttrs (dynamic) will need runtime check to cast to type Iterable (dart:html, line 17989, col 9) -warning: [DOWN_CAST_COMPOSITE] allowedElements ?? const [] (Object) will need runtime check to cast to type Iterable (dart:html, line 18121, col 33) -warning: [DOWN_CAST_COMPOSITE] allowedAttributes ?? const [] (Object) will need runtime check to cast to type Iterable (dart:html, line 18122, col 25) -warning: [DOWN_CAST_COMPOSITE] allowedUriAttributes ?? const [] (Object) will need runtime check to cast to type Iterable (dart:html, line 18123, col 28) -warning: [DOWN_CAST_COMPOSITE] _list[index] (dynamic) will need runtime check to cast to type E (dart:html, line 18309, col 31) -warning: [DOWN_CAST_COMPOSITE] _list.removeAt(index) (dynamic) will need runtime check to cast to type E (dart:html, line 18323, col 28) -warning: [DOWN_CAST_COMPOSITE] _list (List) will need runtime check to cast to type List (dart:html, line 18339, col 29) -warning: [DOWN_CAST_COMPOSITE] _iterator.current (dynamic) will need runtime check to cast to type E (dart:html, line 18354, col 20) +warning: [DOWN_CAST_COMPOSITE] request(url, method: method, sendData: sendData).then((xhr) {return xhr.responseText;}) (Future) will need runtime check to cast to type Future (dart:html, line 8762, col 14) +warning: [DOWN_CAST_COMPOSITE] wrap_jso(JS("List", "#.labels", this.raw)) (dynamic) will need runtime check to cast to type List (dart:html, line 9683, col 28) +warning: [DOWN_CAST_COMPOSITE] copy (List) will need runtime check to cast to type Iterable (dart:html, line 11280, col 23) +warning: [DOWN_CAST_COMPOSITE] wrap_jso(JS('List', '#.childNodes', this.raw)) (dynamic) will need runtime check to cast to type List (dart:html, line 11362, col 32) +warning: [DOWN_CAST_COMPOSITE] wrap_jso(JS("List", "#.children", this.raw)) (dynamic) will need runtime check to cast to type List (dart:html, line 11884, col 31) +warning: [DOWN_CAST_COMPOSITE] wrap_jso(JS("List", "#.raw.querySelectorAll(#)", this, unwrap_jso(selectors))) (dynamic) will need runtime check to cast to type List (dart:html, line 11892, col 53) +warning: [DOWN_CAST_COMPOSITE] _wrapZone(callback) (dynamic) will need runtime check to cast to type (num) → void (dart:html, line 12949, col 35) +warning: [DOWN_CAST_COMPOSITE] _HEIGHT (List) will need runtime check to cast to type List (dart:html, line 15123, col 32) +warning: [DOWN_CAST_COMPOSITE] _WIDTH (List) will need runtime check to cast to type List (dart:html, line 15126, col 32) +warning: [DOWN_CAST_COMPOSITE] elementList (dynamic) will need runtime check to cast to type List (dart:html, line 15179, col 20) +warning: [DOWN_CAST_COMPOSITE] _HEIGHT (List) will need runtime check to cast to type List (dart:html, line 15213, col 32) +warning: [DOWN_CAST_COMPOSITE] _WIDTH (List) will need runtime check to cast to type List (dart:html, line 15215, col 32) +warning: [DOWN_CAST_COMPOSITE] _HEIGHT (List) will need runtime check to cast to type List (dart:html, line 15245, col 32) +warning: [DOWN_CAST_COMPOSITE] _WIDTH (List) will need runtime check to cast to type List (dart:html, line 15247, col 55) +warning: [DOWN_CAST_COMPOSITE] e (ElementList) will need runtime check to cast to type Iterable (dart:html, line 15792, col 44) +warning: [DOWN_CAST_COMPOSITE] this.where((event) => event.target.matchesWithAncestors(selector)).map((e) {e._selector = selector; return e;}) (Stream) will need runtime check to cast to type Stream (dart:html, line 15870, col 41) +warning: [DOWN_CAST_COMPOSITE] this.where((event) => event.target.matchesWithAncestors(selector)).map((e) {e._selector = selector; return e;}) (Stream) will need runtime check to cast to type Stream (dart:html, line 15894, col 41) +warning: [DOWN_CAST_COMPOSITE] pool.stream.listen(onData, onError: onError, onDone: onDone, cancelOnError: cancelOnError) (StreamSubscription) will need runtime check to cast to type StreamSubscription (dart:html, line 15909, col 12) +warning: [DOWN_CAST_COMPOSITE] pool.stream.listen(onData) (StreamSubscription) will need runtime check to cast to type StreamSubscription (dart:html, line 15918, col 12) +warning: [DOWN_CAST_COMPOSITE] _onData (dynamic) will need runtime check to cast to type (Event) → dynamic (dart:html, line 15988, col 44) +warning: [DOWN_CAST_COMPOSITE] _onData (dynamic) will need runtime check to cast to type (Event) → dynamic (dart:html, line 15994, col 47) +warning: [DOWN_CAST_COMPOSITE] e (ElementList) will need runtime check to cast to type Iterable (dart:html, line 16138, col 44) +warning: [DOWN_CAST_COMPOSITE] attrs (dynamic) will need runtime check to cast to type Iterable (dart:html, line 18059, col 9) +warning: [DOWN_CAST_COMPOSITE] uriAttrs (dynamic) will need runtime check to cast to type Iterable (dart:html, line 18060, col 9) +warning: [DOWN_CAST_COMPOSITE] attrs (dynamic) will need runtime check to cast to type Iterable (dart:html, line 18097, col 9) +warning: [DOWN_CAST_COMPOSITE] uriAttrs (dynamic) will need runtime check to cast to type Iterable (dart:html, line 18098, col 9) +warning: [DOWN_CAST_COMPOSITE] allowedElements ?? const [] (Object) will need runtime check to cast to type Iterable (dart:html, line 18230, col 33) +warning: [DOWN_CAST_COMPOSITE] allowedAttributes ?? const [] (Object) will need runtime check to cast to type Iterable (dart:html, line 18231, col 25) +warning: [DOWN_CAST_COMPOSITE] allowedUriAttributes ?? const [] (Object) will need runtime check to cast to type Iterable (dart:html, line 18232, col 28) +warning: [DOWN_CAST_COMPOSITE] _list[index] (dynamic) will need runtime check to cast to type E (dart:html, line 18418, col 31) +warning: [DOWN_CAST_COMPOSITE] _list.removeAt(index) (dynamic) will need runtime check to cast to type E (dart:html, line 18432, col 28) +warning: [DOWN_CAST_COMPOSITE] _list (List) will need runtime check to cast to type List (dart:html, line 18448, col 29) +warning: [DOWN_CAST_COMPOSITE] _iterator.current (dynamic) will need runtime check to cast to type E (dart:html, line 18463, col 20) warning: [DOWN_CAST_COMPOSITE] _validateToken ((String) → String) will need runtime check to cast to type (Object) → String (dart:html_common/css_class_set.dart, line 148, col 44)