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

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

Issue 2211603002: Centralized event streams (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Merged with master 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/vm_connect.dart
diff --git a/runtime/observatory/lib/src/elements/vm_connect.dart b/runtime/observatory/lib/src/elements/vm_connect.dart
index 65487cf49402e4c0e6947cf16c3e068f53ded760..a322e9177c4cbc2e7520061636d4ae8d6d69e67e 100644
--- a/runtime/observatory/lib/src/elements/vm_connect.dart
+++ b/runtime/observatory/lib/src/elements/vm_connect.dart
@@ -16,6 +16,8 @@ import 'package:observatory/src/elements/nav/top_menu.dart';
import 'package:observatory/src/elements/view_footer.dart';
import 'package:observatory/src/elements/vm_connect_target.dart';
+typedef void CrashDumpLoadCallback(Map dump);
+
class VMConnectElement extends HtmlElement implements Renderable {
static const tag = const Tag<VMConnectElement>('vm-connect',
dependencies: const [NavBarElement.tag,
@@ -28,7 +30,7 @@ class VMConnectElement extends HtmlElement implements Renderable {
Stream<RenderedEvent<VMConnectElement>> get onRendered => _r.onRendered;
- M.CrashDumpRepository _dump;
+ CrashDumpLoadCallback _loadDump;
M.NotificationRepository _notifications;
M.TargetRepository _targets;
StreamSubscription _targetsSubscription;
@@ -36,17 +38,17 @@ class VMConnectElement extends HtmlElement implements Renderable {
String _address;
factory VMConnectElement(M.TargetRepository targets,
- M.CrashDumpRepository dump,
+ CrashDumpLoadCallback loadDump,
M.NotificationRepository notifications,
{String address: '', RenderingQueue queue}) {
assert(address != null);
- assert(dump != null);
+ assert(loadDump != null);
assert(notifications != null);
assert(targets != null);
VMConnectElement e = document.createElement(tag.name);
e._r = new RenderingScheduler(e, queue: queue);
e._address = address;
- e._dump = dump;
+ e._loadDump = loadDump;
e._notifications = notifications;
e._targets = targets;
return e;
@@ -56,14 +58,17 @@ class VMConnectElement extends HtmlElement implements Renderable {
@override
void attached() {
- super.attached(); _r.enable();
+ super.attached();
_targetsSubscription = _targets.onChange.listen((_) => _r.dirty());
+ _r.enable();
}
@override
void detached() {
- super.detached(); children = []; _r.disable(notify: true);
- _targetsSubscription.cancel(); _targetsSubscription = null;
+ super.detached();
+ children = [];
+ _r.disable(notify: true);
+ _targetsSubscription.cancel();
}
void render() {
@@ -158,7 +163,7 @@ class VMConnectElement extends HtmlElement implements Renderable {
reader.readAsText(e.files[0]);
reader.onLoad.listen((_) {
var crashDump = JSON.decode(reader.result);
- _dump.load(crashDump);
+ _loadDump(crashDump);
});
});
return e;

Powered by Google App Engine
This is Rietveld 408576698