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

Side by Side Diff: runtime/observatory/lib/src/app/page.dart

Issue 2962593002: Added Editor stream and sendObjectToEditor RPC into Service Protocol (Closed)
Patch Set: Added explanation comment Created 3 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 part of app; 5 part of app;
6 6
7 final _allocationProfileRepository = new AllocationProfileRepository(); 7 final _allocationProfileRepository = new AllocationProfileRepository();
8 final _breakpointRepository = new BreakpointRepository(); 8 final _breakpointRepository = new BreakpointRepository();
9 final _classRepository = new ClassRepository(); 9 final _classRepository = new ClassRepository();
10 final _classSampleProfileRepository = new ClassSampleProfileRepository(); 10 final _classSampleProfileRepository = new ClassSampleProfileRepository();
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 Future<Isolate> getIsolate(Uri uri) { 98 Future<Isolate> getIsolate(Uri uri) {
99 var isolateId = uri.queryParameters['isolateId']; 99 var isolateId = uri.queryParameters['isolateId'];
100 return app.vm.getIsolate(isolateId).then((isolate) { 100 return app.vm.getIsolate(isolateId).then((isolate) {
101 if (isolate == null) { 101 if (isolate == null) {
102 throw new IsolateNotFound(isolateId); 102 throw new IsolateNotFound(isolateId);
103 } 103 }
104 return isolate; 104 return isolate;
105 }); 105 });
106 } 106 }
107 107
108 EditorRepository getEditor(Uri uri) {
109 var editor = uri.queryParameters['editor'];
110 if (editor != null) {
111 return new EditorRepository(editor);
112 }
113 return null;
114 }
115
108 bool canVisit(Uri uri) => uri.path == path; 116 bool canVisit(Uri uri) => uri.path == path;
109 } 117 }
110 118
111 /// A [SimplePage] matches a single uri path and displays a single element. 119 /// A [SimplePage] matches a single uri path and displays a single element.
112 class SimplePage extends MatchingPage { 120 class SimplePage extends MatchingPage {
113 final String elementTagName; 121 final String elementTagName;
114 SimplePage(String path, this.elementTagName, app) : super(path, app); 122 SimplePage(String path, this.elementTagName, app) : super(path, app);
115 123
116 void onInstall() { 124 void onInstall() {
117 if (element == null) { 125 if (element == null) {
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after
678 } 686 }
679 687
680 @override 688 @override
681 void onUninstall() { 689 void onUninstall() {
682 super.onUninstall(); 690 super.onUninstall();
683 app.stopGCEventListener(); 691 app.stopGCEventListener();
684 container.children = const []; 692 container.children = const [];
685 } 693 }
686 } 694 }
687 695
696 class MemoryDashboardPage extends MatchingPage {
697 MemoryDashboardPage(app) : super('memory-dashboard', app);
698
699 final DivElement container = new DivElement();
700
701 void _visit(Uri uri) {
702 super._visit(uri);
703 getIsolate(uri).then((isolate) {
704 container.children = [
705 new MemoryDashboardElement(isolate.vm, isolate, app.events,
706 app.notifications, _allocationProfileRepository, getEditor(uri),
707 queue: app.queue)
708 ];
709 });
710 }
711
712 void onInstall() {
713 if (element == null) {
714 element = container;
715 }
716 app.startGCEventListener();
717 }
718
719 @override
720 void onUninstall() {
721 super.onUninstall();
722 app.stopGCEventListener();
723 container.children = const [];
724 }
725 }
726
688 class PortsPage extends MatchingPage { 727 class PortsPage extends MatchingPage {
689 PortsPage(app) : super('ports', app); 728 PortsPage(app) : super('ports', app);
690 729
691 final DivElement container = new DivElement(); 730 final DivElement container = new DivElement();
692 731
693 void _visit(Uri uri) { 732 void _visit(Uri uri) {
694 super._visit(uri); 733 super._visit(uri);
695 getIsolate(uri).then((isolate) { 734 getIsolate(uri).then((isolate) {
696 container.children = [ 735 container.children = [
697 new PortsElement(isolate.vm, isolate, app.events, app.notifications, 736 new PortsElement(isolate.vm, isolate, app.events, app.notifications,
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
915 element = new TimelinePageElement(app.vm, app.events, app.notifications, 954 element = new TimelinePageElement(app.vm, app.events, app.notifications,
916 queue: app.queue); 955 queue: app.queue);
917 } 956 }
918 957
919 void _visit(Uri uri) { 958 void _visit(Uri uri) {
920 assert(canVisit(uri)); 959 assert(canVisit(uri));
921 } 960 }
922 961
923 bool canVisit(Uri uri) => uri.path == 'timeline'; 962 bool canVisit(Uri uri) => uri.path == 'timeline';
924 } 963 }
OLDNEW
« no previous file with comments | « runtime/observatory/lib/src/app/application.dart ('k') | runtime/observatory/lib/src/cpu_profile/cpu_profile.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698