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 50e16be7c446583a9f9513e84aecd88e56e5280c..4da7740770401039550f955644b86ab1a039f45a 100644 |
--- a/sdk/lib/html/dart2js/html_dart2js.dart |
+++ b/sdk/lib/html/dart2js/html_dart2js.dart |
@@ -165,7 +165,7 @@ class AnchorElement extends HtmlElement implements UrlUtils { |
@DomName('HTMLAnchorElement.HTMLAnchorElement') |
@DocsEditable() |
factory AnchorElement({String href}) { |
- var e = document.createElement("a"); |
+ AnchorElement e = document.createElement("a"); |
if (href != null) e.href = href; |
return e; |
} |
@@ -1868,7 +1868,7 @@ class CanvasElement extends HtmlElement implements CanvasImageSource { |
@DomName('HTMLCanvasElement.HTMLCanvasElement') |
@DocsEditable() |
factory CanvasElement({int width, int height}) { |
- var e = document.createElement("canvas"); |
+ CanvasElement e = document.createElement("canvas"); |
if (width != null) e.width = width; |
if (height != null) e.height = height; |
return e; |
@@ -3099,7 +3099,7 @@ class CompositionEvent extends UIEvent { |
if (view == null) { |
view = window; |
} |
- var e = document._createEvent("CompositionEvent"); |
+ CompositionEvent e = document._createEvent("CompositionEvent"); |
if (Device.isFirefox) { |
// Firefox requires the locale parameter that isn't supported elsewhere. |
@@ -3201,7 +3201,7 @@ class CompositorWorker extends EventTarget implements AbstractWorker { |
@DomName('CompositorWorker.errorEvent') |
@DocsEditable() |
@Experimental() // untriaged |
- static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error'); |
+ static const EventStreamProvider<ErrorEvent> errorEvent = const EventStreamProvider<ErrorEvent>('error'); |
@DomName('CompositorWorker.messageEvent') |
@DocsEditable() |
@@ -3247,7 +3247,7 @@ class CompositorWorker extends EventTarget implements AbstractWorker { |
@DomName('CompositorWorker.onerror') |
@DocsEditable() |
@Experimental() // untriaged |
- Stream<Event> get onError => errorEvent.forTarget(this); |
+ Stream<ErrorEvent> get onError => errorEvent.forTarget(this); |
@DomName('CompositorWorker.onmessage') |
@DocsEditable() |
@@ -9429,7 +9429,7 @@ 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"); |
+ DeviceOrientationEvent e = document._createEvent("DeviceOrientationEvent"); |
e._initDeviceOrientationEvent(type, canBubble, cancelable, alpha, beta, |
gamma, absolute); |
return e; |
@@ -10675,6 +10675,23 @@ class Document extends Node |
[int whatToShow, NodeFilter filter]) |
=> JS('TreeWalker', '#.createTreeWalker(#, #, #, false)', |
this, root, whatToShow, filter); |
+ |
+ /** |
+ * 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; |
+ |
} |
// 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 |
@@ -11202,125 +11219,53 @@ class DomMatrixReadOnly extends Interceptor { |
// To suppress missing implicit constructor warnings. |
factory DomMatrixReadOnly._() { throw new UnsupportedError("Not supported"); } |
- @DomName('DOMMatrixReadOnly.a') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double a; |
+ num get a => JS("num", "#.a", this); |
- @DomName('DOMMatrixReadOnly.b') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double b; |
+ num get b => JS("num", "#.b", this); |
- @DomName('DOMMatrixReadOnly.c') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double c; |
+ num get c => JS("num", "#.c", this); |
- @DomName('DOMMatrixReadOnly.d') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double d; |
+ num get d => JS("num", "#.d", this); |
- @DomName('DOMMatrixReadOnly.e') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double e; |
+ num get e => JS("num", "#.e", this); |
- @DomName('DOMMatrixReadOnly.f') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double f; |
+ num get f => JS("num", "#.f", this); |
- @DomName('DOMMatrixReadOnly.is2D') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final bool is2D; |
+ bool get is2D => JS("bool", "#.is2D", this); |
- @DomName('DOMMatrixReadOnly.isIdentity') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final bool isIdentity; |
+ bool get isIdentity => JS("bool", "#.isIdentity", this); |
- @DomName('DOMMatrixReadOnly.m11') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m11; |
+ num get m11 => JS("num", "#.m11", this); |
- @DomName('DOMMatrixReadOnly.m12') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m12; |
+ num get m12 => JS("num", "#.m12", this); |
- @DomName('DOMMatrixReadOnly.m13') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m13; |
+ num get m13 => JS("num", "#.m13", this); |
- @DomName('DOMMatrixReadOnly.m14') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m14; |
+ num get m14 => JS("num", "#.m14", this); |
- @DomName('DOMMatrixReadOnly.m21') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m21; |
+ num get m21 => JS("num", "#.m21", this); |
- @DomName('DOMMatrixReadOnly.m22') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m22; |
+ num get m22 => JS("num", "#.m22", this); |
- @DomName('DOMMatrixReadOnly.m23') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m23; |
+ num get m23 => JS("num", "#.m23", this); |
- @DomName('DOMMatrixReadOnly.m24') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m24; |
+ num get m24 => JS("num", "#.m24", this); |
- @DomName('DOMMatrixReadOnly.m31') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m31; |
+ num get m31 => JS("num", "#.m31", this); |
- @DomName('DOMMatrixReadOnly.m32') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m32; |
+ num get m32 => JS("num", "#.m32", this); |
- @DomName('DOMMatrixReadOnly.m33') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m33; |
+ num get m33 => JS("num", "#.m33", this); |
- @DomName('DOMMatrixReadOnly.m34') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m34; |
+ num get m34 => JS("num", "#.m34", this); |
- @DomName('DOMMatrixReadOnly.m41') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m41; |
+ num get m41 => JS("num", "#.m41", this); |
- @DomName('DOMMatrixReadOnly.m42') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m42; |
+ num get m42 => JS("num", "#.m42", this); |
- @DomName('DOMMatrixReadOnly.m43') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m43; |
+ num get m43 => JS("num", "#.m43", this); |
- @DomName('DOMMatrixReadOnly.m44') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double m44; |
+ num get m44 => JS("num", "#.m44", this); |
@DomName('DOMMatrixReadOnly.multiply') |
@DocsEditable() |
@@ -11475,25 +11420,13 @@ class DomPointReadOnly extends Interceptor { |
} |
static DomPointReadOnly _create_1(x, y, z, w) => JS('DomPointReadOnly', 'new DOMPointReadOnly(#,#,#,#)', x, y, z, w); |
- @DomName('DOMPointReadOnly.w') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double w; |
+ num get w => JS("num", "#.w", this); |
- @DomName('DOMPointReadOnly.x') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double x; |
+ num get x => JS("num", "#.x", this); |
- @DomName('DOMPointReadOnly.y') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double y; |
+ num get y => JS("num", "#.y", this); |
- @DomName('DOMPointReadOnly.z') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final double z; |
+ num get z => JS("num", "#.z", 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 |
@@ -12531,8 +12464,8 @@ abstract class ElementList<T extends Element> extends ListBase<T> { |
// declared to return `ElementList`. This provides all the static analysis |
// benefit so there is no need for this class have a constrained type parameter. |
// |
-class _FrozenElementList extends ListBase |
- implements ElementList, NodeListWrapper { |
+class _FrozenElementList extends ListBase<Element> |
+ implements ElementList<Element>, NodeListWrapper { |
final List<Node> _nodeList; |
_FrozenElementList._wrap(this._nodeList); |
@@ -12575,7 +12508,7 @@ class _FrozenElementList extends ListBase |
// |
// as the code below converts the Iterable[value] to a string multiple |
// times. Maybe compute the string and set className here. |
- _nodeList.forEach((e) => e.classes = value); |
+ forEach((e) => e.classes = value); |
} |
CssRect get contentEdge => new _ContentCssListRect(this); |
@@ -14025,7 +13958,7 @@ class Element extends Node implements NonDocumentTypeChildNode, GlobalEventHandl |
// Workaround for Safari bug. Was also previously Chrome bug 229142 |
// - URIs are not resolved in new doc. |
- var base = _parseDocument.createElement('base'); |
+ BaseElement base = _parseDocument.createElement('base'); |
base.href = document.baseUri; |
_parseDocument.head.append(base); |
} |
@@ -16215,7 +16148,7 @@ class Event extends Interceptor { |
e._initEvent(name, canBubble, cancelable); |
return e; |
} |
- |
+ |
/** The CSS selector involved with event delegation. */ |
String _selector; |
@@ -16229,8 +16162,8 @@ class Event extends Interceptor { |
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; |
+ Element currentTarget = this.currentTarget; |
+ Element target = this.target; |
var matchedTarget; |
do { |
if (target.matches(_selector)) return target; |
@@ -16523,26 +16456,24 @@ class Events { |
} |
class ElementEvents extends Events { |
- /* Raw event target. */ |
- final Element _ptr; |
static final webkitEvents = { |
- 'animationend' : 'webkitAnimationEnd', |
- 'animationiteration' : 'webkitAnimationIteration', |
- 'animationstart' : 'webkitAnimationStart', |
- 'fullscreenchange' : 'webkitfullscreenchange', |
+ 'animationend' : 'webkitAnimationEnd', |
+ 'animationiteration' : 'webkitAnimationIteration', |
+ 'animationstart' : 'webkitAnimationStart', |
+ 'fullscreenchange' : 'webkitfullscreenchange', |
'fullscreenerror' : 'webkitfullscreenerror', |
- 'keyadded' : 'webkitkeyadded', |
- 'keyerror' : 'webkitkeyerror', |
- 'keymessage' : 'webkitkeymessage', |
- 'needkey' : 'webkitneedkey', |
- 'pointerlockchange' : 'webkitpointerlockchange', |
- 'pointerlockerror' : 'webkitpointerlockerror', |
- 'resourcetimingbufferfull' : 'webkitresourcetimingbufferfull', |
+ '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); |
+ ElementEvents(Element ptr) : super(ptr); |
Stream operator [](String type) { |
if (webkitEvents.keys.contains(type.toLowerCase())) { |
@@ -19196,22 +19127,6 @@ class HtmlDocument extends Document { |
@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) |
@@ -20394,7 +20309,7 @@ class ImageElement extends HtmlElement implements CanvasImageSource { |
@DomName('HTMLImageElement.HTMLImageElement') |
@DocsEditable() |
factory ImageElement({String src, int width, int height}) { |
- var e = document.createElement("img"); |
+ ImageElement e = document.createElement("img"); |
if (src != null) e.src = src; |
if (width != null) e.width = width; |
if (height != null) e.height = height; |
@@ -21402,15 +21317,15 @@ abstract class ButtonInputElement implements InputElementBase { |
@Native("KeyboardEvent") |
class KeyboardEvent extends UIEvent { |
- /** |
- * Programmatically create a KeyboardEvent. |
+ /** |
+ * Programmatically create a KeyboardEvent. |
* |
* Due to browser differences, keyCode, charCode, or keyIdentifier values |
* cannot be specified in this base level constructor. This constructor |
* enables the user to programmatically create and dispatch a [KeyboardEvent], |
* but it will not contain any particular key content. For programmatically |
* creating keyboard events with specific key value contents, see the custom |
- * Event [KeyEvent]. |
+ * Event [KeyEvent]. |
*/ |
factory KeyboardEvent(String type, |
{Window view, bool canBubble: true, bool cancelable: true, |
@@ -21419,7 +21334,7 @@ class KeyboardEvent extends UIEvent { |
if (view == null) { |
view = window; |
} |
- final e = document._createEvent("KeyboardEvent"); |
+ KeyboardEvent e = document._createEvent("KeyboardEvent"); |
e._initKeyboardEvent(type, canBubble, cancelable, view, "", |
keyLocation, ctrlKey, altKey, shiftKey, metaKey); |
return e; |
@@ -23448,7 +23363,7 @@ class MessageEvent extends Event { |
type, canBubble, cancelable, data, origin, lastEventId, source, |
messagePorts); |
} |
- var event = document._createEvent("MessageEvent"); |
+ MessageEvent event = document._createEvent("MessageEvent"); |
event._initMessageEvent(type, canBubble, cancelable, data, origin, |
lastEventId, source, messagePorts); |
return event; |
@@ -24066,7 +23981,7 @@ class MouseEvent extends UIEvent { |
if (view == null) { |
view = window; |
} |
- var event = document._createEvent('MouseEvent'); |
+ MouseEvent event = document._createEvent('MouseEvent'); |
event._initMouseEvent(type, canBubble, cancelable, view, detail, |
screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, |
button, relatedTarget); |
@@ -30210,7 +30125,7 @@ class SharedWorker extends EventTarget implements AbstractWorker { |
@DomName('SharedWorker.errorEvent') |
@DocsEditable() |
@Experimental() // untriaged |
- static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error'); |
+ static const EventStreamProvider<ErrorEvent> errorEvent = const EventStreamProvider<ErrorEvent>('error'); |
@DomName('SharedWorker.SharedWorker') |
@DocsEditable() |
@@ -30235,7 +30150,7 @@ class SharedWorker extends EventTarget implements AbstractWorker { |
@DomName('SharedWorker.onerror') |
@DocsEditable() |
@Experimental() // untriaged |
- Stream<Event> get onError => errorEvent.forTarget(this); |
+ 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 |
@@ -31452,7 +31367,7 @@ class StorageEvent extends Event { |
{bool canBubble: false, bool cancelable: false, String key, String oldValue, |
String newValue, String url, Storage storageArea}) { |
- var e = document._createEvent("StorageEvent"); |
+ StorageEvent e = document._createEvent("StorageEvent"); |
e._initStorageEvent(type, canBubble, cancelable, key, oldValue, |
newValue, url, storageArea); |
return e; |
@@ -32386,7 +32301,7 @@ class TextEvent extends UIEvent { |
if (view == null) { |
view = window; |
} |
- var e = document._createEvent("TextEvent"); |
+ TextEvent e = document._createEvent("TextEvent"); |
e._initTextEvent(type, canBubble, cancelable, view, data); |
return e; |
} |
@@ -32980,7 +32895,7 @@ class TouchEvent extends UIEvent { |
if (view == null) { |
view = window; |
} |
- var e = document._createEvent("TouchEvent"); |
+ TouchEvent e = document._createEvent("TouchEvent"); |
e._initTouchEvent(touches, targetTouches, changedTouches, type, view, |
screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey); |
return e; |
@@ -33414,7 +33329,7 @@ class UIEvent extends Event { |
if (view == null) { |
view = window; |
} |
- final e = document._createEvent("UIEvent"); |
+ UIEvent e = document._createEvent("UIEvent"); |
e._initUIEvent(type, canBubble, cancelable, view, detail); |
return e; |
} |
@@ -36909,7 +36824,7 @@ class Worker extends EventTarget implements AbstractWorker { |
@DomName('Worker.errorEvent') |
@DocsEditable() |
@Experimental() // untriaged |
- static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error'); |
+ static const EventStreamProvider<ErrorEvent> errorEvent = const EventStreamProvider<ErrorEvent>('error'); |
/** |
* Static factory designed to expose `message` events to event |
@@ -36960,7 +36875,7 @@ class Worker extends EventTarget implements AbstractWorker { |
@DomName('Worker.onerror') |
@DocsEditable() |
@Experimental() // untriaged |
- Stream<Event> get onError => errorEvent.forTarget(this); |
+ Stream<ErrorEvent> get onError => errorEvent.forTarget(this); |
/// Stream of `message` events handled by this [Worker]. |
@DomName('Worker.onmessage') |
@@ -38293,7 +38208,7 @@ abstract class _MutationEvent extends Event { |
{bool canBubble: false, bool cancelable: false, Node relatedNode, |
String prevValue, String newValue, String attrName, int attrChange: 0}) { |
- var event = document._createEvent('MutationEvent'); |
+ MutationEvent event = document._createEvent('MutationEvent'); |
event._initMutationEvent(type, canBubble, cancelable, relatedNode, |
prevValue, newValue, attrName, attrChange); |
return event; |