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

Unified Diff: runtime/observatory/lib/src/elements/nav/vm_menu_wrapper.dart

Issue 2211603002: Centralized event streams (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Updated observatory_sources Created 4 years, 4 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/nav/vm_menu_wrapper.dart
diff --git a/runtime/observatory/lib/src/elements/nav/vm_menu_wrapper.dart b/runtime/observatory/lib/src/elements/nav/vm_menu_wrapper.dart
index 9327e191661c4c24c24a4e3ed5d2ac3a42a28cd9..fe11cb28e85f659c4b69c08aa461403d73e99cb5 100644
--- a/runtime/observatory/lib/src/elements/nav/vm_menu_wrapper.dart
+++ b/runtime/observatory/lib/src/elements/nav/vm_menu_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/mocks.dart';
-import 'package:observatory/models.dart' as M;
import 'package:observatory/service.dart';
import 'package:observatory/service_common.dart';
import 'package:observatory/src/elements/helpers/tag.dart';
@@ -22,20 +19,14 @@ class NavVMMenuElementWrapper extends HtmlElement {
static const tag = const Tag<NavVMMenuElementWrapper>('vm-nav-menu');
- StreamSubscription _subscription;
- StreamController<M.VMUpdateEvent> _updatesController =
- new StreamController<M.VMUpdateEvent>.broadcast();
-
bool _last = false;
VM _vm;
+
bool get last => _last;
VM get vm => _vm;
- set last(bool value) {
- _last = value; render();
- }
- set vm(VM value) {
- _vm = value; _detached(); _attached();
- }
+
+ set last(bool value) { _last = value; render(); }
turnidge 2016/08/04 18:16:36 One stmt per line, here and elsewhere.
cbernaschina 2016/08/04 21:00:20 Done.
+ set vm(VM value) { _vm = value; render(); }
NavVMMenuElementWrapper.created() : super.created() {
binder.registerCallback(this);
@@ -47,29 +38,12 @@ class NavVMMenuElementWrapper extends HtmlElement {
@override
void attached() {
super.attached();
- _attached();
+ render();
}
@override
void detached() {
super.detached();
- _detached();
- }
-
- void _attached() {
- if (_vm != null) {
- _subscription = _vm.changes.listen((_) {
- _updatesController.add(new VMUpdateEventMock(vm: _vm));
- });
- }
- render();
- }
-
- void _detached() {
- if (_subscription != null) {
- _subscription.cancel();
- _subscription = null;
- }
}
void render() {
@@ -77,13 +51,14 @@ class NavVMMenuElementWrapper extends HtmlElement {
if (_vm == null || _last == null) return;
shadowRoot.children = [
- new NavVMMenuElement(vm, _updatesController.stream, last: last,
- target: (vm as CommonWebSocketVM)?.target,
- queue: ObservatoryApplication.app.queue)
+ new NavVMMenuElement(vm, app.events, last: last,
+ queue: app.queue)
..children = [new ContentElement()]
];
}
+ ObservatoryApplication get app => ObservatoryApplication.app;
+
bool _getBoolAttribute(String name) {
final String value = getAttribute(name);
return !(value == null || value == 'false');

Powered by Google App Engine
This is Rietveld 408576698