Change JSArray.length to return int (#54051)
This is in preparation for
https://dart-review.googlesource.com/c/sdk/+/373884, which will add length to the extension type itself. This will shadow the extension member, so we should make sure the type signatures match.
diff --git a/lib/web_ui/lib/src/engine/dom.dart b/lib/web_ui/lib/src/engine/dom.dart
index 1820594..fa8e974 100644
--- a/lib/web_ui/lib/src/engine/dom.dart
+++ b/lib/web_ui/lib/src/engine/dom.dart
@@ -3763,9 +3763,8 @@
!isChrome110OrOlder &&
!debugDisableCreateImageBitmapSupport;
-@JS()
-@staticInterop
extension JSArrayExtension on JSArray<JSAny?> {
external void push(JSAny value);
- external JSNumber get length;
+ // TODO(srujzs): Delete this when we add `JSArray.length` in the SDK.
+ external int get length;
}
diff --git a/lib/web_ui/test/engine/view_embedder/hot_restart_cache_handler_test.dart b/lib/web_ui/test/engine/view_embedder/hot_restart_cache_handler_test.dart
index 6c1ccac..fcceac2 100644
--- a/lib/web_ui/test/engine/view_embedder/hot_restart_cache_handler_test.dart
+++ b/lib/web_ui/test/engine/view_embedder/hot_restart_cache_handler_test.dart
@@ -50,8 +50,7 @@
HotRestartCacheHandler();
expect(_jsHotRestartStore, isNotNull);
- // For dart2wasm, we have to check the length this way.
- expect(_jsHotRestartStore!.length, 0.toJS);
+ expect(_jsHotRestartStore!.length, 0);
});
});
@@ -94,7 +93,7 @@
cache = HotRestartCacheHandler();
// For dart2wasm, we have to check the length this way.
- expect(_jsHotRestartStore!.length, 0.toJS);
+ expect(_jsHotRestartStore!.length, 0);
expect(element.isConnected, isFalse); // Removed
expect(element2.isConnected, isTrue);
});