| Index: runtime/observatory/lib/src/elements/isolate_ref_wrapper.dart
|
| diff --git a/runtime/observatory/lib/src/elements/isolate_ref_wrapper.dart b/runtime/observatory/lib/src/elements/isolate_ref_wrapper.dart
|
| index 369e68ae431694452aae83f388b9fc407e48be90..6c9547b3b8b258d1cb54dcd20aedf673e18f4659 100644
|
| --- a/runtime/observatory/lib/src/elements/isolate_ref_wrapper.dart
|
| +++ b/runtime/observatory/lib/src/elements/isolate_ref_wrapper.dart
|
| @@ -3,11 +3,8 @@
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| import 'dart:html';
|
| -import 'dart:async';
|
|
|
| import 'package:observatory/app.dart';
|
| -import 'package:observatory/models.dart' show IsolateUpdateEvent;
|
| -import 'package:observatory/mocks.dart' show IsolateUpdateEventMock;
|
| import 'package:observatory/service_html.dart' show Isolate;
|
| import 'package:observatory/src/elements/isolate_ref.dart';
|
| import 'package:observatory/src/elements/helpers/tag.dart';
|
| @@ -22,17 +19,16 @@ class IsolateRefElementWrapper extends HtmlElement {
|
|
|
| static const tag = const Tag<IsolateRefElementWrapper>('isolate-ref');
|
|
|
| - final StreamController<IsolateUpdateEvent> _updatesController =
|
| - new StreamController<IsolateUpdateEvent>();
|
| - Stream<IsolateUpdateEvent> _updates;
|
| - StreamSubscription _subscription;
|
| -
|
| Isolate _isolate;
|
| +
|
| Isolate get ref => _isolate;
|
| - void set ref(Isolate ref) { _isolate = ref; _detached(); _attached(); }
|
| +
|
| + void set ref(Isolate value) {
|
| + _isolate = value;
|
| + render();
|
| + }
|
|
|
| IsolateRefElementWrapper.created() : super.created() {
|
| - _updates = _updatesController.stream.asBroadcastStream();
|
| binder.registerCallback(this);
|
| createShadowRoot();
|
| render();
|
| @@ -41,34 +37,14 @@ class IsolateRefElementWrapper extends HtmlElement {
|
| @override
|
| void attached() {
|
| super.attached();
|
| - _attached();
|
| - }
|
| -
|
| - void _attached() {
|
| - if (ref != null) {
|
| - _subscription = ref.changes.listen((_) {
|
| - _updatesController.add(new IsolateUpdateEventMock(isolate: ref));
|
| - });
|
| - }
|
| render();
|
| }
|
|
|
| - @override
|
| - void detached() {
|
| - super.detached();
|
| - _detached();
|
| - }
|
| -
|
| - void _detached() {
|
| - if (_subscription != null) {
|
| - _subscription.cancel();
|
| - _subscription = null;
|
| - }
|
| - }
|
| -
|
| void render() {
|
| shadowRoot.children = [];
|
| - if (ref == null) return;
|
| + if (ref == null) {
|
| + return;
|
| + }
|
|
|
| shadowRoot.children = [
|
| new StyleElement()
|
| @@ -80,8 +56,9 @@ class IsolateRefElementWrapper extends HtmlElement {
|
| color: #0489c3;
|
| text-decoration: none;
|
| }''',
|
| - new IsolateRefElement(_isolate, _updates,
|
| - queue: ObservatoryApplication.app.queue)
|
| + new IsolateRefElement(_isolate, app.events, queue: app.queue)
|
| ];
|
| }
|
| +
|
| + ObservatoryApplication get app => ObservatoryApplication.app;
|
| }
|
|
|