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 06fd6fb178717a027513bb7aef1158e043bcd8e4..b23c82af392da3281d701c23677cf871dd8b42a2 100644 |
--- a/sdk/lib/html/dart2js/html_dart2js.dart |
+++ b/sdk/lib/html/dart2js/html_dart2js.dart |
@@ -111,7 +111,7 @@ abstract class _EntryArray implements List<Entry> native "EntryArray" {} |
@DocsEditable() |
@DomName('AbstractWorker') |
-class AbstractWorker extends Interceptor implements EventTarget native "AbstractWorker" { |
+abstract class AbstractWorker extends Interceptor implements EventTarget native "AbstractWorker" { |
// To suppress missing implicit constructor warnings. |
factory AbstractWorker._() { throw new UnsupportedError("Not supported"); } |
@@ -266,6 +266,12 @@ class AnchorElement extends HtmlElement implements UrlUtils native "HTMLAnchorEl |
@DocsEditable() |
String href; |
+ @DomName('HTMLAnchorElement.origin') |
+ @DocsEditable() |
+ // WebKit only |
+ @Experimental() // non-standard |
+ final String origin; |
+ |
@DomName('HTMLAnchorElement.password') |
@DocsEditable() |
@Experimental() // untriaged |
@@ -7843,16 +7849,19 @@ class DocumentFragment extends Node implements ParentNode native "DocumentFragme |
validator: validator, treeSanitizer: treeSanitizer); |
} |
+ HtmlCollection get _children => throw new UnimplementedError( |
+ 'Use _docChildren instead'); |
+ |
// Native field is used only by Dart code so does not lead to instantiation |
// of native classes |
@Creates('Null') |
- List<Element> _children; |
+ List<Element> _docChildren; |
List<Element> get children { |
- if (_children == null) { |
- _children = new FilteredElementList(this); |
+ if (_docChildren == null) { |
+ _docChildren = new FilteredElementList(this); |
} |
- return _children; |
+ return _docChildren; |
} |
void set children(List<Element> value) { |
@@ -7988,7 +7997,7 @@ class DocumentFragment extends Node implements ParentNode native "DocumentFragme |
@DomName('DocumentType') |
// http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-412266927 |
@deprecated // stable |
-class DocumentType extends Node implements ChildNode native "DocumentType" { |
+abstract class DocumentType extends Node implements ChildNode { |
// To suppress missing implicit constructor warnings. |
factory DocumentType._() { throw new UnsupportedError("Not supported"); } |
@@ -10901,19 +10910,6 @@ abstract class Element extends Node implements GlobalEventHandlers, ParentNode, |
@DocsEditable() |
bool hidden; |
- /** |
- * The current state of IME composition. |
- * |
- * ## Other resources |
- * |
- * * [Input method editor specification] |
- * (http://www.w3.org/TR/ime-api/) from W3C. |
- */ |
- @DomName('Element.inputMethodContext') |
- @DocsEditable() |
- @Experimental() // untriaged |
- final InputMethodContext inputMethodContext; |
- |
@DomName('Element.isContentEditable') |
@DocsEditable() |
final bool isContentEditable; |
@@ -14512,10 +14508,6 @@ class HtmlDocument extends Document native "HTMLDocument" { |
class HtmlFormControlsCollection extends HtmlCollection native "HTMLFormControlsCollection" { |
// To suppress missing implicit constructor warnings. |
factory HtmlFormControlsCollection._() { throw new UnsupportedError("Not supported"); } |
- |
- @DomName('HTMLFormControlsCollection.__getter__') |
- @DocsEditable() |
- Node __getter__(int index) 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 |
@@ -14612,17 +14604,6 @@ class HttpRequest extends HttpRequestEventTarget native "XMLHttpRequest" { |
* |
* 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: |
* |
@@ -14641,20 +14622,6 @@ class HttpRequest extends HttpRequestEventTarget native "XMLHttpRequest" { |
* 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] |
@@ -14706,25 +14673,6 @@ class HttpRequest extends HttpRequestEventTarget native "XMLHttpRequest" { |
* * 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 |
@@ -29221,6 +29169,15 @@ class _BeforeUnloadEventStreamProvider implements |
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 |
@@ -29250,11 +29207,6 @@ abstract class WindowEventHandlers extends EventTarget { |
// To suppress missing implicit constructor warnings. |
factory WindowEventHandlers._() { throw new UnsupportedError("Not supported"); } |
- @DomName('WindowEventHandlers.beforeunloadEvent') |
- @DocsEditable() |
- @Experimental() // untriaged |
- static const EventStreamProvider<Event> beforeUnloadEvent = const EventStreamProvider<Event>('beforeunload'); |
- |
@DomName('WindowEventHandlers.hashchangeEvent') |
@DocsEditable() |
@Experimental() // untriaged |
@@ -29295,11 +29247,6 @@ abstract class WindowEventHandlers extends EventTarget { |
@Experimental() // untriaged |
static const EventStreamProvider<Event> unloadEvent = const EventStreamProvider<Event>('unload'); |
- @DomName('WindowEventHandlers.onbeforeunload') |
- @DocsEditable() |
- @Experimental() // untriaged |
- Stream<Event> get onBeforeUnload => beforeUnloadEvent.forTarget(this); |
- |
@DomName('WindowEventHandlers.onhashchange') |
@DocsEditable() |
@Experimental() // untriaged |
@@ -31627,7 +31574,7 @@ abstract class CanvasImageSource {} |
* * [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 { |
+abstract class WindowBase { |
// Fields. |
/** |
@@ -32700,6 +32647,9 @@ class _CustomEventStreamProvider<T extends Event> |
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. |
@@ -34934,6 +34884,10 @@ abstract class ReadyState { |
*/ |
class _WrappedEvent implements Event { |
final Event wrapped; |
+ |
+ /** The CSS selector involved with event delegation. */ |
+ String _selector; |
+ |
_WrappedEvent(this.wrapped); |
bool get bubbles => wrapped.bubbles; |
@@ -34971,6 +34925,43 @@ class _WrappedEvent implements Event { |
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; |
+ |
+ dynamic get _get_currentTarget => wrapped._get_currentTarget; |
+ |
+ dynamic get _get_target => wrapped._get_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 |
@@ -35624,6 +35615,17 @@ class KeyEvent extends _WrappedEvent implements KeyboardEvent { |
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) 2011, the Dart project authors. Please see the AUTHORS file |
// for details. All rights reserved. Use of this source code is governed by a |