| Index: fuzzer/res/imp/fuzzer-stacktrace-sk.html
|
| diff --git a/fuzzer/res/imp/fuzzer-stacktrace-sk.html b/fuzzer/res/imp/fuzzer-stacktrace-sk.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6e96acd9183656100979366d9ff6c272f059b94d
|
| --- /dev/null
|
| +++ b/fuzzer/res/imp/fuzzer-stacktrace-sk.html
|
| @@ -0,0 +1,132 @@
|
| +<!--
|
| + The common.js file must be included before this file.
|
| +
|
| + This in an HTML Import-able file that contains the definition
|
| + of the following elements:
|
| +
|
| + <fuzzer-stacktrace-sk>
|
| +
|
| + <fuzzer-stacktrace-sk> displays a strack trace showing the first 8 frames and can be expanded with a click.
|
| +
|
| + To use this file import it:
|
| +
|
| + <link href="/res/imp/fuzzer-stacktrace-sk.html" rel="import" />
|
| +
|
| + Usage:
|
| +
|
| + <fuzzer-stacktrace-sk></fuzzer-stacktrace-sk>
|
| +
|
| + Properties:
|
| + trace - The stack trace object. Expected to be provided. Expected to have the following attributes:
|
| + - frames: An array of elements with the following attributes:
|
| + - packageName : String
|
| + - fileName : String
|
| + - lineNumber : Number
|
| + - functionName [optional]
|
| +
|
| + Methods:
|
| + None.
|
| +
|
| + Events:
|
| + None.
|
| +-->
|
| +<link rel="import" href="/res/imp/bower_components/iron-icons/iron-icons.html">
|
| +<link rel="import" href="/res/imp/bower_components/paper-icon-button/paper-icon-button.html">
|
| +<dom-module id="fuzzer-stacktrace-sk">
|
| + <template>
|
| + <style>
|
| + .stacktrace{
|
| + padding:4px 8px;
|
| + display:table;
|
| + }
|
| + .frame {
|
| + display:table-row;
|
| + }
|
| + .frame:nth-child(odd) {
|
| + background-color:#EEE;
|
| + }
|
| + .frame:nth-child(even) {
|
| + background-color:#FFF;
|
| + }
|
| + /*<tr> cells cannot have rounded corners. Neither can cells with display:table-row;
|
| + A workaround is to use display:table, table-row, table-cell and put
|
| + a border radius on the left parts of the left-most cell and a border radius on
|
| + the right parts of the right most cell. Also note that the table-row's padding
|
| + and such is determined by its children's styles.*/
|
| + .line {
|
| + display:table-cell;
|
| + padding:4px 8px;
|
| + border-radius: 8px 0 0 8px;
|
| + }
|
| + .function-name {
|
| + display:table-cell;
|
| + padding:4px 8px 4px 50px;
|
| + border-radius: 0 8px 8px 0;
|
| + }
|
| + #expand{
|
| + cursor:pointer;
|
| + /*Make this a bit bigger than normal (24px) */
|
| + --iron-icon-height: 30px;
|
| + --iron-icon-width: 30px;
|
| + }
|
| + .hidden{
|
| + display:none;
|
| + }
|
| + </style>
|
| + <div class="stacktrace">
|
| + <template is="dom-repeat" items="{{frames}}" as="frame">
|
| + <div class="frame" >
|
| + <span class="line">{{frame.packageName}}{{frame.fileName}}:{{frame.lineNumber}}</span>
|
| + <span class="function-name">
|
| + <template is="dom-if" if="{{frame.functionName}}">
|
| + <span>{{frame.functionName}}</span>
|
| + </template>
|
| + </span>
|
| + </div>
|
| + </template>
|
| +
|
| + <paper-icon-button id="expand" icon="icons:more-horiz" on-click="showMore" title="expand stacktrace"></paper-icon-button>
|
| +
|
| + </div>
|
| + </template>
|
| +
|
| + <script>
|
| + Polymer({
|
| + is: 'fuzzer-stacktrace-sk',
|
| +
|
| + properties: {
|
| + trace: {
|
| + type: Object,
|
| + value: function() { return {}; },
|
| + },
|
| + expanded: {
|
| + type: Boolean,
|
| + value: false
|
| + },
|
| + frames: {
|
| + type: Array,
|
| + computed: "_getStackFrames(trace, expanded)"
|
| + }
|
| + },
|
| +
|
| + setStackTrace: function(trace) {
|
| + this.trace = trace;
|
| + },
|
| +
|
| + _getStackFrames: function(trace, expanded) {
|
| + if (!trace.frames) {
|
| + return [];
|
| + }
|
| + if (expanded || trace.frames.length < 8) {
|
| + return trace.frames;
|
| + }
|
| + return trace.frames.slice(0, 8);
|
| + },
|
| +
|
| + showMore: function() {
|
| + this.expanded = true;
|
| + this.$.expand.toggleClass("hidden");
|
| + }
|
| + });
|
| + </script
|
| +</dom-module id="fuzzer-stacktrace-sk">
|
|
|