Dartium JS Interop enabled.
TBR=alanknight@google.com Review URL: https://codereview.chromium.org//1349493003 .
This commit is contained in:
@@ -32,7 +32,7 @@ vars = {
|
||||
"https://chromium.googlesource.com/external/github.com/dart-lang/%s.git",
|
||||
|
||||
"gyp_rev": "@6ee91ad8659871916f9aa840d42e1513befdf638",
|
||||
"co19_rev": "@f95f109fea67127a220958794ef5200a63cb454c",
|
||||
"co19_rev": "@fad777939a2b891c0a79b69a4d79c914049c69b0",
|
||||
"chromium_url": "http://src.chromium.org/svn",
|
||||
"chromium_git": "https://chromium.googlesource.com",
|
||||
|
||||
|
||||
+6758
-21104
File diff suppressed because it is too large
Load Diff
@@ -581,7 +581,7 @@ class JSArray<E> extends Interceptor implements List<E>, JSIndexable {
|
||||
|
||||
int get length => JS('JSUInt32', r'#.length', this);
|
||||
|
||||
void set length(int newLength) {
|
||||
set length(int newLength) {
|
||||
checkGrowable('set length');
|
||||
if (newLength is !int) {
|
||||
throw new ArgumentError.value(newLength, 'newLength');
|
||||
|
||||
@@ -159,7 +159,7 @@ abstract class List<E> implements Iterable<E>, EfficientLength {
|
||||
*
|
||||
* Throws an [UnsupportedError] if the list is fixed-length.
|
||||
*/
|
||||
void set length(int newLength);
|
||||
set length(int newLength);
|
||||
|
||||
/**
|
||||
* Adds [value] to the end of this list,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+7613
-1556
File diff suppressed because it is too large
Load Diff
@@ -45,7 +45,7 @@ class FilteredElementList extends ListBase<Element> implements NodeListWrapper {
|
||||
this[index].replaceWith(value);
|
||||
}
|
||||
|
||||
void set length(int newLength) {
|
||||
set length(int newLength) {
|
||||
final len = this.length;
|
||||
if (newLength >= len) {
|
||||
return;
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
* and where both the keys and the values are strings.
|
||||
*
|
||||
* * [dart:web_sql]—a database that can be queried with SQL.
|
||||
*
|
||||
*
|
||||
* For a tutorial about using the indexed_db library with Dart,
|
||||
* check out
|
||||
* [Use IndexedDB](http://www.dartlang.org/docs/tutorials/indexeddb/).
|
||||
@@ -77,6 +77,7 @@ import 'dart:html';
|
||||
import 'dart:html_common';
|
||||
import 'dart:nativewrappers';
|
||||
import 'dart:_blink' as _blink;
|
||||
import 'dart:js' as js;
|
||||
// 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.
|
||||
@@ -122,6 +123,21 @@ final indexed_dbBlinkMap = {
|
||||
|
||||
};
|
||||
|
||||
// FIXME: Can we make this private?
|
||||
final indexed_dbBlinkFunctionMap = {
|
||||
'IDBCursor': () => Cursor.internalCreateCursor,
|
||||
'IDBCursorWithValue': () => CursorWithValue.internalCreateCursorWithValue,
|
||||
'IDBDatabase': () => Database.internalCreateDatabase,
|
||||
'IDBFactory': () => IdbFactory.internalCreateIdbFactory,
|
||||
'IDBIndex': () => Index.internalCreateIndex,
|
||||
'IDBKeyRange': () => KeyRange.internalCreateKeyRange,
|
||||
'IDBObjectStore': () => ObjectStore.internalCreateObjectStore,
|
||||
'IDBOpenDBRequest': () => OpenDBRequest.internalCreateOpenDBRequest,
|
||||
'IDBRequest': () => Request.internalCreateRequest,
|
||||
'IDBTransaction': () => Transaction.internalCreateTransaction,
|
||||
'IDBVersionChangeEvent': () => VersionChangeEvent.internalCreateVersionChangeEvent,
|
||||
|
||||
};
|
||||
// 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.
|
||||
@@ -151,21 +167,36 @@ class Cursor extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory Cursor._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static Cursor internalCreateCursor() {
|
||||
return new Cursor._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory Cursor._internalWrap() {
|
||||
return new Cursor.internal_();
|
||||
}
|
||||
|
||||
Cursor.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('IDBCursor.direction')
|
||||
@DocsEditable()
|
||||
String get direction => _blink.BlinkIDBCursor.instance.direction_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('IDBCursor.key')
|
||||
@DocsEditable()
|
||||
Object get key => _blink.BlinkIDBCursor.instance.key_Getter_(unwrap_jso(this));
|
||||
Object get key => wrap_jso(_blink.BlinkIDBCursor.instance.key_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('IDBCursor.primaryKey')
|
||||
@DocsEditable()
|
||||
Object get primaryKey => _blink.BlinkIDBCursor.instance.primaryKey_Getter_(unwrap_jso(this));
|
||||
Object get primaryKey => wrap_jso(_blink.BlinkIDBCursor.instance.primaryKey_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('IDBCursor.source')
|
||||
@DocsEditable()
|
||||
Object get source => _blink.BlinkIDBCursor.instance.source_Getter_(unwrap_jso(this));
|
||||
Object get source => wrap_jso(_blink.BlinkIDBCursor.instance.source_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('IDBCursor.advance')
|
||||
@DocsEditable()
|
||||
@@ -208,9 +239,21 @@ class CursorWithValue extends Cursor {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory CursorWithValue._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static CursorWithValue internalCreateCursorWithValue() {
|
||||
return new CursorWithValue._internalWrap();
|
||||
}
|
||||
|
||||
factory CursorWithValue._internalWrap() {
|
||||
return new CursorWithValue.internal_();
|
||||
}
|
||||
|
||||
CursorWithValue.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('IDBCursorWithValue.value')
|
||||
@DocsEditable()
|
||||
Object get value => _blink.BlinkIDBCursorWithValue.instance.value_Getter_(unwrap_jso(this));
|
||||
Object get value => wrap_jso(_blink.BlinkIDBCursorWithValue.instance.value_Getter_(unwrap_jso(this)));
|
||||
|
||||
}
|
||||
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
||||
@@ -291,6 +334,18 @@ class Database extends EventTarget {
|
||||
@DocsEditable()
|
||||
static const EventStreamProvider<VersionChangeEvent> versionChangeEvent = const EventStreamProvider<VersionChangeEvent>('versionchange');
|
||||
|
||||
|
||||
static Database internalCreateDatabase() {
|
||||
return new Database._internalWrap();
|
||||
}
|
||||
|
||||
factory Database._internalWrap() {
|
||||
return new Database.internal_();
|
||||
}
|
||||
|
||||
Database.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('IDBDatabase.name')
|
||||
@DocsEditable()
|
||||
String get name => _blink.BlinkIDBDatabase.instance.name_Getter_(unwrap_jso(this));
|
||||
@@ -301,7 +356,7 @@ class Database extends EventTarget {
|
||||
|
||||
@DomName('IDBDatabase.version')
|
||||
@DocsEditable()
|
||||
Object get version => _blink.BlinkIDBDatabase.instance.version_Getter_(unwrap_jso(this));
|
||||
Object get version => wrap_jso(_blink.BlinkIDBDatabase.instance.version_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('IDBDatabase.close')
|
||||
@DocsEditable()
|
||||
@@ -309,9 +364,9 @@ class Database extends EventTarget {
|
||||
|
||||
ObjectStore _createObjectStore(String name, [Map options]) {
|
||||
if (options != null) {
|
||||
return _blink.BlinkIDBDatabase.instance.createObjectStore_Callback_2_(unwrap_jso(this), name, options);
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.createObjectStore_Callback_2_(unwrap_jso(this), name, options != null ? new js.JsObject.jsify(options) : options));
|
||||
}
|
||||
return _blink.BlinkIDBDatabase.instance.createObjectStore_Callback_1_(unwrap_jso(this), name);
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.createObjectStore_Callback_1_(unwrap_jso(this), name));
|
||||
}
|
||||
|
||||
@DomName('IDBDatabase.deleteObjectStore')
|
||||
@@ -320,45 +375,45 @@ class Database extends EventTarget {
|
||||
|
||||
Transaction transaction(storeName_OR_storeNames, [String mode]) {
|
||||
if ((storeName_OR_storeNames is String || storeName_OR_storeNames == null) && mode == null) {
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames));
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames)));
|
||||
}
|
||||
if ((mode is String || mode == null) && (storeName_OR_storeNames is String || storeName_OR_storeNames == null)) {
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames), mode);
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames), mode));
|
||||
}
|
||||
if ((storeName_OR_storeNames is List<String> || storeName_OR_storeNames == null) && mode == null) {
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames));
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames)));
|
||||
}
|
||||
if ((mode is String || mode == null) && (storeName_OR_storeNames is List<String> || storeName_OR_storeNames == null)) {
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames), mode);
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames), mode));
|
||||
}
|
||||
if ((storeName_OR_storeNames is DomStringList || storeName_OR_storeNames == null) && mode == null) {
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames));
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames)));
|
||||
}
|
||||
if ((mode is String || mode == null) && (storeName_OR_storeNames is DomStringList || storeName_OR_storeNames == null)) {
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames), mode);
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames), mode));
|
||||
}
|
||||
throw new ArgumentError("Incorrect number or type of arguments");
|
||||
}
|
||||
|
||||
Transaction transactionList(List<String> storeNames, [String mode]) {
|
||||
if (mode != null) {
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), storeNames, mode);
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), storeNames, mode));
|
||||
}
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), storeNames);
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), storeNames));
|
||||
}
|
||||
|
||||
Transaction transactionStore(String storeName, [String mode]) {
|
||||
if (mode != null) {
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), storeName, mode);
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), storeName, mode));
|
||||
}
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), storeName);
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), storeName));
|
||||
}
|
||||
|
||||
Transaction transactionStores(List<String> storeNames, [String mode]) {
|
||||
if (mode != null) {
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeNames), mode);
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeNames), mode));
|
||||
}
|
||||
return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeNames));
|
||||
return wrap_jso(_blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeNames)));
|
||||
}
|
||||
|
||||
/// Stream of `abort` events handled by this [Database].
|
||||
@@ -473,19 +528,34 @@ class IdbFactory extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory IdbFactory._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static IdbFactory internalCreateIdbFactory() {
|
||||
return new IdbFactory._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory IdbFactory._internalWrap() {
|
||||
return new IdbFactory.internal_();
|
||||
}
|
||||
|
||||
IdbFactory.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('IDBFactory.cmp')
|
||||
@DocsEditable()
|
||||
int cmp(Object first, Object second) => _blink.BlinkIDBFactory.instance.cmp_Callback_2_(unwrap_jso(this), first, second);
|
||||
|
||||
@DomName('IDBFactory.deleteDatabase')
|
||||
@DocsEditable()
|
||||
OpenDBRequest _deleteDatabase(String name) => _blink.BlinkIDBFactory.instance.deleteDatabase_Callback_1_(unwrap_jso(this), name);
|
||||
OpenDBRequest _deleteDatabase(String name) => wrap_jso(_blink.BlinkIDBFactory.instance.deleteDatabase_Callback_1_(unwrap_jso(this), name));
|
||||
|
||||
OpenDBRequest _open(String name, [int version]) {
|
||||
if (version != null) {
|
||||
return _blink.BlinkIDBFactory.instance.open_Callback_2_(unwrap_jso(this), name, version);
|
||||
return wrap_jso(_blink.BlinkIDBFactory.instance.open_Callback_2_(unwrap_jso(this), name, version));
|
||||
}
|
||||
return _blink.BlinkIDBFactory.instance.open_Callback_1_(unwrap_jso(this), name);
|
||||
return wrap_jso(_blink.BlinkIDBFactory.instance.open_Callback_1_(unwrap_jso(this), name));
|
||||
}
|
||||
|
||||
@DomName('IDBFactory.webkitGetDatabaseNames')
|
||||
@@ -611,9 +681,24 @@ class Index extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory Index._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static Index internalCreateIndex() {
|
||||
return new Index._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory Index._internalWrap() {
|
||||
return new Index.internal_();
|
||||
}
|
||||
|
||||
Index.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('IDBIndex.keyPath')
|
||||
@DocsEditable()
|
||||
Object get keyPath => _blink.BlinkIDBIndex.instance.keyPath_Getter_(unwrap_jso(this));
|
||||
Object get keyPath => wrap_jso(_blink.BlinkIDBIndex.instance.keyPath_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('IDBIndex.multiEntry')
|
||||
@DocsEditable()
|
||||
@@ -687,9 +772,24 @@ class KeyRange extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory KeyRange._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static KeyRange internalCreateKeyRange() {
|
||||
return new KeyRange._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory KeyRange._internalWrap() {
|
||||
return new KeyRange.internal_();
|
||||
}
|
||||
|
||||
KeyRange.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('IDBKeyRange.lower')
|
||||
@DocsEditable()
|
||||
Object get lower => _blink.BlinkIDBKeyRange.instance.lower_Getter_(unwrap_jso(this));
|
||||
Object get lower => wrap_jso(_blink.BlinkIDBKeyRange.instance.lower_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('IDBKeyRange.lowerOpen')
|
||||
@DocsEditable()
|
||||
@@ -697,7 +797,7 @@ class KeyRange extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('IDBKeyRange.upper')
|
||||
@DocsEditable()
|
||||
Object get upper => _blink.BlinkIDBKeyRange.instance.upper_Getter_(unwrap_jso(this));
|
||||
Object get upper => wrap_jso(_blink.BlinkIDBKeyRange.instance.upper_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('IDBKeyRange.upperOpen')
|
||||
@DocsEditable()
|
||||
@@ -705,31 +805,31 @@ class KeyRange extends NativeFieldWrapperClass2 {
|
||||
|
||||
static KeyRange bound_(Object lower, Object upper, [bool lowerOpen, bool upperOpen]) {
|
||||
if (upperOpen != null) {
|
||||
return _blink.BlinkIDBKeyRange.instance.bound_Callback_4_(lower, upper, lowerOpen, upperOpen);
|
||||
return wrap_jso(_blink.BlinkIDBKeyRange.instance.bound_Callback_4_(lower, upper, lowerOpen, upperOpen));
|
||||
}
|
||||
if (lowerOpen != null) {
|
||||
return _blink.BlinkIDBKeyRange.instance.bound_Callback_3_(lower, upper, lowerOpen);
|
||||
return wrap_jso(_blink.BlinkIDBKeyRange.instance.bound_Callback_3_(lower, upper, lowerOpen));
|
||||
}
|
||||
return _blink.BlinkIDBKeyRange.instance.bound_Callback_2_(lower, upper);
|
||||
return wrap_jso(_blink.BlinkIDBKeyRange.instance.bound_Callback_2_(lower, upper));
|
||||
}
|
||||
|
||||
static KeyRange lowerBound_(Object bound, [bool open]) {
|
||||
if (open != null) {
|
||||
return _blink.BlinkIDBKeyRange.instance.lowerBound_Callback_2_(bound, open);
|
||||
return wrap_jso(_blink.BlinkIDBKeyRange.instance.lowerBound_Callback_2_(bound, open));
|
||||
}
|
||||
return _blink.BlinkIDBKeyRange.instance.lowerBound_Callback_1_(bound);
|
||||
return wrap_jso(_blink.BlinkIDBKeyRange.instance.lowerBound_Callback_1_(bound));
|
||||
}
|
||||
|
||||
@DomName('IDBKeyRange.only_')
|
||||
@DocsEditable()
|
||||
@Experimental() // non-standard
|
||||
static KeyRange only_(Object value) => _blink.BlinkIDBKeyRange.instance.only_Callback_1_(value);
|
||||
static KeyRange only_(Object value) => wrap_jso(_blink.BlinkIDBKeyRange.instance.only_Callback_1_(value));
|
||||
|
||||
static KeyRange upperBound_(Object bound, [bool open]) {
|
||||
if (open != null) {
|
||||
return _blink.BlinkIDBKeyRange.instance.upperBound_Callback_2_(bound, open);
|
||||
return wrap_jso(_blink.BlinkIDBKeyRange.instance.upperBound_Callback_2_(bound, open));
|
||||
}
|
||||
return _blink.BlinkIDBKeyRange.instance.upperBound_Callback_1_(bound);
|
||||
return wrap_jso(_blink.BlinkIDBKeyRange.instance.upperBound_Callback_1_(bound));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -871,6 +971,21 @@ class ObjectStore extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ObjectStore._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static ObjectStore internalCreateObjectStore() {
|
||||
return new ObjectStore._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory ObjectStore._internalWrap() {
|
||||
return new ObjectStore.internal_();
|
||||
}
|
||||
|
||||
ObjectStore.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('IDBObjectStore.autoIncrement')
|
||||
@DocsEditable()
|
||||
bool get autoIncrement => _blink.BlinkIDBObjectStore.instance.autoIncrement_Getter_(unwrap_jso(this));
|
||||
@@ -881,7 +996,7 @@ class ObjectStore extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('IDBObjectStore.keyPath')
|
||||
@DocsEditable()
|
||||
Object get keyPath => _blink.BlinkIDBObjectStore.instance.keyPath_Getter_(unwrap_jso(this));
|
||||
Object get keyPath => wrap_jso(_blink.BlinkIDBObjectStore.instance.keyPath_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('IDBObjectStore.name')
|
||||
@DocsEditable()
|
||||
@@ -908,16 +1023,16 @@ class ObjectStore extends NativeFieldWrapperClass2 {
|
||||
|
||||
Index _createIndex(String name, keyPath, [Map options]) {
|
||||
if ((keyPath is String || keyPath == null) && (name is String || name == null) && options == null) {
|
||||
return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_2_(unwrap_jso(this), name, unwrap_jso(keyPath));
|
||||
return wrap_jso(_blink.BlinkIDBObjectStore.instance.createIndex_Callback_2_(unwrap_jso(this), name, unwrap_jso(keyPath)));
|
||||
}
|
||||
if ((options is Map || options == null) && (keyPath is String || keyPath == null) && (name is String || name == null)) {
|
||||
return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_3_(unwrap_jso(this), name, unwrap_jso(keyPath), options);
|
||||
return wrap_jso(_blink.BlinkIDBObjectStore.instance.createIndex_Callback_3_(unwrap_jso(this), name, unwrap_jso(keyPath), options != null ? new js.JsObject.jsify(options) : options));
|
||||
}
|
||||
if ((keyPath is List<String> || keyPath == null) && (name is String || name == null) && options == null) {
|
||||
return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_2_(unwrap_jso(this), name, unwrap_jso(keyPath));
|
||||
return wrap_jso(_blink.BlinkIDBObjectStore.instance.createIndex_Callback_2_(unwrap_jso(this), name, unwrap_jso(keyPath)));
|
||||
}
|
||||
if ((options is Map || options == null) && (keyPath is List<String> || keyPath == null) && (name is String || name == null)) {
|
||||
return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_3_(unwrap_jso(this), name, unwrap_jso(keyPath), options);
|
||||
return wrap_jso(_blink.BlinkIDBObjectStore.instance.createIndex_Callback_3_(unwrap_jso(this), name, unwrap_jso(keyPath), options != null ? new js.JsObject.jsify(options) : options));
|
||||
}
|
||||
throw new ArgumentError("Incorrect number or type of arguments");
|
||||
}
|
||||
@@ -936,7 +1051,7 @@ class ObjectStore extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('IDBObjectStore.index')
|
||||
@DocsEditable()
|
||||
Index index(String name) => _blink.BlinkIDBObjectStore.instance.index_Callback_1_(unwrap_jso(this), name);
|
||||
Index index(String name) => wrap_jso(_blink.BlinkIDBObjectStore.instance.index_Callback_1_(unwrap_jso(this), name));
|
||||
|
||||
Request _openCursor(Object range, [String direction]) {
|
||||
if (direction != null) {
|
||||
@@ -1021,6 +1136,18 @@ class OpenDBRequest extends Request {
|
||||
@DocsEditable()
|
||||
static const EventStreamProvider<VersionChangeEvent> upgradeNeededEvent = const EventStreamProvider<VersionChangeEvent>('upgradeneeded');
|
||||
|
||||
|
||||
static OpenDBRequest internalCreateOpenDBRequest() {
|
||||
return new OpenDBRequest._internalWrap();
|
||||
}
|
||||
|
||||
factory OpenDBRequest._internalWrap() {
|
||||
return new OpenDBRequest.internal_();
|
||||
}
|
||||
|
||||
OpenDBRequest.internal_() : super.internal_();
|
||||
|
||||
|
||||
/// Stream of `blocked` events handled by this [OpenDBRequest].
|
||||
@DomName('IDBOpenDBRequest.onblocked')
|
||||
@DocsEditable()
|
||||
@@ -1066,6 +1193,18 @@ class Request extends EventTarget {
|
||||
@DocsEditable()
|
||||
static const EventStreamProvider<Event> successEvent = const EventStreamProvider<Event>('success');
|
||||
|
||||
|
||||
static Request internalCreateRequest() {
|
||||
return new Request._internalWrap();
|
||||
}
|
||||
|
||||
factory Request._internalWrap() {
|
||||
return new Request.internal_();
|
||||
}
|
||||
|
||||
Request.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('IDBRequest.error')
|
||||
@DocsEditable()
|
||||
DomError get error => wrap_jso(_blink.BlinkIDBRequest.instance.error_Getter_(unwrap_jso(this)));
|
||||
@@ -1076,11 +1215,11 @@ class Request extends EventTarget {
|
||||
|
||||
@DomName('IDBRequest.result')
|
||||
@DocsEditable()
|
||||
Object get result => _blink.BlinkIDBRequest.instance.result_Getter_(unwrap_jso(this));
|
||||
Object get result => wrap_jso(_blink.BlinkIDBRequest.instance.result_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('IDBRequest.source')
|
||||
@DocsEditable()
|
||||
Object get source => _blink.BlinkIDBRequest.instance.source_Getter_(unwrap_jso(this));
|
||||
Object get source => wrap_jso(_blink.BlinkIDBRequest.instance.source_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('IDBRequest.transaction')
|
||||
@DocsEditable()
|
||||
@@ -1167,6 +1306,18 @@ class Transaction extends EventTarget {
|
||||
@DocsEditable()
|
||||
static const EventStreamProvider<Event> errorEvent = const EventStreamProvider<Event>('error');
|
||||
|
||||
|
||||
static Transaction internalCreateTransaction() {
|
||||
return new Transaction._internalWrap();
|
||||
}
|
||||
|
||||
factory Transaction._internalWrap() {
|
||||
return new Transaction.internal_();
|
||||
}
|
||||
|
||||
Transaction.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('IDBTransaction.db')
|
||||
@DocsEditable()
|
||||
Database get db => wrap_jso(_blink.BlinkIDBTransaction.instance.db_Getter_(unwrap_jso(this)));
|
||||
@@ -1185,7 +1336,7 @@ class Transaction extends EventTarget {
|
||||
|
||||
@DomName('IDBTransaction.objectStore')
|
||||
@DocsEditable()
|
||||
ObjectStore objectStore(String name) => _blink.BlinkIDBTransaction.instance.objectStore_Callback_1_(unwrap_jso(this), name);
|
||||
ObjectStore objectStore(String name) => wrap_jso(_blink.BlinkIDBTransaction.instance.objectStore_Callback_1_(unwrap_jso(this), name));
|
||||
|
||||
/// Stream of `abort` events handled by this [Transaction].
|
||||
@DomName('IDBTransaction.onabort')
|
||||
@@ -1217,6 +1368,18 @@ class VersionChangeEvent extends Event {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory VersionChangeEvent._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static VersionChangeEvent internalCreateVersionChangeEvent() {
|
||||
return new VersionChangeEvent._internalWrap();
|
||||
}
|
||||
|
||||
factory VersionChangeEvent._internalWrap() {
|
||||
return new VersionChangeEvent.internal_();
|
||||
}
|
||||
|
||||
VersionChangeEvent.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('IDBVersionChangeEvent.dataLoss')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
|
||||
@@ -11,7 +11,7 @@ part of dart._internal;
|
||||
*/
|
||||
abstract class FixedLengthListMixin<E> {
|
||||
/** This operation is not supported by a fixed length list. */
|
||||
void set length(int newLength) {
|
||||
set length(int newLength) {
|
||||
throw new UnsupportedError(
|
||||
"Cannot change the length of a fixed-length list");
|
||||
}
|
||||
@@ -105,7 +105,7 @@ abstract class UnmodifiableListMixin<E> implements List<E> {
|
||||
}
|
||||
|
||||
/** This operation is not supported by an unmodifiable list. */
|
||||
void set length(int newLength) {
|
||||
set length(int newLength) {
|
||||
throw new UnsupportedError(
|
||||
"Cannot change the length of an unmodifiable list");
|
||||
}
|
||||
|
||||
@@ -449,7 +449,7 @@ class JsArray<E> extends JsObject with ListMixin<E> {
|
||||
throw new StateError('Bad JsArray length');
|
||||
}
|
||||
|
||||
void set length(int length) { super['length'] = length; }
|
||||
set length(int length) { super['length'] = length; }
|
||||
|
||||
|
||||
// Methods overriden for better performance
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/**
|
||||
* Support for interoperating with JavaScript.
|
||||
*
|
||||
*
|
||||
* This library provides access to JavaScript objects from Dart, allowing
|
||||
* Dart code to get and set properties, and call methods of JavaScript objects
|
||||
* and invoke JavaScript functions. The library takes care of converting
|
||||
@@ -27,14 +27,14 @@
|
||||
* global function `alert()`:
|
||||
*
|
||||
* import 'dart:js';
|
||||
*
|
||||
*
|
||||
* main() => context.callMethod('alert', ['Hello from Dart!']);
|
||||
*
|
||||
* This example shows how to create a [JsObject] from a JavaScript constructor
|
||||
* and access its properties:
|
||||
*
|
||||
* import 'dart:js';
|
||||
*
|
||||
*
|
||||
* main() {
|
||||
* var object = new JsObject(context['Object']);
|
||||
* object['greeting'] = 'Hello';
|
||||
@@ -44,7 +44,7 @@
|
||||
* }
|
||||
*
|
||||
* ## Proxying and automatic conversion
|
||||
*
|
||||
*
|
||||
* When setting properties on a JsObject or passing arguments to a Javascript
|
||||
* method or function, Dart objects are automatically converted or proxied to
|
||||
* JavaScript objects. When accessing JavaScript properties, or when a Dart
|
||||
@@ -80,7 +80,7 @@
|
||||
* `a` and `b` defined:
|
||||
*
|
||||
* var jsMap = new JsObject.jsify({'a': 1, 'b': 2});
|
||||
*
|
||||
*
|
||||
* This expression creates a JavaScript array:
|
||||
*
|
||||
* var jsArray = new JsObject.jsify([1, 2, 3]);
|
||||
@@ -91,6 +91,7 @@ import 'dart:collection' show ListMixin;
|
||||
import 'dart:nativewrappers';
|
||||
import 'dart:math' as math;
|
||||
import 'dart:mirrors' as mirrors;
|
||||
import 'dart:html' as html;
|
||||
|
||||
// Pretend we are always in checked mode as we aren't interested in users
|
||||
// running Dartium code outside of checked mode.
|
||||
@@ -491,8 +492,14 @@ class JsObject extends NativeFieldWrapperClass2 {
|
||||
* Constructs a new JavaScript object from [constructor] and returns a proxy
|
||||
* to it.
|
||||
*/
|
||||
factory JsObject(JsFunction constructor, [List arguments]) =>
|
||||
_create(constructor, arguments);
|
||||
factory JsObject(JsFunction constructor, [List arguments]) {
|
||||
try {
|
||||
return _create(constructor, arguments);
|
||||
} catch (e) {
|
||||
// Re-throw any errors (returned as a string) as a DomException.
|
||||
throw new html.DomException.jsInterop(e);
|
||||
}
|
||||
}
|
||||
|
||||
static JsObject _create(
|
||||
JsFunction constructor, arguments) native "JsObject_constructorCallback";
|
||||
@@ -517,7 +524,7 @@ class JsObject extends NativeFieldWrapperClass2 {
|
||||
* Use this constructor only if you wish to get access to JavaScript
|
||||
* properties attached to a browser host object, such as a Node or Blob, that
|
||||
* is normally automatically converted into a native Dart object.
|
||||
*
|
||||
*
|
||||
* An exception will be thrown if [object] either is `null` or has the type
|
||||
* `bool`, `num`, or `String`.
|
||||
*/
|
||||
@@ -546,8 +553,7 @@ class JsObject extends NativeFieldWrapperClass2 {
|
||||
|
||||
static JsObject _jsify(object) native "JsObject_jsify";
|
||||
|
||||
static JsObject _fromBrowserObject(
|
||||
object) native "JsObject_fromBrowserObject";
|
||||
static JsObject _fromBrowserObject(object) => html.unwrap_jso(object);
|
||||
|
||||
/**
|
||||
* Returns the value associated with [property] from the proxied JavaScript
|
||||
@@ -555,7 +561,15 @@ class JsObject extends NativeFieldWrapperClass2 {
|
||||
*
|
||||
* The type of [property] must be either [String] or [num].
|
||||
*/
|
||||
operator [](property) native "JsObject_[]";
|
||||
operator [](property) {
|
||||
try {
|
||||
return _operator_getter(property);
|
||||
} catch (e) {
|
||||
// Re-throw any errors (returned as a string) as a DomException.
|
||||
throw new html.DomException.jsInterop(e);
|
||||
}
|
||||
}
|
||||
_operator_getter(property) native "JsObject_[]";
|
||||
|
||||
/**
|
||||
* Sets the value associated with [property] on the proxied JavaScript
|
||||
@@ -563,11 +577,26 @@ class JsObject extends NativeFieldWrapperClass2 {
|
||||
*
|
||||
* The type of [property] must be either [String] or [num].
|
||||
*/
|
||||
operator []=(property, value) native "JsObject_[]=";
|
||||
operator []=(property, value) {
|
||||
try {
|
||||
_operator_setter(property, value);
|
||||
} catch (e) {
|
||||
// Re-throw any errors (returned as a string) as a DomException.
|
||||
throw new html.DomException.jsInterop(e);
|
||||
}
|
||||
}
|
||||
_operator_setter(property, value) native "JsObject_[]=";
|
||||
|
||||
int get hashCode native "JsObject_hashCode";
|
||||
|
||||
operator ==(other) => other is JsObject && _identityEquality(this, other);
|
||||
operator ==(other) {
|
||||
var is_JsObject = other is JsObject;
|
||||
if (!is_JsObject) {
|
||||
other = html.unwrap_jso(other);
|
||||
is_JsObject = other is JsObject;
|
||||
}
|
||||
return is_JsObject && _identityEquality(this, other);
|
||||
}
|
||||
|
||||
static bool _identityEquality(
|
||||
JsObject a, JsObject b) native "JsObject_identityEquality";
|
||||
@@ -618,7 +647,8 @@ class JsObject extends NativeFieldWrapperClass2 {
|
||||
return _callMethod(method, args);
|
||||
} catch (e) {
|
||||
if (hasProperty(method)) {
|
||||
rethrow;
|
||||
// Return a DomException if DOM call returned an error.
|
||||
throw new html.DomException.jsInterop(e);
|
||||
} else {
|
||||
throw new NoSuchMethodError(this, new Symbol(method), args, null);
|
||||
}
|
||||
@@ -754,7 +784,12 @@ class JsArray<E> extends JsObject with ListMixin<E> {
|
||||
if (index is int) {
|
||||
_checkIndex(index);
|
||||
}
|
||||
return super[index];
|
||||
|
||||
// Lazily create the Dart class that wraps the JS object when the object in
|
||||
// a list if fetched.
|
||||
var wrap_entry = html.wrap_jso(super[index]);
|
||||
super[index] = wrap_entry;
|
||||
return wrap_entry;
|
||||
}
|
||||
|
||||
void operator []=(index, E value) {
|
||||
@@ -766,7 +801,7 @@ class JsArray<E> extends JsObject with ListMixin<E> {
|
||||
|
||||
int get length native "JsArray_length";
|
||||
|
||||
void set length(int length) {
|
||||
set length(int length) {
|
||||
super['length'] = length;
|
||||
}
|
||||
|
||||
|
||||
@@ -2693,7 +2693,7 @@ class LengthList extends Interceptor with ListMixin<Length>, ImmutableListMixin<
|
||||
// Length is the element type.
|
||||
|
||||
|
||||
void set length(int value) {
|
||||
set length(int value) {
|
||||
throw new UnsupportedError("Cannot resize immutable List.");
|
||||
}
|
||||
|
||||
@@ -3145,7 +3145,7 @@ class NumberList extends Interceptor with ListMixin<Number>, ImmutableListMixin<
|
||||
// Number is the element type.
|
||||
|
||||
|
||||
void set length(int value) {
|
||||
set length(int value) {
|
||||
throw new UnsupportedError("Cannot resize immutable List.");
|
||||
}
|
||||
|
||||
@@ -3932,7 +3932,7 @@ class PathSegList extends Interceptor with ListMixin<PathSeg>, ImmutableListMixi
|
||||
// PathSeg is the element type.
|
||||
|
||||
|
||||
void set length(int value) {
|
||||
set length(int value) {
|
||||
throw new UnsupportedError("Cannot resize immutable List.");
|
||||
}
|
||||
|
||||
@@ -4627,7 +4627,7 @@ class StringList extends Interceptor with ListMixin<String>, ImmutableListMixin<
|
||||
// String is the element type.
|
||||
|
||||
|
||||
void set length(int value) {
|
||||
set length(int value) {
|
||||
throw new UnsupportedError("Cannot resize immutable List.");
|
||||
}
|
||||
|
||||
@@ -4731,7 +4731,7 @@ class StyleElement extends SvgElement {
|
||||
// Shadowing definition.
|
||||
String get title => JS("String", "#.title", this);
|
||||
|
||||
void set title(String value) {
|
||||
set title(String value) {
|
||||
JS("void", "#.title = #", this, value);
|
||||
}
|
||||
|
||||
@@ -4801,7 +4801,7 @@ class SvgElement extends Element implements GlobalEventHandlers {
|
||||
|
||||
List<Element> get children => new FilteredElementList(this);
|
||||
|
||||
void set children(List<Element> value) {
|
||||
set children(List<Element> value) {
|
||||
final children = this.children;
|
||||
children.clear();
|
||||
children.addAll(value);
|
||||
@@ -4821,7 +4821,7 @@ class SvgElement extends Element implements GlobalEventHandlers {
|
||||
return container.innerHtml;
|
||||
}
|
||||
|
||||
void set innerHtml(String value) {
|
||||
set innerHtml(String value) {
|
||||
this.setInnerHtml(value);
|
||||
}
|
||||
|
||||
@@ -4886,6 +4886,7 @@ class SvgElement extends Element implements GlobalEventHandlers {
|
||||
var e = new SvgElement.tag(tag);
|
||||
return e is SvgElement && !(e is UnknownElement);
|
||||
}
|
||||
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory SvgElement._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
@@ -5169,7 +5170,7 @@ class SvgElement extends Element implements GlobalEventHandlers {
|
||||
// Shadowing definition.
|
||||
int get tabIndex => JS("int", "#.tabIndex", this);
|
||||
|
||||
void set tabIndex(int value) {
|
||||
set tabIndex(int value) {
|
||||
JS("void", "#.tabIndex = #", this, value);
|
||||
}
|
||||
|
||||
@@ -6082,7 +6083,7 @@ class TransformList extends Interceptor with ListMixin<Transform>, ImmutableList
|
||||
// Transform is the element type.
|
||||
|
||||
|
||||
void set length(int value) {
|
||||
set length(int value) {
|
||||
throw new UnsupportedError("Cannot resize immutable List.");
|
||||
}
|
||||
|
||||
@@ -6536,7 +6537,9 @@ abstract class _SVGCursorElement extends SvgElement implements UriReference, Tes
|
||||
// From SVGTests
|
||||
|
||||
// From SVGURIReference
|
||||
|
||||
}
|
||||
|
||||
// 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.
|
||||
@@ -6557,7 +6560,9 @@ abstract class _SVGFEDropShadowElement extends SvgElement implements FilterPrimi
|
||||
_SVGFEDropShadowElement.created() : super.created();
|
||||
|
||||
// From SVGFilterPrimitiveStandardAttributes
|
||||
|
||||
}
|
||||
|
||||
// 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.
|
||||
@@ -6715,7 +6720,9 @@ abstract class _SVGGlyphRefElement extends SvgElement implements UriReference {
|
||||
_SVGGlyphRefElement.created() : super.created();
|
||||
|
||||
// From SVGURIReference
|
||||
|
||||
}
|
||||
|
||||
// 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.
|
||||
@@ -6762,7 +6769,9 @@ abstract class _SVGMPathElement extends SvgElement implements UriReference {
|
||||
_SVGMPathElement.created() : super.created();
|
||||
|
||||
// From SVGURIReference
|
||||
|
||||
}
|
||||
|
||||
// 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.
|
||||
|
||||
+2138
-231
File diff suppressed because it is too large
Load Diff
@@ -11,6 +11,7 @@ import 'dart:html_common';
|
||||
import 'dart:nativewrappers';
|
||||
import 'dart:typed_data';
|
||||
import 'dart:_blink' as _blink;
|
||||
import 'dart:js' as js;
|
||||
// DO NOT EDIT
|
||||
// Auto-generated dart:audio library.
|
||||
|
||||
@@ -49,6 +50,37 @@ final web_audioBlinkMap = {
|
||||
|
||||
};
|
||||
|
||||
// FIXME: Can we make this private?
|
||||
final web_audioBlinkFunctionMap = {
|
||||
'AnalyserNode': () => AnalyserNode.internalCreateAnalyserNode,
|
||||
'AudioBuffer': () => AudioBuffer.internalCreateAudioBuffer,
|
||||
'AudioBufferSourceNode': () => AudioBufferSourceNode.internalCreateAudioBufferSourceNode,
|
||||
'AudioContext': () => AudioContext.internalCreateAudioContext,
|
||||
'AudioDestinationNode': () => AudioDestinationNode.internalCreateAudioDestinationNode,
|
||||
'AudioListener': () => AudioListener.internalCreateAudioListener,
|
||||
'AudioNode': () => AudioNode.internalCreateAudioNode,
|
||||
'AudioParam': () => AudioParam.internalCreateAudioParam,
|
||||
'AudioProcessingEvent': () => AudioProcessingEvent.internalCreateAudioProcessingEvent,
|
||||
'AudioSourceNode': () => AudioSourceNode.internalCreateAudioSourceNode,
|
||||
'BiquadFilterNode': () => BiquadFilterNode.internalCreateBiquadFilterNode,
|
||||
'ChannelMergerNode': () => ChannelMergerNode.internalCreateChannelMergerNode,
|
||||
'ChannelSplitterNode': () => ChannelSplitterNode.internalCreateChannelSplitterNode,
|
||||
'ConvolverNode': () => ConvolverNode.internalCreateConvolverNode,
|
||||
'DelayNode': () => DelayNode.internalCreateDelayNode,
|
||||
'DynamicsCompressorNode': () => DynamicsCompressorNode.internalCreateDynamicsCompressorNode,
|
||||
'GainNode': () => GainNode.internalCreateGainNode,
|
||||
'MediaElementAudioSourceNode': () => MediaElementAudioSourceNode.internalCreateMediaElementAudioSourceNode,
|
||||
'MediaStreamAudioDestinationNode': () => MediaStreamAudioDestinationNode.internalCreateMediaStreamAudioDestinationNode,
|
||||
'MediaStreamAudioSourceNode': () => MediaStreamAudioSourceNode.internalCreateMediaStreamAudioSourceNode,
|
||||
'OfflineAudioCompletionEvent': () => OfflineAudioCompletionEvent.internalCreateOfflineAudioCompletionEvent,
|
||||
'OfflineAudioContext': () => OfflineAudioContext.internalCreateOfflineAudioContext,
|
||||
'OscillatorNode': () => OscillatorNode.internalCreateOscillatorNode,
|
||||
'PannerNode': () => PannerNode.internalCreatePannerNode,
|
||||
'PeriodicWave': () => PeriodicWave.internalCreatePeriodicWave,
|
||||
'ScriptProcessorNode': () => ScriptProcessorNode.internalCreateScriptProcessorNode,
|
||||
'WaveShaperNode': () => WaveShaperNode.internalCreateWaveShaperNode,
|
||||
|
||||
};
|
||||
// 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.
|
||||
@@ -64,13 +96,25 @@ class AnalyserNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory AnalyserNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static AnalyserNode internalCreateAnalyserNode() {
|
||||
return new AnalyserNode._internalWrap();
|
||||
}
|
||||
|
||||
factory AnalyserNode._internalWrap() {
|
||||
return new AnalyserNode.internal_();
|
||||
}
|
||||
|
||||
AnalyserNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('AnalyserNode.fftSize')
|
||||
@DocsEditable()
|
||||
int get fftSize => _blink.BlinkAnalyserNode.instance.fftSize_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('AnalyserNode.fftSize')
|
||||
@DocsEditable()
|
||||
void set fftSize(int value) => _blink.BlinkAnalyserNode.instance.fftSize_Setter_(unwrap_jso(this), value);
|
||||
set fftSize(int value) => _blink.BlinkAnalyserNode.instance.fftSize_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AnalyserNode.frequencyBinCount')
|
||||
@DocsEditable()
|
||||
@@ -82,7 +126,7 @@ class AnalyserNode extends AudioNode {
|
||||
|
||||
@DomName('AnalyserNode.maxDecibels')
|
||||
@DocsEditable()
|
||||
void set maxDecibels(num value) => _blink.BlinkAnalyserNode.instance.maxDecibels_Setter_(unwrap_jso(this), value);
|
||||
set maxDecibels(num value) => _blink.BlinkAnalyserNode.instance.maxDecibels_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AnalyserNode.minDecibels')
|
||||
@DocsEditable()
|
||||
@@ -90,7 +134,7 @@ class AnalyserNode extends AudioNode {
|
||||
|
||||
@DomName('AnalyserNode.minDecibels')
|
||||
@DocsEditable()
|
||||
void set minDecibels(num value) => _blink.BlinkAnalyserNode.instance.minDecibels_Setter_(unwrap_jso(this), value);
|
||||
set minDecibels(num value) => _blink.BlinkAnalyserNode.instance.minDecibels_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AnalyserNode.smoothingTimeConstant')
|
||||
@DocsEditable()
|
||||
@@ -98,7 +142,7 @@ class AnalyserNode extends AudioNode {
|
||||
|
||||
@DomName('AnalyserNode.smoothingTimeConstant')
|
||||
@DocsEditable()
|
||||
void set smoothingTimeConstant(num value) => _blink.BlinkAnalyserNode.instance.smoothingTimeConstant_Setter_(unwrap_jso(this), value);
|
||||
set smoothingTimeConstant(num value) => _blink.BlinkAnalyserNode.instance.smoothingTimeConstant_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AnalyserNode.getByteFrequencyData')
|
||||
@DocsEditable()
|
||||
@@ -133,9 +177,24 @@ class AudioBuffer extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory AudioBuffer._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static AudioBuffer internalCreateAudioBuffer() {
|
||||
return new AudioBuffer._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory AudioBuffer._internalWrap() {
|
||||
return new AudioBuffer.internal_();
|
||||
}
|
||||
|
||||
AudioBuffer.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('AudioBuffer.duration')
|
||||
@DocsEditable()
|
||||
double get duration => _blink.BlinkAudioBuffer.instance.duration_Getter_(unwrap_jso(this));
|
||||
num get duration => _blink.BlinkAudioBuffer.instance.duration_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('AudioBuffer.length')
|
||||
@DocsEditable()
|
||||
@@ -147,7 +206,7 @@ class AudioBuffer extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('AudioBuffer.sampleRate')
|
||||
@DocsEditable()
|
||||
double get sampleRate => _blink.BlinkAudioBuffer.instance.sampleRate_Getter_(unwrap_jso(this));
|
||||
num get sampleRate => _blink.BlinkAudioBuffer.instance.sampleRate_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('AudioBuffer.getChannelData')
|
||||
@DocsEditable()
|
||||
@@ -193,13 +252,25 @@ class AudioBufferSourceNode extends AudioSourceNode {
|
||||
@Experimental() // untriaged
|
||||
static const EventStreamProvider<Event> endedEvent = const EventStreamProvider<Event>('ended');
|
||||
|
||||
|
||||
static AudioBufferSourceNode internalCreateAudioBufferSourceNode() {
|
||||
return new AudioBufferSourceNode._internalWrap();
|
||||
}
|
||||
|
||||
factory AudioBufferSourceNode._internalWrap() {
|
||||
return new AudioBufferSourceNode.internal_();
|
||||
}
|
||||
|
||||
AudioBufferSourceNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('AudioBufferSourceNode.buffer')
|
||||
@DocsEditable()
|
||||
AudioBuffer get buffer => wrap_jso(_blink.BlinkAudioBufferSourceNode.instance.buffer_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('AudioBufferSourceNode.buffer')
|
||||
@DocsEditable()
|
||||
void set buffer(AudioBuffer value) => _blink.BlinkAudioBufferSourceNode.instance.buffer_Setter_(unwrap_jso(this), unwrap_jso(value));
|
||||
set buffer(AudioBuffer value) => _blink.BlinkAudioBufferSourceNode.instance.buffer_Setter_(unwrap_jso(this), unwrap_jso(value));
|
||||
|
||||
@DomName('AudioBufferSourceNode.loop')
|
||||
@DocsEditable()
|
||||
@@ -207,7 +278,7 @@ class AudioBufferSourceNode extends AudioSourceNode {
|
||||
|
||||
@DomName('AudioBufferSourceNode.loop')
|
||||
@DocsEditable()
|
||||
void set loop(bool value) => _blink.BlinkAudioBufferSourceNode.instance.loop_Setter_(unwrap_jso(this), value);
|
||||
set loop(bool value) => _blink.BlinkAudioBufferSourceNode.instance.loop_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AudioBufferSourceNode.loopEnd')
|
||||
@DocsEditable()
|
||||
@@ -215,7 +286,7 @@ class AudioBufferSourceNode extends AudioSourceNode {
|
||||
|
||||
@DomName('AudioBufferSourceNode.loopEnd')
|
||||
@DocsEditable()
|
||||
void set loopEnd(num value) => _blink.BlinkAudioBufferSourceNode.instance.loopEnd_Setter_(unwrap_jso(this), value);
|
||||
set loopEnd(num value) => _blink.BlinkAudioBufferSourceNode.instance.loopEnd_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AudioBufferSourceNode.loopStart')
|
||||
@DocsEditable()
|
||||
@@ -223,7 +294,7 @@ class AudioBufferSourceNode extends AudioSourceNode {
|
||||
|
||||
@DomName('AudioBufferSourceNode.loopStart')
|
||||
@DocsEditable()
|
||||
void set loopStart(num value) => _blink.BlinkAudioBufferSourceNode.instance.loopStart_Setter_(unwrap_jso(this), value);
|
||||
set loopStart(num value) => _blink.BlinkAudioBufferSourceNode.instance.loopStart_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AudioBufferSourceNode.playbackRate')
|
||||
@DocsEditable()
|
||||
@@ -289,15 +360,27 @@ class AudioContext extends EventTarget {
|
||||
@DomName('AudioContext.AudioContext')
|
||||
@DocsEditable()
|
||||
factory AudioContext() {
|
||||
return _blink.BlinkAudioContext.instance.constructorCallback_0_();
|
||||
return wrap_jso(_blink.BlinkAudioContext.instance.constructorCallback_0_());
|
||||
}
|
||||
|
||||
|
||||
static AudioContext internalCreateAudioContext() {
|
||||
return new AudioContext._internalWrap();
|
||||
}
|
||||
|
||||
factory AudioContext._internalWrap() {
|
||||
return new AudioContext.internal_();
|
||||
}
|
||||
|
||||
AudioContext.internal_() : super.internal_();
|
||||
|
||||
|
||||
/// Checks if this type is supported on the current platform.
|
||||
static bool get supported => true;
|
||||
|
||||
@DomName('AudioContext.currentTime')
|
||||
@DocsEditable()
|
||||
double get currentTime => _blink.BlinkAudioContext.instance.currentTime_Getter_(unwrap_jso(this));
|
||||
num get currentTime => _blink.BlinkAudioContext.instance.currentTime_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('AudioContext.destination')
|
||||
@DocsEditable()
|
||||
@@ -309,7 +392,7 @@ class AudioContext extends EventTarget {
|
||||
|
||||
@DomName('AudioContext.sampleRate')
|
||||
@DocsEditable()
|
||||
double get sampleRate => _blink.BlinkAudioContext.instance.sampleRate_Getter_(unwrap_jso(this));
|
||||
num get sampleRate => _blink.BlinkAudioContext.instance.sampleRate_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('AudioContext.createAnalyser')
|
||||
@DocsEditable()
|
||||
@@ -404,7 +487,7 @@ class AudioContext extends EventTarget {
|
||||
|
||||
@DomName('AudioContext.decodeAudioData')
|
||||
@DocsEditable()
|
||||
void _decodeAudioData(ByteBuffer audioData, AudioBufferCallback successCallback, [AudioBufferCallback errorCallback]) => _blink.BlinkAudioContext.instance.decodeAudioData_Callback_3_(unwrap_jso(this), audioData, unwrap_jso(successCallback), unwrap_jso(errorCallback));
|
||||
void _decodeAudioData(ByteBuffer audioData, AudioBufferCallback successCallback, [AudioBufferCallback errorCallback]) => _blink.BlinkAudioContext.instance.decodeAudioData_Callback_3_(unwrap_jso(this), audioData, unwrap_jso((audioBuffer) => successCallback(wrap_jso(audioBuffer))), unwrap_jso((audioBuffer) => errorCallback(wrap_jso(audioBuffer))));
|
||||
|
||||
@DomName('AudioContext.startRendering')
|
||||
@DocsEditable()
|
||||
@@ -445,6 +528,18 @@ class AudioDestinationNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory AudioDestinationNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static AudioDestinationNode internalCreateAudioDestinationNode() {
|
||||
return new AudioDestinationNode._internalWrap();
|
||||
}
|
||||
|
||||
factory AudioDestinationNode._internalWrap() {
|
||||
return new AudioDestinationNode.internal_();
|
||||
}
|
||||
|
||||
AudioDestinationNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('AudioDestinationNode.maxChannelCount')
|
||||
@DocsEditable()
|
||||
int get maxChannelCount => _blink.BlinkAudioDestinationNode.instance.maxChannelCount_Getter_(unwrap_jso(this));
|
||||
@@ -465,13 +560,28 @@ class AudioListener extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory AudioListener._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static AudioListener internalCreateAudioListener() {
|
||||
return new AudioListener._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory AudioListener._internalWrap() {
|
||||
return new AudioListener.internal_();
|
||||
}
|
||||
|
||||
AudioListener.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('AudioListener.dopplerFactor')
|
||||
@DocsEditable()
|
||||
num get dopplerFactor => _blink.BlinkAudioListener.instance.dopplerFactor_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('AudioListener.dopplerFactor')
|
||||
@DocsEditable()
|
||||
void set dopplerFactor(num value) => _blink.BlinkAudioListener.instance.dopplerFactor_Setter_(unwrap_jso(this), value);
|
||||
set dopplerFactor(num value) => _blink.BlinkAudioListener.instance.dopplerFactor_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AudioListener.speedOfSound')
|
||||
@DocsEditable()
|
||||
@@ -479,7 +589,7 @@ class AudioListener extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('AudioListener.speedOfSound')
|
||||
@DocsEditable()
|
||||
void set speedOfSound(num value) => _blink.BlinkAudioListener.instance.speedOfSound_Setter_(unwrap_jso(this), value);
|
||||
set speedOfSound(num value) => _blink.BlinkAudioListener.instance.speedOfSound_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AudioListener.setOrientation')
|
||||
@DocsEditable()
|
||||
@@ -506,13 +616,25 @@ class AudioNode extends EventTarget {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory AudioNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static AudioNode internalCreateAudioNode() {
|
||||
return new AudioNode._internalWrap();
|
||||
}
|
||||
|
||||
factory AudioNode._internalWrap() {
|
||||
return new AudioNode.internal_();
|
||||
}
|
||||
|
||||
AudioNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('AudioNode.channelCount')
|
||||
@DocsEditable()
|
||||
int get channelCount => _blink.BlinkAudioNode.instance.channelCount_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('AudioNode.channelCount')
|
||||
@DocsEditable()
|
||||
void set channelCount(int value) => _blink.BlinkAudioNode.instance.channelCount_Setter_(unwrap_jso(this), value);
|
||||
set channelCount(int value) => _blink.BlinkAudioNode.instance.channelCount_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AudioNode.channelCountMode')
|
||||
@DocsEditable()
|
||||
@@ -520,7 +642,7 @@ class AudioNode extends EventTarget {
|
||||
|
||||
@DomName('AudioNode.channelCountMode')
|
||||
@DocsEditable()
|
||||
void set channelCountMode(String value) => _blink.BlinkAudioNode.instance.channelCountMode_Setter_(unwrap_jso(this), value);
|
||||
set channelCountMode(String value) => _blink.BlinkAudioNode.instance.channelCountMode_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AudioNode.channelInterpretation')
|
||||
@DocsEditable()
|
||||
@@ -528,7 +650,7 @@ class AudioNode extends EventTarget {
|
||||
|
||||
@DomName('AudioNode.channelInterpretation')
|
||||
@DocsEditable()
|
||||
void set channelInterpretation(String value) => _blink.BlinkAudioNode.instance.channelInterpretation_Setter_(unwrap_jso(this), value);
|
||||
set channelInterpretation(String value) => _blink.BlinkAudioNode.instance.channelInterpretation_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AudioNode.context')
|
||||
@DocsEditable()
|
||||
@@ -581,9 +703,24 @@ class AudioParam extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory AudioParam._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static AudioParam internalCreateAudioParam() {
|
||||
return new AudioParam._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory AudioParam._internalWrap() {
|
||||
return new AudioParam.internal_();
|
||||
}
|
||||
|
||||
AudioParam.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('AudioParam.defaultValue')
|
||||
@DocsEditable()
|
||||
double get defaultValue => _blink.BlinkAudioParam.instance.defaultValue_Getter_(unwrap_jso(this));
|
||||
num get defaultValue => _blink.BlinkAudioParam.instance.defaultValue_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('AudioParam.value')
|
||||
@DocsEditable()
|
||||
@@ -591,7 +728,7 @@ class AudioParam extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('AudioParam.value')
|
||||
@DocsEditable()
|
||||
void set value(num value) => _blink.BlinkAudioParam.instance.value_Setter_(unwrap_jso(this), value);
|
||||
set value(num value) => _blink.BlinkAudioParam.instance.value_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('AudioParam.cancelScheduledValues')
|
||||
@DocsEditable()
|
||||
@@ -633,6 +770,18 @@ class AudioProcessingEvent extends Event {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory AudioProcessingEvent._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static AudioProcessingEvent internalCreateAudioProcessingEvent() {
|
||||
return new AudioProcessingEvent._internalWrap();
|
||||
}
|
||||
|
||||
factory AudioProcessingEvent._internalWrap() {
|
||||
return new AudioProcessingEvent.internal_();
|
||||
}
|
||||
|
||||
AudioProcessingEvent.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('AudioProcessingEvent.inputBuffer')
|
||||
@DocsEditable()
|
||||
AudioBuffer get inputBuffer => wrap_jso(_blink.BlinkAudioProcessingEvent.instance.inputBuffer_Getter_(unwrap_jso(this)));
|
||||
@@ -644,7 +793,7 @@ class AudioProcessingEvent extends Event {
|
||||
@DomName('AudioProcessingEvent.playbackTime')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
double get playbackTime => _blink.BlinkAudioProcessingEvent.instance.playbackTime_Getter_(unwrap_jso(this));
|
||||
num get playbackTime => _blink.BlinkAudioProcessingEvent.instance.playbackTime_Getter_(unwrap_jso(this));
|
||||
|
||||
}
|
||||
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
||||
@@ -662,6 +811,18 @@ class AudioSourceNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory AudioSourceNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static AudioSourceNode internalCreateAudioSourceNode() {
|
||||
return new AudioSourceNode._internalWrap();
|
||||
}
|
||||
|
||||
factory AudioSourceNode._internalWrap() {
|
||||
return new AudioSourceNode.internal_();
|
||||
}
|
||||
|
||||
AudioSourceNode.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
|
||||
@@ -678,6 +839,18 @@ class BiquadFilterNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory BiquadFilterNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static BiquadFilterNode internalCreateBiquadFilterNode() {
|
||||
return new BiquadFilterNode._internalWrap();
|
||||
}
|
||||
|
||||
factory BiquadFilterNode._internalWrap() {
|
||||
return new BiquadFilterNode.internal_();
|
||||
}
|
||||
|
||||
BiquadFilterNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('BiquadFilterNode.Q')
|
||||
@DocsEditable()
|
||||
AudioParam get Q => wrap_jso(_blink.BlinkBiquadFilterNode.instance.Q_Getter_(unwrap_jso(this)));
|
||||
@@ -700,7 +873,7 @@ class BiquadFilterNode extends AudioNode {
|
||||
|
||||
@DomName('BiquadFilterNode.type')
|
||||
@DocsEditable()
|
||||
void set type(String value) => _blink.BlinkBiquadFilterNode.instance.type_Setter_(unwrap_jso(this), value);
|
||||
set type(String value) => _blink.BlinkBiquadFilterNode.instance.type_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('BiquadFilterNode.getFrequencyResponse')
|
||||
@DocsEditable()
|
||||
@@ -722,6 +895,18 @@ class ChannelMergerNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ChannelMergerNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static ChannelMergerNode internalCreateChannelMergerNode() {
|
||||
return new ChannelMergerNode._internalWrap();
|
||||
}
|
||||
|
||||
factory ChannelMergerNode._internalWrap() {
|
||||
return new ChannelMergerNode.internal_();
|
||||
}
|
||||
|
||||
ChannelMergerNode.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
|
||||
@@ -738,6 +923,18 @@ class ChannelSplitterNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ChannelSplitterNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static ChannelSplitterNode internalCreateChannelSplitterNode() {
|
||||
return new ChannelSplitterNode._internalWrap();
|
||||
}
|
||||
|
||||
factory ChannelSplitterNode._internalWrap() {
|
||||
return new ChannelSplitterNode.internal_();
|
||||
}
|
||||
|
||||
ChannelSplitterNode.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
|
||||
@@ -754,13 +951,25 @@ class ConvolverNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ConvolverNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static ConvolverNode internalCreateConvolverNode() {
|
||||
return new ConvolverNode._internalWrap();
|
||||
}
|
||||
|
||||
factory ConvolverNode._internalWrap() {
|
||||
return new ConvolverNode.internal_();
|
||||
}
|
||||
|
||||
ConvolverNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('ConvolverNode.buffer')
|
||||
@DocsEditable()
|
||||
AudioBuffer get buffer => wrap_jso(_blink.BlinkConvolverNode.instance.buffer_Getter_(unwrap_jso(this)));
|
||||
|
||||
@DomName('ConvolverNode.buffer')
|
||||
@DocsEditable()
|
||||
void set buffer(AudioBuffer value) => _blink.BlinkConvolverNode.instance.buffer_Setter_(unwrap_jso(this), unwrap_jso(value));
|
||||
set buffer(AudioBuffer value) => _blink.BlinkConvolverNode.instance.buffer_Setter_(unwrap_jso(this), unwrap_jso(value));
|
||||
|
||||
@DomName('ConvolverNode.normalize')
|
||||
@DocsEditable()
|
||||
@@ -768,7 +977,7 @@ class ConvolverNode extends AudioNode {
|
||||
|
||||
@DomName('ConvolverNode.normalize')
|
||||
@DocsEditable()
|
||||
void set normalize(bool value) => _blink.BlinkConvolverNode.instance.normalize_Setter_(unwrap_jso(this), value);
|
||||
set normalize(bool value) => _blink.BlinkConvolverNode.instance.normalize_Setter_(unwrap_jso(this), value);
|
||||
|
||||
}
|
||||
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
||||
@@ -786,6 +995,18 @@ class DelayNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory DelayNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static DelayNode internalCreateDelayNode() {
|
||||
return new DelayNode._internalWrap();
|
||||
}
|
||||
|
||||
factory DelayNode._internalWrap() {
|
||||
return new DelayNode.internal_();
|
||||
}
|
||||
|
||||
DelayNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('DelayNode.delayTime')
|
||||
@DocsEditable()
|
||||
AudioParam get delayTime => wrap_jso(_blink.BlinkDelayNode.instance.delayTime_Getter_(unwrap_jso(this)));
|
||||
@@ -806,6 +1027,18 @@ class DynamicsCompressorNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory DynamicsCompressorNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static DynamicsCompressorNode internalCreateDynamicsCompressorNode() {
|
||||
return new DynamicsCompressorNode._internalWrap();
|
||||
}
|
||||
|
||||
factory DynamicsCompressorNode._internalWrap() {
|
||||
return new DynamicsCompressorNode.internal_();
|
||||
}
|
||||
|
||||
DynamicsCompressorNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('DynamicsCompressorNode.attack')
|
||||
@DocsEditable()
|
||||
AudioParam get attack => wrap_jso(_blink.BlinkDynamicsCompressorNode.instance.attack_Getter_(unwrap_jso(this)));
|
||||
@@ -846,6 +1079,18 @@ class GainNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory GainNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static GainNode internalCreateGainNode() {
|
||||
return new GainNode._internalWrap();
|
||||
}
|
||||
|
||||
factory GainNode._internalWrap() {
|
||||
return new GainNode.internal_();
|
||||
}
|
||||
|
||||
GainNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('GainNode.gain')
|
||||
@DocsEditable()
|
||||
AudioParam get gain => wrap_jso(_blink.BlinkGainNode.instance.gain_Getter_(unwrap_jso(this)));
|
||||
@@ -866,6 +1111,18 @@ class MediaElementAudioSourceNode extends AudioSourceNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory MediaElementAudioSourceNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static MediaElementAudioSourceNode internalCreateMediaElementAudioSourceNode() {
|
||||
return new MediaElementAudioSourceNode._internalWrap();
|
||||
}
|
||||
|
||||
factory MediaElementAudioSourceNode._internalWrap() {
|
||||
return new MediaElementAudioSourceNode.internal_();
|
||||
}
|
||||
|
||||
MediaElementAudioSourceNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('MediaElementAudioSourceNode.mediaElement')
|
||||
@DocsEditable()
|
||||
@Experimental() // non-standard
|
||||
@@ -887,6 +1144,18 @@ class MediaStreamAudioDestinationNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory MediaStreamAudioDestinationNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static MediaStreamAudioDestinationNode internalCreateMediaStreamAudioDestinationNode() {
|
||||
return new MediaStreamAudioDestinationNode._internalWrap();
|
||||
}
|
||||
|
||||
factory MediaStreamAudioDestinationNode._internalWrap() {
|
||||
return new MediaStreamAudioDestinationNode.internal_();
|
||||
}
|
||||
|
||||
MediaStreamAudioDestinationNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('MediaStreamAudioDestinationNode.stream')
|
||||
@DocsEditable()
|
||||
MediaStream get stream => wrap_jso(_blink.BlinkMediaStreamAudioDestinationNode.instance.stream_Getter_(unwrap_jso(this)));
|
||||
@@ -907,6 +1176,18 @@ class MediaStreamAudioSourceNode extends AudioSourceNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory MediaStreamAudioSourceNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static MediaStreamAudioSourceNode internalCreateMediaStreamAudioSourceNode() {
|
||||
return new MediaStreamAudioSourceNode._internalWrap();
|
||||
}
|
||||
|
||||
factory MediaStreamAudioSourceNode._internalWrap() {
|
||||
return new MediaStreamAudioSourceNode.internal_();
|
||||
}
|
||||
|
||||
MediaStreamAudioSourceNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('MediaStreamAudioSourceNode.mediaStream')
|
||||
@DocsEditable()
|
||||
MediaStream get mediaStream => wrap_jso(_blink.BlinkMediaStreamAudioSourceNode.instance.mediaStream_Getter_(unwrap_jso(this)));
|
||||
@@ -927,6 +1208,18 @@ class OfflineAudioCompletionEvent extends Event {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory OfflineAudioCompletionEvent._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static OfflineAudioCompletionEvent internalCreateOfflineAudioCompletionEvent() {
|
||||
return new OfflineAudioCompletionEvent._internalWrap();
|
||||
}
|
||||
|
||||
factory OfflineAudioCompletionEvent._internalWrap() {
|
||||
return new OfflineAudioCompletionEvent.internal_();
|
||||
}
|
||||
|
||||
OfflineAudioCompletionEvent.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('OfflineAudioCompletionEvent.renderedBuffer')
|
||||
@DocsEditable()
|
||||
AudioBuffer get renderedBuffer => wrap_jso(_blink.BlinkOfflineAudioCompletionEvent.instance.renderedBuffer_Getter_(unwrap_jso(this)));
|
||||
@@ -950,9 +1243,21 @@ class OfflineAudioContext extends AudioContext {
|
||||
@DomName('OfflineAudioContext.OfflineAudioContext')
|
||||
@DocsEditable()
|
||||
factory OfflineAudioContext(int numberOfChannels, int numberOfFrames, num sampleRate) {
|
||||
return _blink.BlinkOfflineAudioContext.instance.constructorCallback_3_(numberOfChannels, numberOfFrames, sampleRate);
|
||||
return wrap_jso(_blink.BlinkOfflineAudioContext.instance.constructorCallback_3_(numberOfChannels, numberOfFrames, sampleRate));
|
||||
}
|
||||
|
||||
|
||||
static OfflineAudioContext internalCreateOfflineAudioContext() {
|
||||
return new OfflineAudioContext._internalWrap();
|
||||
}
|
||||
|
||||
factory OfflineAudioContext._internalWrap() {
|
||||
return new OfflineAudioContext.internal_();
|
||||
}
|
||||
|
||||
OfflineAudioContext.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
|
||||
@@ -980,6 +1285,18 @@ class OscillatorNode extends AudioSourceNode {
|
||||
@Experimental() // untriaged
|
||||
static const EventStreamProvider<Event> endedEvent = const EventStreamProvider<Event>('ended');
|
||||
|
||||
|
||||
static OscillatorNode internalCreateOscillatorNode() {
|
||||
return new OscillatorNode._internalWrap();
|
||||
}
|
||||
|
||||
factory OscillatorNode._internalWrap() {
|
||||
return new OscillatorNode.internal_();
|
||||
}
|
||||
|
||||
OscillatorNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('OscillatorNode.detune')
|
||||
@DocsEditable()
|
||||
AudioParam get detune => wrap_jso(_blink.BlinkOscillatorNode.instance.detune_Getter_(unwrap_jso(this)));
|
||||
@@ -994,7 +1311,7 @@ class OscillatorNode extends AudioSourceNode {
|
||||
|
||||
@DomName('OscillatorNode.type')
|
||||
@DocsEditable()
|
||||
void set type(String value) => _blink.BlinkOscillatorNode.instance.type_Setter_(unwrap_jso(this), value);
|
||||
set type(String value) => _blink.BlinkOscillatorNode.instance.type_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('OscillatorNode.noteOff')
|
||||
@DocsEditable()
|
||||
@@ -1049,13 +1366,25 @@ class PannerNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory PannerNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static PannerNode internalCreatePannerNode() {
|
||||
return new PannerNode._internalWrap();
|
||||
}
|
||||
|
||||
factory PannerNode._internalWrap() {
|
||||
return new PannerNode.internal_();
|
||||
}
|
||||
|
||||
PannerNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('PannerNode.coneInnerAngle')
|
||||
@DocsEditable()
|
||||
num get coneInnerAngle => _blink.BlinkPannerNode.instance.coneInnerAngle_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('PannerNode.coneInnerAngle')
|
||||
@DocsEditable()
|
||||
void set coneInnerAngle(num value) => _blink.BlinkPannerNode.instance.coneInnerAngle_Setter_(unwrap_jso(this), value);
|
||||
set coneInnerAngle(num value) => _blink.BlinkPannerNode.instance.coneInnerAngle_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('PannerNode.coneOuterAngle')
|
||||
@DocsEditable()
|
||||
@@ -1063,7 +1392,7 @@ class PannerNode extends AudioNode {
|
||||
|
||||
@DomName('PannerNode.coneOuterAngle')
|
||||
@DocsEditable()
|
||||
void set coneOuterAngle(num value) => _blink.BlinkPannerNode.instance.coneOuterAngle_Setter_(unwrap_jso(this), value);
|
||||
set coneOuterAngle(num value) => _blink.BlinkPannerNode.instance.coneOuterAngle_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('PannerNode.coneOuterGain')
|
||||
@DocsEditable()
|
||||
@@ -1071,7 +1400,7 @@ class PannerNode extends AudioNode {
|
||||
|
||||
@DomName('PannerNode.coneOuterGain')
|
||||
@DocsEditable()
|
||||
void set coneOuterGain(num value) => _blink.BlinkPannerNode.instance.coneOuterGain_Setter_(unwrap_jso(this), value);
|
||||
set coneOuterGain(num value) => _blink.BlinkPannerNode.instance.coneOuterGain_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('PannerNode.distanceModel')
|
||||
@DocsEditable()
|
||||
@@ -1079,7 +1408,7 @@ class PannerNode extends AudioNode {
|
||||
|
||||
@DomName('PannerNode.distanceModel')
|
||||
@DocsEditable()
|
||||
void set distanceModel(String value) => _blink.BlinkPannerNode.instance.distanceModel_Setter_(unwrap_jso(this), value);
|
||||
set distanceModel(String value) => _blink.BlinkPannerNode.instance.distanceModel_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('PannerNode.maxDistance')
|
||||
@DocsEditable()
|
||||
@@ -1087,7 +1416,7 @@ class PannerNode extends AudioNode {
|
||||
|
||||
@DomName('PannerNode.maxDistance')
|
||||
@DocsEditable()
|
||||
void set maxDistance(num value) => _blink.BlinkPannerNode.instance.maxDistance_Setter_(unwrap_jso(this), value);
|
||||
set maxDistance(num value) => _blink.BlinkPannerNode.instance.maxDistance_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('PannerNode.panningModel')
|
||||
@DocsEditable()
|
||||
@@ -1095,7 +1424,7 @@ class PannerNode extends AudioNode {
|
||||
|
||||
@DomName('PannerNode.panningModel')
|
||||
@DocsEditable()
|
||||
void set panningModel(String value) => _blink.BlinkPannerNode.instance.panningModel_Setter_(unwrap_jso(this), value);
|
||||
set panningModel(String value) => _blink.BlinkPannerNode.instance.panningModel_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('PannerNode.refDistance')
|
||||
@DocsEditable()
|
||||
@@ -1103,7 +1432,7 @@ class PannerNode extends AudioNode {
|
||||
|
||||
@DomName('PannerNode.refDistance')
|
||||
@DocsEditable()
|
||||
void set refDistance(num value) => _blink.BlinkPannerNode.instance.refDistance_Setter_(unwrap_jso(this), value);
|
||||
set refDistance(num value) => _blink.BlinkPannerNode.instance.refDistance_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('PannerNode.rolloffFactor')
|
||||
@DocsEditable()
|
||||
@@ -1111,7 +1440,7 @@ class PannerNode extends AudioNode {
|
||||
|
||||
@DomName('PannerNode.rolloffFactor')
|
||||
@DocsEditable()
|
||||
void set rolloffFactor(num value) => _blink.BlinkPannerNode.instance.rolloffFactor_Setter_(unwrap_jso(this), value);
|
||||
set rolloffFactor(num value) => _blink.BlinkPannerNode.instance.rolloffFactor_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('PannerNode.setOrientation')
|
||||
@DocsEditable()
|
||||
@@ -1140,6 +1469,21 @@ class PeriodicWave extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory PeriodicWave._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static PeriodicWave internalCreatePeriodicWave() {
|
||||
return new PeriodicWave._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory PeriodicWave._internalWrap() {
|
||||
return new PeriodicWave.internal_();
|
||||
}
|
||||
|
||||
PeriodicWave.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -1167,6 +1511,18 @@ class ScriptProcessorNode extends AudioNode {
|
||||
@Experimental() // untriaged
|
||||
static const EventStreamProvider<AudioProcessingEvent> audioProcessEvent = const EventStreamProvider<AudioProcessingEvent>('audioprocess');
|
||||
|
||||
|
||||
static ScriptProcessorNode internalCreateScriptProcessorNode() {
|
||||
return new ScriptProcessorNode._internalWrap();
|
||||
}
|
||||
|
||||
factory ScriptProcessorNode._internalWrap() {
|
||||
return new ScriptProcessorNode.internal_();
|
||||
}
|
||||
|
||||
ScriptProcessorNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('ScriptProcessorNode.bufferSize')
|
||||
@DocsEditable()
|
||||
int get bufferSize => _blink.BlinkScriptProcessorNode.instance.bufferSize_Getter_(unwrap_jso(this));
|
||||
@@ -1174,7 +1530,7 @@ class ScriptProcessorNode extends AudioNode {
|
||||
@DomName('ScriptProcessorNode.setEventListener')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
void setEventListener(EventListener eventListener) => _blink.BlinkScriptProcessorNode.instance.setEventListener_Callback_1_(unwrap_jso(this), unwrap_jso(eventListener));
|
||||
void setEventListener(EventListener eventListener) => _blink.BlinkScriptProcessorNode.instance.setEventListener_Callback_1_(unwrap_jso(this), unwrap_jso((event) => eventListener(wrap_jso(event))));
|
||||
|
||||
/// Stream of `audioprocess` events handled by this [ScriptProcessorNode].
|
||||
/**
|
||||
@@ -1205,13 +1561,25 @@ class WaveShaperNode extends AudioNode {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory WaveShaperNode._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static WaveShaperNode internalCreateWaveShaperNode() {
|
||||
return new WaveShaperNode._internalWrap();
|
||||
}
|
||||
|
||||
factory WaveShaperNode._internalWrap() {
|
||||
return new WaveShaperNode.internal_();
|
||||
}
|
||||
|
||||
WaveShaperNode.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('WaveShaperNode.curve')
|
||||
@DocsEditable()
|
||||
Float32List get curve => wrap_jso(_blink.BlinkWaveShaperNode.instance.curve_Getter_(unwrap_jso(this)));
|
||||
Float32List get curve => _blink.BlinkWaveShaperNode.instance.curve_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('WaveShaperNode.curve')
|
||||
@DocsEditable()
|
||||
void set curve(Float32List value) => _blink.BlinkWaveShaperNode.instance.curve_Setter_(unwrap_jso(this), unwrap_jso(value));
|
||||
set curve(Float32List value) => _blink.BlinkWaveShaperNode.instance.curve_Setter_(unwrap_jso(this), unwrap_jso(value));
|
||||
|
||||
@DomName('WaveShaperNode.oversample')
|
||||
@DocsEditable()
|
||||
@@ -1219,6 +1587,6 @@ class WaveShaperNode extends AudioNode {
|
||||
|
||||
@DomName('WaveShaperNode.oversample')
|
||||
@DocsEditable()
|
||||
void set oversample(String value) => _blink.BlinkWaveShaperNode.instance.oversample_Setter_(unwrap_jso(this), value);
|
||||
set oversample(String value) => _blink.BlinkWaveShaperNode.instance.oversample_Setter_(unwrap_jso(this), value);
|
||||
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import 'dart:html_common';
|
||||
import 'dart:nativewrappers';
|
||||
import 'dart:typed_data';
|
||||
import 'dart:_blink' as _blink;
|
||||
import 'dart:js' as js;
|
||||
// DO NOT EDIT
|
||||
// Auto-generated dart:web_gl library.
|
||||
|
||||
@@ -58,6 +59,44 @@ final web_glBlinkMap = {
|
||||
|
||||
};
|
||||
|
||||
// FIXME: Can we make this private?
|
||||
final web_glBlinkFunctionMap = {
|
||||
'ANGLEInstancedArrays': () => AngleInstancedArrays.internalCreateAngleInstancedArrays,
|
||||
'EXTBlendMinMax': () => ExtBlendMinMax.internalCreateExtBlendMinMax,
|
||||
'EXTFragDepth': () => ExtFragDepth.internalCreateExtFragDepth,
|
||||
'EXTShaderTextureLOD': () => ExtShaderTextureLod.internalCreateExtShaderTextureLod,
|
||||
'EXTTextureFilterAnisotropic': () => ExtTextureFilterAnisotropic.internalCreateExtTextureFilterAnisotropic,
|
||||
'OESElementIndexUint': () => OesElementIndexUint.internalCreateOesElementIndexUint,
|
||||
'OESStandardDerivatives': () => OesStandardDerivatives.internalCreateOesStandardDerivatives,
|
||||
'OESTextureFloat': () => OesTextureFloat.internalCreateOesTextureFloat,
|
||||
'OESTextureFloatLinear': () => OesTextureFloatLinear.internalCreateOesTextureFloatLinear,
|
||||
'OESTextureHalfFloat': () => OesTextureHalfFloat.internalCreateOesTextureHalfFloat,
|
||||
'OESTextureHalfFloatLinear': () => OesTextureHalfFloatLinear.internalCreateOesTextureHalfFloatLinear,
|
||||
'OESVertexArrayObject': () => OesVertexArrayObject.internalCreateOesVertexArrayObject,
|
||||
'WebGLActiveInfo': () => ActiveInfo.internalCreateActiveInfo,
|
||||
'WebGLBuffer': () => Buffer.internalCreateBuffer,
|
||||
'WebGLCompressedTextureATC': () => CompressedTextureAtc.internalCreateCompressedTextureAtc,
|
||||
'WebGLCompressedTextureETC1': () => CompressedTextureETC1.internalCreateCompressedTextureETC1,
|
||||
'WebGLCompressedTexturePVRTC': () => CompressedTexturePvrtc.internalCreateCompressedTexturePvrtc,
|
||||
'WebGLCompressedTextureS3TC': () => CompressedTextureS3TC.internalCreateCompressedTextureS3TC,
|
||||
'WebGLContextAttributes': () => ContextAttributes.internalCreateContextAttributes,
|
||||
'WebGLContextEvent': () => ContextEvent.internalCreateContextEvent,
|
||||
'WebGLDebugRendererInfo': () => DebugRendererInfo.internalCreateDebugRendererInfo,
|
||||
'WebGLDebugShaders': () => DebugShaders.internalCreateDebugShaders,
|
||||
'WebGLDepthTexture': () => DepthTexture.internalCreateDepthTexture,
|
||||
'WebGLDrawBuffers': () => DrawBuffers.internalCreateDrawBuffers,
|
||||
'WebGLFramebuffer': () => Framebuffer.internalCreateFramebuffer,
|
||||
'WebGLLoseContext': () => LoseContext.internalCreateLoseContext,
|
||||
'WebGLProgram': () => Program.internalCreateProgram,
|
||||
'WebGLRenderbuffer': () => Renderbuffer.internalCreateRenderbuffer,
|
||||
'WebGLRenderingContext': () => RenderingContext.internalCreateRenderingContext,
|
||||
'WebGLShader': () => Shader.internalCreateShader,
|
||||
'WebGLShaderPrecisionFormat': () => ShaderPrecisionFormat.internalCreateShaderPrecisionFormat,
|
||||
'WebGLTexture': () => Texture.internalCreateTexture,
|
||||
'WebGLUniformLocation': () => UniformLocation.internalCreateUniformLocation,
|
||||
'WebGLVertexArrayObjectOES': () => VertexArrayObject.internalCreateVertexArrayObject,
|
||||
|
||||
};
|
||||
// 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.
|
||||
@@ -373,6 +412,21 @@ class ActiveInfo extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ActiveInfo._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static ActiveInfo internalCreateActiveInfo() {
|
||||
return new ActiveInfo._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory ActiveInfo._internalWrap() {
|
||||
return new ActiveInfo.internal_();
|
||||
}
|
||||
|
||||
ActiveInfo.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLActiveInfo.name')
|
||||
@DocsEditable()
|
||||
String get name => _blink.BlinkWebGLActiveInfo.instance.name_Getter_(unwrap_jso(this));
|
||||
@@ -400,6 +454,21 @@ class AngleInstancedArrays extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory AngleInstancedArrays._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static AngleInstancedArrays internalCreateAngleInstancedArrays() {
|
||||
return new AngleInstancedArrays._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory AngleInstancedArrays._internalWrap() {
|
||||
return new AngleInstancedArrays.internal_();
|
||||
}
|
||||
|
||||
AngleInstancedArrays.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('ANGLEInstancedArrays.VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
@@ -435,6 +504,21 @@ class Buffer extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory Buffer._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static Buffer internalCreateBuffer() {
|
||||
return new Buffer._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory Buffer._internalWrap() {
|
||||
return new Buffer.internal_();
|
||||
}
|
||||
|
||||
Buffer.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -451,6 +535,21 @@ class CompressedTextureAtc extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory CompressedTextureAtc._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static CompressedTextureAtc internalCreateCompressedTextureAtc() {
|
||||
return new CompressedTextureAtc._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory CompressedTextureAtc._internalWrap() {
|
||||
return new CompressedTextureAtc.internal_();
|
||||
}
|
||||
|
||||
CompressedTextureAtc.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLCompressedTextureATC.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL')
|
||||
@DocsEditable()
|
||||
static const int COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL = 0x8C93;
|
||||
@@ -478,6 +577,21 @@ class CompressedTextureETC1 extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory CompressedTextureETC1._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static CompressedTextureETC1 internalCreateCompressedTextureETC1() {
|
||||
return new CompressedTextureETC1._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory CompressedTextureETC1._internalWrap() {
|
||||
return new CompressedTextureETC1.internal_();
|
||||
}
|
||||
|
||||
CompressedTextureETC1.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLCompressedTextureETC1.COMPRESSED_RGB_ETC1_WEBGL')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
@@ -499,6 +613,21 @@ class CompressedTexturePvrtc extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory CompressedTexturePvrtc._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static CompressedTexturePvrtc internalCreateCompressedTexturePvrtc() {
|
||||
return new CompressedTexturePvrtc._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory CompressedTexturePvrtc._internalWrap() {
|
||||
return new CompressedTexturePvrtc.internal_();
|
||||
}
|
||||
|
||||
CompressedTexturePvrtc.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLCompressedTexturePVRTC.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG')
|
||||
@DocsEditable()
|
||||
static const int COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03;
|
||||
@@ -531,6 +660,21 @@ class CompressedTextureS3TC extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory CompressedTextureS3TC._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static CompressedTextureS3TC internalCreateCompressedTextureS3TC() {
|
||||
return new CompressedTextureS3TC._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory CompressedTextureS3TC._internalWrap() {
|
||||
return new CompressedTextureS3TC.internal_();
|
||||
}
|
||||
|
||||
CompressedTextureS3TC.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLCompressedTextureS3TC.COMPRESSED_RGBA_S3TC_DXT1_EXT')
|
||||
@DocsEditable()
|
||||
static const int COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1;
|
||||
@@ -584,13 +728,28 @@ class ContextAttributes extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ContextAttributes._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static ContextAttributes internalCreateContextAttributes() {
|
||||
return new ContextAttributes._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory ContextAttributes._internalWrap() {
|
||||
return new ContextAttributes.internal_();
|
||||
}
|
||||
|
||||
ContextAttributes.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLContextAttributes.alpha')
|
||||
@DocsEditable()
|
||||
bool get alpha => _blink.BlinkWebGLContextAttributes.instance.alpha_Getter_(unwrap_jso(this));
|
||||
|
||||
@DomName('WebGLContextAttributes.alpha')
|
||||
@DocsEditable()
|
||||
void set alpha(bool value) => _blink.BlinkWebGLContextAttributes.instance.alpha_Setter_(unwrap_jso(this), value);
|
||||
set alpha(bool value) => _blink.BlinkWebGLContextAttributes.instance.alpha_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('WebGLContextAttributes.antialias')
|
||||
@DocsEditable()
|
||||
@@ -598,7 +757,7 @@ class ContextAttributes extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('WebGLContextAttributes.antialias')
|
||||
@DocsEditable()
|
||||
void set antialias(bool value) => _blink.BlinkWebGLContextAttributes.instance.antialias_Setter_(unwrap_jso(this), value);
|
||||
set antialias(bool value) => _blink.BlinkWebGLContextAttributes.instance.antialias_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('WebGLContextAttributes.depth')
|
||||
@DocsEditable()
|
||||
@@ -606,7 +765,7 @@ class ContextAttributes extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('WebGLContextAttributes.depth')
|
||||
@DocsEditable()
|
||||
void set depth(bool value) => _blink.BlinkWebGLContextAttributes.instance.depth_Setter_(unwrap_jso(this), value);
|
||||
set depth(bool value) => _blink.BlinkWebGLContextAttributes.instance.depth_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('WebGLContextAttributes.failIfMajorPerformanceCaveat')
|
||||
@DocsEditable()
|
||||
@@ -616,7 +775,7 @@ class ContextAttributes extends NativeFieldWrapperClass2 {
|
||||
@DomName('WebGLContextAttributes.failIfMajorPerformanceCaveat')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
void set failIfMajorPerformanceCaveat(bool value) => _blink.BlinkWebGLContextAttributes.instance.failIfMajorPerformanceCaveat_Setter_(unwrap_jso(this), value);
|
||||
set failIfMajorPerformanceCaveat(bool value) => _blink.BlinkWebGLContextAttributes.instance.failIfMajorPerformanceCaveat_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('WebGLContextAttributes.premultipliedAlpha')
|
||||
@DocsEditable()
|
||||
@@ -624,7 +783,7 @@ class ContextAttributes extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('WebGLContextAttributes.premultipliedAlpha')
|
||||
@DocsEditable()
|
||||
void set premultipliedAlpha(bool value) => _blink.BlinkWebGLContextAttributes.instance.premultipliedAlpha_Setter_(unwrap_jso(this), value);
|
||||
set premultipliedAlpha(bool value) => _blink.BlinkWebGLContextAttributes.instance.premultipliedAlpha_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('WebGLContextAttributes.preserveDrawingBuffer')
|
||||
@DocsEditable()
|
||||
@@ -632,7 +791,7 @@ class ContextAttributes extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('WebGLContextAttributes.preserveDrawingBuffer')
|
||||
@DocsEditable()
|
||||
void set preserveDrawingBuffer(bool value) => _blink.BlinkWebGLContextAttributes.instance.preserveDrawingBuffer_Setter_(unwrap_jso(this), value);
|
||||
set preserveDrawingBuffer(bool value) => _blink.BlinkWebGLContextAttributes.instance.preserveDrawingBuffer_Setter_(unwrap_jso(this), value);
|
||||
|
||||
@DomName('WebGLContextAttributes.stencil')
|
||||
@DocsEditable()
|
||||
@@ -640,7 +799,7 @@ class ContextAttributes extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('WebGLContextAttributes.stencil')
|
||||
@DocsEditable()
|
||||
void set stencil(bool value) => _blink.BlinkWebGLContextAttributes.instance.stencil_Setter_(unwrap_jso(this), value);
|
||||
set stencil(bool value) => _blink.BlinkWebGLContextAttributes.instance.stencil_Setter_(unwrap_jso(this), value);
|
||||
|
||||
}
|
||||
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
||||
@@ -657,6 +816,18 @@ class ContextEvent extends Event {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ContextEvent._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
static ContextEvent internalCreateContextEvent() {
|
||||
return new ContextEvent._internalWrap();
|
||||
}
|
||||
|
||||
factory ContextEvent._internalWrap() {
|
||||
return new ContextEvent.internal_();
|
||||
}
|
||||
|
||||
ContextEvent.internal_() : super.internal_();
|
||||
|
||||
|
||||
@DomName('WebGLContextEvent.statusMessage')
|
||||
@DocsEditable()
|
||||
String get statusMessage => _blink.BlinkWebGLContextEvent.instance.statusMessage_Getter_(unwrap_jso(this));
|
||||
@@ -677,6 +848,21 @@ class DebugRendererInfo extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory DebugRendererInfo._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static DebugRendererInfo internalCreateDebugRendererInfo() {
|
||||
return new DebugRendererInfo._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory DebugRendererInfo._internalWrap() {
|
||||
return new DebugRendererInfo.internal_();
|
||||
}
|
||||
|
||||
DebugRendererInfo.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLDebugRendererInfo.UNMASKED_RENDERER_WEBGL')
|
||||
@DocsEditable()
|
||||
static const int UNMASKED_RENDERER_WEBGL = 0x9246;
|
||||
@@ -701,6 +887,21 @@ class DebugShaders extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory DebugShaders._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static DebugShaders internalCreateDebugShaders() {
|
||||
return new DebugShaders._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory DebugShaders._internalWrap() {
|
||||
return new DebugShaders.internal_();
|
||||
}
|
||||
|
||||
DebugShaders.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLDebugShaders.getTranslatedShaderSource')
|
||||
@DocsEditable()
|
||||
String getTranslatedShaderSource(Shader shader) => _blink.BlinkWebGLDebugShaders.instance.getTranslatedShaderSource_Callback_1_(unwrap_jso(this), unwrap_jso(shader));
|
||||
@@ -721,6 +922,21 @@ class DepthTexture extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory DepthTexture._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static DepthTexture internalCreateDepthTexture() {
|
||||
return new DepthTexture._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory DepthTexture._internalWrap() {
|
||||
return new DepthTexture.internal_();
|
||||
}
|
||||
|
||||
DepthTexture.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLDepthTexture.UNSIGNED_INT_24_8_WEBGL')
|
||||
@DocsEditable()
|
||||
static const int UNSIGNED_INT_24_8_WEBGL = 0x84FA;
|
||||
@@ -741,6 +957,21 @@ class DrawBuffers extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory DrawBuffers._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static DrawBuffers internalCreateDrawBuffers() {
|
||||
return new DrawBuffers._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory DrawBuffers._internalWrap() {
|
||||
return new DrawBuffers.internal_();
|
||||
}
|
||||
|
||||
DrawBuffers.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLDrawBuffers.COLOR_ATTACHMENT0_WEBGL')
|
||||
@DocsEditable()
|
||||
static const int COLOR_ATTACHMENT0_WEBGL = 0x8CE0;
|
||||
@@ -896,6 +1127,21 @@ class ExtBlendMinMax extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ExtBlendMinMax._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static ExtBlendMinMax internalCreateExtBlendMinMax() {
|
||||
return new ExtBlendMinMax._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory ExtBlendMinMax._internalWrap() {
|
||||
return new ExtBlendMinMax.internal_();
|
||||
}
|
||||
|
||||
ExtBlendMinMax.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('EXTBlendMinMax.MAX_EXT')
|
||||
@DocsEditable()
|
||||
@Experimental() // untriaged
|
||||
@@ -922,6 +1168,21 @@ class ExtFragDepth extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ExtFragDepth._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static ExtFragDepth internalCreateExtFragDepth() {
|
||||
return new ExtFragDepth._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory ExtFragDepth._internalWrap() {
|
||||
return new ExtFragDepth.internal_();
|
||||
}
|
||||
|
||||
ExtFragDepth.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -937,6 +1198,21 @@ class ExtShaderTextureLod extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ExtShaderTextureLod._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static ExtShaderTextureLod internalCreateExtShaderTextureLod() {
|
||||
return new ExtShaderTextureLod._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory ExtShaderTextureLod._internalWrap() {
|
||||
return new ExtShaderTextureLod.internal_();
|
||||
}
|
||||
|
||||
ExtShaderTextureLod.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -953,6 +1229,21 @@ class ExtTextureFilterAnisotropic extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ExtTextureFilterAnisotropic._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static ExtTextureFilterAnisotropic internalCreateExtTextureFilterAnisotropic() {
|
||||
return new ExtTextureFilterAnisotropic._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory ExtTextureFilterAnisotropic._internalWrap() {
|
||||
return new ExtTextureFilterAnisotropic.internal_();
|
||||
}
|
||||
|
||||
ExtTextureFilterAnisotropic.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('EXTTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT')
|
||||
@DocsEditable()
|
||||
static const int MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF;
|
||||
@@ -976,6 +1267,21 @@ class Framebuffer extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory Framebuffer._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static Framebuffer internalCreateFramebuffer() {
|
||||
return new Framebuffer._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory Framebuffer._internalWrap() {
|
||||
return new Framebuffer.internal_();
|
||||
}
|
||||
|
||||
Framebuffer.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -992,6 +1298,21 @@ class LoseContext extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory LoseContext._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static LoseContext internalCreateLoseContext() {
|
||||
return new LoseContext._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory LoseContext._internalWrap() {
|
||||
return new LoseContext.internal_();
|
||||
}
|
||||
|
||||
LoseContext.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLLoseContext.loseContext')
|
||||
@DocsEditable()
|
||||
void loseContext() => _blink.BlinkWebGLLoseContext.instance.loseContext_Callback_0_(unwrap_jso(this));
|
||||
@@ -1016,6 +1337,21 @@ class OesElementIndexUint extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory OesElementIndexUint._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static OesElementIndexUint internalCreateOesElementIndexUint() {
|
||||
return new OesElementIndexUint._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory OesElementIndexUint._internalWrap() {
|
||||
return new OesElementIndexUint.internal_();
|
||||
}
|
||||
|
||||
OesElementIndexUint.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -1032,6 +1368,21 @@ class OesStandardDerivatives extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory OesStandardDerivatives._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static OesStandardDerivatives internalCreateOesStandardDerivatives() {
|
||||
return new OesStandardDerivatives._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory OesStandardDerivatives._internalWrap() {
|
||||
return new OesStandardDerivatives.internal_();
|
||||
}
|
||||
|
||||
OesStandardDerivatives.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('OESStandardDerivatives.FRAGMENT_SHADER_DERIVATIVE_HINT_OES')
|
||||
@DocsEditable()
|
||||
static const int FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B;
|
||||
@@ -1052,6 +1403,21 @@ class OesTextureFloat extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory OesTextureFloat._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static OesTextureFloat internalCreateOesTextureFloat() {
|
||||
return new OesTextureFloat._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory OesTextureFloat._internalWrap() {
|
||||
return new OesTextureFloat.internal_();
|
||||
}
|
||||
|
||||
OesTextureFloat.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -1068,6 +1434,21 @@ class OesTextureFloatLinear extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory OesTextureFloatLinear._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static OesTextureFloatLinear internalCreateOesTextureFloatLinear() {
|
||||
return new OesTextureFloatLinear._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory OesTextureFloatLinear._internalWrap() {
|
||||
return new OesTextureFloatLinear.internal_();
|
||||
}
|
||||
|
||||
OesTextureFloatLinear.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -1084,6 +1465,21 @@ class OesTextureHalfFloat extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory OesTextureHalfFloat._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static OesTextureHalfFloat internalCreateOesTextureHalfFloat() {
|
||||
return new OesTextureHalfFloat._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory OesTextureHalfFloat._internalWrap() {
|
||||
return new OesTextureHalfFloat.internal_();
|
||||
}
|
||||
|
||||
OesTextureHalfFloat.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('OESTextureHalfFloat.HALF_FLOAT_OES')
|
||||
@DocsEditable()
|
||||
static const int HALF_FLOAT_OES = 0x8D61;
|
||||
@@ -1104,6 +1500,21 @@ class OesTextureHalfFloatLinear extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory OesTextureHalfFloatLinear._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static OesTextureHalfFloatLinear internalCreateOesTextureHalfFloatLinear() {
|
||||
return new OesTextureHalfFloatLinear._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory OesTextureHalfFloatLinear._internalWrap() {
|
||||
return new OesTextureHalfFloatLinear.internal_();
|
||||
}
|
||||
|
||||
OesTextureHalfFloatLinear.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -1120,6 +1531,21 @@ class OesVertexArrayObject extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory OesVertexArrayObject._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static OesVertexArrayObject internalCreateOesVertexArrayObject() {
|
||||
return new OesVertexArrayObject._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory OesVertexArrayObject._internalWrap() {
|
||||
return new OesVertexArrayObject.internal_();
|
||||
}
|
||||
|
||||
OesVertexArrayObject.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('OESVertexArrayObject.VERTEX_ARRAY_BINDING_OES')
|
||||
@DocsEditable()
|
||||
static const int VERTEX_ARRAY_BINDING_OES = 0x85B5;
|
||||
@@ -1130,7 +1556,7 @@ class OesVertexArrayObject extends NativeFieldWrapperClass2 {
|
||||
|
||||
@DomName('OESVertexArrayObject.createVertexArrayOES')
|
||||
@DocsEditable()
|
||||
VertexArrayObject createVertexArray() => _blink.BlinkOESVertexArrayObject.instance.createVertexArrayOES_Callback_0_(unwrap_jso(this));
|
||||
VertexArrayObject createVertexArray() => wrap_jso(_blink.BlinkOESVertexArrayObject.instance.createVertexArrayOES_Callback_0_(unwrap_jso(this)));
|
||||
|
||||
@DomName('OESVertexArrayObject.deleteVertexArrayOES')
|
||||
@DocsEditable()
|
||||
@@ -1155,6 +1581,21 @@ class Program extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory Program._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static Program internalCreateProgram() {
|
||||
return new Program._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory Program._internalWrap() {
|
||||
return new Program.internal_();
|
||||
}
|
||||
|
||||
Program.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -1170,6 +1611,21 @@ class Renderbuffer extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory Renderbuffer._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static Renderbuffer internalCreateRenderbuffer() {
|
||||
return new Renderbuffer._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory Renderbuffer._internalWrap() {
|
||||
return new Renderbuffer.internal_();
|
||||
}
|
||||
|
||||
Renderbuffer.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -1185,6 +1641,21 @@ class RenderingContext extends NativeFieldWrapperClass2 implements CanvasRenderi
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory RenderingContext._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static RenderingContext internalCreateRenderingContext() {
|
||||
return new RenderingContext._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory RenderingContext._internalWrap() {
|
||||
return new RenderingContext.internal_();
|
||||
}
|
||||
|
||||
RenderingContext.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
/// Checks if this type is supported on the current platform.
|
||||
static bool get supported => true;
|
||||
|
||||
@@ -2529,27 +3000,27 @@ class RenderingContext extends NativeFieldWrapperClass2 implements CanvasRenderi
|
||||
|
||||
@DomName('WebGLRenderingContext.createBuffer')
|
||||
@DocsEditable()
|
||||
Buffer createBuffer() => _blink.BlinkWebGLRenderingContext.instance.createBuffer_Callback_0_(unwrap_jso(this));
|
||||
Buffer createBuffer() => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.createBuffer_Callback_0_(unwrap_jso(this)));
|
||||
|
||||
@DomName('WebGLRenderingContext.createFramebuffer')
|
||||
@DocsEditable()
|
||||
Framebuffer createFramebuffer() => _blink.BlinkWebGLRenderingContext.instance.createFramebuffer_Callback_0_(unwrap_jso(this));
|
||||
Framebuffer createFramebuffer() => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.createFramebuffer_Callback_0_(unwrap_jso(this)));
|
||||
|
||||
@DomName('WebGLRenderingContext.createProgram')
|
||||
@DocsEditable()
|
||||
Program createProgram() => _blink.BlinkWebGLRenderingContext.instance.createProgram_Callback_0_(unwrap_jso(this));
|
||||
Program createProgram() => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.createProgram_Callback_0_(unwrap_jso(this)));
|
||||
|
||||
@DomName('WebGLRenderingContext.createRenderbuffer')
|
||||
@DocsEditable()
|
||||
Renderbuffer createRenderbuffer() => _blink.BlinkWebGLRenderingContext.instance.createRenderbuffer_Callback_0_(unwrap_jso(this));
|
||||
Renderbuffer createRenderbuffer() => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.createRenderbuffer_Callback_0_(unwrap_jso(this)));
|
||||
|
||||
@DomName('WebGLRenderingContext.createShader')
|
||||
@DocsEditable()
|
||||
Shader createShader(int type) => _blink.BlinkWebGLRenderingContext.instance.createShader_Callback_1_(unwrap_jso(this), type);
|
||||
Shader createShader(int type) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.createShader_Callback_1_(unwrap_jso(this), type));
|
||||
|
||||
@DomName('WebGLRenderingContext.createTexture')
|
||||
@DocsEditable()
|
||||
Texture createTexture() => _blink.BlinkWebGLRenderingContext.instance.createTexture_Callback_0_(unwrap_jso(this));
|
||||
Texture createTexture() => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.createTexture_Callback_0_(unwrap_jso(this)));
|
||||
|
||||
@DomName('WebGLRenderingContext.cullFace')
|
||||
@DocsEditable()
|
||||
@@ -2645,15 +3116,15 @@ class RenderingContext extends NativeFieldWrapperClass2 implements CanvasRenderi
|
||||
|
||||
@DomName('WebGLRenderingContext.getActiveAttrib')
|
||||
@DocsEditable()
|
||||
ActiveInfo getActiveAttrib(Program program, int index) => _blink.BlinkWebGLRenderingContext.instance.getActiveAttrib_Callback_2_(unwrap_jso(this), unwrap_jso(program), index);
|
||||
ActiveInfo getActiveAttrib(Program program, int index) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getActiveAttrib_Callback_2_(unwrap_jso(this), unwrap_jso(program), index));
|
||||
|
||||
@DomName('WebGLRenderingContext.getActiveUniform')
|
||||
@DocsEditable()
|
||||
ActiveInfo getActiveUniform(Program program, int index) => _blink.BlinkWebGLRenderingContext.instance.getActiveUniform_Callback_2_(unwrap_jso(this), unwrap_jso(program), index);
|
||||
ActiveInfo getActiveUniform(Program program, int index) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getActiveUniform_Callback_2_(unwrap_jso(this), unwrap_jso(program), index));
|
||||
|
||||
@DomName('WebGLRenderingContext.getAttachedShaders')
|
||||
@DocsEditable()
|
||||
List<Shader> getAttachedShaders(Program program) => _blink.BlinkWebGLRenderingContext.instance.getAttachedShaders_Callback_1_(unwrap_jso(this), unwrap_jso(program));
|
||||
List<Shader> getAttachedShaders(Program program) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getAttachedShaders_Callback_1_(unwrap_jso(this), unwrap_jso(program)));
|
||||
|
||||
@DomName('WebGLRenderingContext.getAttribLocation')
|
||||
@DocsEditable()
|
||||
@@ -2665,7 +3136,7 @@ class RenderingContext extends NativeFieldWrapperClass2 implements CanvasRenderi
|
||||
|
||||
@DomName('WebGLRenderingContext.getContextAttributes')
|
||||
@DocsEditable()
|
||||
ContextAttributes getContextAttributes() => _blink.BlinkWebGLRenderingContext.instance.getContextAttributes_Callback_0_(unwrap_jso(this));
|
||||
ContextAttributes getContextAttributes() => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getContextAttributes_Callback_0_(unwrap_jso(this)));
|
||||
|
||||
@DomName('WebGLRenderingContext.getError')
|
||||
@DocsEditable()
|
||||
@@ -2705,7 +3176,7 @@ class RenderingContext extends NativeFieldWrapperClass2 implements CanvasRenderi
|
||||
|
||||
@DomName('WebGLRenderingContext.getShaderPrecisionFormat')
|
||||
@DocsEditable()
|
||||
ShaderPrecisionFormat getShaderPrecisionFormat(int shadertype, int precisiontype) => _blink.BlinkWebGLRenderingContext.instance.getShaderPrecisionFormat_Callback_2_(unwrap_jso(this), shadertype, precisiontype);
|
||||
ShaderPrecisionFormat getShaderPrecisionFormat(int shadertype, int precisiontype) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getShaderPrecisionFormat_Callback_2_(unwrap_jso(this), shadertype, precisiontype));
|
||||
|
||||
@DomName('WebGLRenderingContext.getShaderSource')
|
||||
@DocsEditable()
|
||||
@@ -2725,7 +3196,7 @@ class RenderingContext extends NativeFieldWrapperClass2 implements CanvasRenderi
|
||||
|
||||
@DomName('WebGLRenderingContext.getUniformLocation')
|
||||
@DocsEditable()
|
||||
UniformLocation getUniformLocation(Program program, String name) => _blink.BlinkWebGLRenderingContext.instance.getUniformLocation_Callback_2_(unwrap_jso(this), unwrap_jso(program), name);
|
||||
UniformLocation getUniformLocation(Program program, String name) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getUniformLocation_Callback_2_(unwrap_jso(this), unwrap_jso(program), name));
|
||||
|
||||
@DomName('WebGLRenderingContext.getVertexAttrib')
|
||||
@DocsEditable()
|
||||
@@ -3117,6 +3588,21 @@ class Shader extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory Shader._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static Shader internalCreateShader() {
|
||||
return new Shader._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory Shader._internalWrap() {
|
||||
return new Shader.internal_();
|
||||
}
|
||||
|
||||
Shader.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -3131,6 +3617,21 @@ class ShaderPrecisionFormat extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory ShaderPrecisionFormat._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static ShaderPrecisionFormat internalCreateShaderPrecisionFormat() {
|
||||
return new ShaderPrecisionFormat._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory ShaderPrecisionFormat._internalWrap() {
|
||||
return new ShaderPrecisionFormat.internal_();
|
||||
}
|
||||
|
||||
ShaderPrecisionFormat.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('WebGLShaderPrecisionFormat.precision')
|
||||
@DocsEditable()
|
||||
int get precision => _blink.BlinkWebGLShaderPrecisionFormat.instance.precision_Getter_(unwrap_jso(this));
|
||||
@@ -3157,6 +3658,21 @@ class Texture extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory Texture._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static Texture internalCreateTexture() {
|
||||
return new Texture._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory Texture._internalWrap() {
|
||||
return new Texture.internal_();
|
||||
}
|
||||
|
||||
Texture.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -3171,6 +3687,21 @@ class UniformLocation extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory UniformLocation._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static UniformLocation internalCreateUniformLocation() {
|
||||
return new UniformLocation._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory UniformLocation._internalWrap() {
|
||||
return new UniformLocation.internal_();
|
||||
}
|
||||
|
||||
UniformLocation.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -3187,6 +3718,21 @@ class VertexArrayObject extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory VertexArrayObject._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static VertexArrayObject internalCreateVertexArrayObject() {
|
||||
return new VertexArrayObject._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory VertexArrayObject._internalWrap() {
|
||||
return new VertexArrayObject.internal_();
|
||||
}
|
||||
|
||||
VertexArrayObject.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
}
|
||||
// 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
|
||||
@@ -3198,7 +3744,7 @@ class VertexArrayObject extends NativeFieldWrapperClass2 {
|
||||
@DocsEditable()
|
||||
@DomName('WebGLRenderingContextBase')
|
||||
@Experimental() // untriaged
|
||||
abstract class _WebGLRenderingContextBase extends NativeFieldWrapperClass2 {
|
||||
class _WebGLRenderingContextBase extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory _WebGLRenderingContextBase._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
|
||||
@@ -228,7 +228,7 @@ class SqlResultSetRowList extends Interceptor with ListMixin<Map>, ImmutableList
|
||||
// Map is the element type.
|
||||
|
||||
|
||||
void set length(int value) {
|
||||
set length(int value) {
|
||||
throw new UnsupportedError("Cannot resize immutable List.");
|
||||
}
|
||||
|
||||
|
||||
@@ -17,12 +17,19 @@ import 'dart:html';
|
||||
import 'dart:html_common';
|
||||
import 'dart:nativewrappers';
|
||||
import 'dart:_blink' as _blink;
|
||||
import 'dart:js' as js;
|
||||
|
||||
// DO NOT EDIT - unless you are editing documentation as per:
|
||||
// https://code.google.com/p/dart/wiki/ContributingHTMLDocumentation
|
||||
// Auto-generated dart:audio library.
|
||||
|
||||
|
||||
|
||||
// Need a default constructor for constructing classes with mixins that are
|
||||
// also extending NativeFieldWrapperClass2. Defining JsoNativeFieldWrapper
|
||||
// extending NativeFieldWrapperClass2 creates a default constructor.
|
||||
class JsoNativeFieldWrapper extends NativeFieldWrapperClass2 {}
|
||||
|
||||
|
||||
// FIXME: Can we make this private?
|
||||
final web_sqlBlinkMap = {
|
||||
@@ -34,6 +41,15 @@ final web_sqlBlinkMap = {
|
||||
|
||||
};
|
||||
|
||||
// FIXME: Can we make this private?
|
||||
final web_sqlBlinkFunctionMap = {
|
||||
'Database': () => SqlDatabase.internalCreateSqlDatabase,
|
||||
'SQLError': () => SqlError.internalCreateSqlError,
|
||||
'SQLResultSet': () => SqlResultSet.internalCreateSqlResultSet,
|
||||
'SQLResultSetRowList': () => SqlResultSetRowList.internalCreateSqlResultSetRowList,
|
||||
'SQLTransaction': () => SqlTransaction.internalCreateSqlTransaction,
|
||||
|
||||
};
|
||||
// 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.
|
||||
@@ -96,6 +112,21 @@ class SqlDatabase extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory SqlDatabase._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static SqlDatabase internalCreateSqlDatabase() {
|
||||
return new SqlDatabase._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory SqlDatabase._internalWrap() {
|
||||
return new SqlDatabase.internal_();
|
||||
}
|
||||
|
||||
SqlDatabase.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
/// Checks if this type is supported on the current platform.
|
||||
static bool get supported => true;
|
||||
|
||||
@@ -105,15 +136,15 @@ class SqlDatabase extends NativeFieldWrapperClass2 {
|
||||
|
||||
void changeVersion(String oldVersion, String newVersion, [SqlTransactionCallback callback, SqlTransactionErrorCallback errorCallback, VoidCallback successCallback]) {
|
||||
if (successCallback != null) {
|
||||
_blink.BlinkDatabase.instance.changeVersion_Callback_5_(unwrap_jso(this), oldVersion, newVersion, unwrap_jso(callback), unwrap_jso(errorCallback), unwrap_jso(successCallback));
|
||||
_blink.BlinkDatabase.instance.changeVersion_Callback_5_(unwrap_jso(this), oldVersion, newVersion, unwrap_jso((transaction) => callback(wrap_jso(transaction))), unwrap_jso((error) => errorCallback(wrap_jso(error))), unwrap_jso(() => successCallback()));
|
||||
return;
|
||||
}
|
||||
if (errorCallback != null) {
|
||||
_blink.BlinkDatabase.instance.changeVersion_Callback_4_(unwrap_jso(this), oldVersion, newVersion, unwrap_jso(callback), unwrap_jso(errorCallback));
|
||||
_blink.BlinkDatabase.instance.changeVersion_Callback_4_(unwrap_jso(this), oldVersion, newVersion, unwrap_jso((transaction) => callback(wrap_jso(transaction))), unwrap_jso((error) => errorCallback(wrap_jso(error))));
|
||||
return;
|
||||
}
|
||||
if (callback != null) {
|
||||
_blink.BlinkDatabase.instance.changeVersion_Callback_3_(unwrap_jso(this), oldVersion, newVersion, unwrap_jso(callback));
|
||||
_blink.BlinkDatabase.instance.changeVersion_Callback_3_(unwrap_jso(this), oldVersion, newVersion, unwrap_jso((transaction) => callback(wrap_jso(transaction))));
|
||||
return;
|
||||
}
|
||||
_blink.BlinkDatabase.instance.changeVersion_Callback_2_(unwrap_jso(this), oldVersion, newVersion);
|
||||
@@ -122,27 +153,27 @@ class SqlDatabase extends NativeFieldWrapperClass2 {
|
||||
|
||||
void readTransaction(SqlTransactionCallback callback, [SqlTransactionErrorCallback errorCallback, VoidCallback successCallback]) {
|
||||
if (successCallback != null) {
|
||||
_blink.BlinkDatabase.instance.readTransaction_Callback_3_(unwrap_jso(this), unwrap_jso(callback), unwrap_jso(errorCallback), unwrap_jso(successCallback));
|
||||
_blink.BlinkDatabase.instance.readTransaction_Callback_3_(unwrap_jso(this), unwrap_jso((transaction) => callback(wrap_jso(transaction))), unwrap_jso((error) => errorCallback(wrap_jso(error))), unwrap_jso(() => successCallback()));
|
||||
return;
|
||||
}
|
||||
if (errorCallback != null) {
|
||||
_blink.BlinkDatabase.instance.readTransaction_Callback_2_(unwrap_jso(this), unwrap_jso(callback), unwrap_jso(errorCallback));
|
||||
_blink.BlinkDatabase.instance.readTransaction_Callback_2_(unwrap_jso(this), unwrap_jso((transaction) => callback(wrap_jso(transaction))), unwrap_jso((error) => errorCallback(wrap_jso(error))));
|
||||
return;
|
||||
}
|
||||
_blink.BlinkDatabase.instance.readTransaction_Callback_1_(unwrap_jso(this), unwrap_jso(callback));
|
||||
_blink.BlinkDatabase.instance.readTransaction_Callback_1_(unwrap_jso(this), unwrap_jso((transaction) => callback(wrap_jso(transaction))));
|
||||
return;
|
||||
}
|
||||
|
||||
void transaction(SqlTransactionCallback callback, [SqlTransactionErrorCallback errorCallback, VoidCallback successCallback]) {
|
||||
if (successCallback != null) {
|
||||
_blink.BlinkDatabase.instance.transaction_Callback_3_(unwrap_jso(this), unwrap_jso(callback), unwrap_jso(errorCallback), unwrap_jso(successCallback));
|
||||
_blink.BlinkDatabase.instance.transaction_Callback_3_(unwrap_jso(this), unwrap_jso((transaction) => callback(wrap_jso(transaction))), unwrap_jso((error) => errorCallback(wrap_jso(error))), unwrap_jso(() => successCallback()));
|
||||
return;
|
||||
}
|
||||
if (errorCallback != null) {
|
||||
_blink.BlinkDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(callback), unwrap_jso(errorCallback));
|
||||
_blink.BlinkDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso((transaction) => callback(wrap_jso(transaction))), unwrap_jso((error) => errorCallback(wrap_jso(error))));
|
||||
return;
|
||||
}
|
||||
_blink.BlinkDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(callback));
|
||||
_blink.BlinkDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso((transaction) => callback(wrap_jso(transaction))));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -162,6 +193,21 @@ class SqlError extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory SqlError._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static SqlError internalCreateSqlError() {
|
||||
return new SqlError._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory SqlError._internalWrap() {
|
||||
return new SqlError.internal_();
|
||||
}
|
||||
|
||||
SqlError.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('SQLError.CONSTRAINT_ERR')
|
||||
@DocsEditable()
|
||||
static const int CONSTRAINT_ERR = 6;
|
||||
@@ -218,6 +264,21 @@ class SqlResultSet extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory SqlResultSet._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static SqlResultSet internalCreateSqlResultSet() {
|
||||
return new SqlResultSet._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory SqlResultSet._internalWrap() {
|
||||
return new SqlResultSet.internal_();
|
||||
}
|
||||
|
||||
SqlResultSet.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('SQLResultSet.insertId')
|
||||
@DocsEditable()
|
||||
int get insertId => _blink.BlinkSQLResultSet.instance.insertId_Getter_(unwrap_jso(this));
|
||||
@@ -242,10 +303,25 @@ class SqlResultSet extends NativeFieldWrapperClass2 {
|
||||
@DomName('SQLResultSetRowList')
|
||||
// http://www.w3.org/TR/webdatabase/#sqlresultsetrowlist
|
||||
@Experimental() // deprecated
|
||||
class SqlResultSetRowList extends NativeFieldWrapperClass2 with ListMixin<Map>, ImmutableListMixin<Map> implements List<Map> {
|
||||
class SqlResultSetRowList extends JsoNativeFieldWrapper with ListMixin<Map>, ImmutableListMixin<Map> implements List<Map> {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory SqlResultSetRowList._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static SqlResultSetRowList internalCreateSqlResultSetRowList() {
|
||||
return new SqlResultSetRowList._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory SqlResultSetRowList._internalWrap() {
|
||||
return new SqlResultSetRowList.internal_();
|
||||
}
|
||||
|
||||
SqlResultSetRowList.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('SQLResultSetRowList.length')
|
||||
@DocsEditable()
|
||||
int get length => _blink.BlinkSQLResultSetRowList.instance.length_Getter_(unwrap_jso(this));
|
||||
@@ -253,11 +329,11 @@ class SqlResultSetRowList extends NativeFieldWrapperClass2 with ListMixin<Map>,
|
||||
Map operator[](int index) {
|
||||
if (index < 0 || index >= length)
|
||||
throw new RangeError.index(index, this);
|
||||
return _blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(unwrap_jso(this), index);
|
||||
return wrap_jso(_blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(unwrap_jso(this), index));
|
||||
}
|
||||
|
||||
Map _nativeIndexedGetter(int index) => _blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(unwrap_jso(this), index);
|
||||
|
||||
Map _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(unwrap_jso(this), index));
|
||||
|
||||
void operator[]=(int index, Map value) {
|
||||
throw new UnsupportedError("Cannot assign element of immutable List.");
|
||||
}
|
||||
@@ -265,7 +341,7 @@ class SqlResultSetRowList extends NativeFieldWrapperClass2 with ListMixin<Map>,
|
||||
// Map is the element type.
|
||||
|
||||
|
||||
void set length(int value) {
|
||||
set length(int value) {
|
||||
throw new UnsupportedError("Cannot resize immutable List.");
|
||||
}
|
||||
|
||||
@@ -298,7 +374,7 @@ class SqlResultSetRowList extends NativeFieldWrapperClass2 with ListMixin<Map>,
|
||||
|
||||
@DomName('SQLResultSetRowList.item')
|
||||
@DocsEditable()
|
||||
Map item(int index) => _blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(unwrap_jso(this), index);
|
||||
Map item(int index) => wrap_jso(_blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(unwrap_jso(this), index));
|
||||
|
||||
}
|
||||
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
||||
@@ -319,8 +395,23 @@ class SqlTransaction extends NativeFieldWrapperClass2 {
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory SqlTransaction._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static SqlTransaction internalCreateSqlTransaction() {
|
||||
return new SqlTransaction._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory SqlTransaction._internalWrap() {
|
||||
return new SqlTransaction.internal_();
|
||||
}
|
||||
|
||||
SqlTransaction.internal_() { }
|
||||
|
||||
bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);
|
||||
int get hashCode => unwrap_jso(this).hashCode;
|
||||
|
||||
@DomName('SQLTransaction.executeSql')
|
||||
@DocsEditable()
|
||||
void executeSql(String sqlStatement, List<Object> arguments, [SqlStatementCallback callback, SqlStatementErrorCallback errorCallback]) => _blink.BlinkSQLTransaction.instance.executeSql_Callback_4_(unwrap_jso(this), sqlStatement, arguments, unwrap_jso(callback), unwrap_jso(errorCallback));
|
||||
void executeSql(String sqlStatement, List<Object> arguments, [SqlStatementCallback callback, SqlStatementErrorCallback errorCallback]) => _blink.BlinkSQLTransaction.instance.executeSql_Callback_4_(unwrap_jso(this), sqlStatement, arguments, unwrap_jso((transaction, resultSet) => callback(wrap_jso(transaction), wrap_jso(resultSet))), unwrap_jso((transaction, error) => errorCallback(wrap_jso(transaction), wrap_jso(error))));
|
||||
|
||||
}
|
||||
|
||||
@@ -291,3 +291,4 @@ WebPlatformTest/dom/Node-replaceChild_t01: CompileTimeError # co19-roll r761: Pl
|
||||
WebPlatformTest/html/semantics/forms/the-input-element/email_t02: StaticWarning # co19 issue 701
|
||||
Language/12_Expressions/12_Instance_Creation/2_Const_A11_t01: MissingCompileTimeError # Issue 22010
|
||||
Language/12_Expressions/12_Instance_Creation/2_Const_A11_t03: MissingCompileTimeError # Issue 22010
|
||||
|
||||
|
||||
@@ -290,3 +290,26 @@ Language/15_Types/4_Interface_Types_A10_t09: StaticWarning # co19 issue 745
|
||||
Language/13_Statements/15_Assert_A04_t07: StaticWarning # Issue 23663
|
||||
Language/13_Statements/15_Assert_A03_t08: StaticWarning # Issue 23663
|
||||
|
||||
# isProtocolHandlerRegistered and unregisterProtocolHandler don't exist
|
||||
LayoutTests/fast/dom/navigatorcontentutils/is-protocol-handler-registered_t01: Skip
|
||||
WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t01: StaticWarning
|
||||
WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t02: StaticWarning
|
||||
WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t03: StaticWarning
|
||||
WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t04: StaticWarning
|
||||
WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t05: StaticWarning
|
||||
WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t06: StaticWarning
|
||||
LayoutTests/fast/dom/navigatorcontentutils/unregister-protocol-handler_t01: StaticWarning
|
||||
|
||||
# Missing concrete implementation of setter 'XPathNSResolver.blink_jsObject' and getter 'XPathNSResolver.blink_jsObject'
|
||||
# TODO(terry): Dartium only because of implements instead of extends consider fixing by making blink_jsObject private
|
||||
# with private wrap_jso and unwrap_jso in each library that delegates to the public wrap/unwrap_jso.
|
||||
LayoutTests/fast/xpath/4XPath/Core/test_core_functions_t02: StaticWarning
|
||||
LayoutTests/fast/xpath/4XPath/Core/test_node_test_t01: StaticWarning
|
||||
LayoutTests/fast/xpath/4XPath/Core/test_node_test_t02: StaticWarning
|
||||
LayoutTests/fast/xpath/attr-namespace_t01: StaticWarning
|
||||
LayoutTests/fast/xpath/attr-namespace_t02: StaticWarning
|
||||
LayoutTests/fast/xpath/node-name-case-sensitivity_t01: StaticWarning
|
||||
LayoutTests/fast/xpath/node-name-case-sensitivity_t02: StaticWarning
|
||||
LayoutTests/fast/xpath/py-dom-xpath/data_t01: StaticWarning
|
||||
LayoutTests/fast/svg/getbbox_t01: StaticWarning
|
||||
|
||||
|
||||
@@ -568,7 +568,7 @@ LayoutTests/fast/canvas/alpha_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-arc-negative-radius_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-as-image-incremental-repaint_t01: Skip # Times out. Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-blending-text_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Feature is behind a flag.
|
||||
LayoutTests/fast/canvas/canvas-empty-image-pattern_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-getImageData-invalid_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-getImageData-large-crash_t01: RuntimeError # Please triage this failure
|
||||
@@ -778,7 +778,6 @@ LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-port_t01: RuntimeError
|
||||
LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-protocol_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-search_t01: Pass, RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-autofocus_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-return-value_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-scrolled-viewport_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/inert-node-is-unfocusable_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/inert-node-is-unselectable_t01: RuntimeError # Please triage this failure
|
||||
@@ -824,7 +823,6 @@ LayoutTests/fast/dom/Range/range-expand_t01: RuntimeError # Please triage this f
|
||||
LayoutTests/fast/dom/Range/range-insertNode-separate-endContainer_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/Range/range-insertNode-splittext_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-2_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-almost-strict_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/StyleSheet/css-medialist-item_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/TreeWalker/TreeWalker-basic_t01: RuntimeError # Please triage this failure
|
||||
@@ -1254,7 +1252,6 @@ WebPlatformTest/html-templates/parsing-html-templates/creating-an-element-for-th
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/Document.getElementsByClassName-null_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-getter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-setter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.getElementsByName-namespace_t01: RuntimeError # Please triage this failure
|
||||
@@ -1586,7 +1583,7 @@ LayoutTests/fast/canvas/canvas-composite-image_t01: Pass, RuntimeError # Please
|
||||
LayoutTests/fast/canvas/canvas-composite-text-alpha_t01: Pass, RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-css-crazy_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentColor_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Feature is not implemented.
|
||||
LayoutTests/fast/canvas/canvas-drawImage-incomplete_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-ellipse-360-winding_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-ellipse-negative-radius_t01: RuntimeError # Please triage this failure
|
||||
@@ -2010,7 +2007,6 @@ LayoutTests/fast/dom/HTMLDialogElement/dialog-autofocus_t01: RuntimeError # Plea
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-close-event_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-enabled_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-open_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-return-value_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-scrolled-viewport_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-show-modal_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/inert-does-not-match-disabled-selector_t01: RuntimeError # Please triage this failure
|
||||
@@ -2115,7 +2111,6 @@ LayoutTests/fast/dom/Range/range-insertNode-separate-endContainer_t01: RuntimeEr
|
||||
LayoutTests/fast/dom/Range/range-insertNode-splittext_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/caseTagX_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-2_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-almost-strict_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/StyleSheet/css-insert-import-rule-to-shadow-stylesheets_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/StyleSheet/css-medialist-item_t01: RuntimeError # Please triage this failure
|
||||
@@ -2887,7 +2882,6 @@ WebPlatformTest/html-templates/template-element/template-content_t01: RuntimeErr
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/Document.getElementsByClassName-null_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-getter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-setter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.getElementsByName-namespace_t01: RuntimeError # Please triage this failure
|
||||
@@ -3153,7 +3147,7 @@ LayoutTests/fast/canvas/canvas-blending-pattern-over-pattern_t01: RuntimeError #
|
||||
LayoutTests/fast/canvas/canvas-blending-shadow_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-blending-text_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-blending-transforms_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Feature is not implemented
|
||||
LayoutTests/fast/canvas/canvas-drawImage-scaled-copy-to-self_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-ellipse-360-winding_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-ellipse-negative-radius_t01: RuntimeError # Please triage this failure
|
||||
@@ -3457,7 +3451,6 @@ LayoutTests/fast/dom/HTMLDialogElement/dialog-autofocus_t01: RuntimeError # Plea
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-close-event_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-enabled_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-open_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-return-value_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-scrolled-viewport_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-show-modal_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/inert-does-not-match-disabled-selector_t01: RuntimeError # Please triage this failure
|
||||
@@ -3520,7 +3513,6 @@ LayoutTests/fast/dom/Range/range-isPointInRange_t01: RuntimeError # Please triag
|
||||
LayoutTests/fast/dom/Range/range-on-detached-node_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/Range/surroundContents-for-detached-node_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-2_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-almost-strict_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/StyleSheet/css-insert-import-rule-to-shadow-stylesheets_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/StyleSheet/css-medialist-item_t01: RuntimeError # Please triage this failure
|
||||
@@ -4171,7 +4163,6 @@ WebPlatformTest/html-templates/template-element/node-document-changes_t01: Runti
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: Skip # Times out. Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/Document.getElementsByClassName-null_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-getter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-setter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.getElementsByName-namespace_t01: RuntimeError # Please triage this failure
|
||||
@@ -4402,7 +4393,7 @@ LayoutTests/fast/canvas/canvas-blending-transforms_t01: RuntimeError # Please tr
|
||||
LayoutTests/fast/canvas/canvas-composite-canvas_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-composite-stroke-alpha_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-composite-text-alpha_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Feature is not implemented
|
||||
LayoutTests/fast/canvas/canvas-drawImage-scaled-copy-to-self_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-ellipse-360-winding_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-ellipse-negative-radius_t01: RuntimeError # Please triage this failure
|
||||
@@ -4715,7 +4706,6 @@ LayoutTests/fast/dom/HTMLDialogElement/dialog-autofocus_t01: RuntimeError # Plea
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-close-event_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-enabled_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-open_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-return-value_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-scrolled-viewport_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-show-modal_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/inert-does-not-match-disabled-selector_t01: RuntimeError # Please triage this failure
|
||||
@@ -4792,7 +4782,6 @@ LayoutTests/fast/dom/Range/surroundContents-for-detached-node_t01: RuntimeError
|
||||
LayoutTests/fast/dom/SelectorAPI/caseID-almost-strict_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/caseID_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-2_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-almost-strict_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/id-fastpath-almost-strict_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/id-fastpath-strict_t01: RuntimeError # Please triage this failure
|
||||
@@ -5493,7 +5482,6 @@ WebPlatformTest/html-templates/template-element/template-content_t01: RuntimeErr
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: Skip # Times out. Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/Document.getElementsByClassName-null_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-getter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-setter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.getElementsByName-namespace_t01: RuntimeError # Please triage this failure
|
||||
@@ -5741,7 +5729,7 @@ LayoutTests/fast/canvas/canvas-clip-rule_t01: RuntimeError # Please triage this
|
||||
LayoutTests/fast/canvas/canvas-composite-canvas_t01: Pass, RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-css-crazy_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentColor_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Feature is not implemented
|
||||
LayoutTests/fast/canvas/canvas-ellipse-360-winding_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-ellipse-negative-radius_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-ellipse-zero-lineto_t01: RuntimeError # Please triage this failure
|
||||
@@ -6200,7 +6188,6 @@ LayoutTests/fast/dom/HTMLDialogElement/dialog-autofocus_t01: RuntimeError # Plea
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-close-event_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-enabled_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-open_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-return-value_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-scrolled-viewport_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-show-modal_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/inert-does-not-match-disabled-selector_t01: RuntimeError # Please triage this failure
|
||||
@@ -6375,7 +6362,6 @@ LayoutTests/fast/dom/Selection/getRangeAt_t01: RuntimeError # Please triage this
|
||||
LayoutTests/fast/dom/SelectorAPI/caseID_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/caseTagX_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-2_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-almost-strict_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/StyleSheet/css-insert-import-rule-to-shadow-stylesheets_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/StyleSheet/css-medialist-item_t01: RuntimeError # Please triage this failure
|
||||
@@ -7499,7 +7485,6 @@ WebPlatformTest/html-templates/template-element/template-content_t01: RuntimeErr
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: Skip # Times out. Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: Skip # Times out. Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/Document.getElementsByClassName-null_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-getter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-setter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.getElementsByName-namespace_t01: RuntimeError # Please triage this failure
|
||||
@@ -7770,7 +7755,7 @@ LayoutTests/fast/canvas/canvas-composite-alpha_t01: Pass, RuntimeError # Please
|
||||
LayoutTests/fast/canvas/canvas-composite-text-alpha_t01: Pass, RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-css-crazy_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentColor_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Feature is not implemented
|
||||
LayoutTests/fast/canvas/canvas-ellipse-360-winding_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-ellipse-negative-radius_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/canvas/canvas-ellipse-zero-lineto_t01: RuntimeError # Please triage this failure
|
||||
@@ -8213,7 +8198,6 @@ LayoutTests/fast/dom/HTMLDialogElement/dialog-autofocus_t01: RuntimeError # Plea
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-close-event_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-enabled_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-open_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-return-value_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-scrolled-viewport_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/dialog-show-modal_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/HTMLDialogElement/inert-does-not-match-disabled-selector_t01: RuntimeError # Please triage this failure
|
||||
@@ -8369,7 +8353,6 @@ LayoutTests/fast/dom/Selection/getRangeAt_t01: RuntimeError # Please triage this
|
||||
LayoutTests/fast/dom/SelectorAPI/caseID_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/caseTagX_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-2_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList-almost-strict_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/SelectorAPI/dumpNodeList_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/StyleSheet/css-insert-import-rule-to-shadow-stylesheets_t01: RuntimeError # Please triage this failure
|
||||
LayoutTests/fast/dom/StyleSheet/css-medialist-item_t01: RuntimeError # Please triage this failure
|
||||
@@ -9366,7 +9349,6 @@ WebPlatformTest/html-templates/template-element/template-content_t01: RuntimeErr
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: Skip # Times out. Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: Skip # Times out. Please triage this failure
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/Document.getElementsByClassName-null_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-getter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-setter_t01: RuntimeError # Please triage this failure
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.getElementsByName-namespace_t01: RuntimeError # Please triage this failure
|
||||
|
||||
@@ -38,9 +38,6 @@ LayoutTests/fast/sub-pixel/inline-block-with-padding_t01: Skip # co19 issue 732.
|
||||
LayoutTests/fast/sub-pixel/size-of-span-with-different-positions_t01: Skip # co19 issue 732.
|
||||
LayoutTests/fast/text/international/complex-text-rectangle_t01: Skip # co19 issue 732.
|
||||
LayoutTests/fast/text/line-breaks-after-hyphen-before-number_t01: Skip # co19 issue 732.
|
||||
LibTest/html/Window/document_A01_t01: RuntimeError # Issue 20146
|
||||
LibTest/html/Window/postMessage_A01_t02: RuntimeError # Issue 20146
|
||||
LibTest/html/Window/moveBy_A01_t01: RuntimeError # Issue 20146
|
||||
LayoutTests/fast/css-generated-content/bug91547_t01: Skip # Test reloads itself. Issue 18558.
|
||||
LayoutTests/fast/filesystem/file-after-reload-crash_t01: Skip # Test reloads itself. Issue 18558.
|
||||
LayoutTests/fast/dom/HTMLButtonElement/change-type_t01: Skip # Test reloads itself. Issue 18558.
|
||||
@@ -204,7 +201,6 @@ LibTest/html/IFrameElement/attributeChanged_A01_t01: RuntimeError # co19-roll r7
|
||||
LibTest/html/IFrameElement/attributes_setter_A01_t01: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LibTest/html/IFrameElement/borderEdge_A01_t01: RuntimeError # co19-roll r706. Issue 16574
|
||||
LibTest/html/IFrameElement/clone_A01_t02: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LibTest/html/IFrameElement/contentWindow_A01_t01: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LibTest/html/IFrameElement/createFragment_A01_t01: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LibTest/html/IFrameElement/createFragment_A01_t02: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
LibTest/html/IFrameElement/createFragment_A01_t03: RuntimeError # co19-roll r706. Please triage this failure.
|
||||
@@ -253,7 +249,6 @@ LayoutTests/fast/dom/HTMLDialogElement/inert-node-is-unselectable_t01: RuntimeEr
|
||||
LayoutTests/fast/dom/HTMLDialogElement/multiple-centered-dialogs_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLDialogElement/non-anchored-dialog-positioning_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLOutputElement/dom-settable-token-list_t01: RuntimeError # Issue 18931
|
||||
LayoutTests/fast/dom/HTMLObjectElement/set-type-to-null-crash_t01: RuntimeError # Issue 18931
|
||||
LayoutTests/fast/dom/HTMLDialogElement/show-modal-focusing-steps_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLElement/set-inner-outer-optimization_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLElement/spellcheck_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
@@ -292,13 +287,11 @@ WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test
|
||||
WebPlatformTest/shadow-dom/events/event-dispatch/test-001_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/event-dispatch/test-003_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/event-retargeting/test-001_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/event-retargeting/test-002_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/event-retargeting/test-002_t01: RuntimeError # Not clear that any of this works. Also suppressed in dart2js
|
||||
WebPlatformTest/shadow-dom/events/event-retargeting/test-004_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t01: RuntimeError, Skip # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t02: Skip # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t05: Skip # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-001_t06: Skip # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-002_t01: RuntimeError, Pass # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-focus-events/test-003_t01: RuntimeError, Pass # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-003_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/html-elements-and-their-shadow-trees/test-001_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
@@ -323,7 +316,6 @@ LayoutTests/fast/dom/HTMLSelectElement/selected-index-preserved-when-option-text
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/custom-element-wrapper-gc_t01: RuntimeError # co19-roll r722: Issue 18250
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/innerHTML_t01: RuntimeError # co19-roll r722: Issue 18249
|
||||
LayoutTests/fast/dom/HTMLTemplateElement/ownerDocumentXHTML_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/MutationObserver/observe-attributes_t01: RuntimeError # Issue 18931
|
||||
LayoutTests/fast/dom/MutationObserver/observe-childList_t01: RuntimeError # co19-roll r722: Issue 18253
|
||||
LayoutTests/fast/dom/MutationObserver/weak-callback-gc-crash_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
LayoutTests/fast/dom/Node/initial-values_t01: RuntimeError # co19-roll r722: Please triage this failure.
|
||||
@@ -369,9 +361,6 @@ WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/tes
|
||||
WebPlatformTest/shadow-dom/elements-and-dom-objects/the-content-html-element/test-004_t02: RuntimeError # Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t01: RuntimeError # Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/elements-and-dom-objects/the-shadow-html-element/test-003_t02: RuntimeError # Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/event-dispatch/test-002_t01: RuntimeError # Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-001_t01: RuntimeError # Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-002_t01: RuntimeError # Please triage this failure.
|
||||
WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009_t01: RuntimeError # Please triage this failure.
|
||||
|
||||
LayoutTests/fast/dom/css-innerHTML_t01: RuntimeError # Test is incorrect.
|
||||
@@ -388,8 +377,6 @@ LayoutTests/fast/dom/attribute-namespaces-get-set_t01: RuntimeError # co19-roll
|
||||
LayoutTests/fast/dom/blur-contenteditable_t01: RuntimeError, Pass # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/characterdata-api-arguments_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/client-width-height-quirks_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/css-mediarule-functions_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/custom/attribute-changed-callback_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/custom/document-register-svg-extends_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/dataset-xhtml_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
LayoutTests/fast/dom/dataset_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
@@ -413,7 +400,6 @@ WebPlatformTest/DOMEvents/approved/EventObject.multiple.dispatchEvent_t01: Runti
|
||||
WebPlatformTest/DOMEvents/approved/addEventListener.optional.useCapture_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-getter_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.body-setter_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
WebPlatformTest/html/dom/documents/dom-tree-accessors/document.getElementsByName-namespace_t01: RuntimeError # co19-roll r738: Please triage this failure.
|
||||
@@ -446,8 +432,6 @@ LayoutTests/fast/canvas/2d.text.draw.fill.maxWidth.gradient_t01: RuntimeError #
|
||||
LayoutTests/fast/canvas/2d.text.draw.fill.maxWidth.negative_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/2d.text.draw.fill.maxWidth.veryLarge_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/2d.text.draw.fill.maxWidth.verySmall_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/alpha_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/canvas-2d-imageData-create-nonfinite_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/canvas-arc-negative-radius_t01: Skip # Times out. co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/canvas-blending-text_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/canvas-empty-image-pattern_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
@@ -456,12 +440,9 @@ LayoutTests/fast/canvas/canvas-large-dimensions_t01: RuntimeError # co19-roll r7
|
||||
LayoutTests/fast/canvas/canvas-large-fills_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/canvas-lose-restore-googol-size_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/canvas-lose-restore-max-int-size_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/canvas-putImageData_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/draw-custom-focus-ring_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/drawImage-with-broken-image_t01: Timeout, Pass # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/getPutImageDataPairTest_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/linearGradient-infinite-values_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/radialGradient-infinite-values_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/webgl/bad-arguments-test_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/webgl/canvas-resize-crash_t01: Skip # Causes following tests to fail. co19-roll r761: Please triage this failure.
|
||||
LayoutTests/fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias-t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
@@ -576,6 +557,7 @@ WebPlatformTest/html/semantics/selectors/pseudo-classes/valid-invalid_t01: Runti
|
||||
WebPlatformTest/html/semantics/tabular-data/the-table-element/table-rows_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/semantics/tabular-data/the-tr-element/rowIndex_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/syntax/serializing-html-fragments/outerHTML_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t01: RuntimeError # Tests APIs that aren't yet visible. Tests should be deleted.
|
||||
WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t02: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t03: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
WebPlatformTest/html/webappapis/system-state-and-capabilities/the-navigator-object/protocol/t05: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
@@ -679,9 +661,6 @@ LayoutTests/fast/exclusions/parsing/parsing-wrap-flow_t01: RuntimeError # co19-r
|
||||
LayoutTests/fast/exclusions/parsing/parsing-wrap-through_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/files/blob-close-read_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/files/blob-close_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/files/blob-constructor_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/files/file-reader-methods-illegal-arguments_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/files/url-null_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/files/xhr-response-blob_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/filesystem/async-operations_t01: Pass, RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/filesystem/directory-entry-to-uri_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
@@ -774,7 +753,6 @@ LayoutTests/fast/xsl/default-html_t01: RuntimeError # co19-roll r786: Please tri
|
||||
WebPlatformTest/html/semantics/forms/the-input-element/password_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
WebPlatformTest/html/syntax/parsing/Document.getElementsByTagName-foreign_t02: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/dom/52776_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/DOMException/XPathException_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/Node/fragment-mutation_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/Range/bug-19527_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/Range/insertNode-empty-fragment-crash_t01: RuntimeError # Please triage this failure.
|
||||
@@ -784,9 +762,8 @@ LayoutTests/fast/dom/Range/range-expand_t01: RuntimeError # Please triage this f
|
||||
LayoutTests/fast/dom/Range/range-insertNode-separate-endContainer_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/Range/range-insertNode-splittext_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/document-importNode-arguments_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/domparser-parsefromstring-mimetype-support_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/horizontal-scrollbar-in-rtl_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/text-api-arguments_t01: RuntimeError # Please triage this failure.
|
||||
|
||||
|
||||
# co19-roll r801
|
||||
LayoutTests/fast/canvas/webgl/canvas-test_t01: Pass, RuntimeError # co19-roll r801: Please triage this failure.
|
||||
@@ -852,9 +829,7 @@ LayoutTests/fast/loader/loadInProgress_t01: Pass, RuntimeError # co19-roll r801:
|
||||
LayoutTests/fast/loader/onhashchange-attribute-listeners_t01: Skip # Times out. co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/loader/scroll-position-restored-on-back_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/loader/scroll-position-restored-on-reload-at-load-event_t01: Skip # Times out. co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/loader/stateobjects/pushstate-updates-location_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/loader/stateobjects/replacestate-in-onunload_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/loader/stateobjects/replacestate-updates-location_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/masking/parsing-clip-path-shape_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/masking/parsing-mask-source-type_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
LayoutTests/fast/masking/parsing-mask_t01: RuntimeError # co19-roll r801: Please triage this failure.
|
||||
@@ -942,7 +917,6 @@ LayoutTests/fast/multicol/vertical-lr/break-properties_t01: RuntimeError
|
||||
LayoutTests/fast/multicol/orphans-relayout_t01: Pass, RuntimeError
|
||||
LayoutTests/fast/multicol/zeroColumnCount_t01: RuntimeError
|
||||
LayoutTests/fast/media/media-query-serialization_t01: RuntimeError
|
||||
LayoutTests/fast/media/color-does-not-include-alpha_t01: RuntimeError
|
||||
LayoutTests/fast/media/mq-append-delete_t01: RuntimeError
|
||||
LayoutTests/fast/media/mq-color-index_t02: RuntimeError
|
||||
LayoutTests/fast/media/mq-js-media-except_t02: RuntimeError
|
||||
@@ -1153,8 +1127,6 @@ LayoutTests/fast/table/table-width-exceeding-max-width_t01: RuntimeError # co19-
|
||||
LayoutTests/fast/text/line-break-after-inline-latin1_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/url/trivial-segments_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/url/trivial_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/xmlhttprequest/xmlhttprequest-bad-mimetype_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/xmlhttprequest/xmlhttprequest-invalid-values_t01: RuntimeError # co19-roll r786: Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLDialogElement/top-layer-position-relative_t01: RuntimeError # Please triage this failure.
|
||||
LayoutTests/fast/dom/HTMLDialogElement/top-layer-position-static_t01: RuntimeError # Please triage this failure.
|
||||
|
||||
@@ -1328,6 +1300,10 @@ LayoutTests/fast/canvas/webgl/webgl-viewport-parameters-preserved_t01: RuntimeEr
|
||||
LayoutTests/fast/css/fontfaceset-events_t01: Pass, RuntimeError # Issue 23433
|
||||
LayoutTests/fast/events/clipboard-dataTransferItemList-remove_t01: RuntimeError # Issue 22532
|
||||
LayoutTests/fast/forms/textarea-paste-newline_t01: Pass, RuntimeError # Issue 23433
|
||||
LayoutTests/fast/canvas/canvas-currentTransform_t01: RuntimeError # Feature is behind a flag in Chrome
|
||||
LayoutTests/fast/files/blob-close-revoke_t01: RuntimeError # Experimental feature not exposed anywhere yet
|
||||
LayoutTests/fast/forms/file/file-input-capture_t01: RuntimeError # Experimental feature not exposed in Chrome yet
|
||||
LayoutTests/fast/forms/input-inputmode_t01: RuntimeError # Experimental feature not exposed in Chrome yet
|
||||
|
||||
[ $compiler == none && ($runtime == dartium || $runtime == ContentShellOnAndroid) && $system != windows ]
|
||||
LayoutTests/fast/css/font-face-unicode-range-monospace_t01: RuntimeError # co19-roll r761: Please triage this failure.
|
||||
|
||||
@@ -8,17 +8,18 @@ import 'dart:isolate';
|
||||
import 'dart:html';
|
||||
|
||||
class NullTreeSanitizer implements NodeTreeSanitizer {
|
||||
void sanitizeTree(Node node) {}
|
||||
void sanitizeTree(Node node) {}
|
||||
}
|
||||
|
||||
main() {
|
||||
useHtmlConfiguration();
|
||||
|
||||
var style = new Element.html('''
|
||||
var style = new Element.html(
|
||||
'''
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: 'Ahem';
|
||||
src: url(../../resources/Ahem.ttf);
|
||||
src: url(/root_dart/tests/html/Ahem.ttf);
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
unicode-range: U+0-3FF;
|
||||
@@ -27,20 +28,26 @@ main() {
|
||||
/* font-stretch property is not supported */
|
||||
}
|
||||
</style>
|
||||
''', treeSanitizer: new NullTreeSanitizer());
|
||||
''',
|
||||
treeSanitizer: new NullTreeSanitizer());
|
||||
document.head.append(style);
|
||||
|
||||
|
||||
test('document fonts - temporary', () {
|
||||
var atLeastOneFont = false;
|
||||
var loaded = [];
|
||||
document.fonts.forEach((FontFace fontFace, _, __) {
|
||||
atLeastOneFont = true;
|
||||
Future f1 = fontFace.loaded;
|
||||
Future f2 = fontFace.loaded;
|
||||
expect(f1, equals(f2)); // Repeated calls should answer the same Future.
|
||||
|
||||
expect(fontFace.load(), throws);
|
||||
loaded.add(fontFace.load());
|
||||
loaded.add(f1);
|
||||
loaded.add(f2);
|
||||
});
|
||||
expect(atLeastOneFont, isTrue);
|
||||
return Future.wait(loaded).then(expectAsync((_) {
|
||||
document.fonts.forEach((fontFace, _, __) {
|
||||
expect(fontFace.status, 'loaded');
|
||||
});
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
+1
-16
@@ -10,17 +10,10 @@ js_array_test: Skip # Issue 23676, 23677
|
||||
js_typed_interop_test: Skip # Issue 23676, 23677
|
||||
|
||||
[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
custom/attribute_changed_callback_test/unsupported_on_polyfill: Fail # Issue 18931 (Disabled for Chrome 35 roll)
|
||||
form_data_test/functional: Skip # Issue 19726
|
||||
indexeddb_1_test/functional: Skip # Issue 19512 (timing out)
|
||||
indexeddb_4_test: Skip # Issue 19726
|
||||
mouse_event_test: Fail # Issue 20437
|
||||
worker_api_test: Fail # Issue 10223
|
||||
media_stream_test/constructors: Pass, Crash # Issue 22267
|
||||
element_animate_test/simple_timing: Fail # Not supported on Dartium
|
||||
element_animate_test/omit_timing: Fail # Not supported on Dartium
|
||||
element_animate_test/timing_dict: Fail # Not supported on Dartium
|
||||
trusted_html_tree_sanitizer_test/untrusted: Fail # We make adoptNode throw to verify it's not being called. That doesn't work on Dartium.
|
||||
resource_http_test: Fail # Issue 24203
|
||||
|
||||
[ $compiler == none && $mode == debug && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
|
||||
@@ -36,7 +29,7 @@ custom/element_upgrade_test: Fail # Issue 17298
|
||||
[ $compiler == dart2js && $browser ]
|
||||
custom/created_callback_test: Fail # Support for created constructor. Issue 14835
|
||||
fontface_loaded_test: Fail # Support for promises.
|
||||
storage_quota_test: Fail # Support for promises.
|
||||
storage_quota_test: Fail # Support for promises. API also not yet available anywhere.
|
||||
|
||||
[ $compiler == dart2js && ($runtime == safari || $runtime == safarimobilesim || $runtime == ff || $ie) ]
|
||||
custom/entered_left_view_test/viewless_document: Fail # Polyfill does not handle this
|
||||
@@ -58,18 +51,10 @@ isolates_test: Fail # Issue 13921
|
||||
indexeddb_3_test: Skip # Issue 19578. Timeouts and RuntimeError
|
||||
fileapi_test/getFile: Pass, Fail # Issue 20488
|
||||
|
||||
# DO NOT Suppress/Skip the below XSS security test for dart2js - any failure is a P0 bug.
|
||||
node_validator_important_if_you_suppress_make_the_bug_critical_test/dom_clobbering: Fail # Dartium is immune to DOM clobbering, so the HTML passes through the sanitizer.
|
||||
|
||||
[ $compiler == none && ($runtime == drt || $runtime == dartium || $runtime == ContentShellOnAndroid) && $mode == debug ]
|
||||
websocket_test/websocket: Skip # Issue 17666
|
||||
canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Skip # Issue 17666
|
||||
|
||||
[ $compiler == none && $runtime == ContentShellOnAndroid ]
|
||||
canvasrenderingcontext2d_test/drawImage_video_element: RuntimeError # Issue 19127
|
||||
canvasrenderingcontext2d_test/drawImage_video_element_dataUrl: Pass, Fail # Issue 20524
|
||||
notification_test/constructors: Skip # Times out on Android Dartium. Issue 22835
|
||||
|
||||
element_offset_test/offset: RuntimeError # Issue 17550
|
||||
request_animation_frame_test: Skip # Times out, and also passes while taking 4.00 minutes. Issue 19127.
|
||||
fileapi_test/fileEntry: Pass, RuntimeError # Issue 20488
|
||||
|
||||
@@ -17,7 +17,7 @@ main() {
|
||||
expect(event.origin, equals('origin'));
|
||||
// IE allows setting this but just ignores it.
|
||||
// expect(event.lastEventId, equals('lastEventId'));
|
||||
expect(event.source, same(window));
|
||||
expect(event.source, window);
|
||||
// TODO(antonm): accessing ports is not supported yet.
|
||||
});
|
||||
}
|
||||
|
||||
@@ -50,4 +50,3 @@ main() {
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -24,3 +24,5 @@ lib/html/html_common/html_common: CompileTimeError # Issue 21647
|
||||
lib/indexed_db/dartium/indexed_db_dartium: CompileTimeError # Issue 21647
|
||||
lib/web_audio/dartium/web_audio_dartium: CompileTimeError # Issue 21647
|
||||
lib/svg/dartium/svg_dartium: CompileTimeError # Issue 21647
|
||||
lib/_blink/dartium/_blink_dartium: CompileTimeError # Dartium JsInterop roll (js.JsObjectImpl)
|
||||
lib/js/dartium/js_dartium: CompileTimeError # Dartium JsInterop roll (js.JsObjectImpl)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
import gclient_utils
|
||||
import os
|
||||
|
||||
@@ -12,8 +13,8 @@ vars.update({
|
||||
"dartium_chromium_branch": "master",
|
||||
"dartium_chromium_commit": "62a7524d4f71c9e0858d24b0aa1bbff3a2d09bff",
|
||||
"chromium_base_revision": "297060",
|
||||
"dartium_webkit_branch": "/blink/branches/dart/2171_3/dartium",
|
||||
"dartium_webkit_revision": "201240",
|
||||
"dartium_webkit_branch": "/blink/branches/dart/dartium",
|
||||
"dartium_webkit_revision": "202007",
|
||||
|
||||
# We use mirrors of all github repos to guarantee reproducibility and
|
||||
# consistency between what users see and what the bots see.
|
||||
@@ -68,7 +69,7 @@ vars.update({
|
||||
"zlib_rev": "@c3d0a6190f2f8c924a05ab6cc97b8f975bddd33f",
|
||||
"web_components_rev": "@0e636b534d9b12c9e96f841e6679398e91a986ec",
|
||||
|
||||
"co19_rev": "@f95f109fea67127a220958794ef5200a63cb454c",
|
||||
"co19_rev": "@fad777939a2b891c0a79b69a4d79c914049c69b0",
|
||||
"fake_async_rev": "@38614",
|
||||
})
|
||||
|
||||
|
||||
@@ -102,18 +102,8 @@ part of $LIBRARYNAME;
|
||||
|
||||
|
||||
class_file.write("""
|
||||
$if DART2JS
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME $EXTENDS with
|
||||
$(CLASSNAME)Base $IMPLEMENTS {
|
||||
$else
|
||||
$if JSINTEROP
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS) class $CLASSNAME extends
|
||||
$(CLASSNAME)Base $IMPLEMENTS {
|
||||
$else
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME $EXTENDS with
|
||||
$(CLASSNAME)Base $IMPLEMENTS {
|
||||
$endif
|
||||
$endif
|
||||
factory $CLASSNAME() => new CssStyleDeclaration.css('');
|
||||
|
||||
factory $CLASSNAME.css(String css) {
|
||||
@@ -252,7 +242,7 @@ $if DART2JS
|
||||
String get %s => this._%s;
|
||||
|
||||
/** Sets the value of "%s" */
|
||||
void set %s(String value) {
|
||||
set %s(String value) {
|
||||
_%s = value == null ? '' : value;
|
||||
}
|
||||
@Returns('String')
|
||||
@@ -266,15 +256,7 @@ $if DART2JS
|
||||
$endif
|
||||
}
|
||||
|
||||
$if DART2JS
|
||||
class _CssStyleDeclarationSet extends Object with CssStyleDeclarationBase {
|
||||
$else
|
||||
$if JSINTEROP
|
||||
class _CssStyleDeclarationSet extends CssStyleDeclarationBase {
|
||||
$else
|
||||
class _CssStyleDeclarationSet extends Object with CssStyleDeclarationBase {
|
||||
$endif
|
||||
$endif
|
||||
final Iterable<Element> _elementIterable;
|
||||
Iterable<CssStyleDeclaration> _elementCssStyleDeclarationSetIterable;
|
||||
|
||||
@@ -309,7 +291,7 @@ $if DART2JS
|
||||
property = dashifyName(camelName)
|
||||
class_file.write("""
|
||||
/** Sets the value of "%s" */
|
||||
void set %s(String value) {
|
||||
set %s(String value) {
|
||||
_setAll('%s', value);
|
||||
}
|
||||
""" % (property, camelName, camelName))
|
||||
@@ -371,7 +353,7 @@ $endif
|
||||
if base_css_name in annotated:
|
||||
class_lines.append(annotated[base_css_name])
|
||||
class_lines.append("""
|
||||
void set %s(String value) {
|
||||
set %s(String value) {
|
||||
setProperty('%s', value, '');
|
||||
}
|
||||
""" % (camel_case_name, css_name))
|
||||
|
||||
@@ -167,7 +167,7 @@ _dart2js_dom_custom_native_specs = monitored.Dict(
|
||||
|
||||
'RTCIceCandidate': 'RTCIceCandidate,mozRTCIceCandidate',
|
||||
|
||||
'RTCIceCandidateEvent': 'RTCIceCandidateEvent,RTCPeerConnectionIceEvent',
|
||||
'RTCIceCandidateEvent': 'RTCIceCandidateEvent,RTCPeerConnectionIceEvent',
|
||||
|
||||
'RTCSessionDescription': 'RTCSessionDescription,mozRTCSessionDescription',
|
||||
|
||||
@@ -514,21 +514,19 @@ class OperationInfo(object):
|
||||
parameter_count = len(self.param_infos)
|
||||
return ', '.join(map(param_name, self.param_infos[:parameter_count]))
|
||||
|
||||
def wrap_unwrap_list_blink(self, return_type, type_registry):
|
||||
"""Return True if the type is a List<Node>"""
|
||||
return return_type.startswith('List<Node>')
|
||||
|
||||
def wrap_unwrap_type_blink(self, return_type, type_registry):
|
||||
"""Returns True if the type is a blink type that requires wrap_jso or unwrap_jso.
|
||||
Notice we look for any class that starts with HtmlNNNN e.g., HtmlDocument, etc. """
|
||||
return (type_registry.HasInterface(return_type) or not(return_type) or
|
||||
return_type == 'Object' or return_type.startswith('Html') or
|
||||
return_type == 'MutationObserver')
|
||||
def isCallback(self, type_registry, type_id):
|
||||
if type_id:
|
||||
callback_type = type_registry._database._all_interfaces[type_id]
|
||||
return callback_type.operations[0].id == 'handleEvent' if len(callback_type.operations) > 0 else False
|
||||
else:
|
||||
return False
|
||||
|
||||
def ParametersAsListOfVariables(self, parameter_count=None, type_registry=None, dart_js_interop=False):
|
||||
"""Returns a list of the first parameter_count parameter names
|
||||
as raw variables.
|
||||
"""
|
||||
isRemoveOperation = self.name == 'removeEventListener' or self.name == 'removeListener'
|
||||
|
||||
if parameter_count is None:
|
||||
parameter_count = len(self.param_infos)
|
||||
if not type_registry:
|
||||
@@ -545,11 +543,47 @@ class OperationInfo(object):
|
||||
# - type is Object
|
||||
#
|
||||
# JsObject maybe stored in the Dart class.
|
||||
if (self.wrap_unwrap_type_blink(type_id, type_registry)):
|
||||
if dart_js_interop and type_id == 'EventListener' and (self.name == 'addEventListener' or
|
||||
self.name == 'addListener'):
|
||||
# Events fired need to wrap the Javascript Object passed as a parameter in event.
|
||||
parameters.append('unwrap_jso((Event event) => %s(wrap_jso(event)))' % p.name)
|
||||
if (wrap_unwrap_type_blink(type_id, type_registry)):
|
||||
type_is_callback = self.isCallback(type_registry, type_id)
|
||||
if (dart_js_interop and type_id == 'EventListener' and
|
||||
(self.name == 'addEventListener')):
|
||||
# Events fired need use a JsFunction not a anonymous closure to
|
||||
# insure the event can really be removed.
|
||||
parameters.append('wrap_event_listener(this, %s)' % p.name)
|
||||
elif (dart_js_interop and type_id == 'EventListener' and
|
||||
(self.name == 'removeEventListener')):
|
||||
# Find the JsFunction that corresponds to this Dart function.
|
||||
parameters.append('_knownListeners[this.hashCode][identityHashCode(%s)]' % p.name)
|
||||
elif dart_js_interop and type_id == 'FontFaceSetForEachCallback':
|
||||
# forEach is supported in the DOM for FontFaceSet as it iterates
|
||||
# over the Javascript Object the callback parameters are also
|
||||
# Javascript objects and must be wrapped.
|
||||
parameters.append('unwrap_jso((fontFace, fontFaceAgain, set) => %s(wrap_jso(fontFace), wrap_jso(fontFaceAgain), wrap_jso(set)))' % p.name)
|
||||
elif dart_js_interop and type_id == 'HeadersForEachCallback':
|
||||
# forEach is supported in the DOM for Headers as it iterates
|
||||
# over the Javascript Object the callback parameters are also
|
||||
# Javascript objects and must be wrapped.
|
||||
parameters.append('unwrap_jso((String value, String key, map) => %s(value, key, wrap_jso(map)))' % p.name)
|
||||
elif dart_js_interop and type_is_callback and not(isRemoveOperation):
|
||||
# Any remove operation that has a a callback doesn't need wrapping.
|
||||
# TODO(terry): Kind of hacky but handles all the cases we care about
|
||||
callback_type = type_registry._database._all_interfaces[type_id]
|
||||
callback_args_decl = []
|
||||
callback_args_call = []
|
||||
for callback_arg in callback_type.operations[0].arguments:
|
||||
if dart_js_interop:
|
||||
dart_type = '' # For non-primitives we will be passing JsObject for non-primitives, so ignore types
|
||||
else:
|
||||
dart_type = type_registry.DartType(callback_arg.type.id) + ' '
|
||||
callback_args_decl.append('%s%s' % (dart_type, callback_arg.id))
|
||||
if wrap_unwrap_type_blink(callback_arg.type.id, type_registry):
|
||||
callback_args_call.append('wrap_jso(%s)' % callback_arg.id)
|
||||
else:
|
||||
callback_args_call.append(callback_arg.id)
|
||||
parameters.append('unwrap_jso((%s) => %s(%s))' %
|
||||
(", ".join(callback_args_decl),
|
||||
p.name,
|
||||
", ".join(callback_args_call)))
|
||||
else:
|
||||
parameters.append('unwrap_jso(%s)' % p.name)
|
||||
else:
|
||||
@@ -1396,3 +1430,34 @@ class TypeRegistry(object):
|
||||
|
||||
class_name = '%sIDLTypeInfo' % type_data.clazz
|
||||
return globals()[class_name](type_name, type_data)
|
||||
|
||||
def wrap_unwrap_list_blink(return_type, type_registry):
|
||||
"""Return True if the type is a List<Node>"""
|
||||
return return_type.startswith('List<Node>')
|
||||
|
||||
def wrap_unwrap_type_blink(return_type, type_registry):
|
||||
"""Returns True if the type is a blink type that requires wrap_jso or
|
||||
unwrap_jso"""
|
||||
if return_type and return_type.startswith('Html'):
|
||||
return_type = return_type.replace('Html', 'HTML', 1)
|
||||
return (type_registry.HasInterface(return_type) or not(return_type) or
|
||||
return_type == 'Object' or
|
||||
return_type == 'Future' or
|
||||
return_type == 'SqlDatabase' or # renamed to Database
|
||||
return_type == 'HTMLElement' or
|
||||
return_type == 'MutationObserver')
|
||||
|
||||
def wrap_type_blink(return_type, type_registry):
|
||||
"""Returns True if the type is a blink type that requires wrap_jso but
|
||||
NOT unwrap_jso"""
|
||||
return (return_type == 'Map' or
|
||||
return_type == 'Rectangle')
|
||||
|
||||
def wrap_return_type_blink(return_type, type_name, type_registry):
|
||||
"""Returns True if we should wrap the returned value. This checks
|
||||
a number of different variations, calling the more basic functions
|
||||
above."""
|
||||
return (wrap_unwrap_type_blink(return_type, type_registry) or
|
||||
wrap_unwrap_type_blink(type_name, type_registry) or
|
||||
wrap_type_blink(return_type, type_registry) or
|
||||
wrap_unwrap_list_blink(return_type, type_registry))
|
||||
|
||||
@@ -34,4 +34,4 @@ if [[ "$1" != "" ]] ; then
|
||||
fi
|
||||
|
||||
reset && \
|
||||
./dartdomgenerator.py --systems="$SYSTEMS" --logging=40 --update-dom-metadata
|
||||
./dartdomgenerator.py --systems="$SYSTEMS" --logging=40 --update-dom-metadata --gen-interop
|
||||
|
||||
@@ -14,6 +14,7 @@ from copy import deepcopy
|
||||
from htmlrenamer import convert_to_future_members, custom_html_constructors, \
|
||||
keep_overloaded_members, overloaded_and_renamed, private_html_members, \
|
||||
renamed_html_members, renamed_overloads, removed_html_members
|
||||
from generator import TypeOrVar
|
||||
import logging
|
||||
import monitored
|
||||
import sys
|
||||
@@ -324,6 +325,7 @@ class HtmlDartGenerator(object):
|
||||
info.operations[0],
|
||||
info.name,
|
||||
'call:')
|
||||
|
||||
if not method_name:
|
||||
if info.name == 'item':
|
||||
# FIXME: item should be renamed to operator[], not removed.
|
||||
@@ -526,7 +528,7 @@ class HtmlDartGenerator(object):
|
||||
def _AddConstructor(self,
|
||||
constructor_info, factory_name, factory_constructor_name):
|
||||
# Hack to ignore the Image constructor used by JavaScript.
|
||||
if (self._interface.id == 'HTMLImageElement'
|
||||
if ((self._interface.id == 'HTMLImageElement' or self._interface.id == 'Blob')
|
||||
and not constructor_info.pure_dart_constructor):
|
||||
return
|
||||
|
||||
@@ -595,6 +597,7 @@ class HtmlDartGenerator(object):
|
||||
name = emitter.Format('_create_$VERSION', VERSION=version)
|
||||
arguments = constructor_info.idl_args[signature_index][:argument_count]
|
||||
args = None
|
||||
call_template = ''
|
||||
if self._dart_use_blink:
|
||||
type_ids = [p.type.id for p in arguments]
|
||||
base_name, rs = \
|
||||
@@ -603,6 +606,12 @@ class HtmlDartGenerator(object):
|
||||
self.DeriveQualifiedBlinkName(self._interface.id,
|
||||
base_name)
|
||||
args = constructor_info.ParametersAsArgumentList(argument_count)
|
||||
|
||||
# Handle converting Maps to Dictionaries, etc.
|
||||
(factory_params, converted_arguments) = self._ConvertArgumentTypes(
|
||||
stmts_emitter, arguments, argument_count, constructor_info)
|
||||
args = ', '.join(converted_arguments)
|
||||
call_template = 'wrap_jso($FACTORY_NAME($FACTORY_PARAMS))'
|
||||
else:
|
||||
qualified_name = emitter.Format(
|
||||
'$FACTORY.$NAME',
|
||||
@@ -611,9 +620,8 @@ class HtmlDartGenerator(object):
|
||||
(factory_params, converted_arguments) = self._ConvertArgumentTypes(
|
||||
stmts_emitter, arguments, argument_count, constructor_info)
|
||||
args = ', '.join(converted_arguments)
|
||||
call_emitter.Emit('$FACTORY_NAME($FACTORY_PARAMS)',
|
||||
FACTORY_NAME=qualified_name,
|
||||
FACTORY_PARAMS=args)
|
||||
call_template = '$FACTORY_NAME($FACTORY_PARAMS)'
|
||||
call_emitter.Emit(call_template, FACTORY_NAME=qualified_name, FACTORY_PARAMS=args)
|
||||
self.EmitStaticFactoryOverload(constructor_info, name, arguments)
|
||||
|
||||
def IsOptional(signature_index, argument):
|
||||
@@ -699,7 +707,14 @@ class HtmlDartGenerator(object):
|
||||
""" Declares an attribute but does not include the code to invoke it.
|
||||
"""
|
||||
if read_only:
|
||||
template = '\n $TYPE get $NAME;\n'
|
||||
# HACK(terry): Element is not abstract for Dartium so isContentEditable
|
||||
# must have a body see impl_Element.darttemplate
|
||||
if (self._interface.id == 'Element' and
|
||||
attr_name == 'isContentEditable' and
|
||||
self._dart_js_interop):
|
||||
return
|
||||
else:
|
||||
template = '\n $TYPE get $NAME;\n'
|
||||
else:
|
||||
template = '\n $TYPE $NAME;\n'
|
||||
|
||||
@@ -714,9 +729,17 @@ class HtmlDartGenerator(object):
|
||||
return_type_name - The name of the return type.
|
||||
method_name - The name of the method.
|
||||
"""
|
||||
# HACK(terry): Element is not abstract for Dartium so click
|
||||
# must have a body see impl_Element.darttemplate
|
||||
if (self._interface.id == 'Element' and
|
||||
method_name == 'click' and
|
||||
self._dart_js_interop):
|
||||
return
|
||||
else:
|
||||
template = '\n $TYPE $NAME($PARAMS);\n'
|
||||
|
||||
self._members_emitter.Emit(
|
||||
'\n'
|
||||
' $TYPE $NAME($PARAMS);\n',
|
||||
template,
|
||||
TYPE=return_type_name,
|
||||
NAME=method_name,
|
||||
PARAMS=operation.ParametersAsDeclaration(self._DartType))
|
||||
@@ -804,3 +827,49 @@ class HtmlDartGenerator(object):
|
||||
|
||||
def _TypeInfo(self, type_name):
|
||||
return self._type_registry.TypeInfo(type_name)
|
||||
|
||||
def _ConvertArgumentTypes(self, stmts_emitter, arguments, argument_count, info):
|
||||
temp_version = [0]
|
||||
converted_arguments = []
|
||||
target_parameters = []
|
||||
for position, arg in enumerate(arguments[:argument_count]):
|
||||
conversion = self._InputConversion(arg.type.id, info.declared_name)
|
||||
param_name = arguments[position].id
|
||||
if conversion:
|
||||
temp_version[0] += 1
|
||||
temp_name = '%s_%s' % (param_name, temp_version[0])
|
||||
temp_type = conversion.output_type
|
||||
stmts_emitter.Emit(
|
||||
'$(INDENT)$TYPE $NAME = $CONVERT($ARG);\n',
|
||||
TYPE=TypeOrVar(temp_type),
|
||||
NAME=temp_name,
|
||||
CONVERT=conversion.function_name,
|
||||
ARG=info.param_infos[position].name)
|
||||
converted_arguments.append(temp_name)
|
||||
param_type = temp_type
|
||||
verified_type = temp_type # verified by assignment in checked mode.
|
||||
else:
|
||||
converted_arguments.append(info.param_infos[position].name)
|
||||
param_type = self._NarrowInputType(arg.type.id)
|
||||
# Verified by argument checking on entry to the dispatcher.
|
||||
|
||||
verified_type = self._InputType(
|
||||
info.param_infos[position].type_id, info)
|
||||
# The native method does not need an argument type if we know the type.
|
||||
# But we do need the native methods to have correct function types, so
|
||||
# be conservative.
|
||||
if param_type == verified_type:
|
||||
if param_type in ['String', 'num', 'int', 'double', 'bool', 'Object']:
|
||||
param_type = 'dynamic'
|
||||
|
||||
target_parameters.append(
|
||||
'%s%s' % (TypeOrNothing(param_type), param_name))
|
||||
|
||||
return target_parameters, converted_arguments
|
||||
|
||||
def _InputType(self, type_name, info):
|
||||
conversion = self._InputConversion(type_name, info.declared_name)
|
||||
if conversion:
|
||||
return conversion.input_type
|
||||
else:
|
||||
return self._NarrowInputType(type_name) if type_name else 'dynamic'
|
||||
|
||||
@@ -176,6 +176,7 @@ convert_to_future_members = monitored.Set(
|
||||
# constructor for dispatch purposes.
|
||||
custom_html_constructors = monitored.Set(
|
||||
'htmlrenamer.custom_html_constructors', [
|
||||
'HTMLAudioElement',
|
||||
'HTMLOptionElement',
|
||||
'MutationObserver',
|
||||
])
|
||||
@@ -204,6 +205,7 @@ private_html_members = monitored.Set('htmlrenamer.private_html_members', [
|
||||
'CustomEvent.initCustomEvent',
|
||||
'DeviceOrientationEvent.initDeviceOrientationEvent',
|
||||
'Document.createElement',
|
||||
'Document.createElementNS',
|
||||
'Document.createEvent',
|
||||
'Document.createNodeIterator',
|
||||
'Document.createTextNode',
|
||||
@@ -233,6 +235,7 @@ private_html_members = monitored.Set('htmlrenamer.private_html_members', [
|
||||
'Document.webkitIsFullScreen',
|
||||
'Document.webkitVisibilityState',
|
||||
|
||||
'Element.animate',
|
||||
'Element.children',
|
||||
'Element.childElementCount',
|
||||
'Element.firstElementChild',
|
||||
@@ -780,6 +783,8 @@ removed_html_members = monitored.Set('htmlrenamer.removed_html_members', [
|
||||
'MouseEvent.y',
|
||||
'Navigator.registerServiceWorker',
|
||||
'Navigator.unregisterServiceWorker',
|
||||
'Navigator.isProtocolHandlerRegistered',
|
||||
'Navigator.unregisterProtocolHandler',
|
||||
'Node.compareDocumentPosition',
|
||||
'Node.get:DOCUMENT_POSITION_CONTAINED_BY',
|
||||
'Node.get:DOCUMENT_POSITION_CONTAINS',
|
||||
@@ -821,6 +826,7 @@ removed_html_members = monitored.Set('htmlrenamer.removed_html_members', [
|
||||
'Window.on:wheel',
|
||||
'WindowEventHandlers.on:beforeUnload',
|
||||
'WorkerGlobalScope.webkitIndexedDB',
|
||||
'XMLHttpRequest.open',
|
||||
# TODO(jacobr): should these be removed?
|
||||
'Document.close',
|
||||
'Document.hasFocus',
|
||||
|
||||
@@ -494,6 +494,7 @@ class HtmlDartInterfaceGenerator(object):
|
||||
|
||||
def GenerateInterface(self):
|
||||
interface_name = self._interface_type_info.interface_name()
|
||||
|
||||
implementation_name = self._interface_type_info.implementation_name()
|
||||
self._library_emitter.AddTypeEntry(self._library_name,
|
||||
self._interface.id, implementation_name)
|
||||
@@ -559,15 +560,15 @@ class HtmlDartInterfaceGenerator(object):
|
||||
|
||||
mixins = self._backend.Mixins()
|
||||
|
||||
# TODO(terry): Do we need a more generic solution other than handling NamedNodeMap
|
||||
# we can't call super on a mixin interface - yet.
|
||||
if self._options.templates._conditions['DARTIUM'] and self._options.dart_js_interop and self._interface.id == 'NamedNodeMap':
|
||||
mixins = None
|
||||
mixins_str = ''
|
||||
if mixins:
|
||||
mixins_str = ' with ' + ', '.join(mixins)
|
||||
if not base_class:
|
||||
base_class = 'Interceptor'
|
||||
elif (base_class == 'NativeFieldWrapperClass2' and
|
||||
self._options.dart_js_interop and
|
||||
not(isinstance(self._backend, Dart2JSBackend))):
|
||||
base_class = 'JsoNativeFieldWrapper'
|
||||
|
||||
annotations = self._metadata.GetFormattedMetadata(
|
||||
self._library_name, self._interface, None, '')
|
||||
@@ -578,12 +579,20 @@ class HtmlDartInterfaceGenerator(object):
|
||||
# XMLHttpRequestProgressEvent can't be abstract we need to instantiate
|
||||
# for JsInterop.
|
||||
if (not(isinstance(self._backend, Dart2JSBackend)) and
|
||||
self._interface.id == 'XMLHttpRequestProgressEvent'):
|
||||
# Only suppress abstract for XMLHttpRequestProgressEvent for Dartium.
|
||||
# Need to be able to instantiate the class; can't be abstract.
|
||||
(self._interface.id == 'XMLHttpRequestProgressEvent' or
|
||||
self._interface.id == 'DOMStringMap')):
|
||||
# Suppress abstract for XMLHttpRequestProgressEvent and DOMStringMap
|
||||
# for Dartium. Need to be able to instantiate the class; can't be abstract.
|
||||
class_modifiers = ''
|
||||
else:
|
||||
class_modifiers = 'abstract '
|
||||
# For Dartium w/ JsInterop these suppressed interfaces are needed to
|
||||
# instanciate the internal classes when wrap_jso is called for a JS object.
|
||||
if (self._renamer.ShouldSuppressInterface(self._interface) and
|
||||
not(isinstance(self._backend, Dart2JSBackend)) and
|
||||
self._options.dart_js_interop):
|
||||
class_modifiers = ''
|
||||
else:
|
||||
class_modifiers = 'abstract '
|
||||
|
||||
native_spec = ''
|
||||
if not IsPureInterface(self._interface.id):
|
||||
@@ -592,7 +601,8 @@ class HtmlDartInterfaceGenerator(object):
|
||||
class_name = self._interface_type_info.implementation_name()
|
||||
|
||||
js_interop_equivalence_op = \
|
||||
' bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);\n'
|
||||
' bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);\n' \
|
||||
+ ' int get hashCode => unwrap_jso(this).hashCode;\n'
|
||||
# ClientRect overrides the equivalence operator.
|
||||
if interface_name == 'ClientRect' or interface_name == 'DomRectReadOnly':
|
||||
js_interop_equivalence_op = ''
|
||||
@@ -604,39 +614,42 @@ class HtmlDartInterfaceGenerator(object):
|
||||
}}
|
||||
|
||||
factory {0}._internalWrap() {{
|
||||
return new {0}._internal();
|
||||
return new {0}.internal_();
|
||||
}}
|
||||
|
||||
{0}._internal() : super._internal();
|
||||
{0}.internal_() : super.internal_();
|
||||
|
||||
'''.format(class_name)
|
||||
"""
|
||||
TODO(terry): Don't use Dart expando really don't need.
|
||||
final Object expandoJsObject = new Object();
|
||||
final Expando<JsObject> dartium_expando = new Expando<JsObject>("Expando_jsObject");
|
||||
"""
|
||||
if base_class == 'NativeFieldWrapperClass2':
|
||||
if base_class == 'NativeFieldWrapperClass2' or base_class == 'JsoNativeFieldWrapper':
|
||||
js_interop_wrapper = '''
|
||||
static {0} internalCreate{0}() {{
|
||||
return new {0}._internalWrap();
|
||||
}}
|
||||
|
||||
JsObject blink_jsObject = null;
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory {0}._internalWrap() {{
|
||||
return new {0}._internal();
|
||||
return new {0}.internal_();
|
||||
}}
|
||||
|
||||
{0}._internal() {{ }}
|
||||
{0}.internal_() {{ }}
|
||||
|
||||
{1}'''.format(class_name, js_interop_equivalence_op)
|
||||
# Change to use the synthesized class so we can construct with a mixin
|
||||
# classes prefixed with name of NativeFieldWrapperClass2 don't have a
|
||||
# default constructor so classes with mixins can't be new'd.
|
||||
if (self._options.templates._conditions['DARTIUM'] and
|
||||
self._options.dart_js_interop and
|
||||
(self._interface.id == 'NamedNodeMap' or
|
||||
self._interface.id == 'CSSStyleDeclaration')):
|
||||
base_class = 'JsoNativeFieldWrapper'
|
||||
|
||||
implementation_members_emitter = implementation_emitter.Emit(
|
||||
self._backend.ImplementationTemplate(),
|
||||
LIBRARYNAME='dart.dom.%s' % self._library_name,
|
||||
ANNOTATIONS=annotations,
|
||||
CLASS_MODIFIERS=class_modifiers,
|
||||
CLASSNAME=self._interface_type_info.implementation_name(),
|
||||
CLASSNAME=class_name,
|
||||
EXTENDS=' extends %s' % base_class if base_class else '',
|
||||
IMPLEMENTS=implements_str,
|
||||
MIXINS=mixins_str,
|
||||
@@ -673,7 +686,8 @@ class HtmlDartInterfaceGenerator(object):
|
||||
# Write out the JsInterop code.
|
||||
if (implementation_members_emitter and
|
||||
self._options.templates._conditions['DARTIUM'] and
|
||||
self._options.dart_js_interop):
|
||||
self._options.dart_js_interop and
|
||||
not IsPureInterface(self._interface.id)):
|
||||
implementation_members_emitter.Emit(js_interop_wrapper)
|
||||
|
||||
if isElement and self._interface.id != 'Element':
|
||||
@@ -980,7 +994,7 @@ class Dart2JSBackend(HtmlDartGenerator):
|
||||
return self._AddConvertingSetter(attr, html_name, conversion)
|
||||
self._members_emitter.Emit(
|
||||
# TODO(sra): Use metadata to provide native name.
|
||||
'\n void set $HTML_NAME($TYPE value) {'
|
||||
'\n set $HTML_NAME($TYPE value) {'
|
||||
'\n JS("void", "#.$NAME = #", this, value);'
|
||||
'\n }'
|
||||
'\n',
|
||||
@@ -1007,10 +1021,10 @@ class Dart2JSBackend(HtmlDartGenerator):
|
||||
def _AddConvertingSetter(self, attr, html_name, conversion):
|
||||
self._members_emitter.Emit(
|
||||
# TODO(sra): Use metadata to provide native name.
|
||||
'\n void set $HTML_NAME($INPUT_TYPE value) {'
|
||||
'\n set $HTML_NAME($INPUT_TYPE value) {'
|
||||
'\n this._set_$HTML_NAME = $CONVERT(value);'
|
||||
'\n }'
|
||||
'\n void set _set_$HTML_NAME(/*$NATIVE_TYPE*/ value) {'
|
||||
'\n set _set_$HTML_NAME(/*$NATIVE_TYPE*/ value) {'
|
||||
'\n JS("void", "#.$NAME = #", this, value);'
|
||||
'\n }'
|
||||
'\n',
|
||||
@@ -1059,53 +1073,6 @@ class Dart2JSBackend(HtmlDartGenerator):
|
||||
NAME=html_name,
|
||||
PARAMS=info.ParametersAsDeclaration(self._NarrowInputType))
|
||||
|
||||
def _ConvertArgumentTypes(
|
||||
self, stmts_emitter, arguments, argument_count, info):
|
||||
temp_version = [0]
|
||||
converted_arguments = []
|
||||
target_parameters = []
|
||||
for position, arg in enumerate(arguments[:argument_count]):
|
||||
conversion = self._InputConversion(arg.type.id, info.declared_name)
|
||||
param_name = arguments[position].id
|
||||
if conversion:
|
||||
temp_version[0] += 1
|
||||
temp_name = '%s_%s' % (param_name, temp_version[0])
|
||||
temp_type = conversion.output_type
|
||||
stmts_emitter.Emit(
|
||||
'$(INDENT)$TYPE $NAME = $CONVERT($ARG);\n',
|
||||
TYPE=TypeOrVar(temp_type),
|
||||
NAME=temp_name,
|
||||
CONVERT=conversion.function_name,
|
||||
ARG=info.param_infos[position].name)
|
||||
converted_arguments.append(temp_name)
|
||||
param_type = temp_type
|
||||
verified_type = temp_type # verified by assignment in checked mode.
|
||||
else:
|
||||
converted_arguments.append(info.param_infos[position].name)
|
||||
param_type = self._NarrowInputType(arg.type.id)
|
||||
# Verified by argument checking on entry to the dispatcher.
|
||||
|
||||
verified_type = self._InputType(
|
||||
info.param_infos[position].type_id, info)
|
||||
# The native method does not need an argument type if we know the type.
|
||||
# But we do need the native methods to have correct function types, so
|
||||
# be conservative.
|
||||
if param_type == verified_type:
|
||||
if param_type in ['String', 'num', 'int', 'double', 'bool', 'Object']:
|
||||
param_type = 'dynamic'
|
||||
|
||||
target_parameters.append(
|
||||
'%s%s' % (TypeOrNothing(param_type), param_name))
|
||||
|
||||
return target_parameters, converted_arguments
|
||||
|
||||
def _InputType(self, type_name, info):
|
||||
conversion = self._InputConversion(type_name, info.declared_name)
|
||||
if conversion:
|
||||
return conversion.input_type
|
||||
else:
|
||||
return self._NarrowInputType(type_name) if type_name else 'dynamic'
|
||||
|
||||
def _AddOperationWithConversions(self, info, html_name):
|
||||
# Assert all operations have same return type.
|
||||
assert len(set([op.type.id for op in info.operations])) == 1
|
||||
@@ -1346,10 +1313,14 @@ class DartLibrary():
|
||||
items = self._typeMap.items()
|
||||
items.sort()
|
||||
for (idl_name, dart_name) in items:
|
||||
function_emitter.Emit(
|
||||
" '$IDL_NAME': () => $DART_NAME.internalCreate$DART_NAME,\n",
|
||||
IDL_NAME=idl_name,
|
||||
DART_NAME=dart_name)
|
||||
# DOMStringMap is in the abstract list but is used as a concrete class
|
||||
# in Dartium.
|
||||
if not IsPureInterface(idl_name):
|
||||
# Handle classes that are concrete (abstract can't be instantiated).
|
||||
function_emitter.Emit(
|
||||
" '$IDL_NAME': () => $DART_NAME.internalCreate$DART_NAME,\n",
|
||||
IDL_NAME=idl_name,
|
||||
DART_NAME=dart_name)
|
||||
if self._dart_path.endswith('html_dartium.dart'):
|
||||
function_emitter.Emit(" 'polymer-element': () => HtmlElement.internalCreateHtmlElement,\n")
|
||||
|
||||
|
||||
@@ -394,8 +394,8 @@ class DartiumBackend(HtmlDartGenerator):
|
||||
def CustomJSMembers(self):
|
||||
return {}
|
||||
|
||||
def _InputConversion(self, type_name, info):
|
||||
return None
|
||||
def _InputConversion(self, idl_type, member):
|
||||
return FindConversion(idl_type, 'set', self._interface.id, member)
|
||||
|
||||
def GenerateCallback(self, info):
|
||||
if IsPureInterface(self._interface.id) or IsCustomType(self._interface.id):
|
||||
@@ -645,7 +645,7 @@ class DartiumBackend(HtmlDartGenerator):
|
||||
self._members_emitter.Emit(
|
||||
'\n @DocsEditable()\n'
|
||||
' static $INTERFACE_NAME $FACTORY_METHOD_NAME($PARAMETERS) => '
|
||||
'$TOPLEVEL_NAME($OUTPARAMETERS);\n',
|
||||
'wrap_jso($TOPLEVEL_NAME($OUTPARAMETERS));\n',
|
||||
INTERFACE_NAME=self._interface_type_info.interface_name(),
|
||||
FACTORY_METHOD_NAME=factory_method_name,
|
||||
PARAMETERS=typed_formals,
|
||||
@@ -914,7 +914,7 @@ class DartiumBackend(HtmlDartGenerator):
|
||||
if self._interface.id == 'ImageData' and html_name == 'data':
|
||||
html_name = '_data'
|
||||
type_info = self._TypeInfo(attr.type.id)
|
||||
return_type = self.SecureOutputType(attr.type.id, False, read_only)
|
||||
return_type = self.SecureOutputType(attr.type.id, False, False if self._dart_use_blink else True)
|
||||
parameters = []
|
||||
dart_declaration = '%s get %s' % (return_type, html_name)
|
||||
is_custom = _IsCustom(attr) and (_IsCustomValue(attr, None) or
|
||||
@@ -932,8 +932,7 @@ class DartiumBackend(HtmlDartGenerator):
|
||||
# - type is Object
|
||||
#
|
||||
# JsObject maybe stored in the Dart class.
|
||||
return_wrap_jso = (isinstance(type_info, InterfaceIDLTypeInfo) or
|
||||
not(type_info) or attr.type.id == 'Object')
|
||||
return_wrap_jso = wrap_return_type_blink(return_type, attr.type.id, self._type_registry)
|
||||
wrap_unwrap_list.append(return_wrap_jso) # wrap_jso the returned object
|
||||
wrap_unwrap_list.append(self._dart_use_blink) # this must be unwrap_jso
|
||||
|
||||
@@ -996,7 +995,7 @@ class DartiumBackend(HtmlDartGenerator):
|
||||
not(attr.type.id) or ptype == 'Object')
|
||||
else 'value']
|
||||
|
||||
dart_declaration = 'void set %s(%s value)' % (html_name, ptype)
|
||||
dart_declaration = 'set %s(%s value)' % (html_name, ptype)
|
||||
is_custom = _IsCustom(attr) and (_IsCustomValue(attr, None) or
|
||||
_IsCustomValue(attr, 'Setter'))
|
||||
# This seems to have been replaced with Custom=Setter (see above), but
|
||||
@@ -1086,7 +1085,8 @@ class DartiumBackend(HtmlDartGenerator):
|
||||
# Does nativeIndexGetter return a DartClass (JsObject) if so wrap_jso.
|
||||
wrap_jso_start = ''
|
||||
wrap_jso_end = ''
|
||||
if isinstance(type_info, InterfaceIDLTypeInfo):
|
||||
if (isinstance(type_info, InterfaceIDLTypeInfo) or
|
||||
wrap_type_blink(type_info.narrow_dart_type(), self._type_registry)):
|
||||
wrap_jso_start = 'wrap_jso('
|
||||
wrap_jso_end = ')'
|
||||
blinkNativeIndexed = """
|
||||
@@ -1097,7 +1097,7 @@ class DartiumBackend(HtmlDartGenerator):
|
||||
}
|
||||
|
||||
$TYPE _nativeIndexedGetter(int index) => %s$(DART_NATIVE_NAME)(unwrap_jso(this), index)%s;
|
||||
""" % (wrap_jso_start, wrap_jso_end, wrap_jso_start, wrap_jso_end)
|
||||
""" % (wrap_jso_start, wrap_jso_end, wrap_jso_start, wrap_jso_end)
|
||||
# Wrap the type to store the JsObject if Type is:
|
||||
#
|
||||
# - known IDL type
|
||||
@@ -1189,11 +1189,13 @@ class DartiumBackend(HtmlDartGenerator):
|
||||
Arguments:
|
||||
info: An OperationInfo object.
|
||||
"""
|
||||
return_type = self.SecureOutputType(info.type_name, False, True)
|
||||
return_type = self.SecureOutputType(info.type_name, False, False if dart_js_interop else True)
|
||||
|
||||
formals = info.ParametersAsDeclaration(self._DartType)
|
||||
|
||||
parameters = info.ParametersAsListOfVariables(None, self._type_registry if self._dart_use_blink else None, dart_js_interop)
|
||||
parameters = info.ParametersAsListOfVariables(None,
|
||||
self._type_registry if self._dart_use_blink else None,
|
||||
dart_js_interop)
|
||||
dart_declaration = '%s%s %s(%s)' % (
|
||||
'static ' if info.IsStatic() else '',
|
||||
return_type,
|
||||
@@ -1219,11 +1221,15 @@ class DartiumBackend(HtmlDartGenerator):
|
||||
# - type is Object
|
||||
#
|
||||
# JsObject maybe stored in the Dart class.
|
||||
return_wrap_jso = (info.wrap_unwrap_type_blink(return_type, self._type_registry) or
|
||||
return_type == 'Rectangle' or
|
||||
info.wrap_unwrap_list_blink(return_type, self._type_registry))
|
||||
wrap_unwrap_list.append(return_wrap_jso) # wrap_jso the returned object
|
||||
wrap_unwrap_list.append(self._dart_use_blink) # The 'this' parameter must be unwrap_jso
|
||||
return_wrap_jso = wrap_return_type_blink(return_type, info.type_name, self._type_registry)
|
||||
return_type_info = self._type_registry.TypeInfo(info.type_name)
|
||||
if (isinstance(return_type_info, SequenceIDLTypeInfo) and
|
||||
not isinstance(return_type_info._item_info, PrimitiveIDLTypeInfo)):
|
||||
return_wrap_jso = True
|
||||
# wrap_jso the returned object
|
||||
wrap_unwrap_list.append(return_wrap_jso)
|
||||
# The 'this' parameter must be unwrap_jso
|
||||
wrap_unwrap_list.append(self._dart_use_blink)
|
||||
|
||||
if info.callback_args:
|
||||
self._AddFutureifiedOperation(info, html_name)
|
||||
@@ -1259,7 +1265,7 @@ class DartiumBackend(HtmlDartGenerator):
|
||||
|
||||
return_wrap_jso = False
|
||||
if self._dart_use_blink:
|
||||
return_wrap_jso = self._type_registry.HasInterface(return_type)
|
||||
return_wrap_jso = wrap_return_type_blink(return_type, info.type_name, self._type_registry)
|
||||
|
||||
native_suffix = 'Callback'
|
||||
is_custom = _IsCustom(operation)
|
||||
@@ -1742,19 +1748,19 @@ class DartiumBackend(HtmlDartGenerator):
|
||||
'''
|
||||
if return_type == 'Rectangle':
|
||||
jso_util_method = 'make_dart_rectangle'
|
||||
# TODO(terry): More checks that the return is a List<Node>.
|
||||
elif return_type.startswith('List<'):
|
||||
jso_util_method = 'wrap_jso_list'
|
||||
else:
|
||||
elif wrap_unwrap_list[0]:
|
||||
jso_util_method = 'wrap_jso'
|
||||
|
||||
# Always return List<String> unwrapped.
|
||||
if return_type != 'List<String>':
|
||||
emit_template = emit_jso_template % jso_util_method
|
||||
caller_emitter.Emit(emit_template,
|
||||
METADATA=metadata,
|
||||
DART_DECLARATION=dart_declaration,
|
||||
DART_NAME=full_dart_name,
|
||||
ACTUALS=actuals)
|
||||
|
||||
if caller_emitter:
|
||||
caller_emitter.Emit(emit_template,
|
||||
METADATA=metadata,
|
||||
DART_DECLARATION=dart_declaration,
|
||||
DART_NAME=full_dart_name,
|
||||
ACTUALS=actuals)
|
||||
cpp_callback_name = '%s%s' % (idl_name, native_suffix)
|
||||
|
||||
self._cpp_resolver_emitter.Emit(
|
||||
|
||||
@@ -27,7 +27,7 @@ class _ContentCssRect extends CssRect {
|
||||
* `height` function in jQuery and the calculated `height` CSS value,
|
||||
* converted to a num in pixels.
|
||||
*/
|
||||
void set height(newHeight) {
|
||||
set height(newHeight) {
|
||||
if (newHeight is Dimension) {
|
||||
if (newHeight.value < 0) newHeight = new Dimension.px(0);
|
||||
_element.style.height = newHeight.toString();
|
||||
@@ -45,7 +45,7 @@ class _ContentCssRect extends CssRect {
|
||||
* and the calculated
|
||||
* `width` CSS value, converted to a dimensionless num in pixels.
|
||||
*/
|
||||
void set width(newWidth) {
|
||||
set width(newWidth) {
|
||||
if (newWidth is Dimension) {
|
||||
if (newWidth.value < 0) newWidth = new Dimension.px(0);
|
||||
_element.style.width = newWidth.toString();
|
||||
@@ -80,7 +80,7 @@ class _ContentCssListRect extends _ContentCssRect {
|
||||
* function in jQuery and the calculated `height` CSS value, converted to a
|
||||
* num in pixels.
|
||||
*/
|
||||
void set height(newHeight) {
|
||||
set height(newHeight) {
|
||||
_elementList.forEach((e) => e.contentEdge.height = newHeight);
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ class _ContentCssListRect extends _ContentCssRect {
|
||||
* This is equivalent to the `width` function in jQuery and the calculated
|
||||
* `width` CSS value, converted to a dimensionless num in pixels.
|
||||
*/
|
||||
void set width(newWidth) {
|
||||
set width(newWidth) {
|
||||
_elementList.forEach((e) => e.contentEdge.width = newWidth);
|
||||
}
|
||||
}
|
||||
@@ -197,7 +197,7 @@ abstract class CssRect extends MutableRectangle<num> {
|
||||
*
|
||||
* Note that only the content height can actually be set via this method.
|
||||
*/
|
||||
void set height(newHeight) {
|
||||
set height(newHeight) {
|
||||
throw new UnsupportedError("Can only set height for content rect.");
|
||||
}
|
||||
|
||||
@@ -211,7 +211,7 @@ abstract class CssRect extends MutableRectangle<num> {
|
||||
*
|
||||
* Note that only the content width can be set via this method.
|
||||
*/
|
||||
void set width(newWidth) {
|
||||
set width(newWidth) {
|
||||
throw new UnsupportedError("Can only set width for content rect.");
|
||||
}
|
||||
|
||||
|
||||
@@ -423,11 +423,11 @@ class _Html5NodeValidator implements NodeValidator {
|
||||
}
|
||||
|
||||
bool allowsElement(Element element) {
|
||||
return _allowedElements.contains(element.tagName);
|
||||
return _allowedElements.contains(element._safeTagName);
|
||||
}
|
||||
|
||||
bool allowsAttribute(Element element, String attributeName, String value) {
|
||||
var tagName = element.tagName;
|
||||
var tagName = element._safeTagName;
|
||||
var validator = _attributeValidators['$tagName::$attributeName'];
|
||||
if (validator == null) {
|
||||
validator = _attributeValidators['*::$attributeName'];
|
||||
|
||||
@@ -358,11 +358,11 @@ class _SimpleNodeValidator implements NodeValidator {
|
||||
}
|
||||
|
||||
bool allowsElement(Element element) {
|
||||
return allowedElements.contains(element.tagName);
|
||||
return allowedElements.contains(element._safeTagName);
|
||||
}
|
||||
|
||||
bool allowsAttribute(Element element, String attributeName, String value) {
|
||||
var tagName = element.tagName;
|
||||
var tagName = element._safeTagName;
|
||||
if (allowedUriAttributes.contains('$tagName::$attributeName')) {
|
||||
return uriPolicy.allowsUri(value);
|
||||
} else if (allowedUriAttributes.contains('*::$attributeName')) {
|
||||
@@ -403,10 +403,10 @@ class _CustomElementNodeValidator extends _SimpleNodeValidator {
|
||||
var isAttr = element.attributes['is'];
|
||||
if (isAttr != null) {
|
||||
return allowedElements.contains(isAttr.toUpperCase()) &&
|
||||
allowedElements.contains(element.tagName);
|
||||
allowedElements.contains(element._safeTagName);
|
||||
}
|
||||
}
|
||||
return allowCustomTag && allowedElements.contains(element.tagName);
|
||||
return allowCustomTag && allowedElements.contains(element._safeTagName);
|
||||
}
|
||||
|
||||
bool allowsAttribute(Element element, String attributeName, String value) {
|
||||
@@ -462,7 +462,7 @@ class _SvgNodeValidator implements NodeValidator {
|
||||
// foreignobject tag as SvgElement. We don't want foreignobject contents
|
||||
// anyway, so just remove the whole tree outright. And we can't rely
|
||||
// on IE recognizing the SvgForeignObject type, so go by tagName. Bug 23144
|
||||
if (element is svg.SvgElement && element.tagName == 'foreignObject') {
|
||||
if (element is svg.SvgElement && element._safeTagName == 'foreignObject') {
|
||||
return false;
|
||||
}
|
||||
if (element is svg.SvgElement) {
|
||||
|
||||
@@ -72,7 +72,7 @@ abstract class NodeTreeSanitizer {
|
||||
/**
|
||||
* A sanitizer for trees that we trust. It does no validation and allows
|
||||
* any elements. It is also more efficient, since it can pass the text
|
||||
* directly through to the underlying APIs without creating a document
|
||||
* directly through to the underlying APIs without creating a document
|
||||
* fragment to be sanitized.
|
||||
*/
|
||||
static const trusted = const _TrustedHtmlTreeSanitizer();
|
||||
@@ -87,7 +87,7 @@ class _TrustedHtmlTreeSanitizer implements NodeTreeSanitizer {
|
||||
|
||||
sanitizeTree(Node node) {}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Defines the policy for what types of uris are allowed for particular
|
||||
* attribute values.
|
||||
@@ -141,14 +141,14 @@ class _ThrowsNodeValidator implements NodeValidator {
|
||||
|
||||
bool allowsElement(Element element) {
|
||||
if (!validator.allowsElement(element)) {
|
||||
throw new ArgumentError(element.tagName);
|
||||
throw new ArgumentError(element._safeTagName);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool allowsAttribute(Element element, String attributeName, String value) {
|
||||
if (!validator.allowsAttribute(element, attributeName, value)) {
|
||||
throw new ArgumentError('${element.tagName}[$attributeName="$value"]');
|
||||
throw new ArgumentError('${element._safeTagName}[$attributeName="$value"]');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -213,10 +213,7 @@ class _ValidatingTreeSanitizer implements NodeTreeSanitizer {
|
||||
try {
|
||||
elementText = element.toString();
|
||||
} catch(e) {}
|
||||
var elementTagName = 'element tag unavailable';
|
||||
try {
|
||||
elementTagName = element.tagName;
|
||||
} catch(e) {}
|
||||
var elementTagName = element._safeTagName;
|
||||
_sanitizeElement(element, parent, corrupted, elementText, elementTagName,
|
||||
attrs, isAttr);
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ class _WrappedList<E extends Node> extends ListBase<E>
|
||||
|
||||
void operator []=(int index, E value) { _list[index] = value; }
|
||||
|
||||
void set length(int newLength) { _list.length = newLength; }
|
||||
set length(int newLength) { _list.length = newLength; }
|
||||
|
||||
void sort([int compare(E a, E b)]) { _list.sort(compare); }
|
||||
|
||||
|
||||
@@ -32,14 +32,14 @@ class AppRuntimeLaunchItem extends ChromeObject {
|
||||
/// FileEntry for the file.
|
||||
FileEntry get entry => JS('FileEntry', '#.entry', this._jsObject);
|
||||
|
||||
void set entry(FileEntry entry) {
|
||||
set entry(FileEntry entry) {
|
||||
JS('void', '#.entry = #', this._jsObject, convertArgument(entry));
|
||||
}
|
||||
|
||||
/// The MIME type of the file.
|
||||
String get type => JS('String', '#.type', this._jsObject);
|
||||
|
||||
void set type(String type) {
|
||||
set type(String type) {
|
||||
JS('void', '#.type = #', this._jsObject, type);
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ class AppRuntimeLaunchData extends ChromeObject {
|
||||
/// The id of the file handler that the app is being invoked with.
|
||||
String get id => JS('String', '#.id', this._jsObject);
|
||||
|
||||
void set id(String id) {
|
||||
set id(String id) {
|
||||
JS('void', '#.id = #', this._jsObject, id);
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ class AppRuntimeLaunchData extends ChromeObject {
|
||||
return __proxy_items;
|
||||
}
|
||||
|
||||
void set items(List<AppRuntimeLaunchItem> items) {
|
||||
set items(List<AppRuntimeLaunchItem> items) {
|
||||
JS('void', '#.items = #', this._jsObject, convertArgument(items));
|
||||
}
|
||||
|
||||
|
||||
@@ -35,25 +35,25 @@ class AppWindowBounds extends ChromeObject {
|
||||
*/
|
||||
int get left => JS('int', '#.left', this._jsObject);
|
||||
|
||||
void set left(int left) {
|
||||
set left(int left) {
|
||||
JS('void', '#.left = #', this._jsObject, left);
|
||||
}
|
||||
|
||||
int get top => JS('int', '#.top', this._jsObject);
|
||||
|
||||
void set top(int top) {
|
||||
set top(int top) {
|
||||
JS('void', '#.top = #', this._jsObject, top);
|
||||
}
|
||||
|
||||
int get width => JS('int', '#.width', this._jsObject);
|
||||
|
||||
void set width(int width) {
|
||||
set width(int width) {
|
||||
JS('void', '#.width = #', this._jsObject, width);
|
||||
}
|
||||
|
||||
int get height => JS('int', '#.height', this._jsObject);
|
||||
|
||||
void set height(int height) {
|
||||
set height(int height) {
|
||||
JS('void', '#.height = #', this._jsObject, height);
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ class AppWindowCreateWindowOptions extends ChromeObject {
|
||||
/// same id is later opened.
|
||||
String get id => JS('String', '#.id', this._jsObject);
|
||||
|
||||
void set id(String id) {
|
||||
set id(String id) {
|
||||
JS('void', '#.id = #', this._jsObject, id);
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ class AppWindowCreateWindowOptions extends ChromeObject {
|
||||
/// now.)
|
||||
int get defaultWidth => JS('int', '#.defaultWidth', this._jsObject);
|
||||
|
||||
void set defaultWidth(int defaultWidth) {
|
||||
set defaultWidth(int defaultWidth) {
|
||||
JS('void', '#.defaultWidth = #', this._jsObject, defaultWidth);
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ class AppWindowCreateWindowOptions extends ChromeObject {
|
||||
/// now.)
|
||||
int get defaultHeight => JS('int', '#.defaultHeight', this._jsObject);
|
||||
|
||||
void set defaultHeight(int defaultHeight) {
|
||||
set defaultHeight(int defaultHeight) {
|
||||
JS('void', '#.defaultHeight = #', this._jsObject, defaultHeight);
|
||||
}
|
||||
|
||||
@@ -145,7 +145,7 @@ class AppWindowCreateWindowOptions extends ChromeObject {
|
||||
/// this now.)
|
||||
int get defaultLeft => JS('int', '#.defaultLeft', this._jsObject);
|
||||
|
||||
void set defaultLeft(int defaultLeft) {
|
||||
set defaultLeft(int defaultLeft) {
|
||||
JS('void', '#.defaultLeft = #', this._jsObject, defaultLeft);
|
||||
}
|
||||
|
||||
@@ -153,77 +153,77 @@ class AppWindowCreateWindowOptions extends ChromeObject {
|
||||
/// this now.)
|
||||
int get defaultTop => JS('int', '#.defaultTop', this._jsObject);
|
||||
|
||||
void set defaultTop(int defaultTop) {
|
||||
set defaultTop(int defaultTop) {
|
||||
JS('void', '#.defaultTop = #', this._jsObject, defaultTop);
|
||||
}
|
||||
|
||||
/// Width of the window. (Deprecated; use 'bounds'.)
|
||||
int get width => JS('int', '#.width', this._jsObject);
|
||||
|
||||
void set width(int width) {
|
||||
set width(int width) {
|
||||
JS('void', '#.width = #', this._jsObject, width);
|
||||
}
|
||||
|
||||
/// Height of the window. (Deprecated; use 'bounds'.)
|
||||
int get height => JS('int', '#.height', this._jsObject);
|
||||
|
||||
void set height(int height) {
|
||||
set height(int height) {
|
||||
JS('void', '#.height = #', this._jsObject, height);
|
||||
}
|
||||
|
||||
/// X coordinate of the window. (Deprecated; use 'bounds'.)
|
||||
int get left => JS('int', '#.left', this._jsObject);
|
||||
|
||||
void set left(int left) {
|
||||
set left(int left) {
|
||||
JS('void', '#.left = #', this._jsObject, left);
|
||||
}
|
||||
|
||||
/// Y coordinate of the window. (Deprecated; use 'bounds'.)
|
||||
int get top => JS('int', '#.top', this._jsObject);
|
||||
|
||||
void set top(int top) {
|
||||
set top(int top) {
|
||||
JS('void', '#.top = #', this._jsObject, top);
|
||||
}
|
||||
|
||||
/// Minimum width for the lifetime of the window.
|
||||
int get minWidth => JS('int', '#.minWidth', this._jsObject);
|
||||
|
||||
void set minWidth(int minWidth) {
|
||||
set minWidth(int minWidth) {
|
||||
JS('void', '#.minWidth = #', this._jsObject, minWidth);
|
||||
}
|
||||
|
||||
/// Minimum height for the lifetime of the window.
|
||||
int get minHeight => JS('int', '#.minHeight', this._jsObject);
|
||||
|
||||
void set minHeight(int minHeight) {
|
||||
set minHeight(int minHeight) {
|
||||
JS('void', '#.minHeight = #', this._jsObject, minHeight);
|
||||
}
|
||||
|
||||
/// Maximum width for the lifetime of the window.
|
||||
int get maxWidth => JS('int', '#.maxWidth', this._jsObject);
|
||||
|
||||
void set maxWidth(int maxWidth) {
|
||||
set maxWidth(int maxWidth) {
|
||||
JS('void', '#.maxWidth = #', this._jsObject, maxWidth);
|
||||
}
|
||||
|
||||
/// Maximum height for the lifetime of the window.
|
||||
int get maxHeight => JS('int', '#.maxHeight', this._jsObject);
|
||||
|
||||
void set maxHeight(int maxHeight) {
|
||||
set maxHeight(int maxHeight) {
|
||||
JS('void', '#.maxHeight = #', this._jsObject, maxHeight);
|
||||
}
|
||||
|
||||
/// Type of window to create.
|
||||
String get type => JS('String', '#.type', this._jsObject);
|
||||
|
||||
void set type(String type) {
|
||||
set type(String type) {
|
||||
JS('void', '#.type = #', this._jsObject, type);
|
||||
}
|
||||
|
||||
/// Frame type: 'none' or 'chrome' (defaults to 'chrome').
|
||||
String get frame => JS('String', '#.frame', this._jsObject);
|
||||
|
||||
void set frame(String frame) {
|
||||
set frame(String frame) {
|
||||
JS('void', '#.frame = #', this._jsObject, frame);
|
||||
}
|
||||
|
||||
@@ -232,7 +232,7 @@ class AppWindowCreateWindowOptions extends ChromeObject {
|
||||
/// before, the remembered bounds of the window will be used instead.
|
||||
AppWindowBounds get bounds => new AppWindowBounds._proxy(JS('', '#.bounds', this._jsObject));
|
||||
|
||||
void set bounds(AppWindowBounds bounds) {
|
||||
set bounds(AppWindowBounds bounds) {
|
||||
JS('void', '#.bounds = #', this._jsObject, convertArgument(bounds));
|
||||
}
|
||||
|
||||
@@ -240,7 +240,7 @@ class AppWindowCreateWindowOptions extends ChromeObject {
|
||||
/// experimental API permission.
|
||||
bool get transparentBackground => JS('bool', '#.transparentBackground', this._jsObject);
|
||||
|
||||
void set transparentBackground(bool transparentBackground) {
|
||||
set transparentBackground(bool transparentBackground) {
|
||||
JS('void', '#.transparentBackground = #', this._jsObject, transparentBackground);
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@ class AppWindowCreateWindowOptions extends ChromeObject {
|
||||
/// fullscreen, maximized, or minimized. Defaults to 'normal'.
|
||||
String get state => JS('String', '#.state', this._jsObject);
|
||||
|
||||
void set state(String state) {
|
||||
set state(String state) {
|
||||
JS('void', '#.state = #', this._jsObject, state);
|
||||
}
|
||||
|
||||
@@ -256,14 +256,14 @@ class AppWindowCreateWindowOptions extends ChromeObject {
|
||||
/// window to show it once it has been created. Defaults to false.
|
||||
bool get hidden => JS('bool', '#.hidden', this._jsObject);
|
||||
|
||||
void set hidden(bool hidden) {
|
||||
set hidden(bool hidden) {
|
||||
JS('void', '#.hidden = #', this._jsObject, hidden);
|
||||
}
|
||||
|
||||
/// If true, the window will be resizable by the user. Defaults to true.
|
||||
bool get resizable => JS('bool', '#.resizable', this._jsObject);
|
||||
|
||||
void set resizable(bool resizable) {
|
||||
set resizable(bool resizable) {
|
||||
JS('void', '#.resizable = #', this._jsObject, resizable);
|
||||
}
|
||||
|
||||
@@ -274,7 +274,7 @@ class AppWindowCreateWindowOptions extends ChromeObject {
|
||||
/// property to false.
|
||||
bool get singleton => JS('bool', '#.singleton', this._jsObject);
|
||||
|
||||
void set singleton(bool singleton) {
|
||||
set singleton(bool singleton) {
|
||||
JS('void', '#.singleton = #', this._jsObject, singleton);
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ class FilesystemAcceptOption extends ChromeObject {
|
||||
/// *.htm").
|
||||
String get description => JS('String', '#.description', this._jsObject);
|
||||
|
||||
void set description(String description) {
|
||||
set description(String description) {
|
||||
JS('void', '#.description = #', this._jsObject, description);
|
||||
}
|
||||
|
||||
@@ -45,14 +45,14 @@ class FilesystemAcceptOption extends ChromeObject {
|
||||
/// extensions must contain at least one valid element.
|
||||
List<String> get mimeTypes => JS('List<String>', '#.mimeTypes', this._jsObject);
|
||||
|
||||
void set mimeTypes(List<String> mimeTypes) {
|
||||
set mimeTypes(List<String> mimeTypes) {
|
||||
JS('void', '#.mimeTypes = #', this._jsObject, mimeTypes);
|
||||
}
|
||||
|
||||
/// Extensions to accept, e.g. "jpg", "gif", "crx".
|
||||
List<String> get extensions => JS('List<String>', '#.extensions', this._jsObject);
|
||||
|
||||
void set extensions(List<String> extensions) {
|
||||
set extensions(List<String> extensions) {
|
||||
JS('void', '#.extensions = #', this._jsObject, extensions);
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ class FilesystemChooseEntryOptions extends ChromeObject {
|
||||
/// Type of the prompt to show. The default is 'openFile'.
|
||||
String get type => JS('String', '#.type', this._jsObject);
|
||||
|
||||
void set type(String type) {
|
||||
set type(String type) {
|
||||
JS('void', '#.type = #', this._jsObject, type);
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ class FilesystemChooseEntryOptions extends ChromeObject {
|
||||
/// name to read or write. This is optional.
|
||||
String get suggestedName => JS('String', '#.suggestedName', this._jsObject);
|
||||
|
||||
void set suggestedName(String suggestedName) {
|
||||
set suggestedName(String suggestedName) {
|
||||
JS('void', '#.suggestedName = #', this._jsObject, suggestedName);
|
||||
}
|
||||
|
||||
@@ -108,7 +108,7 @@ class FilesystemChooseEntryOptions extends ChromeObject {
|
||||
return __proxy_accepts;
|
||||
}
|
||||
|
||||
void set accepts(List<FilesystemAcceptOption> accepts) {
|
||||
set accepts(List<FilesystemAcceptOption> accepts) {
|
||||
JS('void', '#.accepts = #', this._jsObject, convertArgument(accepts));
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ class FilesystemChooseEntryOptions extends ChromeObject {
|
||||
/// contains no valid entries, this will always be reset to true.
|
||||
bool get acceptsAllTypes => JS('bool', '#.acceptsAllTypes', this._jsObject);
|
||||
|
||||
void set acceptsAllTypes(bool acceptsAllTypes) {
|
||||
set acceptsAllTypes(bool acceptsAllTypes) {
|
||||
JS('void', '#.acceptsAllTypes = #', this._jsObject, acceptsAllTypes);
|
||||
}
|
||||
|
||||
|
||||
@@ -117,27 +117,27 @@ class Rule extends ChromeObject {
|
||||
*/
|
||||
String get id => JS('String', '#.id', this._jsObject);
|
||||
|
||||
void set id(String id) {
|
||||
set id(String id) {
|
||||
JS('void', '#.id = #', this._jsObject, id);
|
||||
}
|
||||
|
||||
// TODO(sashab): Wrap these generic Lists somehow.
|
||||
List get conditions => JS('List', '#.conditions', this._jsObject);
|
||||
|
||||
void set conditions(List conditions) {
|
||||
set conditions(List conditions) {
|
||||
JS('void', '#.conditions = #', this._jsObject, convertArgument(conditions));
|
||||
}
|
||||
|
||||
// TODO(sashab): Wrap these generic Lists somehow.
|
||||
List get actions => JS('List', '#.actions', this._jsObject);
|
||||
|
||||
void set actions(List actions) {
|
||||
set actions(List actions) {
|
||||
JS('void', '#.actions = #', this._jsObject, convertArgument(actions));
|
||||
}
|
||||
|
||||
int get priority => JS('int', '#.priority', this._jsObject);
|
||||
|
||||
void set priority(int priority) {
|
||||
set priority(int priority) {
|
||||
JS('void', '#.priority = #', this._jsObject, priority);
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ class _LocationCrossFrame implements LocationBase {
|
||||
// properly. Its fields and methods can only be accessed via JavaScript.
|
||||
var _location;
|
||||
|
||||
void set href(String val) => _setHref(_location, val);
|
||||
set href(String val) => _setHref(_location, val);
|
||||
static void _setHref(location, val) {
|
||||
JS('void', '#.href = #', location, val);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,13 @@ part of html;
|
||||
|
||||
@Experimental()
|
||||
class KeyEvent extends _WrappedEvent implements KeyboardEvent {
|
||||
/** Needed because KeyboardEvent is implements.
|
||||
* TODO(terry): Consider making blink_jsObject private (add underscore) for
|
||||
* all blink_jsObject. Then needed private wrap/unwrap_jso
|
||||
* functions that delegate to a public wrap/unwrap_jso.
|
||||
*/
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
/** The parent KeyboardEvent that this KeyEvent is wrapping and "fixing". */
|
||||
KeyboardEvent _parent;
|
||||
|
||||
|
||||
@@ -8,6 +8,13 @@ part of dart.html;
|
||||
* Helper class to implement custom events which wrap DOM events.
|
||||
*/
|
||||
class _WrappedEvent implements Event {
|
||||
/** Needed because KeyboardEvent is implements.
|
||||
* TODO(terry): Consider making blink_jsObject private (add underscore) for
|
||||
* all blink_jsObject. Then needed private wrap/unwrap_jso
|
||||
* functions that delegate to a public wrap/unwrap_jso.
|
||||
*/
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
final Event wrapped;
|
||||
|
||||
/** The CSS selector involved with event delegation. */
|
||||
|
||||
@@ -187,9 +187,7 @@ class _Utils {
|
||||
return element;
|
||||
}
|
||||
|
||||
// TODO(terry): Enable below for Dartium w/ interop and remove other static window().
|
||||
// static window() => wrap_jso(_blink.Blink_Utils.window()['window']);
|
||||
static window() => _blink.Blink_Utils.window();
|
||||
static window() => wrap_jso(js.context['window']);
|
||||
|
||||
static forwardingPrint(String message) => _blink.Blink_Utils.forwardingPrint(message);
|
||||
static void spawnDomHelper(Function f, int replyTo) =>
|
||||
@@ -806,15 +804,19 @@ class _Utils {
|
||||
static Element createElement(Document document, String tagName) =>
|
||||
wrap_jso(_blink.Blink_Utils.createElement(unwrap_jso(document), tagName));
|
||||
|
||||
static void initializeCustomElement(HtmlElement element) =>
|
||||
_blink.Blink_Utils.initializeCustomElement(unwrap_jso(element));
|
||||
|
||||
static Element changeElementWrapper(HtmlElement element, Type type) =>
|
||||
_blink.Blink_Utils.changeElementWrapper(unwrap_jso(element), type);
|
||||
}
|
||||
|
||||
class _DOMWindowCrossFrame extends NativeFieldWrapperClass2 implements
|
||||
WindowBase {
|
||||
/** Needed because KeyboardEvent is implements.
|
||||
* TODO(terry): Consider making blink_jsObject private (add underscore) for
|
||||
* all blink_jsObject. Then needed private wrap/unwrap_jso
|
||||
* functions that delegate to a public wrap/unwrap_jso.
|
||||
*/
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
_DOMWindowCrossFrame.internal();
|
||||
|
||||
// Fields.
|
||||
@@ -873,7 +875,7 @@ class _LocationCrossFrame extends NativeFieldWrapperClass2 implements LocationBa
|
||||
_LocationCrossFrame.internal();
|
||||
|
||||
// Fields.
|
||||
void set href(String h) => _blink.Blink_LocationCrossFrame.set_href(this, h);
|
||||
set href(String h) => _blink.Blink_LocationCrossFrame.set_href(this, h);
|
||||
|
||||
// Implementation support.
|
||||
String get typeName => "Location";
|
||||
@@ -1109,10 +1111,6 @@ get _pureIsolateScheduleImmediateClosure => ((void callback()) =>
|
||||
throw new UnimplementedError("scheduleMicrotask in background isolates "
|
||||
"are not supported in the browser"));
|
||||
|
||||
void _initializeCustomElement(Element e) {
|
||||
_Utils.initializeCustomElement(e);
|
||||
}
|
||||
|
||||
// Class for unsupported native browser 'DOM' objects.
|
||||
class _UnsupportedBrowserObject extends NativeFieldWrapperClass2 {
|
||||
}
|
||||
|
||||
@@ -250,7 +250,6 @@ Type _getSvgType(String key) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
$if JSINTEROP
|
||||
// FIXME: Can we make this private?
|
||||
final htmlBlinkFunctionMap = {
|
||||
@@ -303,42 +302,42 @@ getHtmlCreateFunction(String key) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Type _getHtmlFunction(String key) {
|
||||
Function _getHtmlFunction(String key) {
|
||||
if (htmlBlinkFunctionMap.containsKey(key)) {
|
||||
return htmlBlinkFunctionMap[key]();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Type _getWebGlFunction(String key) {
|
||||
Function _getWebGlFunction(String key) {
|
||||
if (web_glBlinkFunctionMap.containsKey(key)) {
|
||||
return web_glBlinkFunctionMap[key]();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Type _getIndexDbFunction(String key) {
|
||||
Function _getIndexDbFunction(String key) {
|
||||
if (indexed_dbBlinkFunctionMap.containsKey(key)) {
|
||||
return indexed_dbBlinkFunctionMap[key]();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Type _getWebAudioFunction(String key) {
|
||||
Function _getWebAudioFunction(String key) {
|
||||
if (web_audioBlinkFunctionMap.containsKey(key)) {
|
||||
return web_audioBlinkFunctionMap[key]();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Type _getWebSqlFunction(String key) {
|
||||
Function _getWebSqlFunction(String key) {
|
||||
if (web_sqlBlinkFunctionMap.containsKey(key)) {
|
||||
return web_sqlBlinkFunctionMap[key]();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
Type _getSvgFunction(String key) {
|
||||
Function _getSvgFunction(String key) {
|
||||
if (svgBlinkFunctionMap.containsKey(key)) {
|
||||
return svgBlinkFunctionMap[key]();
|
||||
}
|
||||
@@ -352,8 +351,17 @@ Type _getSvgFunction(String key) {
|
||||
********** **********
|
||||
******************************************************************************/
|
||||
|
||||
Rectangle make_dart_rectangle(r) => new Rectangle(r['top'], r['left'], r['width'], r['height']);
|
||||
Rectangle make_dart_rectangle(r) =>
|
||||
r == null ? null : new Rectangle(r['left'], r['top'], r['width'], r['height']);
|
||||
|
||||
// Need a default constructor for constructing classes with mixins that are
|
||||
// also extending NativeFieldWrapperClass2. Defining JsoNativeFieldWrapper
|
||||
// extending NativeFieldWrapperClass2 creates a default constructor.
|
||||
class JsoNativeFieldWrapper extends NativeFieldWrapperClass2 {}
|
||||
|
||||
// Flag to disable JS interop asserts. Setting to false will speed up the
|
||||
// wrap_jso calls.
|
||||
bool __interop_checks = true;
|
||||
|
||||
/** Expando for JsObject, used by every Dart class associated with a Javascript
|
||||
* class (e.g., DOM, WebAudio, etc.).
|
||||
@@ -362,47 +370,110 @@ Rectangle make_dart_rectangle(r) => new Rectangle(r['top'], r['left'], r['width'
|
||||
/**
|
||||
* Return the JsObject associated with a Dart class [dartClass_instance].
|
||||
*/
|
||||
js.JsObject unwrap_jso(dartClass_instance) {
|
||||
unwrap_jso(dartClass_instance) {
|
||||
try {
|
||||
if (dartClass_instance != null)
|
||||
return dartClass_instance is! Function ? dartClass_instance.blink_jsObject : dartClass_instance;
|
||||
else
|
||||
return null;
|
||||
// return dartClass_instance.dartium_expando[dartClass_instance.expandoJsObject];
|
||||
if (dartClass_instance != null)
|
||||
return dartClass_instance is NativeFieldWrapperClass2 ?
|
||||
dartClass_instance.blink_jsObject : dartClass_instance;
|
||||
else
|
||||
return null;
|
||||
} catch(NoSuchMethodException) {
|
||||
// No blink_jsObject then return the dartClass_instance is probably an
|
||||
// array that was already converted to a Dart class e.g., Uint8ClampedList.
|
||||
return dartClass_instance;
|
||||
// No blink_jsObject then return the dartClass_instance is probably an
|
||||
// array that was already converted to a Dart class e.g., Uint8ClampedList.
|
||||
return dartClass_instance;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create Dart class that maps to the JS Type, add the JsObject as an expando
|
||||
* on the Dart class and return the created Dart class.
|
||||
* on the Dart class and return the created Dart class.
|
||||
*/
|
||||
wrap_jso(jsObject) {
|
||||
try {
|
||||
// debug_or_assert("jsObject != null", jsObject != null);
|
||||
if (jsObject is! js.JsObject) {
|
||||
try {
|
||||
if (jsObject is! js.JsObject) {
|
||||
// JS Interop converted the object to a Dart class e.g., Uint8ClampedList.
|
||||
return jsObject;
|
||||
}
|
||||
var constructor = jsObject['constructor'];
|
||||
if (__interop_checks) {
|
||||
if (jsObject is js.JsArray) {
|
||||
return jsObject;
|
||||
}
|
||||
|
||||
debug_or_assert("constructor != null", constructor != null);
|
||||
}
|
||||
if (constructor == js.context['Object']) {
|
||||
return convertNativeObjectToDartMap(jsObject);
|
||||
}
|
||||
if (constructor == js.context['Promise']) {
|
||||
return convertNativePromiseToDartFuture(jsObject);
|
||||
}
|
||||
var jsTypeName = constructor['name'];
|
||||
if (__interop_checks) {
|
||||
debug_or_assert("constructor != null && jsTypeName.length > 0", constructor != null && jsTypeName.length > 0);
|
||||
}
|
||||
|
||||
var dartClass_instance;
|
||||
if (jsObject.hasProperty('dart_class')) {
|
||||
// Got a dart_class (it's a custom element) use it it's already set up.
|
||||
dartClass_instance = jsObject['dart_class'];
|
||||
} else {
|
||||
var func = getHtmlCreateFunction(jsTypeName);
|
||||
if (func != null) {
|
||||
dartClass_instance = func();
|
||||
dartClass_instance.blink_jsObject = jsObject;
|
||||
}
|
||||
}
|
||||
return dartClass_instance;
|
||||
} catch(e, stacktrace){
|
||||
if (__interop_checks) {
|
||||
if (e is DebugAssertException)
|
||||
window.console.log("${e.message}\n ${stacktrace}");
|
||||
else
|
||||
window.console.log("${stacktrace}");
|
||||
}
|
||||
}
|
||||
var constructor = jsObject['constructor'];
|
||||
debug_or_assert("constructor != null", constructor != null);
|
||||
var jsTypeName = constructor['name'];
|
||||
debug_or_assert("constructor != null && jsTypeName.length > 0", constructor != null && jsTypeName.length > 0);
|
||||
var func = getHtmlCreateFunction(jsTypeName);
|
||||
debug_or_assert("func != null name = ${jsTypeName}", func != null);
|
||||
var dartClass_instance = func();
|
||||
dartClass_instance.blink_jsObject = jsObject;
|
||||
// dartClass_instance.dartium_expando[dartClass_instance.expandoJsObject] = jsObject;
|
||||
return dartClass_instance;
|
||||
} catch(e, stacktrace){
|
||||
if (e is DebugAssertException)
|
||||
window.console.log("${e.message}\n ${stacktrace}");
|
||||
else
|
||||
window.console.log("${stacktrace}");
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create Dart class that maps to the JS Type that is the JS type being
|
||||
* extended using JS interop createCallback (we need the base type of the
|
||||
* custom element) not the Dart created constructor.
|
||||
*/
|
||||
wrap_jso_custom_element(jsObject) {
|
||||
try {
|
||||
if (jsObject is! js.JsObject) {
|
||||
// JS Interop converted the object to a Dart class e.g., Uint8ClampedList.
|
||||
return jsObject;
|
||||
}
|
||||
|
||||
// Find out what object we're extending.
|
||||
var objectName = jsObject.toString();
|
||||
// Expect to see something like '[object HTMLElement]'.
|
||||
if (!objectName.startsWith('[object ')) {
|
||||
return jsObject;
|
||||
}
|
||||
|
||||
var extendsClass = objectName.substring(8, objectName.length - 1);
|
||||
var func = getHtmlCreateFunction(extendsClass);
|
||||
if (__interop_checks)
|
||||
debug_or_assert("func != null name = ${extendsClass}", func != null);
|
||||
var dartClass_instance = func();
|
||||
dartClass_instance.blink_jsObject = jsObject;
|
||||
return dartClass_instance;
|
||||
} catch(e, stacktrace){
|
||||
if (__interop_checks) {
|
||||
if (e is DebugAssertException)
|
||||
window.console.log("${e.message}\n ${stacktrace}");
|
||||
else
|
||||
window.console.log("${stacktrace}");
|
||||
}
|
||||
|
||||
// Problem?
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
class DebugAssertException implements Exception {
|
||||
@@ -416,20 +487,73 @@ debug_or_assert(message, expression) {
|
||||
}
|
||||
}
|
||||
|
||||
// Wrap JsObject node list to return a List<node>.
|
||||
List<Node> wrap_jso_list(jso_nodes) {
|
||||
List<Node> nodes = new List<Node>();
|
||||
var collectionLen = jso_nodes['length'];
|
||||
for (var i = 0; i < collectionLen; i++) {
|
||||
nodes.add(wrap_jso(jso_nodes.callMethod('item', [i])));
|
||||
}
|
||||
var frozen_nodes = new _FrozenElementList._wrap(nodes);
|
||||
frozen_nodes.dartClass_instance = jso_nodes;
|
||||
return frozen_nodes;
|
||||
// TODO(terry): Manage JS interop JsFunctions for each listener used for add/
|
||||
// removeEventListener. These JsFunctions will leak look at
|
||||
// fixing with weak-refs in C++. The key are the hashcodes of the
|
||||
// user's this (this is needed for futures) and listener function.
|
||||
Map<int, Map<int, js.JsFunction>> _knownListeners = {};
|
||||
|
||||
js.JsFunction wrap_event_listener(theObject, Function listener) {
|
||||
var thisHashCode = theObject.hashCode;
|
||||
var listenerHashCode = identityHashCode(listener);
|
||||
|
||||
_knownListeners.putIfAbsent(thisHashCode, () => new Map<int, js.JsFunction>());
|
||||
_knownListeners[thisHashCode].putIfAbsent(listenerHashCode, () =>
|
||||
new js.JsFunction.withThis((theObject, event) => listener(wrap_jso(event))));
|
||||
|
||||
return _knownListeners[thisHashCode][listenerHashCode];
|
||||
}
|
||||
|
||||
Map<String, dynamic> convertNativeObjectToDartMap(js.JsObject jsObject) {
|
||||
var result = new Map();
|
||||
var keys = js.context['Object'].callMethod('keys', [jsObject]);
|
||||
for (var key in keys) {
|
||||
result[key] = wrap_jso(jsObject[key]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// Converts a flat Dart map into a JavaScript object with properties this is
|
||||
// is the Dartium only version it uses dart:js.
|
||||
convertDartToNative_Dictionary(Map dict) {
|
||||
if (dict == null) return null;
|
||||
var jsObject = new js.JsObject(js.context['Object']);
|
||||
dict.forEach((String key, value) {
|
||||
if (value is List) {
|
||||
var jsArray = new js.JsArray();
|
||||
value.forEach((elem) {
|
||||
jsArray.add(elem is Map ? convertDartToNative_Dictionary(elem): elem);
|
||||
});
|
||||
jsObject[key] = jsArray;
|
||||
} else {
|
||||
jsObject[key] = value;
|
||||
}
|
||||
});
|
||||
return jsObject;
|
||||
}
|
||||
|
||||
// Converts a Dart list into a JsArray. For the Dartium version only.
|
||||
convertDartToNative_List(List input) => new js.JsArray()..addAll(input);
|
||||
|
||||
// Conversion function place holder (currently not used in dart2js or dartium).
|
||||
List convertDartToNative_StringArray(List<String> input) => input;
|
||||
|
||||
Future convertNativePromiseToDartFuture(js.JsObject promise) {
|
||||
var completer = new Completer();
|
||||
var newPromise = promise
|
||||
.callMethod("then", [(result) => completer.complete(result)])
|
||||
.callMethod("catch", [(result) => completer.completeError(result)]);
|
||||
return completer.future;
|
||||
}
|
||||
|
||||
$else
|
||||
class JsoNativeFieldWrapper extends NativeFieldWrapperClass2 {}
|
||||
|
||||
unwrap_jso(dartClass_instance) => dartClass_instance;
|
||||
wrap_jso(jsObject) => jsObject;
|
||||
wrap_jso_list(jso_nodes) => jso_nodes;
|
||||
make_dart_rectangle(r) => r;
|
||||
convertDartToNative_Dictionary(Map dict) => dict;
|
||||
List convertDartToNative_StringArray(List<String> input) => input;
|
||||
convertDartToNative_List(List input) => input;
|
||||
|
||||
$endif
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
* and where both the keys and the values are strings.
|
||||
*
|
||||
* * [dart:web_sql]—a database that can be queried with SQL.
|
||||
*
|
||||
*
|
||||
* For a tutorial about using the indexed_db library with Dart,
|
||||
* check out
|
||||
* [Use IndexedDB](http://www.dartlang.org/docs/tutorials/indexeddb/).
|
||||
@@ -84,6 +84,7 @@ import 'dart:html';
|
||||
import 'dart:html_common';
|
||||
import 'dart:nativewrappers';
|
||||
import 'dart:_blink' as _blink;
|
||||
import 'dart:js' as js;
|
||||
|
||||
$!GENERATED_DART_FILES
|
||||
|
||||
|
||||
@@ -18,9 +18,15 @@ import 'dart:html';
|
||||
import 'dart:html_common';
|
||||
import 'dart:nativewrappers';
|
||||
import 'dart:_blink' as _blink;
|
||||
import 'dart:js' as js;
|
||||
|
||||
part '$AUXILIARY_DIR/shared_SVGFactoryProviders.dart';
|
||||
|
||||
// Need a default constructor for constructing classes with mixins that are
|
||||
// also extending NativeFieldWrapperClass2. Defining JsoNativeFieldWrapper
|
||||
// extending NativeFieldWrapperClass2 creates a default constructor.
|
||||
class JsoNativeFieldWrapper extends NativeFieldWrapperClass2 {}
|
||||
|
||||
$!GENERATED_DART_FILES
|
||||
// FIXME: Can we make this private?
|
||||
final svgBlinkMap = {
|
||||
|
||||
@@ -14,6 +14,7 @@ import 'dart:html_common';
|
||||
import 'dart:nativewrappers';
|
||||
import 'dart:typed_data';
|
||||
import 'dart:_blink' as _blink;
|
||||
import 'dart:js' as js;
|
||||
|
||||
$!GENERATED_DART_FILES
|
||||
// FIXME: Can we make this private?
|
||||
|
||||
@@ -14,6 +14,7 @@ import 'dart:html_common';
|
||||
import 'dart:nativewrappers';
|
||||
import 'dart:typed_data';
|
||||
import 'dart:_blink' as _blink;
|
||||
import 'dart:js' as js;
|
||||
|
||||
part '$AUXILIARY_DIR/WebGLConstants.dart';
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
// DO NOT EDIT - unless you are editing documentation as per:
|
||||
// https://code.google.com/p/dart/wiki/ContributingHTMLDocumentation
|
||||
// Auto-generated dart:audio library.
|
||||
@@ -21,6 +22,12 @@ import 'dart:html';
|
||||
import 'dart:html_common';
|
||||
import 'dart:nativewrappers';
|
||||
import 'dart:_blink' as _blink;
|
||||
import 'dart:js' as js;
|
||||
|
||||
// Need a default constructor for constructing classes with mixins that are
|
||||
// also extending NativeFieldWrapperClass2. Defining JsoNativeFieldWrapper
|
||||
// extending NativeFieldWrapperClass2 creates a default constructor.
|
||||
class JsoNativeFieldWrapper extends NativeFieldWrapperClass2 {}
|
||||
|
||||
$!GENERATED_DART_FILES
|
||||
// FIXME: Can we make this private?
|
||||
|
||||
@@ -25,5 +25,22 @@ $if DART2JS
|
||||
|
||||
static _create_bag() => JS('var', '{}');
|
||||
static _bag_set(bag, key, value) { JS('void', '#[#] = #', bag, key, value); }
|
||||
$else
|
||||
$if JSINTEROP
|
||||
factory Blob(List blobParts, [String type, String endings]) {
|
||||
// TODO: any coercions on the elements of blobParts, e.g. coerce a typed
|
||||
// array to ArrayBuffer if it is a total view.
|
||||
|
||||
var parts = convertDartToNative_List(blobParts.map(unwrap_jso).toList());
|
||||
if (type == null && endings == null) {
|
||||
return wrap_jso(_blink.BlinkBlob.instance.constructorCallback_1_(parts));
|
||||
}
|
||||
var bag = {};
|
||||
if (type != null) bag['type'] = type;
|
||||
if (endings != null) bag['endings'] = endings;
|
||||
return wrap_jso(_blink.BlinkBlob.instance.constructorCallback_2_(parts,
|
||||
convertDartToNative_Dictionary(bag)));
|
||||
}
|
||||
$endif
|
||||
$endif
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -280,7 +280,7 @@ $if DART2JS
|
||||
@DomName('CanvasRenderingContext2D.lineDashOffset')
|
||||
// TODO(14316): Firefox has this functionality with mozDashOffset, but it
|
||||
// needs to be polyfilled.
|
||||
void set lineDashOffset(num value) {
|
||||
set lineDashOffset(num value) {
|
||||
JS('void',
|
||||
'typeof #.lineDashOffset != "undefined" ? #.lineDashOffset = # : '
|
||||
'#.webkitLineDashOffset = #', this, this, value, this, value);
|
||||
|
||||
@@ -40,7 +40,51 @@ $if DART2JS
|
||||
return errorName;
|
||||
}
|
||||
$endif
|
||||
$if JSINTEROP
|
||||
String _name;
|
||||
String _message;
|
||||
|
||||
// To suppress missing implicit constructor warnings.
|
||||
factory DomException._() { throw new UnsupportedError("Not supported"); }
|
||||
|
||||
static DomException internalCreateDomException() {
|
||||
return new DomException._internalWrap();
|
||||
}
|
||||
|
||||
js.JsObject blink_jsObject;
|
||||
|
||||
factory DomException._internalWrap() {
|
||||
return new DomException.internal_();
|
||||
}
|
||||
|
||||
DomException.internal_() { }
|
||||
|
||||
DomException.jsInterop(String m) {
|
||||
var name_index = m.indexOf(': ');
|
||||
if (name_index < 0) {
|
||||
_name = "";
|
||||
_message = m;
|
||||
} else {
|
||||
_name = m.substring(0, name_index);
|
||||
_message = m.substring(name_index + 1).trim();
|
||||
}
|
||||
}
|
||||
|
||||
@DomName('DOMException.message')
|
||||
@DocsEditable()
|
||||
String get message => _message;
|
||||
|
||||
@DomName('DOMException.name')
|
||||
@DocsEditable()
|
||||
String get name => _name;
|
||||
|
||||
@DomName('DOMException.toString')
|
||||
@DocsEditable()
|
||||
String toString() => "${_name}: $_message";
|
||||
|
||||
$else
|
||||
$!MEMBERS
|
||||
$endif
|
||||
$if DART2JS
|
||||
@DomName('DOMException.toString')
|
||||
@DocsEditable()
|
||||
|
||||
@@ -26,11 +26,7 @@ $!MEMBERS
|
||||
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
|
||||
*/
|
||||
ElementList<Element> querySelectorAll(String selectors) {
|
||||
$if JSINTEROP
|
||||
return _querySelectorAll(selectors);
|
||||
$else
|
||||
return new _FrozenElementList._wrap(_querySelectorAll(selectors));
|
||||
$endif
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -70,16 +66,49 @@ $endif
|
||||
$if DART2JS
|
||||
return _createElement(tagName, typeExtension);
|
||||
$else
|
||||
$if JSINTEROP
|
||||
return _createElement(tagName, typeExtension);
|
||||
$else
|
||||
if (typeExtension != null) {
|
||||
return _createElement(tagName, typeExtension);
|
||||
} else {
|
||||
// Fast-path for Dartium when typeExtension is not needed.
|
||||
return _Utils.createElement(this, tagName);
|
||||
}
|
||||
$endif
|
||||
var newElement = (typeExtension == null) ?
|
||||
_blink.BlinkDocument.instance.createElement_Callback_1_(unwrap_jso(this), tagName) :
|
||||
_blink.BlinkDocument.instance.createElement_Callback_2_(unwrap_jso(this), tagName, typeExtension);
|
||||
|
||||
var wrapped;
|
||||
|
||||
if (newElement['dart_class'] != null) {
|
||||
wrapped = newElement['dart_class']; // Here's our Dart class.
|
||||
wrapped.blink_jsObject = newElement;
|
||||
} else {
|
||||
wrapped = wrap_jso(newElement);
|
||||
if (wrapped == null) {
|
||||
wrapped = wrap_jso_custom_element(newElement);
|
||||
}
|
||||
}
|
||||
|
||||
return wrapped;
|
||||
$endif
|
||||
}
|
||||
|
||||
@DomName('Document.createElementNS')
|
||||
@DocsEditable()
|
||||
Element createElementNS(String namespaceURI, String qualifiedName, [String typeExtension]) {
|
||||
$if DART2JS
|
||||
return _createElementNS(tagName, qualifiedName, typeExtension);
|
||||
$else
|
||||
var newElement = (typeExtension == null) ?
|
||||
_blink.BlinkDocument.instance.createElementNS_Callback_2_(unwrap_jso(this), namespaceURI, qualifiedName) :
|
||||
_blink.BlinkDocument.instance.createElementNS_Callback_3_(unwrap_jso(this), namespaceURI, qualifiedName, typeExtension);
|
||||
|
||||
var wrapped;
|
||||
|
||||
if (newElement['dart_class'] != null) {
|
||||
wrapped = newElement['dart_class']; // Here's our Dart class.
|
||||
wrapped.blink_jsObject = newElement;
|
||||
} else {
|
||||
wrapped = wrap_jso(newElement);
|
||||
if (wrapped == null) {
|
||||
wrapped = wrap_jso_custom_element(newElement);
|
||||
}
|
||||
}
|
||||
|
||||
return wrapped;
|
||||
$endif
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ $endif
|
||||
return _docChildren;
|
||||
}
|
||||
|
||||
void set children(List<Element> value) {
|
||||
set children(List<Element> value) {
|
||||
// Copy list first since we don't want liveness during iteration.
|
||||
List copy = new List.from(value);
|
||||
var children = this.children;
|
||||
@@ -58,12 +58,7 @@ $endif
|
||||
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
|
||||
*/
|
||||
ElementList<Element> querySelectorAll(String selectors) =>
|
||||
$if JSINTEROP
|
||||
_querySelectorAll(selectors);
|
||||
$else
|
||||
new _FrozenElementList._wrap(_querySelectorAll(selectors));
|
||||
$endif
|
||||
|
||||
|
||||
String get innerHtml {
|
||||
final e = new Element.tag("div");
|
||||
@@ -71,7 +66,7 @@ $endif
|
||||
return e.innerHtml;
|
||||
}
|
||||
|
||||
void set innerHtml(String value) {
|
||||
set innerHtml(String value) {
|
||||
this.setInnerHtml(value);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
// 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.
|
||||
|
||||
part of $LIBRARYNAME;
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
$!MEMBERS
|
||||
$if DARTIUM
|
||||
// Override this methods for Dartium _DocumentType can't be abstract.
|
||||
Element get nextElementSibling => wrap_jso(_blink.BlinkDocumentType.instance.nextElementSibling_Getter_(unwrap_jso(this)));
|
||||
Element get previousElementSibling => wrap_jso(_blink.BlinkDocumentType.instance.previousElementSibling_Getter_(unwrap_jso(this)));
|
||||
$endif
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ class _ChildrenElementList extends ListBase<Element>
|
||||
_element._replaceChild(value, _childElements[index]);
|
||||
}
|
||||
|
||||
void set length(int newLength) {
|
||||
set length(int newLength) {
|
||||
// TODO(jacobr): remove children when length is reduced.
|
||||
throw new UnsupportedError('Cannot resize element lists');
|
||||
}
|
||||
@@ -97,7 +97,12 @@ class _ChildrenElementList extends ListBase<Element>
|
||||
bool remove(Object object) {
|
||||
if (object is Element) {
|
||||
Element element = object;
|
||||
$if JSINTEROP
|
||||
// We aren't preserving identity of nodes in JSINTEROP mode
|
||||
if (element.parentNode == _element) {
|
||||
$else
|
||||
if (identical(element.parentNode, _element)) {
|
||||
$endif
|
||||
_element._removeChild(element);
|
||||
return true;
|
||||
}
|
||||
@@ -281,7 +286,7 @@ $endif
|
||||
throw new UnsupportedError('Cannot modify list');
|
||||
}
|
||||
|
||||
void set length(int newLength) {
|
||||
set length(int newLength) {
|
||||
throw new UnsupportedError('Cannot modify list');
|
||||
}
|
||||
|
||||
@@ -304,7 +309,7 @@ $endif
|
||||
CssStyleDeclarationBase get style =>
|
||||
new _CssStyleDeclarationSet(this);
|
||||
|
||||
void set classes(Iterable<String> value) {
|
||||
set classes(Iterable<String> value) {
|
||||
// TODO(sra): This might be faster for Sets:
|
||||
//
|
||||
// new _MultiElementCssClassSet(this).writeClasses(value)
|
||||
@@ -328,7 +333,7 @@ $!ELEMENT_STREAM_GETTERS
|
||||
}
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(NATIVESPEC)abstract class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
$(ANNOTATIONS)$(NATIVESPEC)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
|
||||
/**
|
||||
* Creates an HTML element from a valid fragment of HTML.
|
||||
@@ -375,11 +380,7 @@ $(ANNOTATIONS)$(NATIVESPEC)abstract class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
* }
|
||||
* document.registerElement('x-custom', CustomElement);
|
||||
*/
|
||||
Element.created() : super._created() {
|
||||
// Validate that this is a custom element & perform any additional
|
||||
// initialization.
|
||||
_initializeCustomElement(this);
|
||||
}
|
||||
Element.created() : super._created();
|
||||
|
||||
/**
|
||||
* Creates the HTML element specified by the tag name.
|
||||
@@ -560,7 +561,7 @@ $(ANNOTATIONS)$(NATIVESPEC)abstract class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
*/
|
||||
Map<String, String> get attributes => new _ElementAttributeMap(this);
|
||||
|
||||
void set attributes(Map<String, String> value) {
|
||||
set attributes(Map<String, String> value) {
|
||||
Map<String, String> attributes = this.attributes;
|
||||
attributes.clear();
|
||||
for (String key in value.keys) {
|
||||
@@ -580,17 +581,9 @@ $(ANNOTATIONS)$(NATIVESPEC)abstract class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
* element.style.background = 'red'; // Turns every child of body red.
|
||||
* }
|
||||
*/
|
||||
$if DART2JS
|
||||
List<Element> get children => new _ChildrenElementList._wrap(this);
|
||||
$else
|
||||
$if JSINTEROP
|
||||
List<Element> get children => new FilteredElementList(this);
|
||||
$else
|
||||
List<Element> get children => new _ChildrenElementList._wrap(this);
|
||||
$endif
|
||||
$endif
|
||||
|
||||
void set children(List<Element> value) {
|
||||
set children(List<Element> value) {
|
||||
// Copy list first since we don't want liveness during iteration.
|
||||
List copy = new List.from(value);
|
||||
var children = this.children;
|
||||
@@ -611,11 +604,7 @@ $endif
|
||||
*/
|
||||
@DomName('Element.querySelectorAll')
|
||||
ElementList<Element> querySelectorAll(String selectors) =>
|
||||
$if JSINTEROP
|
||||
_querySelectorAll(selectors);
|
||||
$else
|
||||
new _FrozenElementList._wrap(_querySelectorAll(selectors));
|
||||
$endif
|
||||
|
||||
/**
|
||||
* Alias for [querySelector]. Note this function is deprecated because its
|
||||
@@ -648,7 +637,7 @@ $endif
|
||||
*/
|
||||
CssClassSet get classes => new _ElementCssClassSet(this);
|
||||
|
||||
void set classes(Iterable<String> value) {
|
||||
set classes(Iterable<String> value) {
|
||||
// TODO(sra): Do this without reading the classes in clear() and addAll(),
|
||||
// or writing the classes in clear().
|
||||
CssClassSet classSet = classes;
|
||||
@@ -682,7 +671,7 @@ $endif
|
||||
Map<String, String> get dataset =>
|
||||
new _DataAttributeMap(attributes);
|
||||
|
||||
void set dataset(Map<String, String> value) {
|
||||
set dataset(Map<String, String> value) {
|
||||
final data = this.dataset;
|
||||
data.clear();
|
||||
for (String key in value.keys) {
|
||||
@@ -801,7 +790,6 @@ $endif
|
||||
@deprecated
|
||||
void leftView() {}
|
||||
|
||||
$if DART2JS
|
||||
/**
|
||||
* Creates a new AnimationEffect object whose target element is the object
|
||||
* on which the method is called, and calls the play() method of the
|
||||
@@ -816,18 +804,15 @@ $if DART2JS
|
||||
* var animation = elem.animate([
|
||||
* {"transform": "translate(100px, -100%)"},
|
||||
* {"transform" : "translate(400px, 500px)"}
|
||||
* ], 1500);
|
||||
* ], 1500);
|
||||
*
|
||||
* The [frames] parameter is an Iterable<Map>, where the
|
||||
* map entries specify CSS animation effects. The
|
||||
* [timing] paramter can be a double, representing the number of milliseconds
|
||||
* for the transition, or a Map with fields corresponding to those
|
||||
* of the [Timing] object.
|
||||
*
|
||||
* This is not yet supported in Dartium.
|
||||
**/
|
||||
// TODO(alanknight): Correct above comment once it works in Dartium.
|
||||
@Experimental
|
||||
@Experimental()
|
||||
@SupportedBrowser(SupportedBrowser.CHROME, '36')
|
||||
AnimationPlayer animate(Iterable<Map<String, dynamic>> frames, [timing]) {
|
||||
if (frames is! Iterable || !(frames.every((x) => x is Map))) {
|
||||
@@ -836,7 +821,8 @@ $if DART2JS
|
||||
}
|
||||
var convertedFrames = frames;
|
||||
if (convertedFrames is Iterable) {
|
||||
convertedFrames = frames.map(convertDartToNative_Dictionary).toList();
|
||||
convertedFrames = convertDartToNative_List(
|
||||
frames.map(convertDartToNative_Dictionary).toList());
|
||||
}
|
||||
var convertedTiming = timing;
|
||||
if (convertedTiming is Map) {
|
||||
@@ -847,6 +833,7 @@ $if DART2JS
|
||||
: _animate(convertedFrames, convertedTiming);
|
||||
}
|
||||
|
||||
$if DART2JS
|
||||
@DomName('Element.animate')
|
||||
@JSName('animate')
|
||||
@Experimental() // untriaged
|
||||
@@ -880,7 +867,7 @@ $endif
|
||||
// members of the component are used. The actual type is a subtype of Element.
|
||||
get xtag => _xtag != null ? _xtag : this;
|
||||
|
||||
void set xtag(Element value) {
|
||||
set xtag(Element value) {
|
||||
_xtag = value;
|
||||
}
|
||||
|
||||
@@ -1006,7 +993,7 @@ $if DART2JS
|
||||
|
||||
@JSName('insertAdjacentText')
|
||||
void _insertAdjacentText(String where, String text) native;
|
||||
|
||||
|
||||
$else
|
||||
$endif
|
||||
|
||||
@@ -1269,8 +1256,13 @@ $endif
|
||||
// offsetParent, "tops out" at BODY. But people could conceivably pass in
|
||||
// the document.documentElement and I want it to return an absolute offset,
|
||||
// so we have the special case checking for HTML.
|
||||
bool foundAsParent = identical(current, parent) || parent.tagName == 'HTML';
|
||||
if (current == null || identical(current, parent)) {
|
||||
$if JSINTEROP
|
||||
bool sameAsParent = current == parent;
|
||||
$else
|
||||
bool sameAsParent = identical(current, parent);
|
||||
$endif
|
||||
bool foundAsParent = sameAsParent || parent.tagName == 'HTML';
|
||||
if (current == null || sameAsParent) {
|
||||
if (foundAsParent) return new Point(0, 0);
|
||||
throw new ArgumentError("Specified element is not a transitive offset "
|
||||
"parent of this element.");
|
||||
@@ -1328,11 +1320,11 @@ $endif
|
||||
if (_parseDocument == null) {
|
||||
_parseDocument = document.implementation.createHtmlDocument('');
|
||||
_parseRange = _parseDocument.createRange();
|
||||
|
||||
|
||||
// Workaround for Safari bug. Was also previously Chrome bug 229142
|
||||
// - URIs are not resolved in new doc.
|
||||
var base = _parseDocument.createElement('base');
|
||||
base.href = document.baseUri;
|
||||
// - URIs are not resolved in new doc.
|
||||
var base = _parseDocument.createElement('base');
|
||||
base.href = document.baseUri;
|
||||
_parseDocument.head.append(base);
|
||||
}
|
||||
var contextElement;
|
||||
@@ -1390,7 +1382,7 @@ $endif
|
||||
* This uses the default sanitization behavior to sanitize the HTML fragment,
|
||||
* use [setInnerHtml] to override the default behavior.
|
||||
*/
|
||||
void set innerHtml(String html) {
|
||||
set innerHtml(String html) {
|
||||
this.setInnerHtml(html);
|
||||
}
|
||||
|
||||
@@ -1432,7 +1424,7 @@ $endif
|
||||
* used when an explicit accessor is not available.
|
||||
*/
|
||||
ElementEvents get on => new ElementEvents(this);
|
||||
|
||||
|
||||
/**
|
||||
* Verify if any of the attributes that we use in the sanitizer look unexpected,
|
||||
* possibly indicating DOM clobbering attacks.
|
||||
@@ -1461,10 +1453,44 @@ $if DART2JS
|
||||
})(#)''', element);
|
||||
}
|
||||
$else
|
||||
// Dartium isn't affected by these attacks, because it goes directly to the C++ API.
|
||||
static bool _hasCorruptedAttributes(Element element) => false;
|
||||
|
||||
static var _namedNodeMap = js.context["NamedNodeMap"];
|
||||
static var _htmlCollection = js.context["HTMLCollection"];
|
||||
static var _nodeList = js.context["NodeList"];
|
||||
|
||||
static bool _hasCorruptedAttributes(Element element) {
|
||||
var attributes = unwrap_jso(element)["attributes"];
|
||||
if (!attributes.instanceof(_namedNodeMap)) {
|
||||
return true;
|
||||
}
|
||||
var childNodes = unwrap_jso(element.childNodes);
|
||||
var length = childNodes["length"];
|
||||
var lastChild = unwrap_jso(element.lastChild);
|
||||
if (null != lastChild &&
|
||||
lastChild != childNodes[length - 1]) {
|
||||
return true;
|
||||
}
|
||||
var children = unwrap_jso(element._children);
|
||||
if (null != children) { // On Safari, children can apparently be null.
|
||||
if (!children.instanceof(_htmlCollection) ||
|
||||
children.instanceof(_nodeList)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
$endif
|
||||
|
||||
String get _safeTagName {
|
||||
String result = 'element tag unavailable';
|
||||
try {
|
||||
if (tagName is String) {
|
||||
result = tagName;
|
||||
}
|
||||
} catch (e) {}
|
||||
return result;
|
||||
}
|
||||
|
||||
$if DART2JS
|
||||
@DomName('Element.offsetHeight')
|
||||
@DocsEditable()
|
||||
@@ -1508,7 +1534,7 @@ $if DART2JS
|
||||
|
||||
@DomName('Element.scrollLeft')
|
||||
@DocsEditable()
|
||||
void set scrollLeft(int value) {
|
||||
set scrollLeft(int value) {
|
||||
JS("void", "#.scrollLeft = #", this, value.round());
|
||||
}
|
||||
|
||||
@@ -1518,7 +1544,7 @@ $if DART2JS
|
||||
|
||||
@DomName('Element.scrollTop')
|
||||
@DocsEditable()
|
||||
void set scrollTop(int value) {
|
||||
set scrollTop(int value) {
|
||||
JS("void", "#.scrollTop = #", this, value.round());
|
||||
}
|
||||
|
||||
@@ -1528,6 +1554,10 @@ $if DART2JS
|
||||
|
||||
$else
|
||||
$if JSINTEROP
|
||||
// Need to explicitly delegate because Element is no longer abstract for Dartium.
|
||||
bool get isContentEditable => _blink.BlinkHTMLElement.instance.isContentEditable_Getter_(unwrap_jso(this));
|
||||
void click() => _blink.BlinkHTMLElement.instance.click_Callback_0_(unwrap_jso(this));
|
||||
|
||||
@DomName('Element.offsetHeight')
|
||||
@DocsEditable()
|
||||
int get offsetHeight => _blink.BlinkElement.instance.offsetHeight_Getter_(unwrap_jso(this)).round();
|
||||
@@ -1570,7 +1600,7 @@ $else
|
||||
|
||||
@DomName('Element.scrollLeft')
|
||||
@DocsEditable()
|
||||
void set scrollLeft(int value) => _blink.BlinkElement.instance.scrollLeft_Setter_(unwrap_jso(this), value.round());
|
||||
set scrollLeft(int value) => _blink.BlinkElement.instance.scrollLeft_Setter_(unwrap_jso(this), value.round());
|
||||
|
||||
@DomName('Element.scrollTop')
|
||||
@DocsEditable()
|
||||
@@ -1578,7 +1608,7 @@ $else
|
||||
|
||||
@DomName('Element.scrollTop')
|
||||
@DocsEditable()
|
||||
void set scrollTop(int value) => _blink.BlinkElement.instance.scrollTop_Setter_(unwrap_jso(this), value.round());
|
||||
set scrollTop(int value) => _blink.BlinkElement.instance.scrollTop_Setter_(unwrap_jso(this), value.round());
|
||||
|
||||
@DomName('Element.scrollWidth')
|
||||
@DocsEditable()
|
||||
@@ -1626,7 +1656,7 @@ $else
|
||||
|
||||
@DomName('Element.scrollLeft')
|
||||
@DocsEditable()
|
||||
void set scrollLeft(int value) => _blink.BlinkElement.scrollLeft_Setter(this, value.round());
|
||||
set scrollLeft(int value) => _blink.BlinkElement.scrollLeft_Setter(this, value.round());
|
||||
|
||||
@DomName('Element.scrollTop')
|
||||
@DocsEditable()
|
||||
@@ -1634,7 +1664,7 @@ $else
|
||||
|
||||
@DomName('Element.scrollTop')
|
||||
@DocsEditable()
|
||||
void set scrollTop(int value) => _blink.BlinkElement.scrollTop_Setter(this, value.round());
|
||||
set scrollTop(int value) => _blink.BlinkElement.scrollTop_Setter(this, value.round());
|
||||
|
||||
@DomName('Element.scrollWidth')
|
||||
@DocsEditable()
|
||||
|
||||
@@ -92,6 +92,12 @@ class ElementEvents extends Events {
|
||||
*/
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
|
||||
$if DARTIUM
|
||||
// Default constructor to allow other classes e.g. GlobalEventHandlers to be
|
||||
// constructed using _internalWrap when mapping Blink object to Dart class.
|
||||
EventTarget();
|
||||
|
||||
$endif
|
||||
// Custom element created callback.
|
||||
EventTarget._created();
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
|
||||
$if DART2JS
|
||||
var res = JS('Null|String|NativeByteBuffer', '#.result', this);
|
||||
$else
|
||||
var res = _blink.BlinkFileReader.result_Getter(unwrap_jso(this));
|
||||
var res = _blink.BlinkFileReader.instance.result_Getter_(unwrap_jso(this));
|
||||
$endif
|
||||
if (res is ByteBuffer) {
|
||||
return new Uint8List.view(res);
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
// 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.
|
||||
|
||||
part of $LIBRARYNAME;
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
$!MEMBERS
|
||||
$if JSINTEROP
|
||||
factory AudioElement([String src]) {
|
||||
if (src == null)
|
||||
return wrap_jso(_blink.BlinkHTMLAudioElement.instance.constructorCallback_0_());
|
||||
else
|
||||
return wrap_jso(_blink.BlinkHTMLAudioElement.instance.constructorCallback_1_(src));
|
||||
}
|
||||
$else
|
||||
factory AudioElement([String src]) => new AudioElement._(src);
|
||||
$endif
|
||||
}
|
||||
@@ -17,7 +17,7 @@ $else
|
||||
BodyElement get body => _body;
|
||||
|
||||
@DomName('Document.body')
|
||||
void set body(BodyElement value) {
|
||||
set body(BodyElement value) {
|
||||
_body = value;
|
||||
}
|
||||
$endif
|
||||
@@ -90,7 +90,7 @@ $endif
|
||||
|
||||
@DomName('Document.selectedStylesheetSet')
|
||||
String get selectedStylesheetSet => _selectedStylesheetSet;
|
||||
void set selectedStylesheetSet(String value) {
|
||||
set selectedStylesheetSet(String value) {
|
||||
_selectedStylesheetSet = value;
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ $endif
|
||||
String get title => _title;
|
||||
|
||||
@DomName('Document.title')
|
||||
void set title(String value) {
|
||||
set title(String value) {
|
||||
_title = value;
|
||||
}
|
||||
|
||||
@@ -187,6 +187,41 @@ $if DART2JS
|
||||
$else
|
||||
String get visibilityState => _webkitVisibilityState;
|
||||
$endif
|
||||
$if DARTIUM
|
||||
|
||||
/**
|
||||
* Internal routine to find the DOM JS class name being extended for custom
|
||||
* elements.
|
||||
*/
|
||||
String _getJSClassName(ClassMirror classMirror) {
|
||||
var jsClassName = null;
|
||||
var isElement = false;
|
||||
|
||||
while (classMirror.superclass != null) {
|
||||
var fullName = classMirror.superclass.qualifiedName;
|
||||
isElement = isElement || (fullName == #dart.dom.html.Element);
|
||||
|
||||
var domLibrary = MirrorSystem.getName(fullName).startsWith('dart.dom.');
|
||||
if (jsClassName == null && domLibrary) {
|
||||
// Lookup JS class name (if not found).
|
||||
var metadatas = classMirror.metadata;
|
||||
for (var metadata in metadatas) {
|
||||
var metaDataMirror = metadata.reflectee;
|
||||
var metaType = reflectClass(metaDataMirror.runtimeType);
|
||||
if (MirrorSystem.getName(metaType.simpleName) == 'DomName' &&
|
||||
metaDataMirror.name.startsWith('HTML')) {
|
||||
jsClassName = metadata.reflectee.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
classMirror = classMirror.superclass;
|
||||
}
|
||||
|
||||
// If we're an element then everything is okay.
|
||||
return isElement ? jsClassName : null;
|
||||
}
|
||||
$endif
|
||||
|
||||
@Experimental()
|
||||
/**
|
||||
@@ -236,7 +271,73 @@ $if DART2JS
|
||||
_registerCustomElement(JS('', 'window'), this, tag, customElementClass,
|
||||
extendsTag);
|
||||
$else
|
||||
_Utils.register(this, tag, customElementClass, extendsTag);
|
||||
// TODO(terry): Need to handle the extendsTag.
|
||||
|
||||
// Figure out which DOM class is being extended from the user's Dart class.
|
||||
var classMirror = reflectClass(customElementClass);
|
||||
var jsClassName = _getJSClassName(classMirror);
|
||||
if (jsClassName == null) {
|
||||
// Only components derived from HTML* can be extended.
|
||||
throw new DomException.jsInterop("HierarchyRequestError: Only HTML elements can be customized.");
|
||||
}
|
||||
|
||||
// Start the hookup the JS way create an <x-foo> element that extends the
|
||||
// <x-base> custom element. Inherit its prototype and signal what tag is
|
||||
// inherited:
|
||||
//
|
||||
// var myProto = Object.create(HTMLElement.prototype);
|
||||
// var myElement = document.registerElement('x-foo', {prototype: myProto});
|
||||
var baseElement = js.context[jsClassName];
|
||||
if (baseElement == null) {
|
||||
// Couldn't find the HTML element so use a generic one.
|
||||
baseElement = js.context['HTMLElement'];
|
||||
}
|
||||
var elemProto = js.context['Object'].callMethod("create", [baseElement['prototype']]);
|
||||
|
||||
// TODO(terry): Hack to stop recursion re-creating custom element when the
|
||||
// created() constructor of the custom element does e.g.,
|
||||
//
|
||||
// MyElement.created() : super.created() {
|
||||
// this.innerHtml = "<b>I'm an x-foo-with-markup!</b>";
|
||||
// }
|
||||
//
|
||||
// sanitizing causes custom element to created recursively
|
||||
// until stack overflow.
|
||||
//
|
||||
// See https://github.com/dart-lang/sdk/issues/23666
|
||||
int creating = 0;
|
||||
elemProto['createdCallback'] = new js.JsFunction.withThis(($this) {
|
||||
if (_getJSClassName(reflectClass(customElementClass).superclass) != null && creating < 2) {
|
||||
creating++;
|
||||
|
||||
var dartClass = _blink.Blink_Utils.constructElement(customElementClass, $this);
|
||||
|
||||
// Need to remember the Dart class that was created for this custom so
|
||||
// return it and setup the blink_jsObject to the $this that we'll be working
|
||||
// with as we talk to blink.
|
||||
$this['dart_class'] = dartClass;
|
||||
|
||||
creating--;
|
||||
}
|
||||
});
|
||||
elemProto['attributeChangedCallback'] = new js.JsFunction.withThis(($this, attrName, oldVal, newVal) {
|
||||
if ($this["dart_class"] != null && $this['dart_class'].attributeChanged != null) {
|
||||
$this['dart_class'].attributeChanged(attrName, oldVal, newVal);
|
||||
}
|
||||
});
|
||||
elemProto['attachedCallback'] = new js.JsFunction.withThis(($this) {
|
||||
if ($this["dart_class"] != null && $this['dart_class'].attached != null) {
|
||||
$this['dart_class'].attached();
|
||||
}
|
||||
});
|
||||
elemProto['detachedCallback'] = new js.JsFunction.withThis(($this) {
|
||||
if ($this["dart_class"] != null && $this['dart_class'].detached != null) {
|
||||
$this['dart_class'].detached();
|
||||
}
|
||||
});
|
||||
// document.registerElement('x-foo', {prototype: elemProto, extends: extendsTag});
|
||||
var jsMap = new js.JsObject.jsify({'prototype': elemProto, 'extends': extendsTag});
|
||||
js.context['document'].callMethod('registerElement', [tag, jsMap]);
|
||||
$endif
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
// 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.
|
||||
|
||||
part of $LIBRARYNAME;
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
$!MEMBERS
|
||||
$if DARTIUM
|
||||
// Override these methods for Dartium _HTMLFrameSetElement can't be abstract.
|
||||
Stream<Event> get onHashChange => hashChangeEvent.forTarget(this);
|
||||
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
|
||||
Stream<Event> get onOffline => offlineEvent.forTarget(this);
|
||||
Stream<Event> get onOnline => onlineEvent.forTarget(this);
|
||||
Stream<PopStateEvent> get onPopState => popStateEvent.forTarget(this);
|
||||
Stream<StorageEvent> get onStorage => storageEvent.forTarget(this);
|
||||
Stream<Event> get onUnload => unloadEvent.forTarget(this);
|
||||
$endif
|
||||
}
|
||||
|
||||
@@ -21,14 +21,8 @@ $endif
|
||||
$if DARTIUM
|
||||
@DocsEditable()
|
||||
$if JSINTEROP
|
||||
static MutationObserver _create(callback) => wrap_jso(_blink.BlinkMutationObserver.instance.constructorCallback_1_((List<MutationRecord> mutations, MutationObserver observer) {
|
||||
var wrapped_mutations = [];
|
||||
for (var mutation in mutations) {
|
||||
// Wrap the Javascript object for each MutationRecord.
|
||||
wrapped_mutations.add(wrap_jso(mutation));
|
||||
}
|
||||
// Wrap the MutationObserver too.
|
||||
callback(wrapped_mutations, wrap_jso(observer));
|
||||
static MutationObserver _create(callback) => wrap_jso(_blink.BlinkMutationObserver.instance.constructorCallback_1_((mutations, observer) {
|
||||
callback(mutations, wrap_jso(observer));
|
||||
}));
|
||||
$else
|
||||
static MutationObserver _create(callback) => _blink.BlinkMutationObserver.instance.constructorCallback_1_(callback);
|
||||
|
||||
@@ -114,7 +114,12 @@ $endif
|
||||
bool remove(Object object) {
|
||||
if (object is! Node) return false;
|
||||
Node node = object;
|
||||
$if JSINTEROP
|
||||
// We aren't preserving identity of nodes in JSINTEROP mode
|
||||
if (_this != node.parentNode) return false;
|
||||
$else
|
||||
if (!identical(_this, node.parentNode)) return false;
|
||||
$endif
|
||||
_this._removeChild(node);
|
||||
return true;
|
||||
}
|
||||
@@ -178,7 +183,7 @@ $endif
|
||||
// a local copy of childNodes is more efficient.
|
||||
int get length => _this.childNodes.length;
|
||||
|
||||
void set length(int value) {
|
||||
set length(int value) {
|
||||
throw new UnsupportedError(
|
||||
"Cannot set length on immutable List.");
|
||||
}
|
||||
@@ -201,7 +206,7 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
|
||||
return new _ChildNodeListLazy(this);
|
||||
}
|
||||
|
||||
void set nodes(Iterable<Node> value) {
|
||||
set nodes(Iterable<Node> value) {
|
||||
// Copy list first since we don't want liveness during iteration.
|
||||
// TODO(jacobr): there is a better way to do this.
|
||||
List copy = new List.from(value);
|
||||
@@ -277,9 +282,7 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
|
||||
return value == null ? super.toString() : value;
|
||||
}
|
||||
|
||||
$if JSINTEROP
|
||||
List<Node> _childNodes;
|
||||
|
||||
$if DARTIUM
|
||||
/**
|
||||
* A list of this node's children.
|
||||
*
|
||||
@@ -291,20 +294,8 @@ $if JSINTEROP
|
||||
*/
|
||||
@DomName('Node.childNodes')
|
||||
@DocsEditable()
|
||||
List<Node> get childNodes {
|
||||
if (_childNodes == null) {
|
||||
List<Node> nodes = new List<Node>();
|
||||
var jsCollection = _blink.BlinkNode.instance.childNodes_Getter_(unwrap_jso(this));
|
||||
var collectionLen = jsCollection['length'];
|
||||
for (var i = 0; i < collectionLen; i++) {
|
||||
nodes.add(wrap_jso(jsCollection.callMethod('item', [i])));
|
||||
}
|
||||
_childNodes = nodes;
|
||||
}
|
||||
return _childNodes;
|
||||
}
|
||||
List<Node> get childNodes => wrap_jso(_blink.BlinkNode.instance.childNodes_Getter_(unwrap_jso(this)));
|
||||
$else
|
||||
$if DARTIUM
|
||||
/**
|
||||
* A list of this node's children.
|
||||
*
|
||||
@@ -316,24 +307,8 @@ $else
|
||||
*/
|
||||
@DomName('Node.childNodes')
|
||||
@DocsEditable()
|
||||
List<Node> get childNodes => _blink.BlinkNode.instance.childNodes_Getter_(this);
|
||||
$else
|
||||
/**
|
||||
* A list of this node's children.
|
||||
*
|
||||
* ## Other resources
|
||||
*
|
||||
* * [Node.childNodes]
|
||||
* (https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes)
|
||||
* from MDN.
|
||||
*/
|
||||
@DomName('Node.childNodes')
|
||||
@DocsEditable()
|
||||
@Returns('NodeList')
|
||||
@Creates('NodeList')
|
||||
final List<Node> childNodes;
|
||||
|
||||
$endif
|
||||
$endif
|
||||
$!MEMBERS
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
// 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.
|
||||
|
||||
part of $LIBRARYNAME;
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
$!MEMBERS
|
||||
$if DARTIUM
|
||||
// Override these methods for Dartium _SVGCursorElement can't be abstract.
|
||||
StringList get requiredExtensions => wrap_jso(_blink.BlinkSVGCursorElement.instance.requiredExtensions_Getter_(unwrap_jso(this)));
|
||||
StringList get requiredFeatures => wrap_jso(_blink.BlinkSVGCursorElement.instance.requiredFeatures_Getter_(unwrap_jso(this)));
|
||||
StringList get systemLanguage => wrap_jso(_blink.BlinkSVGCursorElement.instance.systemLanguage_Getter_(unwrap_jso(this)));
|
||||
AnimatedString get href => wrap_jso(_blink.BlinkSVGCursorElement.instance.href_Getter_(unwrap_jso(this)));
|
||||
bool hasExtension(String extension) => _blink.BlinkSVGCursorElement.instance.hasExtension_Callback_1_(unwrap_jso(this), extension);
|
||||
$endif
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
|
||||
|
||||
List<Element> get children => new FilteredElementList(this);
|
||||
|
||||
void set children(List<Element> value) {
|
||||
set children(List<Element> value) {
|
||||
final children = this.children;
|
||||
children.clear();
|
||||
children.addAll(value);
|
||||
@@ -78,7 +78,7 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
|
||||
return container.innerHtml;
|
||||
}
|
||||
|
||||
void set innerHtml(String value) {
|
||||
set innerHtml(String value) {
|
||||
this.setInnerHtml(value);
|
||||
}
|
||||
|
||||
@@ -143,5 +143,21 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS
|
||||
var e = new $CLASSNAME.tag(tag);
|
||||
return e is $CLASSNAME && !(e is UnknownElement);
|
||||
}
|
||||
|
||||
$if JSINTEROP
|
||||
set _svgClassName(AnimatedString value) =>
|
||||
_blink.BlinkSVGElement.instance.className_Setter_(unwrap_jso(this), unwrap_jso(value));
|
||||
|
||||
String get className => _svgClassName.baseVal;
|
||||
|
||||
// Unbelievable hack. We can't create an SvgAnimatedString, but we can get
|
||||
// the existing one and change its baseVal. Then we call the blink setter directly
|
||||
// TODO(alanknight): Handle suppressing the SVGAnimated<*> better
|
||||
set className(String s) {
|
||||
var oldClass = _svgClassName;
|
||||
oldClass.baseVal = s;
|
||||
_svgClassName = oldClass;
|
||||
}
|
||||
$endif
|
||||
$!MEMBERS
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
// 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.
|
||||
|
||||
part of $LIBRARYNAME;
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
$!MEMBERS
|
||||
$if DARTIUM
|
||||
// Override these methods for Dartium _SVGFEDropShadowElement can't be abstract.
|
||||
AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEDropShadowElement.instance.height_Getter_(unwrap_jso(this)));
|
||||
AnimatedString get result => wrap_jso(_blink.BlinkSVGFEDropShadowElement.instance.result_Getter_(unwrap_jso(this)));
|
||||
AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEDropShadowElement.instance.width_Getter_(unwrap_jso(this)));
|
||||
AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEDropShadowElement.instance.x_Getter_(unwrap_jso(this)));
|
||||
AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEDropShadowElement.instance.y_Getter_(unwrap_jso(this)));
|
||||
$endif
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
// 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.
|
||||
|
||||
part of $LIBRARYNAME;
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
$!MEMBERS
|
||||
$if DARTIUM
|
||||
// Override these methods for Dartium _SVGGlyphRefElement can't be abstract.
|
||||
AnimatedString get href => wrap_jso(_blink.BlinkSVGGlyphRefElement.instance.href_Getter_(unwrap_jso(this)));
|
||||
$endif
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
// 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.
|
||||
|
||||
part of $LIBRARYNAME;
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
$!MEMBERS
|
||||
$if DARTIUM
|
||||
// Override these methods for Dartium _SVGMPathElement can't be abstract.
|
||||
AnimatedString get href => wrap_jso(_blink.BlinkSVGMPathElement.instance.href_Getter_(unwrap_jso(this)));
|
||||
$endif
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
// 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.
|
||||
|
||||
part of $LIBRARYNAME;
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
$!MEMBERS
|
||||
$if DARTIUM
|
||||
// Override these methods for Dartium _ServiceWorker can't be abstract.
|
||||
Stream<ErrorEvent> get onError => errorEvent.forTarget(this);
|
||||
$endif
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ Please remove them from your code.
|
||||
}
|
||||
|
||||
@deprecated
|
||||
void set resetStyleInheritance(bool value) {
|
||||
set resetStyleInheritance(bool value) {
|
||||
_shadowRootDeprecationReport();
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ Please remove them from your code.
|
||||
}
|
||||
|
||||
@deprecated
|
||||
void set applyAuthorStyles(bool value) {
|
||||
set applyAuthorStyles(bool value) {
|
||||
_shadowRootDeprecationReport();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,14 +20,14 @@ $if DART2JS
|
||||
int get __radiusX => JS('num', '#.radiusX', this).round();
|
||||
int get __radiusY => JS('num', '#.radiusY', this).round();
|
||||
$else
|
||||
int get __clientX => _blink.BlinkTouch.clientX_Getter(unwrap_jso(this)).round();
|
||||
int get __clientY => _blink.BlinkTouch.clientY_Getter(unwrap_jso(this)).round();
|
||||
int get __screenX => _blink.BlinkTouch.screenX_Getter(unwrap_jso(this)).round();
|
||||
int get __screenY => _blink.BlinkTouch.screenY_Getter(unwrap_jso(this)).round();
|
||||
int get __pageX => _blink.BlinkTouch.pageX_Getter(unwrap_jso(this)).round();
|
||||
int get __pageY => _blink.BlinkTouch.pageY_Getter(unwrap_jso(this)).round();
|
||||
int get __radiusX => _blink.BlinkTouch.radiusX_Getter(unwrap_jso(this)).round();
|
||||
int get __radiusY => _blink.BlinkTouch.radiusY_Getter(unwrap_jso(this)).round();
|
||||
int get __clientX => _blink.BlinkTouch.instance.clientX_Getter_(unwrap_jso(this)).round();
|
||||
int get __clientY => _blink.BlinkTouch.instance.clientY_Getter_(unwrap_jso(this)).round();
|
||||
int get __screenX => _blink.BlinkTouch.instance.screenX_Getter_(unwrap_jso(this)).round();
|
||||
int get __screenY => _blink.BlinkTouch.instance.screenY_Getter_(unwrap_jso(this)).round();
|
||||
int get __pageX => _blink.BlinkTouch.instance.pageX_Getter_(unwrap_jso(this)).round();
|
||||
int get __pageY => _blink.BlinkTouch.instance.pageY_Getter_(unwrap_jso(this)).round();
|
||||
int get __radiusX => _blink.BlinkTouch.instance.radiusX_Getter_(unwrap_jso(this)).round();
|
||||
int get __radiusY => _blink.BlinkTouch.instance.radiusY_Getter_(unwrap_jso(this)).round();
|
||||
$endif
|
||||
|
||||
@DomName('Touch.clientX')
|
||||
|
||||
@@ -39,12 +39,12 @@ $if DART2JS
|
||||
if (view == null) {
|
||||
view = window;
|
||||
}
|
||||
|
||||
|
||||
return JS('WheelEvent', 'new WheelEvent(#, #)',
|
||||
type, convertDartToNative_Dictionary(options));
|
||||
|
||||
$else
|
||||
return _blink.BlinkWheelEvent.constructorCallback_2(type, options);
|
||||
return wrap_jso(_blink.BlinkWheelEvent.instance.constructorCallback_2_(type, convertDartToNative_Dictionary(options)));
|
||||
$endif
|
||||
}
|
||||
|
||||
|
||||
@@ -85,13 +85,13 @@ $if DART2JS
|
||||
* Sets the window's location, which causes the browser to navigate to the new
|
||||
* location. [value] may be a Location object or a String.
|
||||
*/
|
||||
void set location(value) {
|
||||
set location(value) {
|
||||
_location = value;
|
||||
}
|
||||
|
||||
// Native getter and setter to access raw Location object.
|
||||
dynamic get _location => JS('Location|Null', '#.location', this);
|
||||
void set _location(value) {
|
||||
set _location(value) {
|
||||
JS('void', '#.location = #', this, value);
|
||||
}
|
||||
|
||||
@@ -320,7 +320,7 @@ class _BeforeUnloadEvent extends _WrappedEvent implements BeforeUnloadEvent {
|
||||
|
||||
String get returnValue => _returnValue;
|
||||
|
||||
void set returnValue(String value) {
|
||||
set returnValue(String value) {
|
||||
_returnValue = value;
|
||||
// FF and IE use the value as the return value, Chrome will return this from
|
||||
// the event callback function.
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
// 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.
|
||||
|
||||
part of $LIBRARYNAME;
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
$!MEMBERS
|
||||
$if DARTIUM
|
||||
// Override these methods for Dartium _WorkerLocation can't be abstract.
|
||||
String get hash => _blink.BlinkWorkerLocation.instance.hash_Getter_(unwrap_jso(this));
|
||||
String get host => _blink.BlinkWorkerLocation.instance.host_Getter_(unwrap_jso(this));
|
||||
String get hostname => _blink.BlinkWorkerLocation.instance.hostname_Getter_(unwrap_jso(this));
|
||||
String get href => _blink.BlinkWorkerLocation.instance.href_Getter_(unwrap_jso(this));
|
||||
String get origin => _blink.BlinkWorkerLocation.instance.origin_Getter_(unwrap_jso(this));
|
||||
String get pathname => _blink.BlinkWorkerLocation.instance.pathname_Getter_(unwrap_jso(this));
|
||||
String get port => _blink.BlinkWorkerLocation.instance.port_Getter_(unwrap_jso(this));
|
||||
String get protocol => _blink.BlinkWorkerLocation.instance.protocol_Getter_(unwrap_jso(this));
|
||||
String get search => _blink.BlinkWorkerLocation.instance.search_Getter_(unwrap_jso(this));
|
||||
$endif
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
// 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.
|
||||
|
||||
part of $LIBRARYNAME;
|
||||
|
||||
@DocsEditable()
|
||||
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
||||
$!MEMBERS
|
||||
$if DARTIUM
|
||||
// Override these methods for Dartium _WorkerNavigator can't be abstract.
|
||||
String get appCodeName => _blink.BlinkWorkerNavigator.instance.appCodeName_Getter_(unwrap_jso(this));
|
||||
String get appName => _blink.BlinkWorkerNavigator.instance.appCodeName_Getter_(unwrap_jso(this));
|
||||
String get appVersion => _blink.BlinkWorkerNavigator.instance.appVersion_Getter_(unwrap_jso(this));
|
||||
bool get dartEnabled => _blink.BlinkWorkerNavigator.instance.dartEnabled_Getter_(unwrap_jso(this));
|
||||
String get platform => _blink.BlinkWorkerNavigator.instance.platform_Getter_(unwrap_jso(this));
|
||||
String get product => _blink.BlinkWorkerNavigator.instance.product_Getter_(unwrap_jso(this));
|
||||
String get userAgent => _blink.BlinkWorkerNavigator.instance.userAgent_Getter_(unwrap_jso(this));
|
||||
int get hardwareConcurrency => _blink.BlinkWorkerNavigator.instance.hardwareConcurrency_Getter_(unwrap_jso(this));
|
||||
bool get onLine => _blink.BlinkWorkerNavigator.instance.onLine_Getter_(unwrap_jso(this));
|
||||
$endif
|
||||
}
|
||||
|
||||
@@ -384,5 +384,34 @@ $endif
|
||||
return headers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify the desired `url`, and `method` to use in making the request.
|
||||
*
|
||||
* By default the request is done asyncronously, with no user or password
|
||||
* authentication information. If `async` is false, the request will be send
|
||||
* synchronously.
|
||||
*
|
||||
* Calling `open` again on a currently active request is equivalent to
|
||||
* calling `abort`.
|
||||
*
|
||||
* Note: Most simple HTTP requests can be accomplished using the [getString],
|
||||
* [request], [requestCrossOrigin], or [postFormData] methods. Use of this
|
||||
* `open` method is intended only for more complext HTTP requests where
|
||||
* finer-grained control is needed.
|
||||
*/
|
||||
@DomName('XMLHttpRequest.open')
|
||||
@DocsEditable()
|
||||
$if JSINTEROP
|
||||
void open(String method, String url, {bool async, String user, String password}) {
|
||||
if (async == null && user == null && password == null) {
|
||||
_blink.BlinkXMLHttpRequest.instance.open_Callback_2_(unwrap_jso(this), method, url);
|
||||
} else {
|
||||
_blink.BlinkXMLHttpRequest.instance.open_Callback_5_(unwrap_jso(this), method, url, async, user, password);
|
||||
}
|
||||
}
|
||||
$else
|
||||
void open(String method, String url, {bool async, String user, String password}) native;
|
||||
$endif
|
||||
|
||||
$!MEMBERS
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ $if DEFINE_LENGTH_AS_NUM_ITEMS
|
||||
$endif
|
||||
|
||||
$if DEFINE_LENGTH_SETTER
|
||||
void set length(int value) {
|
||||
set length(int value) {
|
||||
throw new UnsupportedError("Cannot resize immutable List.");
|
||||
}
|
||||
$endif
|
||||
|
||||
Reference in New Issue
Block a user