未验证 提交 80049a7b 编写于 作者: H Harry Terkelsen 提交者: GitHub

Remove the type parameter from `SkObjectFinalizationRegistry`. (#21061)

上级 b5582988
......@@ -1640,7 +1640,7 @@ class TypefaceFontProviderNamespace {
Timer? _skObjectCollector;
List<SkDeletable> _skObjectDeleteQueue = <SkDeletable>[];
final SkObjectFinalizationRegistry<SkDeletable> skObjectFinalizationRegistry = SkObjectFinalizationRegistry<SkDeletable>(js.allowInterop((SkDeletable deletable) {
final SkObjectFinalizationRegistry skObjectFinalizationRegistry = SkObjectFinalizationRegistry(js.allowInterop((SkDeletable deletable) {
_skObjectDeleteQueue.add(deletable);
_skObjectCollector ??= _scheduleSkObjectCollection();
}));
......@@ -1673,8 +1673,6 @@ Timer _scheduleSkObjectCollection() => Timer(Duration.zero, () {
html.window.performance.measure('SkObject collection', 'SkObject collection-start', 'SkObject collection-end');
});
typedef SkObjectFinalizer<T> = void Function(T key);
/// Any Skia object that has a `delete` method.
@JS()
@anonymous
......@@ -1698,8 +1696,10 @@ class SkDeletable {
/// 5. The finalizer function is called with the SkPaint as the sole argument.
/// 6. We call `delete` on SkPaint.
@JS('window.FinalizationRegistry')
class SkObjectFinalizationRegistry<T> {
external SkObjectFinalizationRegistry(SkObjectFinalizer<T> finalizer);
class SkObjectFinalizationRegistry {
// TODO(hterkelsen): Add a type for the `cleanup` function when
// native constructors support type parameters.
external SkObjectFinalizationRegistry(Function cleanup);
external void register(Object ckObject, Object skObject);
}
......
......@@ -264,9 +264,8 @@ class SkiaObjectBox {
bool _isDeleted = false;
/// Deletes Skia objects when their wrappers are garbage collected.
static final SkObjectFinalizationRegistry<SkiaObjectBox> boxRegistry =
SkObjectFinalizationRegistry<SkiaObjectBox>(
js.allowInterop((SkiaObjectBox box) {
static final SkObjectFinalizationRegistry boxRegistry =
SkObjectFinalizationRegistry(js.allowInterop((SkiaObjectBox box) {
box.delete();
}));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册