OLD | NEW |
1 <!-- | 1 <!-- |
2 The common.js file must be included before this file. | 2 The res/js/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-info-sk> | 7 <fuzzer-info-sk> |
8 | 8 |
9 This element will query /json/details for all of the detailed fuzz reports of
a given file (passed in by query params) and displayed. | 9 This element will query /json/details for all of the detailed fuzz reports of
a given file (passed in by query params) and displayed. |
10 This may be further scoped by function, line number and fuzz-type (either bina
ry or api) | 10 This may be further scoped by function, line number and fuzz-type (either bina
ry or api) |
11 | 11 |
12 To use this file import it: | 12 To use this file import it: |
13 | 13 |
14 <link href="/res/imp/fuzzer-info-sk.html" rel="import" /> | 14 <link href="/res/imp/fuzzer-info-sk.html" rel="import" /> |
15 | 15 |
16 Usage: | 16 Usage: |
17 | 17 |
18 <fuzzer-info-sk></fuzzer-info-sk> | 18 <fuzzer-info-sk></fuzzer-info-sk> |
19 | 19 |
20 Properties: | 20 Properties: |
21 None. | 21 category: String. |
| 22 exclude: Array of String, all fuzzes that have one or more of these strings
as a flag will not |
| 23 be shown. This array must be sorted lexographically. |
| 24 include: Array of String, all fuzzes must have one or more of these strings
as a flag to be |
| 25 shown. This array must be sorted lexographically. |
22 | 26 |
23 Methods: | 27 Methods: |
24 None. | 28 None. |
25 | 29 |
26 Events: | 30 Events: |
27 None. | 31 None. |
28 --> | 32 --> |
| 33 |
29 <link rel="import" href="/res/imp/bower_components/iron-flex-layout/iron-flex-la
yout.html"> | 34 <link rel="import" href="/res/imp/bower_components/iron-flex-layout/iron-flex-la
yout.html"> |
30 <link rel="import" href="/res/imp/bower_components/iron-ajax/iron-ajax.html"> | 35 <link rel="import" href="/res/imp/bower_components/iron-ajax/iron-ajax.html"> |
| 36 <link rel="import" href="/res/imp/bower_components/paper-input/paper-input.html"
> |
| 37 <link rel="import" href="/res/common/imp/9/url-params-sk.html"> |
| 38 |
31 <link rel="import" href="fuzzer-collapse-file-sk.html"> | 39 <link rel="import" href="fuzzer-collapse-file-sk.html"> |
| 40 <link rel="import" href="fuzzer-filter-sk.html"> |
| 41 |
32 <dom-module id="fuzzer-info-sk"> | 42 <dom-module id="fuzzer-info-sk"> |
33 <template> | 43 <template> |
34 <iron-ajax auto url="/json/details" | 44 <iron-ajax auto url="/json/details" |
35 handle-as="json" | 45 handle-as="json" |
36 params="{{_urlParams}}" | 46 params="[[_urlParams]]" |
37 last-response="{{fileDetails}}"> | 47 last-response="{{_fileDetails}}"> |
38 </iron-ajax> | 48 </iron-ajax> |
39 <fuzzer-collapse-file-sk file="{{fileDetails}}" category="{{category}}" ex
pand></fuzzer-collapse-file-sk> | 49 |
| 50 <template is="dom-repeat" items="{{_fileDetails}}" as="file" sort="_byCount"
observe="count"> |
| 51 <fuzzer-collapse-file-sk file="{{file}}" |
| 52 category="[[category]]" |
| 53 include="[[include]]" |
| 54 exclude="[[exclude]]" |
| 55 expand="[[_shouldExpand()]]"> |
| 56 </fuzzer-collapse-file-sk> |
| 57 </template> |
| 58 |
40 </template> | 59 </template> |
41 | 60 |
42 <script> | 61 <script> |
43 Polymer({ | 62 Polymer({ |
44 is: 'fuzzer-info-sk', | 63 is: 'fuzzer-info-sk', |
45 | 64 |
46 properties: { | 65 properties: { |
47 fileDetails: { | 66 category: { |
| 67 type: String, |
| 68 value: "", |
| 69 }, |
| 70 include: { |
| 71 type: Array, |
| 72 value: function() { |
| 73 return []; |
| 74 } |
| 75 }, |
| 76 exclude: { |
| 77 type: Array, |
| 78 value: function() { |
| 79 return []; |
| 80 } |
| 81 }, |
| 82 _fileDetails: { |
48 type: Array, | 83 type: Array, |
49 value: function() { | 84 value: function() { |
50 return []; | 85 return []; |
51 }, | 86 }, |
52 }, | 87 }, |
53 category: { | |
54 type: String, | |
55 value: "", | |
56 }, | |
57 _urlParams: { | 88 _urlParams: { |
58 type: String, | 89 type: String, |
59 computed: "_getURLParams(category)", | 90 computed: "_getURLParams(category)", |
60 } | 91 }, |
61 }, | 92 }, |
62 _getURLParams: function(category) { | 93 _getURLParams: function(category) { |
63 return { | 94 return { |
64 "category": category, | 95 "category": category, |
65 "file": fuzzer.paramFromPath("file"), | 96 "file": fuzzer.paramFromPath("file"), |
66 "func": fuzzer.paramFromPath("func"), | 97 "func": fuzzer.paramFromPath("func"), |
67 "line": fuzzer.paramFromPath("line"), | 98 "line": fuzzer.paramFromPath("line"), |
68 "name": fuzzer.paramFromPath("name"), | 99 "name": fuzzer.paramFromPath("name"), |
69 }; | 100 }; |
| 101 }, |
| 102 _shouldExpand: function(){ |
| 103 return fuzzer.paramFromPath("file").length > 0; |
| 104 }, |
| 105 _byCount: function(a, b) { |
| 106 // Higher counts come first |
| 107 return b.count - a.count; |
70 } | 108 } |
71 }); | 109 }); |
72 </script> | 110 </script> |
73 </dom-module> | 111 </dom-module> |
OLD | NEW |