| Index: runtime/observatory/lib/src/elements/nav_bar.dart
 | 
| diff --git a/runtime/observatory/lib/src/elements/nav_bar.dart b/runtime/observatory/lib/src/elements/nav_bar.dart
 | 
| index 411346fbcc1d643784f6d0db91e5de564ec47215..04c5fce475d55fa0abcb329fa11def870ed6b9d9 100644
 | 
| --- a/runtime/observatory/lib/src/elements/nav_bar.dart
 | 
| +++ b/runtime/observatory/lib/src/elements/nav_bar.dart
 | 
| @@ -13,7 +13,7 @@ import 'package:polymer/polymer.dart';
 | 
|  
 | 
|  @CustomTag('nav-bar')
 | 
|  class NavBarElement extends ObservatoryElement {
 | 
| -  @published bool showNotify = true;
 | 
| +  @published bool notifyOnPause = true;
 | 
|    @published bool pad = true;
 | 
|  
 | 
|    NavBarElement.created() : super.created();
 | 
| @@ -36,9 +36,11 @@ class NavMenuItemElement extends ObservatoryElement {
 | 
|    NavMenuItemElement.created() : super.created();
 | 
|  }
 | 
|  
 | 
| +typedef Future RefreshCallback();
 | 
| +
 | 
|  @CustomTag('nav-refresh')
 | 
|  class NavRefreshElement extends ObservatoryElement {
 | 
| -  @published var callback;
 | 
| +  @published RefreshCallback callback;
 | 
|    @published bool active = false;
 | 
|    @published String label = 'Refresh';
 | 
|  
 | 
| @@ -50,7 +52,9 @@ class NavRefreshElement extends ObservatoryElement {
 | 
|      }
 | 
|      active = true;
 | 
|      if (callback != null) {
 | 
| -      callback(refreshDone);
 | 
| +      callback()
 | 
| +        .catchError(app.handleException)
 | 
| +        .whenComplete(refreshDone);
 | 
|      }
 | 
|    }
 | 
|  
 | 
| @@ -100,36 +104,49 @@ class ClassNavMenuElement extends ObservatoryElement {
 | 
|  
 | 
|  @CustomTag('nav-notify')
 | 
|  class NavNotifyElement extends ObservatoryElement {
 | 
| -  @published ObservableList<ServiceEvent> events;
 | 
| +  @published ObservableList<Notification> notifications;
 | 
| +  @published bool notifyOnPause = true;
 | 
|  
 | 
|    NavNotifyElement.created() : super.created();
 | 
|  }
 | 
|  
 | 
| -@CustomTag('nav-notify-item')
 | 
| -class NavNotifyItemElement extends ObservatoryElement {
 | 
| -  @published ObservableList<ServiceEvent> events;
 | 
| +@CustomTag('nav-notify-event')
 | 
| +class NavNotifyEventElement extends ObservatoryElement {
 | 
| +  @published ObservableList<Notification> notifications;
 | 
| +  @published Notification notification;
 | 
|    @published ServiceEvent event;
 | 
| +  @published bool notifyOnPause = true;
 | 
|  
 | 
| -  Future resume(_) {
 | 
| -    app.removePauseEvents(event.isolate);
 | 
| -    return event.isolate.resume();
 | 
| +  void closeItem(MouseEvent e, var detail, Element target) {
 | 
| +    notifications.remove(notification);
 | 
|    }
 | 
| -  Future stepInto(_) {
 | 
| -    app.removePauseEvents(event.isolate);
 | 
| -    return event.isolate.stepInto();
 | 
| +
 | 
| +  NavNotifyEventElement.created() : super.created();
 | 
| +}
 | 
| +
 | 
| +@CustomTag('nav-notify-exception')
 | 
| +class NavNotifyExceptionElement extends ObservatoryElement {
 | 
| +  @published ObservableList<Notification> notifications;
 | 
| +  @published Notification notification;
 | 
| +  @published var exception;
 | 
| +  @published var stacktrace;
 | 
| +
 | 
| +  exceptionChanged() {
 | 
| +    notifyPropertyChange(#isNetworkError, true, false);
 | 
| +    notifyPropertyChange(#isUnexpectedError, true, false);
 | 
|    }
 | 
| -  Future stepOver(_) {
 | 
| -    app.removePauseEvents(event.isolate);
 | 
| -    return event.isolate.stepOver();
 | 
| +
 | 
| +  @observable get isNetworkError {
 | 
| +    return (exception is NetworkRpcException);
 | 
|    }
 | 
| -  Future stepOut(_) {
 | 
| -    app.removePauseEvents(event.isolate);
 | 
| -    return event.isolate.stepOut();
 | 
| +
 | 
| +  @observable get isUnexpectedError {
 | 
| +    return (exception is! NetworkRpcException);
 | 
|    }
 | 
|  
 | 
|    void closeItem(MouseEvent e, var detail, Element target) {
 | 
| -    events.remove(event);
 | 
| +    notifications.remove(notification);
 | 
|    }
 | 
|  
 | 
| -  NavNotifyItemElement.created() : super.created();
 | 
| +  NavNotifyExceptionElement.created() : super.created();
 | 
|  }
 | 
| 
 |