Skip to content

Commit 205f8a4

Browse files
authored
Adds the setIsolatePauseMode method to Chrome Proxy Service (#1631)
1 parent ceb47bc commit 205f8a4

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

dwds/CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
## 14.0.3-dev
2-
- Make data types null safe
2+
- Make data types null safe.
33
- Update `package:vm_service` to 8.3.0.
44
- Convert JavaScript stack traces in uncaught exceptions to Dart stack traces.
55
- Fix failure to set breakpoints on windows with a base change in index.html.
6+
- Add the setIsolatePauseMode method to Chrome Proxy Service.
67

78
## 14.0.2
89
- Update the min SDK constraint to 2.17.0.

dwds/lib/src/services/chrome_proxy_service.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -741,6 +741,14 @@ ${globalLoadStrategy.loadModuleSnippet}("dart_sdk").developer.invokeExtension(
741741
}
742742
}
743743

744+
@override
745+
Future<Success> setIsolatePauseMode(String isolateId,
746+
{String exceptionPauseMode, bool shouldPauseOnExit}) async {
747+
// TODO(elliette): Is there a way to respect the shouldPauseOnExit parameter
748+
// in Chrome?
749+
return setExceptionPauseMode(isolateId, exceptionPauseMode);
750+
}
751+
744752
@override
745753
Future<Success> setExceptionPauseMode(String isolateId, String mode) async {
746754
await isInitialized;

dwds/test/chrome_proxy_service_test.dart

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1121,7 +1121,7 @@ void main() {
11211121
expect(stack.truncated, isFalse);
11221122
});
11231123

1124-
test('break on exceptions', () async {
1124+
test('break on exceptions with legacy setExceptionPauseMode', () async {
11251125
final oldPauseMode =
11261126
(await service.getIsolate(isolateId)).exceptionPauseMode;
11271127
await service.setExceptionPauseMode(isolateId, ExceptionPauseMode.kAll);
@@ -1139,6 +1139,24 @@ void main() {
11391139
await service.resume(isolateId);
11401140
});
11411141

1142+
test('break on exceptions with setIsolatePauseMode', () async {
1143+
final oldPauseMode =
1144+
(await service.getIsolate(isolateId)).exceptionPauseMode;
1145+
await service.setIsolatePauseMode(isolateId,
1146+
exceptionPauseMode: ExceptionPauseMode.kAll);
1147+
// Wait for pausing to actually propagate.
1148+
var event = await stream
1149+
.firstWhere((event) => event.kind == EventKind.kPauseException);
1150+
expect(event.exception, isNotNull);
1151+
1152+
var stack = await service.getStack(isolateId);
1153+
expect(stack, isNotNull);
1154+
1155+
await service.setIsolatePauseMode(isolateId,
1156+
exceptionPauseMode: oldPauseMode);
1157+
await service.resume(isolateId);
1158+
});
1159+
11421160
test('returns non-empty stack when paused', () async {
11431161
await service.pause(isolateId);
11441162
// Wait for pausing to actually propagate.

0 commit comments

Comments
 (0)