| Index: runtime/bin/vmservice/client/lib/src/elements/script_inset.html
|
| diff --git a/runtime/bin/vmservice/client/lib/src/elements/script_inset.html b/runtime/bin/vmservice/client/lib/src/elements/script_inset.html
|
| index 52460df5a2fc5706b5585c25f5d6be4bb9879c2f..24c4bfec858d5b539ca05c31ab713a668b9910ae 100644
|
| --- a/runtime/bin/vmservice/client/lib/src/elements/script_inset.html
|
| +++ b/runtime/bin/vmservice/client/lib/src/elements/script_inset.html
|
| @@ -46,24 +46,39 @@
|
| <content></content>
|
| <div class="sourceBox" style="height:{{height}}">
|
| <div class="sourceTable">
|
| - <template repeat="{{ line in lines }}">
|
| - <div class="sourceRow" id="{{ makeLineId(line.line) }}">
|
| - <template if="{{ line.hits == null }}">
|
| - <div class="hitsNone">{{ line.line }}</div>
|
| - </template>
|
| - <template if="{{ line.hits == 0 }}">
|
| - <div class="hitsNotExecuted">{{ line.line }}</div>
|
| - </template>
|
| - <template if="{{ line.hits > 0 }}">
|
| - <div class="hitsExecuted">{{ line.line }}</div>
|
| - </template>
|
| - <div class="sourceItem"> </div>
|
| - <template if="{{ line.line == currentLine }}">
|
| - <div id="currentLine" class="sourceItemCurrent">{{line.text}}</div>
|
| - </template>
|
| - <template if="{{ line.line != currentLine }}">
|
| - <div class="sourceItem">{{line.text}}</div>
|
| - </template>
|
| + <template if="{{ linesReady }}">
|
| + <template repeat="{{ line in lines }}">
|
| + <div class="sourceRow" id="{{ makeLineId(line.line) }}">
|
| + <breakpoint-toggle line="{{ line }}"></breakpoint-toggle>
|
| +
|
| + <div class="sourceItem"> </div>
|
| +
|
| + <template if="{{ line.hits == null ||
|
| + line.hits < 0 }}">
|
| + <div class="hitsNone">{{ line.line }}</div>
|
| + </template>
|
| + <template if="{{ line.hits == 0 }}">
|
| + <div class="hitsNotExecuted">{{ line.line }}</div>
|
| + </template>
|
| + <template if="{{ line.hits > 0 }}">
|
| + <div class="hitsExecuted">{{ line.line }}</div>
|
| + </template>
|
| +
|
| + <div class="sourceItem"> </div>
|
| +
|
| + <template if="{{ line.line == currentLine }}">
|
| + <div class="sourceItemCurrent">{{line.text}}</div>
|
| + </template>
|
| + <template if="{{ line.line != currentLine }}">
|
| + <div class="sourceItem">{{line.text}}</div>
|
| + </template>
|
| + </div>
|
| + </template>
|
| + </template>
|
| +
|
| + <template if="{{ !linesReady }}">
|
| + <div class="sourceRow">
|
| + <div class="sourceItem">loading...</div>
|
| </div>
|
| </template>
|
| </div>
|
| @@ -72,4 +87,66 @@
|
| </template>
|
| </polymer-element>
|
|
|
| +<polymer-element name="breakpoint-toggle" extends="observatory-element">
|
| + <template>
|
| + <style>
|
| + .emptyBreakpoint, .possibleBreakpoint, .busyBreakpoint, .unresolvedBreakpoint, .resolvedBreakpoint {
|
| + display: table-cell;
|
| + vertical-align: top;
|
| + font: 400 14px consolas, courier, monospace;
|
| + min-width: 1em;
|
| + text-align: center;
|
| + cursor: pointer;
|
| + }
|
| + .possibleBreakpoint {
|
| + color: #e0e0e0;
|
| + }
|
| + .possibleBreakpoint:hover {
|
| + color: white;
|
| + background-color: #777;
|
| + }
|
| + .busyBreakpoint {
|
| + color: white;
|
| + background-color: black;
|
| + cursor: wait;
|
| + }
|
| + .unresolvedBreakpoint {
|
| + color: white;
|
| + background-color: #cac;
|
| + }
|
| + .resolvedBreakpoint {
|
| + color: white;
|
| + background-color: #e66;
|
| + }
|
| + </style>
|
| +
|
| + <template if="{{ line.possibleBpt && busy}}">
|
| + <div class="busyBreakpoint">B</div>
|
| + </template>
|
| +
|
| + <template if="{{ line.bpt == null && !line.possibleBpt }}">
|
| + <div class="emptyBreakpoint"> </div>
|
| + </template>
|
| +
|
| + <template if="{{ line.bpt == null && line.possibleBpt && !busy}}">
|
| + <div class="possibleBreakpoint">
|
| + <a on-click="{{ toggleBreakpoint }}">B</a>
|
| + </div>
|
| + </template>
|
| +
|
| + <template if="{{ line.bpt != null && !line.bpt['resolved'] && !busy}}">
|
| + <div class="unresolvedBreakpoint">
|
| + <a on-click="{{ toggleBreakpoint }}">B</a>
|
| + </div>
|
| + </template>
|
| +
|
| + <template if="{{ line.bpt != null && line.bpt['resolved'] && !busy}}">
|
| + <div class="resolvedBreakpoint">
|
| + <a on-click="{{ toggleBreakpoint }}">B</a>
|
| + </div>
|
| + </template>
|
| +
|
| + </template>
|
| +</polymer-element>
|
| +
|
| <script type="application/dart" src="script_inset.dart"></script>
|
|
|