| OLD | NEW |
| 1 <!DOCTYPE html><html><head> | 1 <!DOCTYPE html><html><head> |
| 2 | 2 |
| 3 | 3 |
| 4 <title>Dart VM Observatory</title> | 4 <title>Dart VM Observatory</title> |
| 5 <meta charset="utf-8"> | 5 <meta charset="utf-8"> |
| 6 <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.c
ss"> | 6 <link type="text/css" rel="stylesheet" href="bootstrap_css/css/bootstrap.min.c
ss"> |
| 7 <script type="text/javascript" src="https://www.google.com/jsapi"></script> | 7 <script type="text/javascript" src="https://www.google.com/jsapi"></script> |
| 8 | 8 |
| 9 | 9 |
| 10 <script src="index_devtools.html_bootstrap.dart.js"></script> | 10 <script src="index_devtools.html_bootstrap.dart.js"></script> |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 </li> | 219 </li> |
| 220 </template> | 220 </template> |
| 221 </ul> | 221 </ul> |
| 222 </template> | 222 </template> |
| 223 </template> | 223 </template> |
| 224 | 224 |
| 225 </polymer-element> | 225 </polymer-element> |
| 226 <polymer-element name="service-ref" extends="observatory-element"> | 226 <polymer-element name="service-ref" extends="observatory-element"> |
| 227 | 227 |
| 228 </polymer-element><polymer-element name="class-ref" extends="service-ref"> | 228 </polymer-element><polymer-element name="class-ref" extends="service-ref"> |
| 229 <template> | 229 |
| 230 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a> | 230 <template><a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a></template> |
| 231 </template> | 231 |
| 232 | 232 |
| 233 </polymer-element> | 233 </polymer-element> |
| 234 <polymer-element name="error-view" extends="observatory-element"> | 234 <polymer-element name="curly-block"> |
| 235 <template> | |
| 236 <div class="row"> | |
| 237 <div class="col-md-8 col-md-offset-2"> | |
| 238 <div class="panel panel-danger"> | |
| 239 <div class="panel-heading">{{ error.kind }}</div> | |
| 240 <div class="panel-body"> | |
| 241 <p>{{ error.message }}</p> | |
| 242 </div> | |
| 243 </div> | |
| 244 </div> | |
| 245 </div> | |
| 246 </template> | |
| 247 | |
| 248 </polymer-element><polymer-element name="field-ref" extends="service-ref"> | |
| 249 <template> | |
| 250 <div> | |
| 251 <template if="{{ ref['final'] }}"> final </template> | |
| 252 <template if="{{ ref['const'] }}"> const </template> | |
| 253 <template if="{{ (ref['declared_type']['name'] == 'dynamic' && !ref['f
inal'] && !ref['const']) }}"> | |
| 254 var | |
| 255 </template> | |
| 256 <template if="{{ (ref['declared_type']['name'] != 'dynamic') }}"> | |
| 257 <class-ref ref="{{ ref['declared_type'] }}"></class-ref> | |
| 258 </template> | |
| 259 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a> | |
| 260 </div> | |
| 261 </template> </polymer-element><polymer-element name="function-ref" extends="ser
vice-ref"> | |
| 262 <template> | |
| 263 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a> | |
| 264 </template> | |
| 265 | |
| 266 </polymer-element><polymer-element name="curly-block"> | |
| 267 <template> | 235 <template> |
| 268 <style> | 236 <style> |
| 269 .idle { | 237 .idle { |
| 270 display: inline-block; | 238 display: inline-block; |
| 271 color: #0489c3; | 239 color: #0489c3; |
| 272 cursor: pointer; | 240 cursor: pointer; |
| 273 } | 241 } |
| 274 .busy { | 242 .busy { |
| 275 display: inline-block; | 243 display: inline-block; |
| 276 color: white; | 244 color: white; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 299 <template if="{{ !busy }}"> | 267 <template if="{{ !busy }}"> |
| 300 {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊞ &
nbsp;</div></a>} | 268 {<a on-click="{{ toggleExpand }}"><div class="idle"> ⊞ &
nbsp;</div></a>} |
| 301 </template> | 269 </template> |
| 302 </template> | 270 </template> |
| 303 </template> | 271 </template> |
| 304 | 272 |
| 305 </polymer-element> | 273 </polymer-element> |
| 306 <polymer-element name="instance-ref" extends="service-ref"> | 274 <polymer-element name="instance-ref" extends="service-ref"> |
| 307 <template> | 275 <template> |
| 308 <style> | 276 <style> |
| 309 .member { | 277 .memberList { |
| 278 display: table; |
| 279 } |
| 280 .memberItem { |
| 281 display: table-row; |
| 282 } |
| 283 .memberName, .memberValue { |
| 284 display: table-cell; |
| 310 vertical-align: top; | 285 vertical-align: top; |
| 311 padding: 1px 0 1px 1em; | 286 padding: 3px 0 3px 1em; |
| 287 font: 400 14px 'Montserrat', sans-serif; |
| 312 } | 288 } |
| 313 </style> | 289 </style> |
| 314 <div> | 290 <div> |
| 315 <template if="{{ isUnexpected(ref.serviceType) }}"> | 291 <template if="{{ isUnexpected(ref.serviceType) }}"> |
| 316 unexpected reference type <{{ ref.serviceType }}> | 292 unexpected reference type <{{ ref.serviceType }}> |
| 317 </template> | 293 </template> |
| 318 | 294 |
| 319 <template if="{{ isError(ref.serviceType) }}"> | 295 <template if="{{ isError(ref.serviceType) }}"> |
| 320 <pre>{{ ref.message }}</pre> | 296 <pre>{{ ref.message }}</pre> |
| 321 </template> | 297 </template> |
| 322 | 298 |
| 323 <template if="{{ isNull(ref.serviceType) }}"> | 299 <template if="{{ isNull(ref.serviceType) }}"> |
| 324 <div title="{{ hoverText }}">{{ ref['preview'] }}</div> | 300 <div title="{{ hoverText }}">{{ ref['preview'] }}</div> |
| 325 </template> | 301 </template> |
| 326 | 302 |
| 327 <template if="{{ (isString(ref.serviceType) || | 303 <template if="{{ (isString(ref.serviceType) || |
| 328 isBool(ref.serviceType) || | 304 isBool(ref.serviceType) || |
| 329 isInt(ref.serviceType)) }}"> | 305 isInt(ref.serviceType)) }}"> |
| 330 <a href="{{ url }}">{{ ref['preview'] }}</a> | 306 <a href="{{ url }}">{{ ref['preview'] }}</a> |
| 331 </template> | 307 </template> |
| 332 | 308 |
| 333 <template if="{{ isClosure(ref.serviceType) }}"> | 309 <template if="{{ isClosure(ref.serviceType) }}"> |
| 334 <a href="{{ url }}"> | 310 <a href="{{ url }}"> |
| 311 <!-- TODO(turnidge): Switch this to fully-qualified function --> |
| 335 {{ ref['closureFunc']['user_name'] }} | 312 {{ ref['closureFunc']['user_name'] }} |
| 336 </a> | 313 </a> |
| 337 </template> | 314 </template> |
| 338 | 315 |
| 339 <template if="{{ isInstance(ref.serviceType) }}"> | 316 <template if="{{ isInstance(ref.serviceType) }}"> |
| 340 <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em></a> | 317 <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em></a> |
| 341 <curly-block callback="{{ expander() }}"> | 318 <curly-block callback="{{ expander() }}"> |
| 342 <table> | 319 <div class="memberList"> |
| 343 <tbody><tr template="" repeat="{{ field in ref['fields'] }}"> | 320 <template repeat="{{ field in ref['fields'] }}"> |
| 344 <td class="member">{{ field['decl']['user_name'] }}</td> | 321 <div class="memberItem"> |
| 345 <td class="member"> | 322 <div class="memberName"> |
| 346 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 323 {{ field['decl']['user_name'] }} |
| 347 </td> | 324 </div> |
| 348 </tr> | 325 <div class="memberValue"> |
| 349 </tbody></table> | 326 <instance-ref ref="{{ field['value'] }}"></instance-ref> |
| 327 </div> |
| 328 </div> |
| 329 </template> |
| 330 </div> |
| 350 </curly-block> | 331 </curly-block> |
| 351 </template> | 332 </template> |
| 352 | 333 |
| 353 <template if="{{ isList(ref.serviceType) }}"> | 334 <template if="{{ isList(ref.serviceType) }}"> |
| 354 <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em> ({{ ref['le
ngth']}})</a> | 335 <a href="{{ url }}"><em>{{ ref['class']['user_name'] }}</em> ({{ ref['le
ngth']}})</a> |
| 355 <curly-block callback="{{ expander() }}"> | 336 <curly-block callback="{{ expander() }}"> |
| 356 <table> | 337 <div class="memberList"> |
| 357 <tbody><tr template="" repeat="{{ element in ref['elements'] }}"> | 338 <template repeat="{{ element in ref['elements'] }}"> |
| 358 <td class="member">[{{ element['index']}}]</td> | 339 <div class="memberItem"> |
| 359 <td class="member"> | 340 <div class="memberName">[{{ element['index']}}]</div> |
| 360 <instance-ref ref="{{ element['value'] }}"></instance-ref> | 341 <div class="memberValue"> |
| 361 </td> | 342 <instance-ref ref="{{ element['value'] }}"></instance-ref> |
| 362 </tr> | 343 </div> |
| 363 </tbody></table> | 344 </div> |
| 345 </template> |
| 346 </div> |
| 364 </curly-block> | 347 </curly-block> |
| 365 </template> | 348 </template> |
| 366 | 349 |
| 367 </div> | 350 </div> |
| 368 </template> | 351 </template> |
| 369 | 352 |
| 370 </polymer-element> | 353 </polymer-element> |
| 354 <polymer-element name="eval-box" extends="observatory-element"> |
| 355 <template> |
| 356 <style> |
| 357 .textbox { |
| 358 width: 80ex; |
| 359 font: 400 16px 'Montserrat', sans-serif; |
| 360 } |
| 361 .bigtextbox { |
| 362 font: 400 16px 'Montserrat', sans-serif; |
| 363 } |
| 364 .button { |
| 365 font: 400 16px 'Montserrat', sans-serif; |
| 366 } |
| 367 .radios { |
| 368 display: inline; |
| 369 } |
| 370 .radios label{ |
| 371 padding-left: 15px; |
| 372 } |
| 373 .historyExpr, .historyValue { |
| 374 vertical-align: text-top; |
| 375 font: 400 14px 'Montserrat', sans-serif; |
| 376 } |
| 377 .historyExpr a { |
| 378 display: block; |
| 379 color: black; |
| 380 text-decoration: none; |
| 381 padding: 6px 6px; |
| 382 cursor: pointer; |
| 383 white-space: pre-line; |
| 384 } |
| 385 .historyExpr a:hover { |
| 386 background-color: #e1f5fe |
| 387 } |
| 388 .historyValue { |
| 389 display: block; |
| 390 padding: 6px 6px; |
| 391 } |
| 392 </style> |
| 393 <form> |
| 394 <template if="{{ lineMode == '1-line' }}"> |
| 395 <input class="textbox" type="text" value="{{ text }}"> |
| 396 </template> |
| 397 <template if="{{ lineMode == 'N-line' }}"> |
| 398 <textarea class="bigtextbox" rows="5" cols="80" value="{{ text }}"></tex
tarea> |
| 399 </template> |
| 400 |
| 401 <input class="button" type="submit" value="Evaluate" on-click="{{ eval }}"
> |
| 402 <div class="radios" on-change="{{ updateLineMode }}"> |
| 403 <label for="1-line">1-line |
| 404 <input type="radio" name="lineMode" value="1-line" checked=""> |
| 405 </label> |
| 406 <label for="N-line">N-line |
| 407 <input type="radio" name="lineMode" value="N-line"> |
| 408 </label> |
| 409 </div> |
| 410 </form> |
| 411 |
| 412 <br> |
| 413 <template if="{{ results.isNotEmpty }}"> |
| 414 <table> |
| 415 <tbody><tr template="" repeat="{{ result in results }}"> |
| 416 <td class="historyExpr"> |
| 417 <a class="expr" on-click="{{ selectExpr }}" expr="{{ result['expr']
}}">{{ result['expr'] }}</a> |
| 418 </td> |
| 419 <td class="historyValue"> |
| 420 <template if="{{ result['value'] == null }}"> |
| 421 <div style="color:#aaa;cursor:wait;"><pending></div> |
| 422 </template> |
| 423 <template if="{{ result['value'] != null }}"> |
| 424 <instance-ref isolate="{{ isolate }}" ref="{{ result['value'] }}"> |
| 425 </instance-ref> |
| 426 </template> |
| 427 </td> |
| 428 </tr> |
| 429 </tbody></table> |
| 430 </template> |
| 431 </template> |
| 432 </polymer-element> |
| 433 |
| 434 |
| 435 <polymer-element name="field-ref" extends="service-ref"> |
| 436 <template> |
| 437 <div> |
| 438 <template if="{{ ref['final'] }}"> final </template> |
| 439 <template if="{{ ref['const'] }}"> const </template> |
| 440 <template if="{{ (ref['declared_type']['name'] == 'dynamic' && !ref['f
inal'] && !ref['const']) }}"> |
| 441 var |
| 442 </template> |
| 443 <template if="{{ (ref['declared_type']['name'] != 'dynamic') }}"> |
| 444 <class-ref ref="{{ ref['declared_type'] }}"></class-ref> |
| 445 </template> |
| 446 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a> |
| 447 </div> |
| 448 </template> </polymer-element><polymer-element name="function-ref" extends="ser
vice-ref"> |
| 449 <!-- TODO(turnidge): Is there a way to add newlines to this without |
| 450 messing up the output? --> |
| 451 <template><template if="{{ qualified && !hasParent && hasClass
}}"><class-ref ref="{{ ref['class'] }}"></class-ref>.</template><template if="{
{ qualified && hasParent }}"><function-ref ref="{{ ref['parent'] }}" qua
lified="{{ true }}"></function-ref>.</template><a href="{{ url }}">{{ name }}</a
></template> |
| 452 |
| 453 |
| 454 </polymer-element> |
| 371 <polymer-element name="library-ref" extends="service-ref"> | 455 <polymer-element name="library-ref" extends="service-ref"> |
| 372 <template> | 456 <template> |
| 373 <a href="{{ url }}">{{ name }}</a> | 457 <a href="{{ url }}">{{ name }}</a> |
| 374 </template> | 458 </template> |
| 375 | 459 |
| 376 </polymer-element><polymer-element name="class-view" extends="observatory-elemen
t"> | 460 </polymer-element><polymer-element name="script-ref" extends="service-ref"> |
| 461 <template> |
| 462 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a> |
| 463 </template> |
| 464 |
| 465 </polymer-element> |
| 466 <polymer-element name="class-view" extends="observatory-element"> |
| 377 <template> | 467 <template> |
| 468 <style> |
| 469 .content { |
| 470 padding-left: 10%; |
| 471 font: 400 14px 'Montserrat', sans-serif; |
| 472 } |
| 473 h1 { |
| 474 font: 400 18px 'Montserrat', sans-serif; |
| 475 } |
| 476 .memberList { |
| 477 display: table; |
| 478 } |
| 479 .memberItem { |
| 480 display: table-row; |
| 481 } |
| 482 .memberName, .memberValue { |
| 483 display: table-cell; |
| 484 vertical-align: top; |
| 485 padding: 3px 0 3px 1em; |
| 486 font: 400 14px 'Montserrat', sans-serif; |
| 487 } |
| 488 </style> |
| 489 |
| 378 <nav-bar> | 490 <nav-bar> |
| 379 <top-nav-menu></top-nav-menu> | 491 <top-nav-menu></top-nav-menu> |
| 380 <isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu> | 492 <isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu> |
| 381 <library-nav-menu library="{{ cls['library'] }}"></library-nav-menu> | 493 <library-nav-menu library="{{ cls['library'] }}"></library-nav-menu> |
| 382 <class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu> | 494 <class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu> |
| 383 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 495 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 384 </nav-bar> | 496 </nav-bar> |
| 385 | 497 |
| 386 <div class="row"> | 498 <div class="content"> |
| 387 <div class="col-md-8 col-md-offset-2"> | 499 <h1> |
| 388 <div class="panel panel-warning"> | 500 <template if="{{ cls['abstract'] }}"> |
| 389 <div class="panel-heading"> | 501 abstract |
| 390 class <strong>{{ cls.name }}</strong> | 502 </template> |
| 391 <template if="{{ cls['super']['type'] != 'Null' }}"> | 503 <template if="{{ cls['patch'] }}"> |
| 392 extends | 504 patch |
| 393 <class-ref ref="{{ cls['super'] }}"></class-ref> | 505 </template> |
| 394 </template> | 506 class {{ cls.name }} |
| 395 <p></p> | 507 </h1> |
| 396 <library-ref ref="{{ cls['library'] }}"></library-ref> | 508 <div class="memberList"> |
| 509 <div class="memberItem"> |
| 510 <div class="memberName">library</div> |
| 511 <div class="memberValue"> |
| 512 <library-ref ref="{{ cls['library'] }}"></library-ref> |
| 513 </div> |
| 397 </div> | 514 </div> |
| 398 <div class="panel-body"> | 515 <div class="memberItem"> |
| 399 <table class="table table-hover"> | 516 <div class="memberName">script</div> |
| 400 <tbody> | 517 <div class="memberValue"> |
| 401 <tr> | 518 <script-ref ref="{{ cls['script'] }}" line="{{ cls['line'] }}"> |
| 402 <td>Abstract</td><td>{{ cls['abstract'] }}</td> | 519 </script-ref> |
| 403 </tr> | 520 </div> |
| 404 <tr> | |
| 405 <td>Const</td><td>{{ cls['const'] }}</td> | |
| 406 </tr> | |
| 407 <tr> | |
| 408 <td>Finalized</td><td>{{ cls['const'] }}</td> | |
| 409 </tr> | |
| 410 <tr> | |
| 411 <td>Implemented</td><td>{{ cls['implemented'] }}</td> | |
| 412 </tr> | |
| 413 <tr> | |
| 414 <td>Patch</td><td>{{ cls['patch'] }}</td> | |
| 415 </tr> | |
| 416 <tr> | |
| 417 <td>VM Name</td><td>{{ cls['name'] }}</td> | |
| 418 </tr> | |
| 419 </tbody> | |
| 420 </table> | |
| 421 <template if="{{ cls['error'] == null }}"> | |
| 422 <blockquote><strong>Fields</strong></blockquote> | |
| 423 <table class="table table-hover"> | |
| 424 <tbody> | |
| 425 <tr template="" repeat="{{ field in cls['fields'] }}"> | |
| 426 <td><field-ref ref="{{ field }}"></field-ref></td> | |
| 427 <td><instance-ref ref="{{ field['value'] }}"></instance-ref></
td> | |
| 428 </tr> | |
| 429 </tbody> | |
| 430 </table> | |
| 431 <blockquote><strong>Functions</strong></blockquote> | |
| 432 <table class="table table-hover"> | |
| 433 <thead> | |
| 434 <tr> | |
| 435 <th>User Name</th> | |
| 436 <th>VM Name</th> | |
| 437 </tr> | |
| 438 </thead> | |
| 439 <tbody> | |
| 440 <tr template="" repeat="{{ function in cls['functions'] }}"> | |
| 441 <td><function-ref ref="{{ function }}"></function-ref></td> | |
| 442 <td><function-ref ref="{{ function }}" internal=""></function-
ref></td> | |
| 443 </tr> | |
| 444 </tbody> | |
| 445 </table> | |
| 446 </template> | |
| 447 <template if="{{ cls['error'] != null }}"> | |
| 448 <error-view error_obj="{{ cls['error'] }}"></error-view> | |
| 449 </template> | |
| 450 </div> | 521 </div> |
| 522 |
| 523 <div class="memberItem"> </div> |
| 524 |
| 525 <template if="{{ cls['super']['type'] != 'Null' }}"> |
| 526 <div class="memberItem"> |
| 527 <div class="memberName">extends</div> |
| 528 <div class="memberValue"> |
| 529 <class-ref ref="{{ cls['super'] }}"></class-ref> |
| 530 </div> |
| 531 </div> |
| 532 </template> |
| 533 <template if="{{ cls['subclasses'].length > 0 }}"> |
| 534 <div class="memberItem"> |
| 535 <div class="memberName">extended by</div> |
| 536 <div class="memberValue"> |
| 537 <template repeat="{{ subclass in cls['subclasses'] }}"> |
| 538 <class-ref ref="{{ subclass }}"></class-ref> |
| 539 </template> |
| 540 </div> |
| 541 </div> |
| 542 </template> |
| 543 |
| 544 <div class="memberItem"> </div> |
| 545 |
| 546 <template if="{{ cls['interfaces'].length > 0 }}"> |
| 547 <div class="memberItem"> |
| 548 <div class="memberName">implements</div> |
| 549 <div class="memberValue"> |
| 550 <template repeat="{{ interface in cls['interfaces'] }}"> |
| 551 <class-ref ref="{{ interface }}"></class-ref> |
| 552 </template> |
| 553 </div> |
| 554 </div> |
| 555 </template> |
| 556 <template if="{{ cls.name != cls.vmName }}"> |
| 557 <div class="memberItem"> |
| 558 <div class="memberName">vm name</div> |
| 559 <div class="memberValue">{{ cls.vmName }}</div> |
| 560 </div> |
| 561 </template> |
| 451 </div> | 562 </div> |
| 452 </div> | 563 </div> |
| 564 |
| 565 <template if="{{ cls['error'] != null }}"> |
| 566 <!-- TODO(turnidge): Don't use instance-ref for error display here --> |
| 567 <instance-ref ref="{{ cls['error'] }}"></instance-ref> |
| 568 </template> |
| 569 |
| 570 <hr> |
| 571 |
| 572 <div class="content"> |
| 573 <template if="{{ cls['fields'].isNotEmpty }}"> |
| 574 fields ({{ cls['fields'].length }}) |
| 575 <curly-block> |
| 576 <div class="memberList"> |
| 577 <template repeat="{{ field in cls['fields'] }}"> |
| 578 <div class="memberItem"> |
| 579 <div class="memberName"> |
| 580 <field-ref ref="{{ field }}"></field-ref> |
| 581 </div> |
| 582 <div class="memberValue"> |
| 583 <template if="{{ field['value'] != null }}"> |
| 584 <instance-ref ref="{{ field['value'] }}"></instance-ref> |
| 585 </template> |
| 586 </div> |
| 587 </div> |
| 588 </template> |
| 589 </div> |
| 590 </curly-block><br> |
| 591 </template> |
| 592 |
| 593 <template if="{{ cls['functions'].isNotEmpty }}"> |
| 594 functions ({{ cls['functions'].length }}) |
| 595 <curly-block> |
| 596 <div class="memberList"> |
| 597 <template repeat="{{ function in cls['functions'] }}"> |
| 598 <div class="memberItem"> |
| 599 <div class="memberValue"> |
| 600 <function-ref ref="{{ function }}" qualified="{{ false }}"> |
| 601 </function-ref> |
| 602 </div> |
| 603 </div> |
| 604 </template> |
| 605 </div> |
| 606 </curly-block><br> |
| 607 </template> |
| 453 </div> | 608 </div> |
| 609 |
| 610 <hr> |
| 611 |
| 612 <div class="content"> |
| 613 <eval-box callback="{{ eval }}"></eval-box> |
| 614 </div> |
| 615 <br><br><br><br> |
| 616 <br><br><br><br> |
| 454 </template> | 617 </template> |
| 455 | 618 |
| 456 </polymer-element> | 619 </polymer-element> |
| 457 <polymer-element name="code-ref" extends="service-ref"> | 620 <polymer-element name="code-ref" extends="service-ref"> |
| 458 <template> | 621 <template> |
| 459 <a href="{{ url }}">{{ name }}</a> | 622 <a href="{{ url }}">{{ name }}</a> |
| 460 </template> | 623 </template> |
| 461 | 624 |
| 462 </polymer-element><polymer-element name="code-view" extends="observatory-element
"> | 625 </polymer-element><polymer-element name="code-view" extends="observatory-element
"> |
| 463 <template> | 626 <template> |
| 464 <nav-bar> | 627 <nav-bar> |
| 465 <top-nav-menu></top-nav-menu> | 628 <top-nav-menu></top-nav-menu> |
| 466 <isolate-nav-menu isolate="{{ code.isolate }}"></isolate-nav-menu> | 629 <isolate-nav-menu isolate="{{ code.isolate }}"></isolate-nav-menu> |
| 467 <nav-menu link="." anchor="{{ code.name }}" last="{{ true }}"></nav-menu> | 630 <nav-menu link="." anchor="{{ code.name }}" last="{{ true }}"></nav-menu> |
| 468 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 631 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 469 </nav-bar> | 632 </nav-bar> |
| 470 <style> | 633 <style> |
| 471 .content { | 634 .content { |
| 472 padding-left: 10%; | 635 padding-left: 10%; |
| 473 font: 400 14px 'Montserrat', sans-serif; | 636 font: 400 14px 'Montserrat', sans-serif; |
| 474 } | 637 } |
| 475 h1 { | 638 h1 { |
| 476 font: 400 18px 'Montserrat', sans-serif; | 639 font: 400 18px 'Montserrat', sans-serif; |
| 477 } | 640 } |
| 478 .member, .memberHeader { | 641 .memberList { |
| 642 display: table; |
| 643 } |
| 644 .memberItem { |
| 645 display: table-row; |
| 646 } |
| 647 .memberName, .memberValue { |
| 648 display: table-cell; |
| 479 vertical-align: top; | 649 vertical-align: top; |
| 480 padding: 3px 0 3px 1em; | 650 padding: 3px 0 3px 1em; |
| 481 font: 400 14px 'Montserrat', sans-serif; | 651 font: 400 14px 'Montserrat', sans-serif; |
| 482 } | 652 } |
| 483 .monospace { | 653 .monospace { |
| 484 font-family: consolas, courier, monospace; | 654 font-family: consolas, courier, monospace; |
| 485 font-size: 1em; | 655 font-size: 1em; |
| 486 line-height: 1.2em; | 656 line-height: 1.2em; |
| 487 white-space: nowrap; | 657 white-space: nowrap; |
| 488 } | 658 } |
| 489 </style> | 659 </style> |
| 490 <div class="content"> | 660 <div class="content"> |
| 491 <h1>Code for {{ code.name }}</h1> | 661 <h1>Code for {{ code.name }}</h1> |
| 492 <table> | 662 <div class="memberList"> |
| 493 <tbody><tr> | 663 <div class="memberItem"> |
| 494 <td class="memberHeader">kind</td> | 664 <div class="memberName">kind</div> |
| 495 <td class="member">{{code.kind}}</td> | 665 <div class="memberValue">{{code.kind}}</div> |
| 496 </tr> | 666 </div> |
| 497 <tr> | 667 <div class="memberItem"> |
| 498 <td class="memberHeader">function</td> | 668 <div class="memberName">function</div> |
| 499 <td class="member"> | 669 <div class="memberValue"> |
| 500 <function-ref ref="{{code.function}}"> | 670 <function-ref ref="{{code.function}}"> |
| 501 </function-ref> | 671 </function-ref> |
| 502 </td> | 672 </div> |
| 503 </tr> | 673 </div> |
| 504 <tr> | 674 <div class="memberItem"> |
| 505 <td class="memberHeader">Inclusive</td> | 675 <div class="memberName">Inclusive</div> |
| 506 <td class="member">{{ code.formattedInclusiveTicks }}</td> | 676 <div class="memberValue">{{ code.formattedInclusiveTicks }}</div> |
| 507 </tr> | 677 </div> |
| 508 <tr> | 678 <div class="memberItem"> |
| 509 <td class="memberHeader">Exclusive</td> | 679 <div class="memberName">Exclusive</div> |
| 510 <td class="member">{{ code.formattedExclusiveTicks }}</td> | 680 <div class="memberValue">{{ code.formattedExclusiveTicks }}</div> |
| 511 </tr> | 681 </div> |
| 512 <tr> | 682 <div class="memberItem"> |
| 513 <td class="memberHeader">Constant object pool</td> | 683 <div class="memberName">Constant object pool</div> |
| 514 <td class="member"> | 684 <div class="memberValue"> |
| 515 <instance-ref ref="{{ code.objectPool }}"></instance-ref> | 685 <instance-ref ref="{{ code.objectPool }}"></instance-ref> |
| 516 </td> | 686 </div> |
| 517 </tr> | 687 </div> |
| 518 </tbody></table> | 688 </div> |
| 519 </div> | 689 </div> |
| 520 <hr> | 690 <hr> |
| 521 <div class="content"> | 691 <div class="content"> |
| 522 <template if="{{ code.hasDisassembly }}"> | 692 <template if="{{ code.hasDisassembly }}"> |
| 523 <div class="row"> | 693 <div class="row"> |
| 524 <div class="col-md-2 memberHeader">Inclusive</div> | 694 <div class="col-md-2 memberHeader">Inclusive</div> |
| 525 <div class="col-md-2 memberHeader">Exclusive</div> | 695 <div class="col-md-2 memberHeader">Exclusive</div> |
| 526 <div class="col-md-2 memberHeader">Address</div> | 696 <div class="col-md-2 memberHeader">Address</div> |
| 527 <div class="col-md-6 memberHeader">Disassembly</div> | 697 <div class="col-md-6 memberHeader">Disassembly</div> |
| 528 </div> | 698 </div> |
| (...skipping 15 matching lines...) Expand all Loading... |
| 544 <div class="well row"> | 714 <div class="well row"> |
| 545 <a on-click="toggleDisplay" class="btn muted unselectable"> | 715 <a on-click="toggleDisplay" class="btn muted unselectable"> |
| 546 Raw message... <i class="{{ iconClass }}"></i> | 716 Raw message... <i class="{{ iconClass }}"></i> |
| 547 </a> | 717 </a> |
| 548 <div style="display: {{ displayValue }}" class="well"> | 718 <div style="display: {{ displayValue }}" class="well"> |
| 549 <content></content> | 719 <content></content> |
| 550 </div> | 720 </div> |
| 551 </div> | 721 </div> |
| 552 </template> | 722 </template> |
| 553 | 723 |
| 554 </polymer-element><polymer-element name="eval-box" extends="observatory-element"
> | 724 </polymer-element><polymer-element name="error-view" extends="observatory-elemen
t"> |
| 555 <template> | 725 <template> |
| 556 <style> | 726 <div class="row"> |
| 557 .textbox { | 727 <div class="col-md-8 col-md-offset-2"> |
| 558 width: 80ex; | 728 <div class="panel panel-danger"> |
| 559 font: 400 16px 'Montserrat', sans-serif; | 729 <div class="panel-heading">{{ error.kind }}</div> |
| 560 } | 730 <div class="panel-body"> |
| 561 .bigtextbox { | 731 <p>{{ error.message }}</p> |
| 562 font: 400 16px 'Montserrat', sans-serif; | 732 </div> |
| 563 } | |
| 564 .button { | |
| 565 font: 400 16px 'Montserrat', sans-serif; | |
| 566 } | |
| 567 .radios { | |
| 568 display: inline; | |
| 569 } | |
| 570 .radios label{ | |
| 571 padding-left: 15px; | |
| 572 } | |
| 573 .historyExpr, .historyValue { | |
| 574 vertical-align: text-top; | |
| 575 font: 400 14px 'Montserrat', sans-serif; | |
| 576 } | |
| 577 .historyExpr a { | |
| 578 display: block; | |
| 579 color: black; | |
| 580 text-decoration: none; | |
| 581 padding: 6px 6px; | |
| 582 cursor: pointer; | |
| 583 white-space: pre-line; | |
| 584 } | |
| 585 .historyExpr a:hover { | |
| 586 background-color: #e1f5fe | |
| 587 } | |
| 588 .historyValue { | |
| 589 display: block; | |
| 590 padding: 6px 6px; | |
| 591 } | |
| 592 </style> | |
| 593 <form> | |
| 594 <template if="{{ lineMode == '1-line' }}"> | |
| 595 <input class="textbox" type="text" value="{{ text }}"> | |
| 596 </template> | |
| 597 <template if="{{ lineMode == 'N-line' }}"> | |
| 598 <textarea class="bigtextbox" rows="5" cols="80" value="{{ text }}"></tex
tarea> | |
| 599 </template> | |
| 600 | |
| 601 <input class="button" type="submit" value="Evaluate" on-click="{{ eval }}"
> | |
| 602 <div class="radios" on-change="{{ updateLineMode }}"> | |
| 603 <label for="1-line">1-line | |
| 604 <input type="radio" name="lineMode" value="1-line" checked=""> | |
| 605 </label> | |
| 606 <label for="N-line">N-line | |
| 607 <input type="radio" name="lineMode" value="N-line"> | |
| 608 </label> | |
| 609 </div> | 733 </div> |
| 610 </form> | 734 </div> |
| 611 | 735 </div> |
| 612 <br> | |
| 613 <template if="{{ results.isNotEmpty }}"> | |
| 614 <table> | |
| 615 <tbody><tr template="" repeat="{{ result in results }}"> | |
| 616 <td class="historyExpr"> | |
| 617 <a class="expr" on-click="{{ selectExpr }}" expr="{{ result['expr']
}}">{{ result['expr'] }}</a> | |
| 618 </td> | |
| 619 <td class="historyValue"> | |
| 620 <template if="{{ result['value'] == null }}"> | |
| 621 <div style="color:#aaa;cursor:wait;"><pending></div> | |
| 622 </template> | |
| 623 <template if="{{ result['value'] != null }}"> | |
| 624 <instance-ref isolate="{{ isolate }}" ref="{{ result['value'] }}"> | |
| 625 </instance-ref> | |
| 626 </template> | |
| 627 </td> | |
| 628 </tr> | |
| 629 </tbody></table> | |
| 630 </template> | |
| 631 </template> | 736 </template> |
| 632 </polymer-element> | 737 |
| 633 | 738 </polymer-element><polymer-element name="field-view" extends="observatory-elemen
t"> |
| 634 | |
| 635 <polymer-element name="field-view" extends="observatory-element"> | |
| 636 <template> | 739 <template> |
| 637 <nav-bar> | 740 <nav-bar> |
| 638 <top-nav-menu></top-nav-menu> | 741 <top-nav-menu></top-nav-menu> |
| 639 <isolate-nav-menu isolate="{{ field.isolate }}"></isolate-nav-menu> | 742 <isolate-nav-menu isolate="{{ field.isolate }}"></isolate-nav-menu> |
| 640 <template if="{{ field['owner'].serviceType == 'Class' }}"> | 743 <template if="{{ field['owner'].serviceType == 'Class' }}"> |
| 641 <!-- TODO(turnidge): Add library nav menu here. --> | 744 <!-- TODO(turnidge): Add library nav menu here. --> |
| 642 <class-nav-menu cls="{{ field['owner'] }}"></class-nav-menu> | 745 <class-nav-menu cls="{{ field['owner'] }}"></class-nav-menu> |
| 643 </template> | 746 </template> |
| 644 <template if="{{ field['owner'].serviceType == 'Library' }}"> | 747 <template if="{{ field['owner'].serviceType == 'Library' }}"> |
| 645 <library-nav-menu library="{{ field['owner'] }}"></library-nav-menu> | 748 <library-nav-menu library="{{ field['owner'] }}"></library-nav-menu> |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 741 </tr> | 844 </tr> |
| 742 </tbody> | 845 </tbody> |
| 743 </table> | 846 </table> |
| 744 </div> | 847 </div> |
| 745 </div> | 848 </div> |
| 746 </div> | 849 </div> |
| 747 </div> | 850 </div> |
| 748 </template> | 851 </template> |
| 749 | 852 |
| 750 </polymer-element> | 853 </polymer-element> |
| 751 <polymer-element name="script-ref" extends="service-ref"> | |
| 752 <template> | |
| 753 <a title="{{ hoverText }}" href="{{ url }}">{{ name }}</a> | |
| 754 </template> | |
| 755 | |
| 756 </polymer-element> | |
| 757 <polymer-element name="isolate-summary" extends="observatory-element"> | 854 <polymer-element name="isolate-summary" extends="observatory-element"> |
| 758 <template> | 855 <template> |
| 759 <div class="row"> | 856 <div class="row"> |
| 760 <div class="col-md-1"> | 857 <div class="col-md-1"> |
| 761 <img src="img/isolate_icon.png" class="img-polaroid"> | 858 <img src="img/isolate_icon.png" class="img-polaroid"> |
| 762 </div> | 859 </div> |
| 763 | 860 |
| 764 <div class="col-md-1">{{ isolate.vmName }}</div> | 861 <div class="col-md-1">{{ isolate.vmName }}</div> |
| 765 | 862 |
| 766 <!-- TODO(turnidge): Use function-ref when it can take isolate param --> | 863 <!-- TODO(turnidge): Use function-ref when it can take isolate param --> |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 874 </nav-bar> | 971 </nav-bar> |
| 875 | 972 |
| 876 <style> | 973 <style> |
| 877 .content { | 974 .content { |
| 878 padding-left: 10%; | 975 padding-left: 10%; |
| 879 font: 400 14px 'Montserrat', sans-serif; | 976 font: 400 14px 'Montserrat', sans-serif; |
| 880 } | 977 } |
| 881 h1 { | 978 h1 { |
| 882 font: 400 18px 'Montserrat', sans-serif; | 979 font: 400 18px 'Montserrat', sans-serif; |
| 883 } | 980 } |
| 884 .member { | 981 .memberList { |
| 982 display: table; |
| 983 } |
| 984 .memberItem { |
| 985 display: table-row; |
| 986 } |
| 987 .memberName, .memberValue { |
| 988 display: table-cell; |
| 885 vertical-align: top; | 989 vertical-align: top; |
| 886 padding: 3px 0 3px 1em; | 990 padding: 3px 0 3px 1em; |
| 887 font: 400 14px 'Montserrat', sans-serif; | 991 font: 400 14px 'Montserrat', sans-serif; |
| 888 } | |
| 889 .memberBold { | |
| 890 vertical-align: top; | |
| 891 padding: 3px 0 3px 1em; | |
| 892 font: 400 14px 'Montserrat', sans-serif; | |
| 893 } | 992 } |
| 894 </style> | 993 </style> |
| 895 | 994 |
| 896 <template if="{{ instance['error'] != null }}"> | 995 <template if="{{ instance['error'] != null }}"> |
| 897 <error-view error_obj="{{ instance['error'] }}"></error-view> | 996 <error-view error_obj="{{ instance['error'] }}"></error-view> |
| 898 </template> | 997 </template> |
| 899 | 998 |
| 900 <template if="{{ instance['error'] == null }}"> | 999 <template if="{{ instance['error'] == null }}"> |
| 901 <div class="content"> | 1000 <div class="content"> |
| 902 <!-- TODO(turnidge): Handle null instances. --> | 1001 <!-- TODO(turnidge): Handle null instances. --> |
| 903 <h1>instance of {{ instance['class']['user_name'] }}</h1> | 1002 <h1>instance of {{ instance['class']['user_name'] }}</h1> |
| 904 <table> | 1003 <div class="memberList"> |
| 905 <tbody><tr> | 1004 <div class="memberItem"> |
| 906 <td class="memberBold">class</td> | 1005 <div class="memberName">class</div> |
| 907 <td class="member"> | 1006 <div class="memberValue"> |
| 908 <class-ref ref="{{ instance['class'] }}"> | 1007 <class-ref ref="{{ instance['class'] }}"> |
| 909 </class-ref> | 1008 </class-ref> |
| 910 </td> | 1009 </div> |
| 911 </tr> | 1010 </div> |
| 912 <tr template="" if="{{ instance['preview'] != null }}"> | 1011 <template if="{{ instance['preview'] != null }}"> |
| 913 <td class="memberBold">preview</td> | 1012 <div class="memberItem"> |
| 914 <td class="member">{{ instance['preview'] }}</td> | 1013 <div class="memberName">preview</div> |
| 915 </tr> | 1014 <div class="memberValue">{{ instance['preview'] }}</div> |
| 916 <tr> | 1015 </div> |
| 917 <td class="memberBold">size</td> | 1016 </template> |
| 918 <td class="member">{{ instance['size'] | formatSize }}</td> | 1017 <div class="memberItem"> |
| 919 </tr> | 1018 <div class="memberName">size</div> |
| 920 </tbody></table> | 1019 <div class="memberValue">{{ instance['size'] | formatSize }}</div> |
| 1020 </div> |
| 1021 </div> |
| 921 </div> | 1022 </div> |
| 922 | 1023 |
| 923 <hr> | 1024 <hr> |
| 924 | 1025 |
| 925 <div class="content"> | 1026 <div class="content"> |
| 926 <template if="{{ instance['fields'].isNotEmpty }}"> | 1027 <template if="{{ instance['fields'].isNotEmpty }}"> |
| 927 fields ({{ instance['fields'].length }}) | 1028 fields ({{ instance['fields'].length }}) |
| 928 <curly-block> | 1029 <curly-block> |
| 929 <table> | 1030 <div class="memberList"> |
| 930 <tbody><tr template="" repeat="{{ field in instance['fields'] }}"> | 1031 <template repeat="{{ field in instance['fields'] }}"> |
| 931 <td class="member"> | 1032 <div class="memberItem"> |
| 932 <field-ref ref="{{ field['decl'] }}"></field-ref> | 1033 <div class="memberName"> |
| 933 </td> | 1034 <field-ref ref="{{ field['decl'] }}"></field-ref> |
| 934 <td class="member"> | 1035 </div> |
| 935 <instance-ref ref="{{ field['value'] }}"></instance-ref> | 1036 <div class="memberValue"> |
| 936 </td> | 1037 <instance-ref ref="{{ field['value'] }}"></instance-ref> |
| 937 </tr> | 1038 </div> |
| 938 </tbody></table> | 1039 </div> |
| 1040 </template> |
| 1041 </div> |
| 939 </curly-block> | 1042 </curly-block> |
| 940 </template> | 1043 </template> |
| 941 | 1044 |
| 942 <template if="{{ instance['nativeFields'].isNotEmpty }}"> | 1045 <template if="{{ instance['nativeFields'].isNotEmpty }}"> |
| 943 native fields ({{ instance['nativeFields'].length }}) | 1046 native fields ({{ instance['nativeFields'].length }}) |
| 944 <curly-block> | 1047 <curly-block> |
| 945 <table> | 1048 <div class="memberList"> |
| 946 <tbody><tr template="" repeat="{{ field in instance['nativeFields'
] }}"> | 1049 <template repeat="{{ field in instance['nativeFields'] }}"> |
| 947 <td class="member">[{{ field['index']}}]</td> | 1050 <div class="memberItem"> |
| 948 <td class="member">[{{ field['value']}}]</td> | 1051 <div class="memberName">[{{ field['index']}}]</div> |
| 949 </tr> | 1052 <div class="memberValue">[{{ field['value']}}]</div> |
| 950 </tbody></table> | 1053 </div> |
| 951 </curly-block> | 1054 </template> |
| 1055 </div> |
| 1056 </curly-block><br> |
| 952 </template> | 1057 </template> |
| 953 | 1058 |
| 954 <template if="{{ instance['elements'].isNotEmpty }}"> | 1059 <template if="{{ instance['elements'].isNotEmpty }}"> |
| 955 elements ({{ instance['elements'].length }}) | 1060 elements ({{ instance['elements'].length }}) |
| 956 <curly-block> | 1061 <curly-block> |
| 957 <table> | 1062 <div class="memberList"> |
| 958 <tbody><tr template="" repeat="{{ element in instance['elements']
}}"> | 1063 <template repeat="{{ element in instance['elements'] }}"> |
| 959 <td class="member">[{{ element['index']}}]</td> | 1064 <div class="memberItem"> |
| 960 <td class="member"> | 1065 <div class="memberName">[{{ element['index']}}]</div> |
| 961 <instance-ref ref="{{ element['value'] }}"> | 1066 <div class="memberValue"> |
| 962 </instance-ref> | 1067 <instance-ref ref="{{ element['value'] }}"> |
| 963 </td> | 1068 </instance-ref> |
| 964 </tr> | 1069 </div> |
| 965 </tbody></table> | 1070 </div> |
| 966 </curly-block> | 1071 </template> |
| 1072 </div> |
| 1073 </curly-block><br> |
| 967 </template> | 1074 </template> |
| 968 </div> | 1075 </div> |
| 969 | 1076 |
| 970 <hr> | 1077 <hr> |
| 971 | 1078 |
| 972 <div class="content"> | 1079 <div class="content"> |
| 973 <eval-box callback="{{ eval }}"></eval-box> | 1080 <eval-box callback="{{ eval }}"></eval-box> |
| 974 </div> | 1081 </div> |
| 975 <br><br><br><br> | 1082 <br><br><br><br> |
| 976 <br><br><br><br> | 1083 <br><br><br><br> |
| (...skipping 26 matching lines...) Expand all Loading... |
| 1003 <td><json-view json="{{value(key)}}"></json-view></td> | 1110 <td><json-view json="{{value(key)}}"></json-view></td> |
| 1004 </tr> | 1111 </tr> |
| 1005 </tbody> | 1112 </tbody> |
| 1006 </table> | 1113 </table> |
| 1007 </template> | 1114 </template> |
| 1008 </template> | 1115 </template> |
| 1009 | 1116 |
| 1010 </polymer-element> | 1117 </polymer-element> |
| 1011 <polymer-element name="library-view" extends="observatory-element"> | 1118 <polymer-element name="library-view" extends="observatory-element"> |
| 1012 <template> | 1119 <template> |
| 1120 <style> |
| 1121 .content { |
| 1122 padding-left: 10%; |
| 1123 font: 400 14px 'Montserrat', sans-serif; |
| 1124 } |
| 1125 h1 { |
| 1126 font: 400 18px 'Montserrat', sans-serif; |
| 1127 } |
| 1128 .memberList { |
| 1129 display: table; |
| 1130 } |
| 1131 .memberItem { |
| 1132 display: table-row; |
| 1133 } |
| 1134 .memberName, .memberValue { |
| 1135 display: table-cell; |
| 1136 vertical-align: top; |
| 1137 padding: 3px 0 3px 1em; |
| 1138 font: 400 14px 'Montserrat', sans-serif; |
| 1139 } |
| 1140 </style> |
| 1141 |
| 1013 <nav-bar> | 1142 <nav-bar> |
| 1014 <top-nav-menu></top-nav-menu> | 1143 <top-nav-menu></top-nav-menu> |
| 1015 <isolate-nav-menu isolate="{{ library.isolate }}"></isolate-nav-menu> | 1144 <isolate-nav-menu isolate="{{ library.isolate }}"></isolate-nav-menu> |
| 1016 <library-nav-menu library="{{ library }}" last="{{ true }}"></library-nav-
menu> | 1145 <library-nav-menu library="{{ library }}" last="{{ true }}"></library-nav-
menu> |
| 1017 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 1146 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| 1018 </nav-bar> | 1147 </nav-bar> |
| 1019 | 1148 |
| 1020 <div class="alert alert-info">Scripts</div> | 1149 <div class="content"> |
| 1021 <table class="table table-hover"> | 1150 <h1> |
| 1022 <tbody> | 1151 <!-- TODO(turnidge): Handle unnamed libraries --> |
| 1023 <tr template="" repeat="{{ script in library['scripts']}}"> | 1152 library {{ library.name }} |
| 1024 <td> | 1153 </h1> |
| 1025 {{ script.kind }} | 1154 <div class="memberList"> |
| 1026 </td> | 1155 <div class="memberItem"> |
| 1027 <td> | 1156 <div class="memberName">url</div> |
| 1028 <script-ref ref="{{ script }}"></script-ref> | 1157 <div class="memberValue">{{ library['url'] }}</div> |
| 1029 </td> | 1158 </div> |
| 1030 </tr> | 1159 <template if="{{ library['imports'].length > 0 }}"> |
| 1031 </tbody> | 1160 <div class="memberItem"> |
| 1032 </table> | 1161 <div class="memberName">imports</div> |
| 1033 <div class="alert alert-info">Imported Libraries</div> | 1162 <div class="memberValue"> |
| 1034 <table class="table table-hover"> | 1163 <template repeat="{{ import in library['imports'] }}"> |
| 1035 <tbody> | 1164 <library-ref ref="{{ import }}"></library-ref> |
| 1036 <tr template="" repeat="{{ lib in library['libraries'] }}"> | 1165 </template> |
| 1037 <td> | 1166 </div> |
| 1038 <library-ref ref="{{ lib }}"></library-ref> | 1167 </div> |
| 1039 </td> | 1168 </template> |
| 1040 </tr> | 1169 <template if="{{ library.name != library.vmName }}"> |
| 1041 </tbody> | 1170 <div class="memberItem"> |
| 1042 </table> | 1171 <div class="memberName">vm name</div> |
| 1043 <div class="alert alert-info">Variables</div> | 1172 <div class="memberValue">{{ library.vmName }}</div> |
| 1044 <table class="table table-hover"> | 1173 </div> |
| 1045 <tbody> | 1174 </template> |
| 1046 <tr template="" repeat="{{ variable in library['variables'] }}"> | 1175 </div> |
| 1047 <td><field-ref ref="{{ variable }}"></field-ref></td> | 1176 </div> |
| 1048 <td><instance-ref ref="{{ variable['value'] }}"></instance-ref></td> | |
| 1049 </tr> | |
| 1050 </tbody> | |
| 1051 </table> | |
| 1052 <div class="alert alert-info">Functions</div> | |
| 1053 <table class="table table-hover"> | |
| 1054 <tbody> | |
| 1055 <tr template="" repeat="{{ func in library['functions'] }}"> | |
| 1056 <td> | |
| 1057 <function-ref ref="{{ func }}"></function-ref> | |
| 1058 </td> | |
| 1059 </tr> | |
| 1060 </tbody> | |
| 1061 </table> | |
| 1062 <div class="alert alert-info">Classes</div> | |
| 1063 <table class="table table-hover"> | |
| 1064 <thead> | |
| 1065 <tr> | |
| 1066 <th>Name</th> | |
| 1067 <th>Internal Name</th> | |
| 1068 </tr> | |
| 1069 </thead> | |
| 1070 <tbody> | |
| 1071 <tr template="" repeat="{{ cls in library['classes'] }}"> | |
| 1072 <td> | |
| 1073 <class-ref ref="{{ cls }}"></class-ref> | |
| 1074 </td> | |
| 1075 <td> | |
| 1076 <class-ref ref="{{ cls }}" internal=""></class-ref> | |
| 1077 </td> | |
| 1078 </tr> | |
| 1079 </tbody> | |
| 1080 </table> | |
| 1081 | 1177 |
| 1178 <hr> |
| 1179 |
| 1180 <div class="content"> |
| 1181 <template if="{{ library['scripts'].isNotEmpty }}"> |
| 1182 scripts ({{ library['scripts'].length }}) |
| 1183 <curly-block> |
| 1184 <div class="memberList"> |
| 1185 <template repeat="{{ script in library['scripts'] }}"> |
| 1186 <div class="memberItem"> |
| 1187 <div class="memberValue"> |
| 1188 <script-ref ref="{{ script }}"></script-ref> |
| 1189 </div> |
| 1190 </div> |
| 1191 </template> |
| 1192 </div> |
| 1193 </curly-block><br> |
| 1194 </template> |
| 1195 |
| 1196 <template if="{{ library['classes'].isNotEmpty }}"> |
| 1197 classes ({{ library['classes'].length }}) |
| 1198 <curly-block> |
| 1199 <div class="memberList"> |
| 1200 <template repeat="{{ cls in library['classes'] }}"> |
| 1201 <div class="memberItem"> |
| 1202 <div class="memberValue"> |
| 1203 <class-ref ref="{{ cls }}"></class-ref> |
| 1204 </div> |
| 1205 </div> |
| 1206 </template> |
| 1207 </div> |
| 1208 </curly-block><br> |
| 1209 </template> |
| 1210 |
| 1211 <template if="{{ library['variables'].isNotEmpty }}"> |
| 1212 variables ({{ library['variables'].length }}) |
| 1213 <curly-block> |
| 1214 <div class="memberList"> |
| 1215 <template repeat="{{ field in library['variables'] }}"> |
| 1216 <div class="memberItem"> |
| 1217 <div class="memberName"> |
| 1218 <field-ref ref="{{ field }}"></field-ref> |
| 1219 </div> |
| 1220 <div class="memberValue"> |
| 1221 <template if="{{ field['value'] != null }}"> |
| 1222 <instance-ref ref="{{ field['value'] }}"></instance-ref> |
| 1223 </template> |
| 1224 </div> |
| 1225 </div> |
| 1226 </template> |
| 1227 </div> |
| 1228 </curly-block><br> |
| 1229 </template> |
| 1230 |
| 1231 <template if="{{ library['functions'].isNotEmpty }}"> |
| 1232 functions ({{ library['functions'].length }}) |
| 1233 <curly-block> |
| 1234 <div class="memberList"> |
| 1235 <template repeat="{{ function in library['functions'] }}"> |
| 1236 <div class="memberItem"> |
| 1237 <div class="memberValue"> |
| 1238 <function-ref ref="{{ function }}"></function-ref> |
| 1239 </div> |
| 1240 </div> |
| 1241 </template> |
| 1242 </div> |
| 1243 </curly-block><br> |
| 1244 </template> |
| 1245 </div> |
| 1246 |
| 1247 <hr> |
| 1248 |
| 1249 <div class="content"> |
| 1250 <eval-box callback="{{ eval }}"></eval-box> |
| 1251 </div> |
| 1252 <br><br><br><br> |
| 1253 <br><br><br><br> |
| 1082 </template> | 1254 </template> |
| 1083 | 1255 |
| 1084 </polymer-element> | 1256 </polymer-element> |
| 1085 <polymer-element name="isolate-profile" extends="observatory-element"> | 1257 <polymer-element name="isolate-profile" extends="observatory-element"> |
| 1086 <template> | 1258 <template> |
| 1087 <nav-bar> | 1259 <nav-bar> |
| 1088 <top-nav-menu></top-nav-menu> | 1260 <top-nav-menu></top-nav-menu> |
| 1089 <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu> | 1261 <isolate-nav-menu isolate="{{ profile.isolate }}"></isolate-nav-menu> |
| 1090 <nav-menu link="." anchor="cpu profile" last="{{ true }}"></nav-menu> | 1262 <nav-menu link="." anchor="cpu profile" last="{{ true }}"></nav-menu> |
| 1091 <nav-refresh callback="{{ refresh }}"></nav-refresh> | 1263 <nav-refresh callback="{{ refresh }}"></nav-refresh> |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1225 </table> | 1397 </table> |
| 1226 </div> | 1398 </div> |
| 1227 </div> | 1399 </div> |
| 1228 </div> | 1400 </div> |
| 1229 </template> | 1401 </template> |
| 1230 | 1402 |
| 1231 </polymer-element> | 1403 </polymer-element> |
| 1232 <polymer-element name="stack-frame" extends="observatory-element"> | 1404 <polymer-element name="stack-frame" extends="observatory-element"> |
| 1233 <template> | 1405 <template> |
| 1234 <style> | 1406 <style> |
| 1235 .member { | 1407 .memberList { |
| 1408 display: table; |
| 1409 } |
| 1410 .memberItem { |
| 1411 display: table-row; |
| 1412 } |
| 1413 .memberName, .memberValue { |
| 1414 display: table-cell; |
| 1236 vertical-align: top; | 1415 vertical-align: top; |
| 1237 padding: 0 0 0 1em; | 1416 padding: 3px 0 3px 1em; |
| 1417 font: 400 14px 'Montserrat', sans-serif; |
| 1238 } | 1418 } |
| 1239 </style> | 1419 </style> |
| 1240 <div class="row"> | 1420 <div class="row"> |
| 1241 <div class="col-md-1"></div> | 1421 <div class="col-md-1"></div> |
| 1242 <div class="col-md-1"> | 1422 <div class="col-md-1"> |
| 1243 #{{ frame['depth'] }} | 1423 #{{ frame['depth'] }} |
| 1244 </div> | 1424 </div> |
| 1245 <div class="col-md-9"> | 1425 <div class="col-md-9"> |
| 1246 <function-ref ref="{{ frame['function'] }}"></function-ref> | 1426 <function-ref ref="{{ frame['function'] }}"></function-ref> |
| 1247 ( <script-ref ref="{{ frame['script'] }}" line="{{ frame['line'] }}"> | 1427 ( <script-ref ref="{{ frame['script'] }}" line="{{ frame['line'] }}"> |
| 1248 </script-ref> ) | 1428 </script-ref> ) |
| 1429 |
| 1249 <curly-block> | 1430 <curly-block> |
| 1250 <table> | 1431 <div class="memberList"> |
| 1251 <tbody><tr template="" repeat="{{ v in frame['vars'] }}"> | 1432 <template repeat="{{ v in frame['vars'] }}"> |
| 1252 <td class="member">{{ v['name']}}</td> | 1433 <div class="memberItem"> |
| 1253 <td class="member"> | 1434 <div class="memberName">{{ v['name']}}</div> |
| 1254 <instance-ref ref="{{ v['value'] }}"></instance-ref> | 1435 <div class="memberValue"> |
| 1255 </td> | 1436 <instance-ref ref="{{ v['value'] }}"></instance-ref> |
| 1256 </tr> | 1437 </div> |
| 1257 </tbody></table> | 1438 </div> |
| 1439 </template> |
| 1440 </div> |
| 1258 </curly-block> | 1441 </curly-block> |
| 1259 | 1442 |
| 1260 </div> | 1443 </div> |
| 1261 <div class="col-md-1"></div> | 1444 <div class="col-md-1"></div> |
| 1262 </div> | 1445 </div> |
| 1263 | 1446 |
| 1264 | 1447 |
| 1265 </template> | 1448 </template> |
| 1266 | 1449 |
| 1267 </polymer-element> | 1450 </polymer-element> |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1306 <template> | 1489 <template> |
| 1307 <response-viewer app="{{ app }}"></response-viewer> | 1490 <response-viewer app="{{ app }}"></response-viewer> |
| 1308 </template> | 1491 </template> |
| 1309 | 1492 |
| 1310 </polymer-element> | 1493 </polymer-element> |
| 1311 | 1494 |
| 1312 | 1495 |
| 1313 <observatory-application devtools="true"></observatory-application> | 1496 <observatory-application devtools="true"></observatory-application> |
| 1314 | 1497 |
| 1315 </body></html> | 1498 </body></html> |
| OLD | NEW |