Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
80049a7b
E
engine
项目概览
sxychenjing
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
80049a7b
编写于
9月 09, 2020
作者:
H
Harry Terkelsen
提交者:
GitHub
9月 09, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove the type parameter from `SkObjectFinalizationRegistry`. (#21061)
上级
b5582988
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
7 addition
and
8 deletion
+7
-8
lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
+5
-5
lib/web_ui/lib/src/engine/canvaskit/skia_object_cache.dart
lib/web_ui/lib/src/engine/canvaskit/skia_object_cache.dart
+2
-3
未找到文件。
lib/web_ui/lib/src/engine/canvaskit/canvaskit_api.dart
浏览文件 @
80049a7b
...
...
@@ -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
);
}
...
...
lib/web_ui/lib/src/engine/canvaskit/skia_object_cache.dart
浏览文件 @
80049a7b
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录