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

Unified Diff: runtime/bin/vmservice/client/lib/src/app/pane.dart

Issue 378113002: Improve script display in the observatory. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
Index: runtime/bin/vmservice/client/lib/src/app/pane.dart
diff --git a/runtime/bin/vmservice/client/lib/src/app/pane.dart b/runtime/bin/vmservice/client/lib/src/app/pane.dart
deleted file mode 100644
index e99906417672657c97e5ab6957f43b543453f98c..0000000000000000000000000000000000000000
--- a/runtime/bin/vmservice/client/lib/src/app/pane.dart
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-part of app;
-
-/// A [Pane] controls the user interface of Observatory. At any given time
-/// one pane will be the current pane. Panes are registered at startup.
-/// When the user navigates within the application, each pane is asked if it
-/// can handle the current location, the first pane to say yes, wins.
-abstract class Pane extends Observable {
- final ObservatoryApplication app;
-
- @observable ObservatoryElement element;
-
- Pane(this.app);
-
- /// Called when the pane is installed, this callback must initialize
- /// [element].
- void onInstall();
-
- /// Called when the pane is uninstalled, this callback must clear
- /// [element].
- void onUninstall() {
- element = null;
- }
-
- /// Called when the pane should update its state based on [url].
- /// NOTE: Only called when the pane is installed.
- void visit(String url);
-
- /// Called to test whether this pane can visit [url].
- bool canVisit(String url);
-}
-
-/// A general service object viewer.
-class ServiceObjectPane extends Pane {
- ServiceObjectPane(app) : super(app);
-
- void onInstall() {
- if (element == null) {
- /// Lazily create pane.
- element = new Element.tag('service-view');
- }
- }
-
- void visit(String url) {
- assert(element != null);
- assert(canVisit(url));
- if (url == '') {
- // Nothing requested.
- return;
- }
- /// Request url from VM and display it.
- app.vm.get(url).then((obj) {
- ServiceObjectViewElement pane = element;
- pane.object = obj;
- }).catchError((e) {
- Logger.root.severe('ServiceObjectPane visit error: $e');
- });
- }
-
- /// Catch all.
- bool canVisit(String url) => true;
-}
-
-/// Class tree pane.
-class ClassTreePane extends Pane {
- static const _urlPrefix = 'class-tree/';
-
- ClassTreePane(app) : super(app);
-
- void onInstall() {
- if (element == null) {
- element = new Element.tag('class-tree');
- }
- }
-
- void visit(String url) {
- assert(element != null);
- assert(canVisit(url));
- // ClassTree urls are 'class-tree/isolate-id', chop off prefix, leaving
- // isolate url.
- url = url.substring(_urlPrefix.length);
- /// Request the isolate url.
- app.vm.get(url).then((i) {
- if (element != null) {
- /// Update the pane.
- ClassTreeElement pane = element;
- pane.isolate = i;
- }
- }).catchError((e) {
- Logger.root.severe('ClassTreePane visit error: $e');
- });
- }
-
- /// Catch all.
- bool canVisit(String url) => url.startsWith(_urlPrefix);
-}
-
-class ErrorViewPane extends Pane {
- ErrorViewPane(app) : super(app);
-
- void onInstall() {
- if (element == null) {
- /// Lazily create pane.
- element = new Element.tag('service-view');
- }
- }
-
- void visit(String url) {
- assert(element != null);
- assert(canVisit(url));
- (element as ServiceObjectViewElement).object = app.lastErrorOrException;
- }
-
- bool canVisit(String url) => url.startsWith('error/');
-}
-
-class VMConnectPane extends Pane {
- VMConnectPane(app) : super(app);
-
- void onInstall() {
- if (element == null) {
- element = new Element.tag('vm-connect');
- }
- assert(element != null);
- }
-
- void visit(String url) {
- assert(element != null);
- assert(canVisit(url));
- }
-
- bool canVisit(String url) => url.startsWith('vm-connect/');
-}
« no previous file with comments | « runtime/bin/vmservice/client/lib/src/app/page.dart ('k') | runtime/bin/vmservice/client/lib/src/elements/class_view.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698