@@ -1159,6 +1159,12 @@ wrap_jso(jsObject) {
1159
1159
return wrapper;
1160
1160
}
1161
1161
1162
+ if (jsObject is js.JsArray) {
1163
+ var wrappingList = new _DartHtmlWrappingList(jsObject);
1164
+ js.setDartHtmlWrapperFor(jsObject, wrappingList);
1165
+ return wrappingList;
1166
+ }
1167
+
1162
1168
// Try the most general type conversions on it.
1163
1169
// TODO(alanknight): We may be able to do better. This maintains identity,
1164
1170
// which is useful, but expensive. And if we nest something that only
@@ -1304,6 +1310,22 @@ convertDartToNative_List(List input) => new js.JsArray()..addAll(input);
1304
1310
// Conversion function place holder (currently not used in dart2js or dartium).
1305
1311
List convertDartToNative_StringArray(List<String> input) => input;
1306
1312
1313
+ /**
1314
+ * Wraps a JsArray and will call wrap_jso on its entries.
1315
+ */
1316
+ class _DartHtmlWrappingList extends ListBase {
1317
+ _DartHtmlWrappingList(this._basicList);
1318
+
1319
+ final js.JsArray _basicList;
1320
+
1321
+ operator [](int index) => wrap_jso(_basicList[index]);
1322
+
1323
+ operator []=(int index, value) => _basicList[index] = unwrap_jso(value);
1324
+
1325
+ int get length => _basicList.length;
1326
+ int set length(int newLength) => _basicList.length = newLength;
1327
+ }
1328
+
1307
1329
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
1308
1330
// for details. All rights reserved. Use of this source code is governed by a
1309
1331
// BSD-style license that can be found in the LICENSE file.
@@ -10138,10 +10160,10 @@ class DirectoryReader extends NativeFieldWrapperClass2 {
10138
10160
10139
10161
void _readEntries(_EntriesCallback successCallback, [_ErrorCallback errorCallback]) {
10140
10162
if (errorCallback != null) {
10141
- _blink.BlinkDirectoryReader.instance.readEntries_Callback_2_(unwrap_jso(this), unwrap_jso((entries) => successCallback(entries)), unwrap_jso((error) => errorCallback(wrap_jso(error))));
10163
+ _blink.BlinkDirectoryReader.instance.readEntries_Callback_2_(unwrap_jso(this), unwrap_jso((entries) => successCallback(wrap_jso( entries) )), unwrap_jso((error) => errorCallback(wrap_jso(error))));
10142
10164
return;
10143
10165
}
10144
- _blink.BlinkDirectoryReader.instance.readEntries_Callback_1_(unwrap_jso(this), unwrap_jso((entries) => successCallback(entries)));
10166
+ _blink.BlinkDirectoryReader.instance.readEntries_Callback_1_(unwrap_jso(this), unwrap_jso((entries) => successCallback(wrap_jso( entries) )));
10145
10167
return;
10146
10168
}
10147
10169
@@ -18438,7 +18460,7 @@ class FontFaceSetLoadEvent extends Event {
18438
18460
@DomName('FontFaceSetLoadEvent.fontfaces')
18439
18461
@DocsEditable()
18440
18462
@Experimental() // untriaged
18441
- List<FontFace> get fontfaces => _blink.BlinkFontFaceSetLoadEvent.instance.fontfaces_Getter_(unwrap_jso(this));
18463
+ List<FontFace> get fontfaces => wrap_jso( _blink.BlinkFontFaceSetLoadEvent.instance.fontfaces_Getter_(unwrap_jso(this) ));
18442
18464
18443
18465
}
18444
18466
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -18668,7 +18690,7 @@ class Gamepad extends NativeFieldWrapperClass2 {
18668
18690
18669
18691
@DomName('Gamepad.axes')
18670
18692
@DocsEditable()
18671
- List<num> get axes => _blink.BlinkGamepad.instance.axes_Getter_(unwrap_jso(this));
18693
+ List<num> get axes => wrap_jso( _blink.BlinkGamepad.instance.axes_Getter_(unwrap_jso(this) ));
18672
18694
18673
18695
@DomName('Gamepad.connected')
18674
18696
@DocsEditable()
@@ -22881,7 +22903,7 @@ class InputElement extends HtmlElement implements
22881
22903
@SupportedBrowser(SupportedBrowser.SAFARI)
22882
22904
@Experimental()
22883
22905
// http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#concept-input-type-file-selected
22884
- List<Entry> get entries => _blink.BlinkHTMLInputElement.instance.webkitEntries_Getter_(unwrap_jso(this));
22906
+ List<Entry> get entries => wrap_jso( _blink.BlinkHTMLInputElement.instance.webkitEntries_Getter_(unwrap_jso(this) ));
22885
22907
22886
22908
@DomName('HTMLInputElement.webkitdirectory')
22887
22909
@DocsEditable()
@@ -26134,7 +26156,7 @@ class MessageEvent extends Event {
26134
26156
26135
26157
@DomName('MessageEvent.initMessageEvent')
26136
26158
@DocsEditable()
26137
- void _initMessageEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Object dataArg, String originArg, String lastEventIdArg, Window sourceArg, List<MessagePort> messagePorts) => _blink.BlinkMessageEvent.instance.initMessageEvent_Callback_8_(unwrap_jso(this), typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, unwrap_jso(sourceArg), messagePorts);
26159
+ void _initMessageEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Object dataArg, String originArg, String lastEventIdArg, Window sourceArg, List<MessagePort> messagePorts) => _blink.BlinkMessageEvent.instance.initMessageEvent_Callback_8_(unwrap_jso(this), typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, unwrap_jso(sourceArg), unwrap_jso( messagePorts) );
26138
26160
26139
26161
}
26140
26162
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
@@ -27240,7 +27262,7 @@ class MutationObserver extends NativeFieldWrapperClass2 {
27240
27262
}
27241
27263
@DocsEditable()
27242
27264
static MutationObserver _create(callback) => wrap_jso(_blink.BlinkMutationObserver.instance.constructorCallback_1_((mutations, observer) {
27243
- callback(mutations, wrap_jso(observer));
27265
+ callback(wrap_jso( mutations) , wrap_jso(observer));
27244
27266
}));
27245
27267
27246
27268
/**
0 commit comments