| OLD | NEW | 
|---|
| 1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file | 
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a | 
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. | 
| 4 | 4 | 
| 5 library object_common_element; | 5 library object_common_element; | 
| 6 | 6 | 
| 7 import 'dart:async'; | 7 import 'dart:async'; | 
| 8 import 'observatory_element.dart'; | 8 import 'observatory_element.dart'; | 
| 9 import 'package:observatory/service.dart'; | 9 import 'package:observatory/service.dart'; | 
| 10 import 'package:polymer/polymer.dart'; | 10 import 'package:polymer/polymer.dart'; | 
| 11 | 11 | 
| 12 @CustomTag('object-common') | 12 @CustomTag('object-common') | 
| 13 class ObjectCommonElement extends ObservatoryElement { | 13 class ObjectCommonElement extends ObservatoryElement { | 
| 14   @published ServiceObject object; | 14   @published ServiceObject object; | 
| 15   @published ServiceMap path; | 15   @published ServiceMap path; | 
| 16   @published ServiceMap inboundReferences; | 16   @published ServiceMap inboundReferences; | 
| 17   @observable int retainedBytes = null; | 17   @observable int retainedBytes = null; | 
| 18 | 18 | 
| 19   ObjectCommonElement.created() : super.created(); | 19   ObjectCommonElement.created() : super.created(); | 
| 20 | 20 | 
| 21   // TODO(koda): Add no-arg "calculate-link" instead of reusing "eval-link". | 21   // TODO(koda): Add no-arg "calculate-link" instead of reusing "eval-link". | 
| 22   Future<ServiceObject> retainedSize(var dummy) { | 22   Future<ServiceObject> retainedSize(var dummy) { | 
| 23     return object.isolate.getRetainedSize(object).then((Instance obj) { | 23     return object.isolate.getRetainedSize(object).then((Instance obj) { | 
|  | 24       // TODO(turnidge): Handle collected/expired objects gracefully. | 
| 24       retainedBytes = int.parse(obj.valueAsString); | 25       retainedBytes = int.parse(obj.valueAsString); | 
| 25     }); | 26     }); | 
| 26   } | 27   } | 
| 27 | 28 | 
| 28   Future<ServiceObject> retainingPath(var limit) { | 29   Future<ServiceObject> retainingPath(var limit) { | 
| 29     return object.isolate.getRetainingPath(object, limit).then((ServiceObject ob
    j) { | 30     return object.isolate.getRetainingPath(object, limit).then((ServiceObject ob
    j) { | 
| 30       path = obj; | 31       path = obj; | 
| 31     }); | 32     }); | 
| 32   } | 33   } | 
| 33 | 34 | 
| 34   Future<ServiceObject> fetchInboundReferences(var limit) { | 35   Future<ServiceObject> fetchInboundReferences(var limit) { | 
| 35     return object.isolate.getInboundReferences(object, limit) | 36     return object.isolate.getInboundReferences(object, limit) | 
| 36         .then((ServiceObject obj) { | 37         .then((ServiceObject obj) { | 
| 37            inboundReferences = obj; | 38            inboundReferences = obj; | 
| 38         }); | 39         }); | 
| 39   } | 40   } | 
| 40 | 41 | 
| 41   void refresh(Function onDone) { | 42   Future refresh() { | 
| 42     object.reload().whenComplete(onDone); | 43     return object.reload(); | 
| 43   } | 44   } | 
| 44 } | 45 } | 
| OLD | NEW | 
|---|