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