Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: fuzzer/res/imp/fuzzer-collapse-file-sk.html

Issue 1662373002: Add UI to filter fuzzes based on tags. (Closed) Base URL: https://skia.googlesource.com/buildbot@add-asan
Patch Set: remove conflicting status-sk elements Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!-- 1 <!--
2 The fuzzer/res/fuzzer.js file must be included before this file. 2 The fuzzer/res/fuzzer.js file must be included before this file.
3 3
4 This in an HTML Import-able file that contains the definition 4 This in an HTML Import-able file that contains the definition
5 of the following elements: 5 of the following elements:
6 6
7 <fuzzer-collapse-file-sk> 7 <fuzzer-collapse-file-sk>
8 8
9 This element will poll /json/list 9 This element will poll /json/list
10 10
11 To use this file import it: 11 To use this file import it:
12 12
13 <link href="/res/imp/fuzzer-collapse-file-sk.html" rel="import" /> 13 <link href="/res/imp/fuzzer-collapse-file-sk.html" rel="import" />
14 14
15 Usage: 15 Usage:
16 16
17 <fuzzer-collapse-file-sk></fuzzer-collapse-file-sk> 17 <fuzzer-collapse-file-sk></fuzzer-collapse-file-sk>
18 18
19 Properties: 19 Properties:
20 file - The FileDetails object. Expected to have the following attributes: 20 file - The FileDetails object. Expected to have the following attributes:
21 fileName: String, 21 fileName: String,
22 count: Number, 22 count: Number,
23 byFunction: Array of FunctionDetail objects. See fuzzer-collapse-function -sk.html for schema. 23 byFunction: Array of FunctionDetail objects. See fuzzer-collapse-function -sk.html for schema.
24 24
25 expand: String, which should be "true" if the element and any children shoul d start expanded. 25 expand: String, which should be "true" if the element and any children shoul d start expanded.
26 exclude: Array of String, all fuzzes that have one or more of these strings as a flag will not
27 be shown. This array must be sorted lexographically.
28 include: Array of String, all fuzzes must have one or more of these strings as a flag to be
29 shown. This array must be sorted lexographically.
30
26 Methods: 31 Methods:
27 setFile(file) - Programmatically set the FileDetails object. 32 setFile(file) - Programmatically set the FileDetails object.
28 toggleLineNumbers() - Programmtically expand/collapse the function details. 33 toggleLineNumbers() - Programmtically expand/collapse the function details.
29 34
30 Events: 35 Events:
31 None. 36 None.
32 --> 37 -->
33 <link rel="import" href="/res/common/imp/9/details-summary.html"> 38 <link rel="import" href="/res/common/imp/9/details-summary.html">
34 <link rel="import" href="/res/imp/bower_components/iron-collapse/iron-collapse.h tml"> 39 <link rel="import" href="/res/imp/bower_components/iron-collapse/iron-collapse.h tml">
35 <link rel="import" href="/res/imp/bower_components/iron-icons/iron-icons.html"> 40 <link rel="import" href="/res/imp/bower_components/iron-icons/iron-icons.html">
36 <link rel="import" href="fuzzer-collapse-details-sk.html" /> 41 <link rel="import" href="fuzzer-collapse-function-sk.html" />
37 <dom-module id="fuzzer-collapse-file-sk"> 42 <dom-module id="fuzzer-collapse-file-sk">
38 <template> 43 <template>
39 <style> 44 <style>
40 #file { 45 #file {
41 padding: 20px; 46 padding: 20px;
42 margin: 10px; 47 margin: 10px;
43 border-radius: 10px; 48 border-radius: 10px;
44 background-color: #F5F5F5; 49 background-color: #F5F5F5;
45 color: #000000; 50 color: #000000;
46 display:block; 51 display:block;
(...skipping 16 matching lines...) Expand all
63 list-style-type: none; 68 list-style-type: none;
64 } 69 }
65 </style> 70 </style>
66 <details-sk id="file" open="[[expand]]"> 71 <details-sk id="file" open="[[expand]]">
67 <summary-sk> 72 <summary-sk>
68 <h3> 73 <h3>
69 <a href$="{{_getDetailsLink(category, file)}}">{{file.fileName}}</a> 74 <a href$="{{_getDetailsLink(category, file)}}">{{file.fileName}}</a>
70 -- {{file.count}} crash-causing fuzzes 75 -- {{file.count}} crash-causing fuzzes
71 </h3> 76 </h3>
72 </summary-sk> 77 </summary-sk>
73 <template is="dom-repeat" items="{{file.byFunction}}" as="func"> 78 <template is="dom-repeat" items="{{file.byFunction}}" as="func" sort="_by Count" observe="count">
74 <details-sk class="func" open="[[expand]]"> 79 <fuzzer-collapse-function-sk
75 <summary-sk> 80 class="func-group"
76 <span> 81 expand="[[expand]]"
77 <a href$="{{_getDetailsLink(category, file, func)}}">Function {{fu nc.functionName}}</a> 82 func="{{func}}"
78 -- {{func.count}} crash-causing fuzzes 83 exclude="[[exclude]]"
79 </span> 84 include="[[include]]"
80 </summary-sk> 85 details-base="{{_getDetailsLink(category, file)}}"
81 <ul> 86 on-dom-change="_recount"
82 <template is="dom-repeat" items="{{func.byLineNumber}}" as="lineNumb er"> 87 ></fuzzer-collapse-function-sk>
83 <fuzzer-collapse-details-sk details="{{lineNumber}}" details-base= "{{_getDetailsLink(category, file, func)}}" expand="{{_expandFirst(index)}}"></f uzzer-collapse-details-sk>
84 </template>
85 </ul>
86 </details-sk>
87 </template> 88 </template>
88 </details-sk> 89 </details-sk>
89 </template> 90 </template>
90 <script> 91 <script>
91 Polymer({ 92 Polymer({
92 is: 'fuzzer-collapse-file-sk', 93 is: 'fuzzer-collapse-file-sk',
93 94
94 properties: { 95 properties: {
95 file: { //expected to be provided 96 file: { //expected to be provided
96 type: Object, 97 type: Object,
97 value: function() { 98 value: function() {
98 return {}; 99 return {};
99 }, 100 },
100 }, 101 },
101 category: { 102 category: {
102 type: String, 103 type: String,
103 value: "", 104 value: "",
104 }, 105 },
105 // We can use one-way [[]] bindings to initialize all of the details-sk, 106 // We can use one-way [[]] bindings to initialize all of the details-sk,
106 // but keep their open states untangled. 107 // but keep their open states untangled.
107 expand: { 108 expand: {
108 type: Boolean, 109 type: Boolean,
109 value: false, 110 value: false,
110 }, 111 },
112 exclude: {
113 type: Array,
114 value: function() {
115 return [];
116 },
117 },
118 include: {
119 type: Array,
120 value: function() {
121 return [];
122 },
123 },
124 },
125
126 _recount: function() {
127 this.debounce("recount-file", function(){
128 this.flushDebouncer("recount-function");
129 var funcs = $$(".func-group", this.$.file);
130 var sum = 0;
131 funcs.forEach(function(a){
132 sum += a.numReports;
133 });
134 this.set("file.count", sum);
135 }.bind(this), 10);
136
111 }, 137 },
112 138
113 setFile: function(file) { 139 setFile: function(file) {
114 this.file = file; 140 this.file = file;
115 }, 141 },
116 142
117 _expandFirst: function(index) {
118 return index === 0;
119 },
120
121 _getDetailsLink: function(category, file, func) { 143 _getDetailsLink: function(category, file, func) {
122 if (!file) { 144 if (!file) {
123 return "#"; 145 return "#";
124 } 146 }
125 var base = fuzzer.getLinkToDetails("/category/"+category, "file", file.fil eName); 147 var base = fuzzer.getLinkToDetails("/category/"+category, "file", file.fil eName);
126 if (func) { 148 if (func) {
127 base = fuzzer.getLinkToDetails(base, "func", func.functionName); 149 base = fuzzer.getLinkToDetails(base, "func", func.functionName);
128 } 150 }
129 return base; 151 return base;
130 }, 152 },
153 _byCount: function(a, b) {
154 // Higher counts come first
155 return b.count - a.count;
156 }
131 }); 157 });
132 </script> 158 </script>
133 </dom-module> 159 </dom-module>
OLDNEW
« no previous file with comments | « fuzzer/res/imp/fuzzer-collapse-details-sk-demo.html ('k') | fuzzer/res/imp/fuzzer-collapse-function-sk.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698