From c2b03e3f195e56c8524782ea0845bc9e4a28987d Mon Sep 17 00:00:00 2001 From: Srujan Gaddam Date: Mon, 7 Aug 2023 15:08:44 -0700 Subject: [PATCH] Make toJS'd function use JS types JSFunction's should only accept and return JS types. --- lib/web_ui/lib/src/engine/canvaskit/native_memory.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/web_ui/lib/src/engine/canvaskit/native_memory.dart b/lib/web_ui/lib/src/engine/canvaskit/native_memory.dart index 73a5946a965b5..4b5c85dff526d 100644 --- a/lib/web_ui/lib/src/engine/canvaskit/native_memory.dart +++ b/lib/web_ui/lib/src/engine/canvaskit/native_memory.dart @@ -21,7 +21,8 @@ import 'package:ui/src/engine.dart'; /// 5. The finalizer function is called with the SkPaint as the sole argument. /// 6. We call `delete` on SkPaint. DomFinalizationRegistry _finalizationRegistry = createDomFinalizationRegistry( - (UniqueRef uniq) { + (JSBoxedDartObject boxedUniq) { + final UniqueRef uniq = boxedUniq.toDart as UniqueRef; uniq.collect(); }.toJS ); @@ -33,7 +34,7 @@ NativeMemoryFinalizationRegistry nativeMemoryFinalizationRegistry = NativeMemory class NativeMemoryFinalizationRegistry { void register(Object owner, UniqueRef ref) { if (browserSupportsFinalizationRegistry) { - _finalizationRegistry.register(owner, ref); + _finalizationRegistry.register(owner, ref.toJSBox); } } }