Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(590)

Unified Diff: runtime/bin/vmservice/client/lib/src/service/object.dart

Issue 271153002: Add pause/resume for isolates in vmservice/observatory. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/bin/vmservice/client/lib/src/service/object.dart
diff --git a/runtime/bin/vmservice/client/lib/src/service/object.dart b/runtime/bin/vmservice/client/lib/src/service/object.dart
index 1045df8359e936b1f1a37ffdc9234353fc4b6ed1..64e921f7f4628551feac110459dfc32059c1260d 100644
--- a/runtime/bin/vmservice/client/lib/src/service/object.dart
+++ b/runtime/bin/vmservice/client/lib/src/service/object.dart
@@ -460,15 +460,17 @@ class TagProfile {
class Isolate extends ServiceObjectOwner {
@reflectable VM get vm => owner;
@reflectable Isolate get isolate => this;
- @observable ObservableMap counters = toObservable(new ObservableMap());
+ @observable ObservableMap counters = new ObservableMap();
String get link => _id;
String get hashLink => '#/$_id';
- @observable bool pausedOnStart = false;
- @observable bool pausedOnExit = false;
+ @observable ServiceMap pauseEvent = null;
+ bool get _isPaused => pauseEvent != null;
+
@observable bool running = false;
@observable bool idle = false;
+ @observable bool loading = true;
Map<String,ServiceObject> _cache = new Map<String,ServiceObject>();
final TagProfile tagProfile = new TagProfile(20);
@@ -610,6 +612,7 @@ class Isolate extends ServiceObjectOwner {
return;
}
_loaded = true;
+ loading = false;
Cutch 2014/05/12 17:57:08 Would be nice to generalize this for all ServiceOb
_upgradeCollection(map, isolate);
if (map['rootLib'] == null ||
map['timers'] == null ||
@@ -668,10 +671,9 @@ class Isolate extends ServiceObjectOwner {
oldHeapCapacity = map['heap']['capacityOld'];
// Isolate status
- pausedOnStart = map['pausedOnStart'];
- pausedOnExit = map['pausedOnExit'];
- running = map['topFrame'] != null;
- idle = !pausedOnStart && !pausedOnExit && !running;
+ pauseEvent = map['pauseEvent'];
+ running = (!_isPaused && map['topFrame'] != null);
+ idle = (!_isPaused && map['topFrame'] == null);
error = map['error'];
libraries.clear();

Powered by Google App Engine
This is Rietveld 408576698