mirror of
https://github.com/dart-lang/sdk
synced 2024-10-07 15:09:40 +00:00
Fix more warnings for dart:html.
BUG= R=blois@google.com Review URL: https://codereview.chromium.org//153823007 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32618 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
parent
63d7f6337b
commit
9f1b31b001
|
@ -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
|
||||
|
|
|
@ -101,7 +101,7 @@ HtmlDocument get document {
|
|||
|
||||
@DocsEditable()
|
||||
@DomName('AbstractWorker')
|
||||
class AbstractWorker extends NativeFieldWrapperClass2 implements EventTarget {
|
||||
abstract class AbstractWorker extends NativeFieldWrapperClass2 implements EventTarget {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory AbstractWorker._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
@ -304,6 +304,12 @@ class AnchorElement extends HtmlElement implements UrlUtils {
|
|||
@DocsEditable()
|
||||
void set href(String value) native "HTMLAnchorElement_href_Setter";
|
||||
|
||||
@DomName('HTMLAnchorElement.origin')
|
||||
@DocsEditable()
|
||||
// WebKit only
|
||||
@Experimental() // non-standard
|
||||
String get origin native "HTMLAnchorElement_origin_Getter";
|
||||
|
||||
@DomName('HTMLAnchorElement.password')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
|
@ -8291,13 +8297,16 @@ class DocumentFragment extends Node implements ParentNode {
|
|||
validator: validator, treeSanitizer: treeSanitizer);
|
||||
}
|
||||
|
||||
List<Element> _children;
|
||||
HtmlCollection get _children => throw new UnimplementedError(
|
||||
'Use _docChildren instead');
|
||||
|
||||
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) {
|
||||
|
@ -8427,7 +8436,7 @@ class DocumentFragment extends Node implements ParentNode {
|
|||
@DomName('DocumentType')
|
||||
// http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-412266927
|
||||
@deprecated // stable
|
||||
class DocumentType extends Node implements ChildNode {
|
||||
abstract class DocumentType extends Node implements ChildNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory DocumentType._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
@ -11186,8 +11195,6 @@ abstract class Element extends Node implements GlobalEventHandlers, ParentNode,
|
|||
|
||||
bool hidden;
|
||||
|
||||
InputMethodContext get inputMethodContext;
|
||||
|
||||
bool get isContentEditable;
|
||||
|
||||
String lang;
|
||||
|
@ -15596,10 +15603,6 @@ class HtmlFormControlsCollection extends HtmlCollection {
|
|||
// To suppress missing implicit constructor warnings.
|
||||
factory HtmlFormControlsCollection._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
@DomName('HTMLFormControlsCollection.__getter__')
|
||||
@DocsEditable()
|
||||
Node __getter__(int index) native "HTMLFormControlsCollection___getter___Callback";
|
||||
|
||||
@DomName('HTMLFormControlsCollection.namedItem')
|
||||
@DocsEditable()
|
||||
Node namedItem(String name) native "HTMLFormControlsCollection_namedItem_Callback";
|
||||
|
@ -28922,13 +28925,13 @@ class Url extends NativeFieldWrapperClass2 implements UrlUtils {
|
|||
if ((blob_OR_source_OR_stream is Blob || blob_OR_source_OR_stream == null)) {
|
||||
return _createObjectURL_1(blob_OR_source_OR_stream);
|
||||
}
|
||||
if ((blob_OR_source_OR_stream is MediaStream || blob_OR_source_OR_stream == null)) {
|
||||
if ((blob_OR_source_OR_stream is MediaSource || blob_OR_source_OR_stream == null)) {
|
||||
return _createObjectURL_2(blob_OR_source_OR_stream);
|
||||
}
|
||||
if ((blob_OR_source_OR_stream is MediaSource || blob_OR_source_OR_stream == null)) {
|
||||
if ((blob_OR_source_OR_stream is _WebKitMediaSource || blob_OR_source_OR_stream == null)) {
|
||||
return _createObjectURL_3(blob_OR_source_OR_stream);
|
||||
}
|
||||
if ((blob_OR_source_OR_stream is _WebKitMediaSource || blob_OR_source_OR_stream == null)) {
|
||||
if ((blob_OR_source_OR_stream is MediaStream || blob_OR_source_OR_stream == null)) {
|
||||
return _createObjectURL_4(blob_OR_source_OR_stream);
|
||||
}
|
||||
throw new ArgumentError("Incorrect number or type of arguments");
|
||||
|
@ -31603,6 +31606,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
|
||||
|
@ -31641,11 +31653,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
|
||||
|
@ -31686,11 +31693,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
|
||||
|
@ -33920,6 +33922,10 @@ abstract class _XMLHttpRequestProgressEvent extends ProgressEvent {
|
|||
*/
|
||||
class _WrappedEvent implements Event {
|
||||
final Event wrapped;
|
||||
|
||||
/** The CSS selector involved with event delegation. */
|
||||
String _selector;
|
||||
|
||||
_WrappedEvent(this.wrapped);
|
||||
|
||||
bool get bubbles => wrapped.bubbles;
|
||||
|
@ -33957,6 +33963,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) 2012, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
|
@ -34290,7 +34333,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.
|
||||
|
||||
/**
|
||||
|
@ -35363,6 +35406,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.
|
||||
|
||||
|
@ -38088,6 +38134,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) 2013, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
|
@ -38585,7 +38642,7 @@ class _Utils {
|
|||
// TODO(vsm): Move these checks into native code.
|
||||
ClassMirror cls = reflectClass(type);
|
||||
if (_isBuiltinType(cls)) {
|
||||
throw new UnsupportedError("Invalid custom element from ${cls.owner.uri}.");
|
||||
throw new UnsupportedError("Invalid custom element from ${(cls.owner as LibraryMirror).uri}.");
|
||||
}
|
||||
var className = MirrorSystem.getName(cls.simpleName);
|
||||
var createdConstructor = cls.declarations[new Symbol('$className.created')];
|
||||
|
|
|
@ -70,6 +70,6 @@ class Lists {
|
|||
/**
|
||||
* For accessing underlying node lists, for dart:js interop.
|
||||
*/
|
||||
class NodeListWrapper {
|
||||
abstract class NodeListWrapper {
|
||||
List<Node> get rawList;
|
||||
}
|
||||
|
|
|
@ -25,9 +25,6 @@ const Map<String, List<String>> WHITE_LIST = const {
|
|||
"is not assignable to the type 'HtmlCollection'", // Issue 16105.
|
||||
"is not a subtype of the overridden method type", // Issue 16105.
|
||||
],
|
||||
'html_common/lists.dart': const [
|
||||
"has no implementation" // Issue 16105.
|
||||
],
|
||||
};
|
||||
|
||||
void main() {
|
||||
|
|
|
@ -2241,6 +2241,8 @@
|
|||
"support_level": "nonstandard"
|
||||
},
|
||||
"inputMethodContext": {
|
||||
"comment": "http://www.w3.org/TR/ime-api/#the-inputmethodcontext-property Per the spec is only on HTMLElement.",
|
||||
"dart_action": "suppress",
|
||||
"support_level": "untriaged"
|
||||
},
|
||||
"insertAdjacentElement": {
|
||||
|
@ -3380,7 +3382,6 @@
|
|||
},
|
||||
"origin": {
|
||||
"comment": "WebKit only",
|
||||
"dart_action": "suppress",
|
||||
"support_level": "nonstandard"
|
||||
},
|
||||
"password": {
|
||||
|
|
|
@ -18,6 +18,7 @@ _pure_interfaces = monitored.Set('generator._pure_interfaces', [
|
|||
# TODO(sra): DOMStringMap should be a class implementing Map<String,String>.
|
||||
'DOMStringMap',
|
||||
'ChildNode',
|
||||
'DocumentType',
|
||||
'EventListener',
|
||||
'GlobalEventHandlers',
|
||||
'MediaQueryListListener',
|
||||
|
|
|
@ -627,6 +627,8 @@ removed_html_members = monitored.Set('htmlrenamer.removed_html_members', [
|
|||
'HTMLDirectoryElement.*',
|
||||
'HTMLDivElement.align',
|
||||
'HTMLFontElement.*',
|
||||
'HTMLFormControlsCollection.__getter__',
|
||||
'HTMLFormControlsCollection.get:Node',
|
||||
'HTMLFormElement.get:elements',
|
||||
'HTMLFrameElement.*',
|
||||
'HTMLFrameSetElement.*',
|
||||
|
@ -753,6 +755,7 @@ removed_html_members = monitored.Set('htmlrenamer.removed_html_members', [
|
|||
'SVGElementInstance.on:wheel',
|
||||
'WheelEvent.wheelDelta',
|
||||
'Window.on:wheel',
|
||||
'WindowEventHandlers.on:beforeUnload',
|
||||
'WorkerGlobalScope.webkitIndexedDB',
|
||||
# TODO(jacobr): should these be removed?
|
||||
'Document.close',
|
||||
|
|
|
@ -1382,6 +1382,7 @@ class CPPLibraryEmitter():
|
|||
is_node_test = lambda interface: interface.id == 'Node'
|
||||
is_active_test = lambda interface: 'ActiveDOMObject' in interface.ext_attrs
|
||||
is_event_target_test = lambda interface: 'EventTarget' in interface.ext_attrs
|
||||
|
||||
def TypeCheckHelper(test):
|
||||
return 'true' if any(map(test, database.Hierarchy(interface))) else 'false'
|
||||
for interface in database.GetInterfaces():
|
||||
|
|
|
@ -23,7 +23,7 @@ part of html;
|
|||
* * [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.
|
||||
|
||||
/**
|
||||
|
|
|
@ -428,4 +428,7 @@ class _CustomEventStreamProvider<T extends Event>
|
|||
String getEventType(EventTarget target) {
|
||||
return _eventTypeGetter(target);
|
||||
}
|
||||
|
||||
String get _eventType =>
|
||||
throw new UnsupportedError('Access type through getEventType method.');
|
||||
}
|
||||
|
|
|
@ -9,6 +9,10 @@ part of dart.html;
|
|||
*/
|
||||
class _WrappedEvent implements Event {
|
||||
final Event wrapped;
|
||||
|
||||
/** The CSS selector involved with event delegation. */
|
||||
String _selector;
|
||||
|
||||
_WrappedEvent(this.wrapped);
|
||||
|
||||
bool get bubbles => wrapped.bubbles;
|
||||
|
@ -46,4 +50,41 @@ 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;
|
||||
}
|
||||
|
|
|
@ -210,4 +210,15 @@ 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();
|
||||
}
|
||||
|
|
|
@ -129,4 +129,15 @@ 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();
|
||||
}
|
||||
|
|
|
@ -406,7 +406,7 @@ class _Utils {
|
|||
// TODO(vsm): Move these checks into native code.
|
||||
ClassMirror cls = reflectClass(type);
|
||||
if (_isBuiltinType(cls)) {
|
||||
throw new UnsupportedError("Invalid custom element from ${cls.owner.uri}.");
|
||||
throw new UnsupportedError("Invalid custom element from ${(cls.owner as LibraryMirror).uri}.");
|
||||
}
|
||||
var className = MirrorSystem.getName(cls.simpleName);
|
||||
var createdConstructor = cls.declarations[new Symbol('$className.created')];
|
||||
|
|
|
@ -5,5 +5,5 @@
|
|||
part of $LIBRARYNAME;
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$MIXINS implements EventTarget$NATIVESPEC {
|
||||
$(ANNOTATIONS)$(CLASS_MODIFIERS)abstract class $CLASSNAME$EXTENDS$MIXINS implements EventTarget$NATIVESPEC {
|
||||
$!MEMBERS}
|
||||
|
|
|
@ -21,18 +21,21 @@ $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
|
|||
validator: validator, treeSanitizer: treeSanitizer);
|
||||
}
|
||||
|
||||
HtmlCollection get _children => throw new UnimplementedError(
|
||||
'Use _docChildren instead');
|
||||
|
||||
$if DART2JS
|
||||
// Native field is used only by Dart code so does not lead to instantiation
|
||||
// of native classes
|
||||
@Creates('Null')
|
||||
$endif
|
||||
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) {
|
||||
|
|
|
@ -394,4 +394,13 @@ $endif
|
|||
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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue