Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 80049a7

Browse files
author
Harry Terkelsen
authored
Remove the type parameter from SkObjectFinalizationRegistry. (#21061)
1 parent b558298 commit 80049a7

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1640,7 +1640,7 @@ class TypefaceFontProviderNamespace {
16401640
Timer? _skObjectCollector;
16411641
List<SkDeletable> _skObjectDeleteQueue = <SkDeletable>[];
16421642

1643-
final SkObjectFinalizationRegistry<SkDeletable> skObjectFinalizationRegistry = SkObjectFinalizationRegistry<SkDeletable>(js.allowInterop((SkDeletable deletable) {
1643+
final SkObjectFinalizationRegistry skObjectFinalizationRegistry = SkObjectFinalizationRegistry(js.allowInterop((SkDeletable deletable) {
16441644
_skObjectDeleteQueue.add(deletable);
16451645
_skObjectCollector ??= _scheduleSkObjectCollection();
16461646
}));
@@ -1673,8 +1673,6 @@ Timer _scheduleSkObjectCollection() => Timer(Duration.zero, () {
16731673
html.window.performance.measure('SkObject collection', 'SkObject collection-start', 'SkObject collection-end');
16741674
});
16751675

1676-
typedef SkObjectFinalizer<T> = void Function(T key);
1677-
16781676
/// Any Skia object that has a `delete` method.
16791677
@JS()
16801678
@anonymous
@@ -1698,8 +1696,10 @@ class SkDeletable {
16981696
/// 5. The finalizer function is called with the SkPaint as the sole argument.
16991697
/// 6. We call `delete` on SkPaint.
17001698
@JS('window.FinalizationRegistry')
1701-
class SkObjectFinalizationRegistry<T> {
1702-
external SkObjectFinalizationRegistry(SkObjectFinalizer<T> finalizer);
1699+
class SkObjectFinalizationRegistry {
1700+
// TODO(hterkelsen): Add a type for the `cleanup` function when
1701+
// native constructors support type parameters.
1702+
external SkObjectFinalizationRegistry(Function cleanup);
17031703
external void register(Object ckObject, Object skObject);
17041704
}
17051705

lib/web_ui/lib/src/engine/canvaskit/skia_object_cache.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,9 +264,8 @@ class SkiaObjectBox {
264264
bool _isDeleted = false;
265265

266266
/// Deletes Skia objects when their wrappers are garbage collected.
267-
static final SkObjectFinalizationRegistry<SkiaObjectBox> boxRegistry =
268-
SkObjectFinalizationRegistry<SkiaObjectBox>(
269-
js.allowInterop((SkiaObjectBox box) {
267+
static final SkObjectFinalizationRegistry boxRegistry =
268+
SkObjectFinalizationRegistry(js.allowInterop((SkiaObjectBox box) {
270269
box.delete();
271270
}));
272271

0 commit comments

Comments
 (0)