OLD | NEW |
1 /* | 1 /* |
2 * This file is part of Adblock Plus <https://adblockplus.org/>, | 2 * This file is part of Adblock Plus <https://adblockplus.org/>, |
3 * Copyright (C) 2006-present eyeo GmbH | 3 * Copyright (C) 2006-present eyeo GmbH |
4 * | 4 * |
5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
8 * | 8 * |
9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 function censorURL(url) | 84 function censorURL(url) |
85 { | 85 { |
86 return url.replace(/([?;&/#][^?;&/#]+?=)[^?;&/#]+/g, "$1*"); | 86 return url.replace(/([?;&/#][^?;&/#]+?=)[^?;&/#]+/g, "$1*"); |
87 } | 87 } |
88 | 88 |
89 function encodeHTML(str) | 89 function encodeHTML(str) |
90 { | 90 { |
91 return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").
replace(/"/g, """); | 91 return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").
replace(/"/g, """); |
92 } | 92 } |
93 | 93 |
| 94 function capitalize(str) |
| 95 { |
| 96 return str[0].toUpperCase() + str.slice(1); |
| 97 } |
| 98 |
94 function serializeReportData() | 99 function serializeReportData() |
95 { | 100 { |
96 let result = new XMLSerializer().serializeToString(reportData); | 101 let result = new XMLSerializer().serializeToString(reportData); |
97 | 102 |
98 // Insert line breaks before each new tag | 103 // Insert line breaks before each new tag |
99 result = result.replace(/(<[^/]([^"<>]*|"[^"]*")*>)/g, "\n$1"); | 104 result = result.replace(/(<[^/]([^"<>]*|"[^"]*")*>)/g, "\n$1"); |
100 result = result.replace(/^\n+/, ""); | 105 result = result.replace(/^\n+/, ""); |
101 return result; | 106 return result; |
102 } | 107 } |
103 | 108 |
(...skipping 18 matching lines...) Expand all Loading... |
122 } | 127 } |
123 | 128 |
124 function retrieveApplicationInfo() | 129 function retrieveApplicationInfo() |
125 { | 130 { |
126 let element = reportData.createElement("application"); | 131 let element = reportData.createElement("application"); |
127 return browser.runtime.sendMessage({ | 132 return browser.runtime.sendMessage({ |
128 type: "app.get", | 133 type: "app.get", |
129 what: "application" | 134 what: "application" |
130 }).then(application => | 135 }).then(application => |
131 { | 136 { |
132 element.setAttribute("name", application); | 137 element.setAttribute("name", capitalize(application)); |
133 return browser.runtime.sendMessage({ | 138 return browser.runtime.sendMessage({ |
134 type: "app.get", | 139 type: "app.get", |
135 what: "applicationVersion" | 140 what: "applicationVersion" |
136 }); | 141 }); |
137 }).then(applicationVersion => | 142 }).then(applicationVersion => |
138 { | 143 { |
139 element.setAttribute("version", applicationVersion); | 144 element.setAttribute("version", applicationVersion); |
| 145 element.setAttribute("vendor", navigator.vendor); |
140 element.setAttribute("userAgent", navigator.userAgent); | 146 element.setAttribute("userAgent", navigator.userAgent); |
141 reportData.documentElement.appendChild(element); | 147 reportData.documentElement.appendChild(element); |
142 }); | 148 }); |
143 } | 149 } |
144 | 150 |
145 function retrievePlatformInfo() | 151 function retrievePlatformInfo() |
146 { | 152 { |
147 let element = reportData.createElement("platform"); | 153 let element = reportData.createElement("platform"); |
148 return browser.runtime.sendMessage({ | 154 return browser.runtime.sendMessage({ |
149 type: "app.get", | 155 type: "app.get", |
150 what: "platform" | 156 what: "platform" |
151 }).then(platform => | 157 }).then(platform => |
152 { | 158 { |
153 element.setAttribute("name", platform); | 159 element.setAttribute("name", capitalize(platform)); |
154 return browser.runtime.sendMessage({ | 160 return browser.runtime.sendMessage({ |
155 type: "app.get", | 161 type: "app.get", |
156 what: "platformVersion" | 162 what: "platformVersion" |
157 }); | 163 }); |
158 }).then(platformVersion => | 164 }).then(platformVersion => |
159 { | 165 { |
160 element.setAttribute("version", platformVersion); | 166 element.setAttribute("version", platformVersion); |
161 reportData.documentElement.appendChild(element); | 167 reportData.documentElement.appendChild(element); |
162 }); | 168 }); |
163 } | 169 } |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
469 progress.value = event.loaded; | 475 progress.value = event.loaded; |
470 } | 476 } |
471 }); | 477 }); |
472 request.send(serializeReportData()); | 478 request.send(serializeReportData()); |
473 } | 479 } |
474 | 480 |
475 function leaveSendPage() | 481 function leaveSendPage() |
476 { | 482 { |
477 window.close(); | 483 window.close(); |
478 } | 484 } |
OLD | NEW |