@@ -1640,7 +1640,7 @@ class TypefaceFontProviderNamespace {
1640
1640
Timer ? _skObjectCollector;
1641
1641
List <SkDeletable > _skObjectDeleteQueue = < SkDeletable > [];
1642
1642
1643
- final SkObjectFinalizationRegistry < SkDeletable > skObjectFinalizationRegistry = SkObjectFinalizationRegistry < SkDeletable > (js.allowInterop ((SkDeletable deletable) {
1643
+ final SkObjectFinalizationRegistry skObjectFinalizationRegistry = SkObjectFinalizationRegistry (js.allowInterop ((SkDeletable deletable) {
1644
1644
_skObjectDeleteQueue.add (deletable);
1645
1645
_skObjectCollector ?? = _scheduleSkObjectCollection ();
1646
1646
}));
@@ -1673,8 +1673,6 @@ Timer _scheduleSkObjectCollection() => Timer(Duration.zero, () {
1673
1673
html.window.performance.measure ('SkObject collection' , 'SkObject collection-start' , 'SkObject collection-end' );
1674
1674
});
1675
1675
1676
- typedef SkObjectFinalizer <T > = void Function (T key);
1677
-
1678
1676
/// Any Skia object that has a `delete` method.
1679
1677
@JS ()
1680
1678
@anonymous
@@ -1698,8 +1696,10 @@ class SkDeletable {
1698
1696
/// 5. The finalizer function is called with the SkPaint as the sole argument.
1699
1697
/// 6. We call `delete` on SkPaint.
1700
1698
@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);
1703
1703
external void register (Object ckObject, Object skObject);
1704
1704
}
1705
1705
0 commit comments