Left: | ||
Right: |
LEFT | RIGHT |
---|---|
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 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
153 browser.tabs.reload(tabId, {bypassCache: true}); | 153 browser.tabs.reload(tabId, {bypassCache: true}); |
154 | 154 |
155 panel.reload = false; | 155 panel.reload = false; |
156 panel.reloading = true; | 156 panel.reloading = true; |
157 } | 157 } |
158 } | 158 } |
159 | 159 |
160 function updateFilters(subscription, filters, added) | 160 function updateFilters(subscription, filters, added) |
161 { | 161 { |
162 let includes = subscription ? | 162 let includes = subscription ? |
163 filter => subscription.searchfilter(filter) != -1 : | 163 filter => filter && subscription.searchfilter(filter) != -1 : |
164 filters.includes.bind(filters); | 164 filters.includes.bind(filters); |
165 | 165 |
166 for (let panel of panels.values()) | 166 for (let panel of panels.values()) |
167 { | 167 { |
168 for (let i = 0; i < panel.records.length; i++) | 168 for (let i = 0; i < panel.records.length; i++) |
169 { | 169 { |
170 let record = panel.records[i]; | 170 let record = panel.records[i]; |
171 | 171 |
172 // If an added filter matches a request shown in the devtools panel, | 172 // If an added filter matches a request shown in the devtools panel, |
173 // update that record to show the new filter. Ignore filters that aren't | 173 // update that record to show the new filter. Ignore filters that aren't |
174 // associated with any sub-resource request. There is no record for these | 174 // associated with any sub-resource request. There is no record for these |
175 // if they don't already match. In particular, in case of element hiding | 175 // if they don't already match. In particular, in case of element hiding |
176 // filters, we also wouldn't know if any new element matches. | 176 // filters, we also wouldn't know if any new element matches. |
177 if (added) | 177 if (added) |
178 { | 178 { |
179 if (nonRequestTypes.includes(record.request.type)) | 179 if (nonRequestTypes.includes(record.request.type)) |
180 continue; | 180 continue; |
181 | 181 |
182 let filter = matchRequest(record.request); | 182 let filter = matchRequest(record.request); |
183 | 183 |
184 if (!filter || !includes(filter)) | 184 if (!includes(filter)) |
185 continue; | 185 continue; |
186 | 186 |
187 record.filter = filter; | 187 record.filter = filter; |
188 } | 188 } |
189 | 189 |
190 // If a filter shown in the devtools panel got removed, update that | 190 // If a filter shown in the devtools panel got removed, update that |
191 // record to show the filter that matches now, or none, instead. | 191 // record to show the filter that matches now, or none, instead. |
192 // For filters that aren't associated with any sub-resource request, | 192 // For filters that aren't associated with any sub-resource request, |
193 // just remove the record. We wouldn't know whether another filter | 193 // just remove the record. We wouldn't know whether another filter |
194 // matches instead until the page is reloaded. | 194 // matches instead until the page is reloaded. |
195 else | 195 else |
196 { | 196 { |
197 if (!includes(record.filter)) | 197 if (!includes(record.filter)) |
Manish Jethani
2019/01/04 14:51:46
`record.filter` can be null. We should do the same
Jon Sonesen
2019/01/07 22:11:44
Done.
| |
198 continue; | 198 continue; |
199 | 199 |
200 if (nonRequestTypes.includes(record.request.type)) | 200 if (nonRequestTypes.includes(record.request.type)) |
201 { | 201 { |
202 panel.port.postMessage({ | 202 panel.port.postMessage({ |
203 type: "remove-record", | 203 type: "remove-record", |
204 index: i | 204 index: i |
205 }); | 205 }); |
206 panel.records.splice(i--, 1); | 206 panel.records.splice(i--, 1); |
207 continue; | 207 continue; |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
275 ext.pages.onLoading.removeListener(onLoading); | 275 ext.pages.onLoading.removeListener(onLoading); |
276 filterNotifier.off("filter.added", onFilterAdded); | 276 filterNotifier.off("filter.added", onFilterAdded); |
277 filterNotifier.off("filter.removed", onFilterRemoved); | 277 filterNotifier.off("filter.removed", onFilterRemoved); |
278 filterNotifier.off("subscription.added", onSubscriptionAdded); | 278 filterNotifier.off("subscription.added", onSubscriptionAdded); |
279 } | 279 } |
280 }); | 280 }); |
281 | 281 |
282 HitLogger.addListener(inspectedTabId, hitListener); | 282 HitLogger.addListener(inspectedTabId, hitListener); |
283 panels.set(inspectedTabId, panel); | 283 panels.set(inspectedTabId, panel); |
284 }); | 284 }); |
LEFT | RIGHT |