Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
sxychenjing
engine
提交
07c780bd
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,发现更多精彩内容 >>
未验证
提交
07c780bd
编写于
10月 29, 2020
作者:
F
Ferhat
提交者:
GitHub
10月 29, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[web] Assign default natural width/height for svgs that report 0,0 on firefox and ie11 (#22184)
上级
11ed711e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
30 addition
and
2 deletion
+30
-2
lib/web_ui/lib/src/engine/html_image_codec.dart
lib/web_ui/lib/src/engine/html_image_codec.dart
+12
-2
lib/web_ui/test/engine/image/html_image_codec_test.dart
lib/web_ui/test/engine/image/html_image_codec_test.dart
+18
-0
未找到文件。
lib/web_ui/lib/src/engine/html_image_codec.dart
浏览文件 @
07c780bd
...
@@ -39,10 +39,20 @@ class HtmlCodec implements ui.Codec {
...
@@ -39,10 +39,20 @@ class HtmlCodec implements ui.Codec {
js_util
.
setProperty
(
imgElement
,
'decoding'
,
'async'
);
js_util
.
setProperty
(
imgElement
,
'decoding'
,
'async'
);
imgElement
.
decode
().
then
((
dynamic
_
)
{
imgElement
.
decode
().
then
((
dynamic
_
)
{
chunkCallback
?.
call
(
100
,
100
);
chunkCallback
?.
call
(
100
,
100
);
int
naturalWidth
=
imgElement
.
naturalWidth
;
int
naturalHeight
=
imgElement
.
naturalHeight
;
// Workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=700533.
if
(
naturalWidth
==
0
&&
naturalHeight
==
0
&&
(
browserEngine
==
BrowserEngine
.
firefox
||
browserEngine
==
BrowserEngine
.
ie11
))
{
const
int
kDefaultImageSizeFallback
=
300
;
naturalWidth
=
kDefaultImageSizeFallback
;
naturalHeight
=
kDefaultImageSizeFallback
;
}
final
HtmlImage
image
=
HtmlImage
(
final
HtmlImage
image
=
HtmlImage
(
imgElement
,
imgElement
,
imgElement
.
naturalWidth
,
naturalWidth
,
imgElement
.
naturalHeight
,
naturalHeight
,
);
);
completer
.
complete
(
SingleFrameInfo
(
image
));
completer
.
complete
(
SingleFrameInfo
(
image
));
}).
catchError
((
dynamic
e
)
{
}).
catchError
((
dynamic
e
)
{
...
...
lib/web_ui/test/engine/image/html_image_codec_test.dart
浏览文件 @
07c780bd
...
@@ -80,6 +80,24 @@ void testMain() async {
...
@@ -80,6 +80,24 @@ void testMain() async {
await
codec
.
getNextFrame
();
await
codec
.
getNextFrame
();
expect
(
buffer
.
toString
(),
'0/100,100/100,'
);
expect
(
buffer
.
toString
(),
'0/100,100/100,'
);
});
});
/// Regression test for Firefox/ie11
/// https://github.com/flutter/flutter/issues/66412
test
(
'Returns nonzero natural width/height'
,
()
async
{
final
HtmlCodec
codec
=
HtmlCodec
(
'data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9I'
'jAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dG'
'l0bGU+QWJzdHJhY3QgaWNvbjwvdGl0bGU+PHBhdGggZD0iTTEyIDBjOS42MDEgMCAx'
'MiAyLjM5OSAxMiAxMiAwIDkuNjAxLTIuMzk5IDEyLTEyIDEyLTkuNjAxIDAtMTItMi'
'4zOTktMTItMTJDMCAyLjM5OSAyLjM5OSAwIDEyIDB6bS0xLjk2OSAxOC41NjRjMi41'
'MjQuMDAzIDQuNjA0LTIuMDcgNC42MDktNC41OTUgMC0yLjUyMS0yLjA3NC00LjU5NS'
'00LjU5NS00LjU5NVM1LjQ1IDExLjQ0OSA1LjQ1IDEzLjk2OWMwIDIuNTE2IDIuMDY1'
'IDQuNTg4IDQuNTgxIDQuNTk1em04LjM0NC0uMTg5VjUuNjI1SDUuNjI1djIuMjQ3aD'
'EwLjQ5OHYxMC41MDNoMi4yNTJ6bS04LjM0NC02Ljc0OGEyLjM0MyAyLjM0MyAwIDEx'
'LS4wMDIgNC42ODYgMi4zNDMgMi4zNDMgMCAwMS4wMDItNC42ODZ6Ii8+PC9zdmc+'
);
final
ui
.
FrameInfo
frameInfo
=
await
codec
.
getNextFrame
();
expect
(
frameInfo
.
image
.
width
,
isNot
(
0
));
});
});
});
group
(
'ImageCodecUrl'
,
()
{
group
(
'ImageCodecUrl'
,
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录