| OLD | NEW |
| 1 <link rel="import" href="../../../../packages/polymer/polymer.html"> | 1 <link rel="import" href="../../../../packages/polymer/polymer.html"> |
| 2 <link rel="import" href="function_ref.html"> | 2 <link rel="import" href="function_ref.html"> |
| 3 <link rel="import" href="nav_bar.html"> | 3 <link rel="import" href="nav_bar.html"> |
| 4 <link rel="import" href="eval_link.html"> | 4 <link rel="import" href="eval_link.html"> |
| 5 <link rel="import" href="observatory_element.html"> | 5 <link rel="import" href="observatory_element.html"> |
| 6 <link rel="import" href="script_inset.html"> | 6 <link rel="import" href="script_inset.html"> |
| 7 <link rel="import" href="script_ref.html"> | 7 <link rel="import" href="script_ref.html"> |
| 8 | 8 |
| 9 <!-- TODO(turnidge): Use core-icon once core_elements work properly in | 9 <!-- TODO(turnidge): Use core-icon once core_elements work properly in |
| 10 devtools --> | 10 devtools --> |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 .console { | 101 .console { |
| 102 flex: 1 1 auto; | 102 flex: 1 1 auto; |
| 103 overflow-y: auto; | 103 overflow-y: auto; |
| 104 } | 104 } |
| 105 .commandline { | 105 .commandline { |
| 106 flex: 0 0 auto; | 106 flex: 0 0 auto; |
| 107 } | 107 } |
| 108 </style> | 108 </style> |
| 109 | 109 |
| 110 <div class="container"> | 110 <div class="container"> |
| 111 <nav-bar id="navbarDiv" showNotify="{{ false }}"> | 111 <nav-bar id="navbarDiv" notifyOnPause="{{ false }}"> |
| 112 <top-nav-menu></top-nav-menu> | 112 <top-nav-menu></top-nav-menu> |
| 113 <vm-nav-menu vm="{{ isolate.vm }}"></vm-nav-menu> | 113 <vm-nav-menu vm="{{ isolate.vm }}"></vm-nav-menu> |
| 114 <isolate-nav-menu isolate="{{ isolate }}"></isolate-nav-menu> | 114 <isolate-nav-menu isolate="{{ isolate }}"></isolate-nav-menu> |
| 115 <nav-menu link="{{ makeLink('/debugger', isolate) }}" anchor="debugger"
last="{{ true }}"></nav-menu> | 115 <nav-menu link="{{ makeLink('/debugger', isolate) }}" anchor="debugger"
last="{{ true }}"></nav-menu> |
| 116 </nav-bar> | 116 </nav-bar> |
| 117 <div id="stackDiv" class="stack"> | 117 <div id="stackDiv" class="stack"> |
| 118 <debugger-stack id="stackElement" isolate="{{ isolate }}"></debugger-sta
ck> | 118 <debugger-stack id="stackElement" isolate="{{ isolate }}"></debugger-sta
ck> |
| 119 </div> | 119 </div> |
| 120 <!-- | 120 <!-- |
| 121 <core-splitter direction="up" allowOverflow=true></core-splitter> | 121 <core-splitter direction="up" allowOverflow=true></core-splitter> |
| (...skipping 17 matching lines...) Expand all Loading... |
| 139 margin: 0px 20px 10px 20px; | 139 margin: 0px 20px 10px 20px; |
| 140 font: 400 14px 'Montserrat', sans-serif; | 140 font: 400 14px 'Montserrat', sans-serif; |
| 141 line-height: 125%; | 141 line-height: 125%; |
| 142 } | 142 } |
| 143 .splitter { | 143 .splitter { |
| 144 height: 0px; | 144 height: 0px; |
| 145 margin: 0px; | 145 margin: 0px; |
| 146 font-size: 1px; | 146 font-size: 1px; |
| 147 border-bottom: 1px dashed #888; | 147 border-bottom: 1px dashed #888; |
| 148 } | 148 } |
| 149 .noMessages .noStack { | 149 .noMessages, .noStack { |
| 150 margin: 0px 20px 10px 20px; | 150 margin: 10px 0px 10px 25px; |
| 151 font: normal 14px consolas, courier, monospace; | 151 font: bold 14px 'Montserrat', sans-serif; |
| 152 line-height: 125%; | 152 line-height: 125%; |
| 153 } | 153 } |
| 154 </style> | 154 </style> |
| 155 <template if="{{ isSampled }}"> | 155 <template if="{{ isSampled }}"> |
| 156 <div class="sampledMessage"> | 156 <div class="sampledMessage"> |
| 157 The program is not paused. The stack trace below may be out of date.<br
> | 157 The program is not paused. The stack trace below may be out of date.<br
> |
| 158 <br> | 158 <br> |
| 159 <action-link label="Pause Isolate" callback="{{ doPauseIsolate }}"> | 159 <action-link label="Pause Isolate" callback="{{ doPauseIsolate }}"> |
| 160 </action-link> | 160 </action-link> |
| 161 <action-link label="Refresh Stack" callback="{{ doRefreshStack }}"> | 161 <action-link label="Refresh Stack" callback="{{ doRefreshStack }}"> |
| 162 </action-link> | 162 </action-link> |
| 163 <br> | 163 <br> |
| 164 <br> | 164 <br> |
| 165 <hr class="splitter"> | 165 <hr class="splitter"> |
| 166 </div> | 166 </div> |
| 167 </template> | 167 </template> |
| 168 <template if="{{ !hasStack }}"> | 168 <template if="{{ !hasStack }}"> |
| 169 <div class="noStack">No stack</div> | 169 <div class="noStack">No stack</div> |
| 170 </template> | 170 </template> |
| 171 <ul id="frameList" class="list-group"> | 171 <ul id="frameList" class="list-group"> |
| 172 <!-- debugger-frame elements are added programmatically --> | 172 <!-- debugger-frame elements are added programmatically --> |
| 173 </ul> | 173 </ul> |
| 174 <hr> | 174 <hr> |
| 175 <template if="{{ !hasMessages }}"> | 175 <template if="{{ !hasMessages }}"> |
| 176 <div class="noMessages">No messages</div> | 176 <div class="noMessages">No pending messages</div> |
| 177 </template> | 177 </template> |
| 178 <ul id="messageList" class="list-group"> | 178 <ul id="messageList" class="list-group"> |
| 179 <!-- debugger-message elements are added programmatically --> | 179 <!-- debugger-message elements are added programmatically --> |
| 180 </ul> | 180 </ul> |
| 181 </template> | 181 </template> |
| 182 </polymer-element> | 182 </polymer-element> |
| 183 | 183 |
| 184 | 184 |
| 185 <polymer-element name="debugger-frame" extends="observatory-element"> | 185 <polymer-element name="debugger-frame" extends="observatory-element"> |
| 186 <template> | 186 <template> |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 } | 219 } |
| 220 .frameOuter:hover .frameExpander{ | 220 .frameOuter:hover .frameExpander{ |
| 221 display: inline-block; | 221 display: inline-block; |
| 222 } | 222 } |
| 223 .frameContractor { | 223 .frameContractor { |
| 224 position: absolute; | 224 position: absolute; |
| 225 right: 5px; | 225 right: 5px; |
| 226 bottom: 5px; | 226 bottom: 5px; |
| 227 display: inline-block; | 227 display: inline-block; |
| 228 } | 228 } |
| 229 .flex-item-script { |
| 230 flex-grow: 1; |
| 231 flex-shrink: 1; |
| 232 flex-basis: 765px; |
| 233 } |
| 234 .flex-item-vars { |
| 235 flex-grow: 5; |
| 236 flex-shrink: 0; |
| 237 flex-basis: 225px; |
| 238 } |
| 229 </style> | 239 </style> |
| 230 <div id="frameOuter" class="frameOuter"> | 240 <div id="frameOuter" class="frameOuter"> |
| 231 <a on-click="{{ toggleExpand }}"> | 241 <a on-click="{{ toggleExpand }}"> |
| 232 <div class="frameSummary"> | 242 <div class="frameSummary"> |
| 233 <div class="frameSummaryText"> | 243 <div class="frameSummaryText"> |
| 234 <div class="frameId"><b>frame {{ frame['depth'] }}</b></div> | 244 <div class="frameId"><b>frame {{ frame['depth'] }}</b></div> |
| 235 <function-ref ref="{{ frame['function'] }}"></function-ref> | 245 <function-ref ref="{{ frame['function'] }}"></function-ref> |
| 236 ( <script-ref ref="{{ frame['script'] }}" | 246 ( <script-ref ref="{{ frame['script'] }}" |
| 237 pos="{{ frame['tokenPos'] }}"> | 247 pos="{{ frame['tokenPos'] }}"> |
| 238 </script-ref> ) | 248 </script-ref> ) |
| 239 </div> | 249 </div> |
| 240 <template if="{{ !expanded }}"> | 250 <template if="{{ !expanded }}"> |
| 241 <div class="frameExpander"> | 251 <div class="frameExpander"> |
| 242 <icon-expand-more></icon-expand-more> | 252 <icon-expand-more></icon-expand-more> |
| 243 </div> | 253 </div> |
| 244 </template> | 254 </template> |
| 245 </div> | 255 </div> |
| 246 </a> | 256 </a> |
| 247 | 257 |
| 248 <template if="{{expanded}}"> | 258 <template if="{{expanded}}"> |
| 249 <div class="frameDetails"> | 259 <div class="frameDetails"> |
| 250 <div class="flex-row"> | 260 <div class="flex-row-wrap"> |
| 251 <div class="flex-item-60-percent"> | 261 <div class="flex-item-script"> |
| 252 <script-inset height="{{ scriptHeight }}" | 262 <script-inset height="{{ scriptHeight }}" |
| 253 script="{{ frame['function'].script }}" | 263 script="{{ frame['function'].script }}" |
| 254 startPos="{{ frame['function'].tokenPos }}" | 264 startPos="{{ frame['function'].tokenPos }}" |
| 255 endPos="{{ frame['function'].endTokenPos }}" | 265 endPos="{{ frame['function'].endTokenPos }}" |
| 256 currentPos="{{ frame['tokenPos'] }}" | 266 currentPos="{{ frame['tokenPos'] }}" |
| 257 inDebuggerContext="{{ true }}" | 267 inDebuggerContext="{{ true }}" |
| 258 variables="{{ frame['vars'] }}"> | 268 variables="{{ frame['vars'] }}"> |
| 259 </script-inset> | 269 </script-inset> |
| 260 </div> | 270 </div> |
| 261 <div class="flex-item-40-percent"> | 271 <div class="flex-item-vars"> |
| 262 <div style="padding:10px;" class="memberList"> | 272 <div style="padding:10px;" class="memberList"> |
| 263 <template repeat="{{ v in frame['vars'] }}"> | 273 <template repeat="{{ v in frame['vars'] }}"> |
| 264 <div class="memberItem"> | 274 <div class="memberItem"> |
| 265 <div class="memberName">{{ v['name']}}</div> | 275 <div class="memberName">{{ v['name']}}</div> |
| 266 <div class="memberValue"> | 276 <div class="memberValue"> |
| 267 <any-service-ref ref="{{ v['value'] }}"> | 277 <any-service-ref ref="{{ v['value'] }}"> |
| 268 </any-service-ref> | 278 </any-service-ref> |
| 269 </div> | 279 </div> |
| 270 </div> | 280 </div> |
| 271 </template> | 281 </template> |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 323 } | 333 } |
| 324 .messageOuter:hover .messageExpander { | 334 .messageOuter:hover .messageExpander { |
| 325 display: inline-block; | 335 display: inline-block; |
| 326 } | 336 } |
| 327 .messageContractor { | 337 .messageContractor { |
| 328 position: absolute; | 338 position: absolute; |
| 329 right: 5px; | 339 right: 5px; |
| 330 bottom: 5px; | 340 bottom: 5px; |
| 331 display: inline-block; | 341 display: inline-block; |
| 332 } | 342 } |
| 343 .flex-item-script { |
| 344 flex-grow: 1; |
| 345 flex-shrink: 1; |
| 346 flex-basis: 765px; |
| 347 } |
| 348 .flex-item-vars { |
| 349 flex-grow: 5; |
| 350 flex-shrink: 0; |
| 351 flex-basis: 225px; |
| 352 } |
| 333 </style> | 353 </style> |
| 334 <div id="messageOuter" class="messageOuter"> | 354 <div id="messageOuter" class="messageOuter"> |
| 335 <a on-click="{{ toggleExpand }}"> | 355 <a on-click="{{ toggleExpand }}"> |
| 336 <div class="messageSummary"> | 356 <div class="messageSummary"> |
| 337 <div class="messageSummaryText"> | 357 <div class="messageSummaryText"> |
| 338 <div class="messageId"><b>message {{ message['depth'] }}</b></div> | 358 <div class="messageId"><b>message {{ message['depth'] }}</b></div> |
| 339 <function-ref ref="{{ message['handlerFunction'] }}"></function-ref> | 359 <function-ref ref="{{ message['handlerFunction'] }}"></function-ref> |
| 340 ( <script-ref ref="{{ message['handlerScript'] }}" | 360 ( <script-ref ref="{{ message['handlerScript'] }}" |
| 341 pos="{{ message['handlerTokenPos'] }}"> | 361 pos="{{ message['handlerTokenPos'] }}"> |
| 342 </script-ref> ) | 362 </script-ref> ) |
| 343 </div> | 363 </div> |
| 344 <template if="{{ !expanded }}"> | 364 <template if="{{ !expanded }}"> |
| 345 <div class="messageExpander"> | 365 <div class="messageExpander"> |
| 346 <icon-expand-more></icon-expand-more> | 366 <icon-expand-more></icon-expand-more> |
| 347 </div> | 367 </div> |
| 348 </template> | 368 </template> |
| 349 </div> | 369 </div> |
| 350 </a> | 370 </a> |
| 351 | 371 |
| 352 <template if="{{expanded}}"> | 372 <template if="{{expanded}}"> |
| 353 <div class="messageDetails"> | 373 <div class="messageDetails"> |
| 354 <div class="flex-row"> | 374 <div class="flex-row-wrap"> |
| 355 <div class="flex-item-60-percent"> | 375 <div class="flex-item-script"> |
| 356 <template if="{{ message['handlerFunction'] != null }}"> | 376 <template if="{{ message['handlerFunction'] != null }}"> |
| 357 <script-inset height="{{ scriptHeight }}" | 377 <script-inset height="{{ scriptHeight }}" |
| 358 script="{{ message['handlerFunction'].script }}" | 378 script="{{ message['handlerFunction'].script }}" |
| 359 startPos="{{ message['handlerFunction'].tokenPos }}" | 379 startPos="{{ message['handlerFunction'].tokenPos }}" |
| 360 endPos="{{ message['handlerFunction'].endTokenPos }}
" | 380 endPos="{{ message['handlerFunction'].endTokenPos }}
" |
| 361 inDebuggerContext="{{ true }}"> | 381 inDebuggerContext="{{ true }}"> |
| 362 </script-inset> | 382 </script-inset> |
| 363 </template> | 383 </template> |
| 364 </div> | 384 </div> |
| 365 <div class="flex-item-40-percent"> | 385 <div class="flex-item-vars"> |
| 366 <div class="memberItem"> | 386 <div class="memberItem"> |
| 367 <div class="memberName"></div> | 387 <div class="memberName"></div> |
| 368 <div class="memberValue"> | 388 <div class="memberValue"> |
| 369 <eval-link callback="{{ previewMessage }}" label="[preview]" r
esult="{{ preview }}"></eval-link> | 389 <eval-link callback="{{ previewMessage }}" label="[preview]" r
esult="{{ preview }}"></eval-link> |
| 370 </div> | 390 </div> |
| 371 </div> | 391 </div> |
| 372 </div> | 392 </div> |
| 373 </div> | 393 </div> |
| 374 <div class="messageContractor"> | 394 <div class="messageContractor"> |
| 375 <template if="{{expanded}}"> | 395 <template if="{{expanded}}"> |
| (...skipping 18 matching lines...) Expand all Loading... |
| 394 .normal { | 414 .normal { |
| 395 font: normal 14px consolas, courier, monospace; | 415 font: normal 14px consolas, courier, monospace; |
| 396 white-space: pre; | 416 white-space: pre; |
| 397 line-height: 125%; | 417 line-height: 125%; |
| 398 } | 418 } |
| 399 .bold { | 419 .bold { |
| 400 font: bold 14px consolas, courier, monospace; | 420 font: bold 14px consolas, courier, monospace; |
| 401 white-space: pre; | 421 white-space: pre; |
| 402 line-height: 125%; | 422 line-height: 125%; |
| 403 } | 423 } |
| 424 .red { |
| 425 font: normal 14px consolas, courier, monospace; |
| 426 white-space: pre; |
| 427 line-height: 125%; |
| 428 color: red; |
| 429 } |
| 404 .spacer { | 430 .spacer { |
| 405 height: 20px; | 431 height: 20px; |
| 406 } | 432 } |
| 407 </style> | 433 </style> |
| 408 <div id="consoleText" class="console"> | 434 <div id="consoleText" class="console"> |
| 409 <!-- Console output is added programmatically here using the 'normal' | 435 <!-- Console output is added programmatically here using the 'normal' |
| 410 and 'bold' styles. --> | 436 and 'bold' styles. --> |
| 411 </div> | 437 </div> |
| 412 </template> | 438 </template> |
| 413 </polymer-element> | 439 </polymer-element> |
| 414 | 440 |
| 415 <polymer-element name="debugger-input" extends="observatory-element"> | 441 <polymer-element name="debugger-input" extends="observatory-element"> |
| 416 <template> | 442 <template> |
| 417 <link rel="stylesheet" href="css/shared.css"> | 443 <link rel="stylesheet" href="css/shared.css"> |
| 418 <style> | 444 <style> |
| 419 .textBox { | 445 .textBox { |
| 420 margin: 20px; | 446 margin: 20px; |
| 421 font: 400 16px consolas, courier, monospace; | 447 font: 400 16px consolas, courier, monospace; |
| 422 width: 95%; | 448 width: 95%; |
| 423 } | 449 } |
| 424 </style> | 450 </style> |
| 425 <input id="textBox" class="textBox" type="text" value="{{ text }}" autofocus
> | 451 <input id="textBox" class="textBox" type="text" value="{{ text }}" autofocus
> |
| 426 </template> | 452 </template> |
| 427 </polymer-element> | 453 </polymer-element> |
| 428 | 454 |
| 429 <script type="application/dart" src="debugger.dart"></script> | 455 <script type="application/dart" src="debugger.dart"></script> |
| OLD | NEW |