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); } } }