Index: sdk/lib/html/dart2js/html_dart2js.dart |
diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart |
index 7be7e5d81aaae09f3122aec0173678c875423d65..0bc3749f7cb05762bcdb3323f4ea3276ade6ed2d 100644 |
--- a/sdk/lib/html/dart2js/html_dart2js.dart |
+++ b/sdk/lib/html/dart2js/html_dart2js.dart |
@@ -105,12 +105,6 @@ class HtmlElement extends Element { |
HtmlElement.created() : super.created(); |
} |
-// EntryArray type was removed, so explicitly adding it to allow support for |
-// older Chrome versions. |
-// Issue #12573. |
-@Native("EntryArray") |
-abstract class _EntryArray implements List<Entry> {} |
- |
/** |
* Spawn a DOM isolate using the given URI in the same window. |
* This isolate is not concurrent. It runs on the browser thread |
@@ -11639,17 +11633,27 @@ class DomStringList extends Interceptor with ListMixin<String>, ImmutableListMix |
@DocsEditable() |
@DomName('DOMStringMap') |
-abstract class DomStringMap extends Interceptor { |
+@Native("DOMStringMap") |
+class DomStringMap extends Interceptor { |
// To suppress missing implicit constructor warnings. |
factory DomStringMap._() { throw new UnsupportedError("Not supported"); } |
- void __delete__(index_OR_name); |
+ @DomName('DOMStringMap.__delete__') |
+ @DocsEditable() |
+ void __delete__(index_OR_name) native; |
- String __getter__(int index); |
Alan Knight
2016/05/18 17:17:04
Are these used by anything? If they are, this see
Jacob
2016/05/18 17:59:59
It is doubtful this is used by anything as the dar
|
+ @DomName('DOMStringMap.__getter__') |
+ @DocsEditable() |
+ String __getter__(int index) native; |
- void __setter__(index_OR_name, String value); |
+ @DomName('DOMStringMap.__setter__') |
+ @DocsEditable() |
+ void __setter__(index_OR_name, String value) native; |
- String item(String name); |
+ @DomName('DOMStringMap.item') |
+ @DocsEditable() |
+ @Experimental() // untriaged |
+ String item(String name) native; |
} |
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |
@@ -16852,7 +16856,7 @@ class FileError extends DomError { |
@DocsEditable() |
@DomName('FileList') |
@Native("FileList") |
-class FileList extends Interceptor with ListMixin<File>, ImmutableListMixin<File> implements JavaScriptIndexingBehavior, List<File> { |
+class FileList extends Interceptor with ListMixin<File>, ImmutableListMixin<File> implements List<File>, JavaScriptIndexingBehavior<File> { |
// To suppress missing implicit constructor warnings. |
factory FileList._() { throw new UnsupportedError("Not supported"); } |
@@ -18887,7 +18891,7 @@ class HmdvrDevice extends VRDevice { |
@DocsEditable() |
@DomName('HTMLCollection') |
@Native("HTMLCollection") |
-class HtmlCollection extends Interceptor with ListMixin<Node>, ImmutableListMixin<Node> implements JavaScriptIndexingBehavior, List<Node> { |
+class HtmlCollection extends Interceptor with ListMixin<Node>, ImmutableListMixin<Node> implements JavaScriptIndexingBehavior<Node>, List<Node> { |
// To suppress missing implicit constructor warnings. |
factory HtmlCollection._() { throw new UnsupportedError("Not supported"); } |
@@ -23801,7 +23805,7 @@ class MimeType extends Interceptor { |
@DomName('MimeTypeArray') |
@Experimental() // non-standard |
@Native("MimeTypeArray") |
-class MimeTypeArray extends Interceptor with ListMixin<MimeType>, ImmutableListMixin<MimeType> implements JavaScriptIndexingBehavior, List<MimeType> { |
+class MimeTypeArray extends Interceptor with ListMixin<MimeType>, ImmutableListMixin<MimeType> implements List<MimeType>, JavaScriptIndexingBehavior<MimeType> { |
// To suppress missing implicit constructor warnings. |
factory MimeTypeArray._() { throw new UnsupportedError("Not supported"); } |
@@ -25434,7 +25438,7 @@ class NodeIterator extends Interceptor { |
@DocsEditable() |
@DomName('NodeList') |
@Native("NodeList,RadioNodeList") |
-class NodeList extends Interceptor with ListMixin<Node>, ImmutableListMixin<Node> implements JavaScriptIndexingBehavior, List<Node> { |
+class NodeList extends Interceptor with ListMixin<Node>, ImmutableListMixin<Node> implements JavaScriptIndexingBehavior<Node>, List<Node> { |
// To suppress missing implicit constructor warnings. |
factory NodeList._() { throw new UnsupportedError("Not supported"); } |
@@ -26938,7 +26942,7 @@ class Plugin extends Interceptor { |
@DomName('PluginArray') |
@Experimental() // non-standard |
@Native("PluginArray") |
-class PluginArray extends Interceptor with ListMixin<Plugin>, ImmutableListMixin<Plugin> implements JavaScriptIndexingBehavior, List<Plugin> { |
+class PluginArray extends Interceptor with ListMixin<Plugin>, ImmutableListMixin<Plugin> implements JavaScriptIndexingBehavior<Plugin>, List<Plugin> { |
// To suppress missing implicit constructor warnings. |
factory PluginArray._() { throw new UnsupportedError("Not supported"); } |
@@ -28031,24 +28035,6 @@ typedef void RequestAnimationFrameCallback(num highResTime); |
@DocsEditable() |
-@DomName('ResourceProgressEvent') |
-// https://chromiumcodereview.appspot.com/14773025/ |
-@deprecated // experimental |
-@Native("ResourceProgressEvent") |
-class ResourceProgressEvent extends ProgressEvent { |
- // To suppress missing implicit constructor warnings. |
- factory ResourceProgressEvent._() { throw new UnsupportedError("Not supported"); } |
- |
- @DomName('ResourceProgressEvent.url') |
- @DocsEditable() |
- final String 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. |
- |
- |
-@DocsEditable() |
@DomName('RTCDataChannel') |
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCDataChannel |
@Experimental() |
@@ -28358,7 +28344,7 @@ class RtcIceCandidateEvent extends Event { |
@SupportedBrowser(SupportedBrowser.CHROME) |
@Experimental() |
// http://dev.w3.org/2011/webrtc/editor/webrtc.html#idl-def-RTCPeerConnection |
-@Native("RTCPeerConnection,mozRTCPeerConnection") |
+@Native("RTCPeerConnection,webkitRTCPeerConnection,mozRTCPeerConnection") |
class RtcPeerConnection extends EventTarget { |
factory RtcPeerConnection(Map rtcIceServers, [Map mediaConstraints]) { |
var constructorName = JS('RtcPeerConnection', 'window[#]', |
@@ -30176,7 +30162,7 @@ class SourceBuffer extends EventTarget { |
// https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#sourcebufferlist |
@Experimental() |
@Native("SourceBufferList") |
-class SourceBufferList extends EventTarget with ListMixin<SourceBuffer>, ImmutableListMixin<SourceBuffer> implements JavaScriptIndexingBehavior, List<SourceBuffer> { |
+class SourceBufferList extends EventTarget with ListMixin<SourceBuffer>, ImmutableListMixin<SourceBuffer> implements JavaScriptIndexingBehavior<SourceBuffer>, List<SourceBuffer> { |
// To suppress missing implicit constructor warnings. |
factory SourceBufferList._() { throw new UnsupportedError("Not supported"); } |
@@ -30370,7 +30356,7 @@ class SpeechGrammar extends Interceptor { |
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#dfn-speechgrammarlist |
@Experimental() |
@Native("SpeechGrammarList") |
-class SpeechGrammarList extends Interceptor with ListMixin<SpeechGrammar>, ImmutableListMixin<SpeechGrammar> implements JavaScriptIndexingBehavior, List<SpeechGrammar> { |
+class SpeechGrammarList extends Interceptor with ListMixin<SpeechGrammar>, ImmutableListMixin<SpeechGrammar> implements JavaScriptIndexingBehavior<SpeechGrammar>, List<SpeechGrammar> { |
// To suppress missing implicit constructor warnings. |
factory SpeechGrammarList._() { throw new UnsupportedError("Not supported"); } |
@@ -32451,7 +32437,7 @@ class TextTrackCue extends EventTarget { |
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcuelist |
@Experimental() |
@Native("TextTrackCueList") |
-class TextTrackCueList extends Interceptor with ListMixin<TextTrackCue>, ImmutableListMixin<TextTrackCue> implements List<TextTrackCue>, JavaScriptIndexingBehavior { |
+class TextTrackCueList extends Interceptor with ListMixin<TextTrackCue>, ImmutableListMixin<TextTrackCue> implements List<TextTrackCue>, JavaScriptIndexingBehavior<TextTrackCue> { |
// To suppress missing implicit constructor warnings. |
factory TextTrackCueList._() { throw new UnsupportedError("Not supported"); } |
@@ -32521,7 +32507,7 @@ class TextTrackCueList extends Interceptor with ListMixin<TextTrackCue>, Immutab |
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttracklist |
@Experimental() |
@Native("TextTrackList") |
-class TextTrackList extends EventTarget with ListMixin<TextTrack>, ImmutableListMixin<TextTrack> implements JavaScriptIndexingBehavior, List<TextTrack> { |
+class TextTrackList extends EventTarget with ListMixin<TextTrack>, ImmutableListMixin<TextTrack> implements List<TextTrack>, JavaScriptIndexingBehavior<TextTrack> { |
// To suppress missing implicit constructor warnings. |
factory TextTrackList._() { throw new UnsupportedError("Not supported"); } |
@@ -32863,7 +32849,7 @@ class TouchEvent extends UIEvent { |
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features |
@Experimental() |
@Native("TouchList") |
-class TouchList extends Interceptor with ListMixin<Touch>, ImmutableListMixin<Touch> implements JavaScriptIndexingBehavior, List<Touch> { |
+class TouchList extends Interceptor with ListMixin<Touch>, ImmutableListMixin<Touch> implements JavaScriptIndexingBehavior<Touch>, 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. |
@@ -36553,7 +36539,9 @@ class _BeforeUnloadEventStreamProvider implements |
const _BeforeUnloadEventStreamProvider(this._eventType); |
Stream<BeforeUnloadEvent> forTarget(EventTarget e, {bool useCapture: false}) { |
- var stream = new _EventStream(e, _eventType, useCapture); |
+ // Specify the generic type for EventStream only in dart2js to avoid |
+ // checked mode errors in dartium. |
+ var stream = new _EventStream<BeforeUnloadEvent>(e, _eventType, useCapture); |
var controller = new StreamController<BeforeUnloadEvent>(sync: true); |
stream.listen((event) { |
@@ -36569,12 +36557,16 @@ class _BeforeUnloadEventStreamProvider implements |
} |
ElementStream<BeforeUnloadEvent> forElement(Element e, {bool useCapture: false}) { |
- return new _ElementEventStreamImpl(e, _eventType, useCapture); |
+ // Specify the generic type for _ElementEventStreamImpl only in dart2js to |
+ // avoid checked mode errors in dartium. |
+ return new _ElementEventStreamImpl<BeforeUnloadEvent>(e, _eventType, useCapture); |
} |
ElementStream<BeforeUnloadEvent> _forElementList(ElementList e, |
{bool useCapture: false}) { |
- return new _ElementListEventStreamImpl(e, _eventType, useCapture); |
+ // Specify the generic type for _ElementEventStreamImpl only in dart2js to |
+ // avoid checked mode errors in dartium. |
+ return new _ElementListEventStreamImpl<BeforeUnloadEvent>(e, _eventType, useCapture); |
} |
} |
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
@@ -37642,7 +37634,7 @@ class _ClientRectList extends Interceptor with ListMixin<Rectangle>, ImmutableLi |
@DocsEditable() |
@DomName('CSSRuleList') |
@Native("CSSRuleList") |
-class _CssRuleList extends Interceptor with ListMixin<CssRule>, ImmutableListMixin<CssRule> implements JavaScriptIndexingBehavior, List<CssRule> { |
+class _CssRuleList extends Interceptor with ListMixin<CssRule>, ImmutableListMixin<CssRule> implements JavaScriptIndexingBehavior<CssRule>, List<CssRule> { |
// To suppress missing implicit constructor warnings. |
factory _CssRuleList._() { throw new UnsupportedError("Not supported"); } |
@@ -37896,7 +37888,7 @@ abstract class _FileWriterSync extends Interceptor { |
// https://dvcs.w3.org/hg/gamepad/raw-file/default/gamepad.html |
@Experimental() |
@Native("GamepadList") |
-class _GamepadList extends Interceptor with ListMixin<Gamepad>, ImmutableListMixin<Gamepad> implements JavaScriptIndexingBehavior, List<Gamepad> { |
+class _GamepadList extends Interceptor with ListMixin<Gamepad>, ImmutableListMixin<Gamepad> implements List<Gamepad>, JavaScriptIndexingBehavior<Gamepad> { |
// To suppress missing implicit constructor warnings. |
factory _GamepadList._() { throw new UnsupportedError("Not supported"); } |
@@ -38103,7 +38095,7 @@ abstract class _HTMLMarqueeElement extends HtmlElement { |
// http://dom.spec.whatwg.org/#namednodemap |
@deprecated // deprecated |
@Native("NamedNodeMap,MozNamedAttrMap") |
-class _NamedNodeMap extends Interceptor with ListMixin<Node>, ImmutableListMixin<Node> implements JavaScriptIndexingBehavior, List<Node> { |
+class _NamedNodeMap extends Interceptor with ListMixin<Node>, ImmutableListMixin<Node> implements JavaScriptIndexingBehavior<Node>, List<Node> { |
// To suppress missing implicit constructor warnings. |
factory _NamedNodeMap._() { throw new UnsupportedError("Not supported"); } |
@@ -38271,6 +38263,20 @@ class _Request extends Body { |
@DocsEditable() |
+@DomName('ResourceProgressEvent') |
+// https://chromiumcodereview.appspot.com/14773025/ |
+@deprecated // experimental |
+@Native("ResourceProgressEvent") |
+abstract class _ResourceProgressEvent extends ProgressEvent { |
+ // To suppress missing implicit constructor warnings. |
+ factory _ResourceProgressEvent._() { 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. |
+ |
+ |
+@DocsEditable() |
@DomName('Response') |
@Experimental() // untriaged |
@Native("Response") |
@@ -38319,7 +38325,7 @@ abstract class _ServiceWorker extends EventTarget implements AbstractWorker { |
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechrecognitionresultlist |
@Experimental() |
@Native("SpeechRecognitionResultList") |
-class _SpeechRecognitionResultList extends Interceptor with ListMixin<SpeechRecognitionResult>, ImmutableListMixin<SpeechRecognitionResult> implements JavaScriptIndexingBehavior, List<SpeechRecognitionResult> { |
+class _SpeechRecognitionResultList extends Interceptor with ListMixin<SpeechRecognitionResult>, ImmutableListMixin<SpeechRecognitionResult> implements JavaScriptIndexingBehavior<SpeechRecognitionResult>, List<SpeechRecognitionResult> { |
// To suppress missing implicit constructor warnings. |
factory _SpeechRecognitionResultList._() { throw new UnsupportedError("Not supported"); } |
@@ -38383,7 +38389,7 @@ class _SpeechRecognitionResultList extends Interceptor with ListMixin<SpeechReco |
@DocsEditable() |
@DomName('StyleSheetList') |
@Native("StyleSheetList") |
-class _StyleSheetList extends Interceptor with ListMixin<StyleSheet>, ImmutableListMixin<StyleSheet> implements JavaScriptIndexingBehavior, List<StyleSheet> { |
+class _StyleSheetList extends Interceptor with ListMixin<StyleSheet>, ImmutableListMixin<StyleSheet> implements List<StyleSheet>, JavaScriptIndexingBehavior<StyleSheet> { |
// To suppress missing implicit constructor warnings. |
factory _StyleSheetList._() { throw new UnsupportedError("Not supported"); } |
@@ -39916,7 +39922,7 @@ class EventStreamProvider<T extends Event> { |
* [addEventListener](http://docs.webplatform.org/wiki/dom/methods/addEventListener) |
*/ |
ElementStream<T> _forElementList(ElementList e, {bool useCapture: false}) { |
- return new _ElementListEventStreamImpl(e, _eventType, useCapture); |
+ return new _ElementListEventStreamImpl<T>(e, _eventType, useCapture); |
} |
/** |
@@ -40134,9 +40140,9 @@ class _EventStreamSubscription<T extends Event> extends StreamSubscription<T> { |
} |
} |
- Future asFuture([var futureValue]) { |
+ Future/*<E>*/ asFuture/*<E>*/([var/*=E*/ futureValue]) { |
// We just need a future that will never succeed or fail. |
- Completer completer = new Completer(); |
+ var completer = new Completer/*<E>*/(); |
return completer.future; |
} |
} |
@@ -42512,7 +42518,7 @@ class _WrappedList<E extends Node> extends ListBase<E> |
// Iterable APIs |
- Iterator<E> get iterator => new _WrappedIterator(_list.iterator); |
+ Iterator<E> get iterator => new _WrappedIterator<E>(_list.iterator); |
int get length => _list.length; |