Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_34031325
engine
提交
4813ed0a
E
engine
项目概览
qq_34031325
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
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,发现更多精彩内容 >>
未验证
提交
4813ed0a
编写于
3月 10, 2021
作者:
J
Jason Simmons
提交者:
GitHub
3月 10, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Signal an error if an Isolate.spawnUri call uses an unsupported URI (#24583)
上级
21a484d9
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
26 addition
and
1 deletion
+26
-1
common/settings.h
common/settings.h
+1
-1
runtime/dart_isolate.cc
runtime/dart_isolate.cc
+10
-0
testing/dart/isolate_test.dart
testing/dart/isolate_test.dart
+15
-0
未找到文件。
common/settings.h
浏览文件 @
4813ed0a
...
...
@@ -118,7 +118,7 @@ struct Settings {
// Used as the script URI in debug messages. Does not affect how the Dart code
// is executed.
std
::
string
advisory_script_uri
=
"main.dart"
;
std
::
string
advisory_script_uri
=
"
file:///
main.dart"
;
// Used as the script entrypoint in debug messages. Does not affect how the
// Dart code is executed.
std
::
string
advisory_script_entrypoint
=
"main"
;
...
...
runtime/dart_isolate.cc
浏览文件 @
4813ed0a
...
...
@@ -34,6 +34,8 @@ namespace flutter {
namespace
{
constexpr
std
::
string_view
kFileUriPrefix
=
"file://"
;
class
DartErrorString
{
public:
DartErrorString
()
:
str_
(
nullptr
)
{}
...
...
@@ -929,6 +931,14 @@ Dart_Isolate DartIsolate::DartIsolateGroupCreateCallback(
DartIsolateGroupData
&
parent_group_data
=
(
*
parent_isolate_data
)
->
GetIsolateGroupData
();
if
(
strncmp
(
advisory_script_uri
,
kFileUriPrefix
.
data
(),
kFileUriPrefix
.
size
()))
{
std
::
string
error_msg
=
std
::
string
(
"Unsupported isolate URI: "
)
+
advisory_script_uri
;
*
error
=
fml
::
strdup
(
error_msg
.
c_str
());
return
nullptr
;
}
auto
isolate_group_data
=
std
::
make_unique
<
std
::
shared_ptr
<
DartIsolateGroupData
>>
(
std
::
shared_ptr
<
DartIsolateGroupData
>
(
new
DartIsolateGroupData
(
...
...
testing/dart/isolate_test.dart
0 → 100644
浏览文件 @
4813ed0a
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import
'dart:async'
;
import
'dart:isolate'
;
import
'package:test/test.dart'
;
void
main
(
)
{
test
(
'Invalid isolate URI'
,
()
async
{
final
Future
<
Isolate
>
isolate
=
Isolate
.
spawnUri
(
Uri
.
parse
(
'http://127.0.0.1/foo.dart'
),
<
String
>[],
null
);
expect
(()
async
=>
await
isolate
,
throwsA
(
const
TypeMatcher
<
IsolateSpawnException
>()));
});
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录