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

Side by Side Diff: runtime/bin/vmservice/observatory/lib/src/elements/debugger.html

Issue 837723004: Build Observatory as part of runtime (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 <link rel="import" href="../../../../packages/polymer/polymer.html">
2 <link rel="import" href="function_ref.html">
3 <link rel="import" href="nav_bar.html">
4 <link rel="import" href="observatory_element.html">
5 <link rel="import" href="script_inset.html">
6 <link rel="import" href="script_ref.html">
7
8 <!-- TODO(turnidge): Use core-icon once core_elements work properly in
9 devtools -->
10 <polymer-element name="icon-expand-less" noscript>
11 <template>
12 <svg width="24" height="24">
13 <polygon points="12,8 6,14 7.4,15.4 12,10.8 16.6,15.4 18,14 "/>
14 </svg>
15 </template>
16 </polymer-element>
17
18 <polymer-element name="icon-expand-more" noscript>
19 <template>
20 <svg width="24" height="24">
21 <polygon points="16.6,8.6 12,13.2 7.4,8.6 6,10 12,16 18,10 "/>
22 </svg>
23 </template>
24 </polymer-element>
25
26 <polymer-element name="debugger-page" extends="observatory-element">
27 <template>
28 <link rel="stylesheet" href="css/shared.css">
29 <style>
30 .container {
31 height: 100%;
32 display: flex;
33 flex-direction: column;
34 justify-content: space-between;
35 }
36 nav-bar {
37 flex: 0 0 auto;
38 }
39 .stack {
40 flex: 0 0 auto;
41 overflow-y: auto;
42 }
43 core-splitter {
44 flex: 0 0 auto;
45 }
46 .console {
47 flex: 1 1 auto;
48 overflow-y: auto;
49 }
50 .commandline {
51 flex: 0 0 auto;
52 }
53 </style>
54
55 <div class="container">
56 <nav-bar>
57 <top-nav-menu last="{{ true }}"></top-nav-menu>
58 <isolate-nav-menu isolate="{{ isolate }}" last="{{ true }}">
59 </isolate-nav-menu>
60 <nav-control></nav-control>
61 </nav-bar>
62
63 <div id="stack" class="stack">
64 <debugger-stack isolate="{{ isolate }}"></debugger-stack>
65 </div>
66 <!--
67 <core-splitter direction="up" allowOverflow=true></core-splitter>
68 <div class="console">
69 <debugger-console isolate="{{ isolate }}"></debugger-console>
70 </div>
71 <div class="commandline">
72 <debugger-input isolate="{{ isolate }}"></debugger-input>
73 </div>
74 -->
75 </div>
76 </template>
77 </polymer-element>
78
79 <polymer-element name="debugger-stack" extends="observatory-element">
80 <template>
81 <link rel="stylesheet" href="css/shared.css">
82 <template if="{{ stack == null }}">
83 Loading stack frames
84 </template>
85 <template if="{{ stack != null }}">
86 <ul class="list-group">
87 <template repeat="{{ frame in stack['members'] }}">
88 <li class="list-group-item">
89 <debugger-frame frame="{{ frame }}"
90 expand="{{ frame['depth'] == activeFrame }}">
91 </debugger-frame>
92 </li>
93 </template>
94 </ul>
95 </template>
96 </template>
97 </polymer-element>
98
99
100 <polymer-element name="debugger-frame" extends="observatory-element">
101 <template>
102 <link rel="stylesheet" href="css/shared.css">
103 <style>
104 .frameOuter {
105 position: relative;
106 padding: 5px;
107 border: 1px solid white;
108 }
109 .frameOuter:hover {
110 border: 1px solid #e0e0e0;
111 }
112 .shadow {
113 box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.16),
114 0 2px 5px 0 rgba(0, 0, 0, 0.26);
115 }
116 .frameSummaryText {
117 display: inline-block;
118 padding: 5px;
119 }
120 .frameId {
121 display: inline-block;
122 width: 60px;
123 }
124 .frameOuter .frameExpander {
125 position: absolute;
126 right: 5px;
127 top: 5px;
128 display: none;
129 }
130 .frameOuter:hover .frameExpander{
131 display: inline-block;
132 }
133 .frameContractor {
134 position: absolute;
135 right: 5px;
136 bottom: 5px;
137 display: inline-block;
138 }
139 </style>
140 <div id="frameOuter" class="frameOuter">
141 <a on-click="{{ toggleExpand }}">
142 <div class="frameSummary">
143 <div class="frameSummaryText">
144 <div class="frameId"><b>frame {{ frame['depth'] }}</b></div>
145 <function-ref ref="{{ frame['function'] }}"></function-ref>
146 ( <script-ref ref="{{ frame['script'] }}"
147 pos="{{ frame['tokenPos'] }}">
148 </script-ref> )
149 </div>
150 <template if="{{ !expanded }}">
151 <div class="frameExpander">
152 <icon-expand-more></icon-expand-more>
153 </div>
154 </template>
155 </div>
156 </a>
157
158 <template if="{{expanded}}">
159 <div class="frameDetails">
160 <div class="flex-row">
161 <div class="flex-item-60-percent">
162 <script-inset height="{{ scriptHeight }}"
163 script="{{ frame['function'].script }}"
164 startPos="{{ frame['function'].tokenPos }}"
165 endPos="{{ frame['function'].endTokenPos }}"
166 currentPos="{{ frame['tokenPos'] }}">
167 </script-inset>
168 </div>
169 <div class="flex-item-40-percent">
170 <div style="padding:10px;" class="memberList">
171 <template repeat="{{ v in frame['vars'] }}">
172 <div class="memberItem">
173 <div class="memberName">{{ v['name']}}</div>
174 <div class="memberValue">
175 <any-service-ref ref="{{ v['value'] }}">
176 </any-service-ref>
177 </div>
178 </div>
179 </template>
180 </div>
181 </div>
182 </div>
183 <!-- TODO(turnidge): Add eval box here? -->
184 <div class="frameContractor">
185 <template if="{{expanded}}">
186 <a on-click="{{ toggleExpand }}">
187 <icon-expand-less></icon-expand-less>
188 </a>
189 </template>
190 </div>
191 </div>
192 </template>
193 </div>
194 </template>
195 </polymer-element>
196
197 <polymer-element name="debugger-console" extends="observatory-element">
198 <template>
199 <link rel="stylesheet" href="css/shared.css">
200 <style>
201 .textBox {
202 position: absolute;
203 bottom: 0px;
204 width: 100%;
205 }
206 </style>
207 <div>
208 Debugging console is not yet implemented.<br>
209 </div>
210 </template>
211 </polymer-element>
212
213 <polymer-element name="debugger-input" extends="observatory-element">
214 <template>
215 <link rel="stylesheet" href="css/shared.css">
216 <style>
217 .textBox {
218 font: 400 16px 'Montserrat', sans-serif;
219 width: 100%;
220 }
221 </style>
222 <input id="textBox" class="textBox" type="text" value="{{ text }}">
223 </template>
224 </polymer-element>
225
226 <script type="application/dart" src="debugger.dart"></script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698