Chromium Code Reviews| Index: sdk/lib/html/html_common/conversions_dartium.dart |
| diff --git a/sdk/lib/html/html_common/conversions_dartium.dart b/sdk/lib/html/html_common/conversions_dartium.dart |
| index 22738eae6fa2a001fc93c350f58c0890ffb0fd5b..2403387b4e608e457e43e88cf080c08d76d2b535 100644 |
| --- a/sdk/lib/html/html_common/conversions_dartium.dart |
| +++ b/sdk/lib/html/html_common/conversions_dartium.dart |
| @@ -236,6 +236,13 @@ wrap_jso_no_SerializedScriptvalue(jsObject) { |
| return wrapper; |
| } |
| + // TODO(jacobr): auomatically wrapping JsArray here is fundamentally broken |
| + // as it hijacks adding custom methods on JS Array classes as part of the |
| + // new typed DartJsInterop. |
| + // To make this work we really need to make DartHtmlWrappingList extend |
| + // JsArrayImpl. Fixing this issue needs to be part of a broader refactor |
| + // that allows calling custom typed JS interop methods on all dart:html |
| + // classes. |
|
Alan Knight
2015/11/09 20:46:07
I think the largest issue here is that we call wra
|
| if (jsObject is js.JsArray) { |
| var wrappingList = new DartHtmlWrappingList(jsObject); |
| js.setDartHtmlWrapperFor(jsObject, wrappingList); |
| @@ -380,7 +387,7 @@ class DartHtmlWrappingList extends ListBase implements NativeFieldWrapperClass2 |
| final js.JsArray blink_jsObject; |
| - operator [](int index) => wrap_jso(js.JsNative.getArrayIndex(blink_jsObject, index)); |
| + operator [](int index) => wrap_jso_no_SerializedScriptvalue(js.JsNative.getArrayIndex(blink_jsObject, index)); |
|
Alan Knight
2015/11/09 20:46:07
I *think* this might be ok, but should look at the
|
| operator []=(int index, value) => blink_jsObject[index] = value; |