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

Unified Diff: runtime/observatory/lib/src/elements/script_inset.dart

Issue 1120133002: Rework error handling in the service protocol and in Observatory. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: fix tests Created 5 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/observatory/lib/src/elements/script_inset.dart
diff --git a/runtime/observatory/lib/src/elements/script_inset.dart b/runtime/observatory/lib/src/elements/script_inset.dart
index 2c633fea6c80e9056fa082f81e8cbd2f4e5b6a15..f5a9edd45811627d6f0247f313938c60f8ac0c28 100644
--- a/runtime/observatory/lib/src/elements/script_inset.dart
+++ b/runtime/observatory/lib/src/elements/script_inset.dart
@@ -159,7 +159,7 @@ class CallSiteAnnotation extends Annotation {
}
}
-class DeclarationAnnotation extends Annotation {
+abstract class DeclarationAnnotation extends Annotation {
DeclarationAnnotation(decl) {
assert(decl.loaded);
var script = decl.script;
@@ -628,7 +628,10 @@ class ScriptInsetElement extends ObservatoryElement {
e.classes.clear();
e.classes.add('noCopy');
- if (busy) {
+ if (!line.possibleBpt) {
+ e.classes.add("emptyBreakpoint");
+ e.text = nbsp;
+ } else if (busy) {
e.classes.add("busyBreakpoint");
} else {
if (line.breakpoints != null) {
@@ -650,10 +653,17 @@ class ScriptInsetElement extends ObservatoryElement {
busy = true;
if (line.breakpoints == null) {
// No breakpoint. Add it.
- line.script.isolate.addBreakpoint(line.script, line.line).then((_) {
- busy = false;
- update();
- });
+ line.script.isolate.addBreakpoint(line.script, line.line)
+ .catchError((e, st) {
+ if (e is! ServerRpcException ||
+ (e as ServerRpcException).code !=
+ ServerRpcException.kNoBreakAtLine) {
+ app.handleException(e, st);
+ }})
+ .whenComplete(() {
+ busy = false;
+ update();
+ });
} else {
// Existing breakpoint. Remove it.
List pending = [];
« no previous file with comments | « runtime/observatory/lib/src/elements/object_view.dart ('k') | runtime/observatory/lib/src/elements/script_view.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698