Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
d8d85343
Unverified
Commit
d8d85343
authored
Apr 22, 2021
by
Jonah Williams
Committed by
GitHub
Apr 22, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[flutter_tools] remove usage of getIsolate in extension waiter (#80960)
parent
07b3e10a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
54 additions
and
2 deletions
+54
-2
vmservice.dart
packages/flutter_tools/lib/src/vmservice.dart
+2
-2
vmservice_test.dart
...ages/flutter_tools/test/general.shard/vmservice_test.dart
+52
-0
No files found.
packages/flutter_tools/lib/src/vmservice.dart
View file @
d8d85343
...
...
@@ -865,8 +865,8 @@ class FlutterVmService {
try
{
final
List
<
vm_service
.
IsolateRef
>
refs
=
await
_getIsolateRefs
(
webIsolate
);
for
(
final
vm_service
.
IsolateRef
ref
in
refs
)
{
final
vm_service
.
Isolate
isolate
=
await
service
.
getIsolate
(
ref
.
id
);
if
(
isolate
.
extensionRPCs
.
contains
(
extensionName
))
{
final
vm_service
.
Isolate
isolate
=
await
getIsolateOrNull
(
ref
.
id
);
if
(
isolate
!=
null
&&
isolate
.
extensionRPCs
.
contains
(
extensionName
))
{
return
ref
;
}
}
...
...
packages/flutter_tools/test/general.shard/vmservice_test.dart
View file @
d8d85343
...
...
@@ -638,6 +638,58 @@ void main() {
expect
(
isolateRef
.
id
,
'2'
);
});
testWithoutContext
(
'does not rethrow a sentinel exception if the initially queried flutter view disappears'
,
()
async
{
const
String
otherExtensionName
=
'ext.flutter.test.otherExtension'
;
final
vm_service
.
Isolate
isolate2
=
vm_service
.
Isolate
.
parse
(
isolate
.
toJson
()
..[
'id'
]
=
'2'
..[
'extensionRPCs'
]
=
<
String
>[
otherExtensionName
],
);
final
FakeVmServiceHost
fakeVmServiceHost
=
FakeVmServiceHost
(
requests:
<
VmServiceExpectation
>[
const
FakeVmServiceRequest
(
method:
'streamListen'
,
args:
<
String
,
Object
>{
'streamId'
:
'Isolate'
,
},
),
FakeVmServiceRequest
(
method:
kListViewsMethod
,
jsonResponse:
<
String
,
Object
>{
'views'
:
<
Object
>[
fakeFlutterView
.
toJson
(),
],
},
),
const
FakeVmServiceRequest
(
method:
'getIsolate'
,
args:
<
String
,
Object
>{
'isolateId'
:
'1'
,
},
errorCode:
RPCErrorCodes
.
kServiceDisappeared
,
),
// Assume a different isolate returns.
FakeVmServiceStreamResponse
(
streamId:
'Isolate'
,
event:
vm_service
.
Event
(
kind:
vm_service
.
EventKind
.
kServiceExtensionAdded
,
extensionRPC:
otherExtensionName
,
timestamp:
1
,
isolate:
isolate2
,
),
),
const
FakeVmServiceRequest
(
method:
'streamCancel'
,
args:
<
String
,
Object
>{
'streamId'
:
'Isolate'
,
},
),
]);
final
vm_service
.
IsolateRef
isolateRef
=
await
fakeVmServiceHost
.
vmService
.
findExtensionIsolate
(
otherExtensionName
);
expect
(
isolateRef
.
id
,
'2'
);
});
testWithoutContext
(
'when the isolate stream is already subscribed, returns an isolate with the registered extensionRPC'
,
()
async
{
final
FakeVmServiceHost
fakeVmServiceHost
=
FakeVmServiceHost
(
requests:
<
VmServiceExpectation
>[
const
FakeVmServiceRequest
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment