| Left: | ||
| Right: |
| 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-2016 Eyeo GmbH | 3 * Copyright (C) 2006-2016 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 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 185 }); | 185 }); |
| 186 | 186 |
| 187 // Load recommended subscriptions | 187 // Load recommended subscriptions |
| 188 loadRecommendations(); | 188 loadRecommendations(); |
| 189 | 189 |
| 190 // Show user's filters | 190 // Show user's filters |
| 191 reloadFilters(); | 191 reloadFilters(); |
| 192 } | 192 } |
| 193 $(loadOptions); | 193 $(loadOptions); |
| 194 | 194 |
| 195 function convertSpecialSubscription(subscription) | |
| 196 { | |
| 197 getFilters(subscription.url, function(filters) | |
| 198 { | |
| 199 for (var j = 0; j < filters.length; j++) | |
| 200 { | |
| 201 var filter = filters[j].text; | |
| 202 if (whitelistedDomainRegexp.test(filter)) | |
| 203 appendToListBox("excludedDomainsBox", RegExp.$1); | |
|
Sebastian Noack
2016/04/12 12:26:06
RegExp.$* is deprecated. However, since this is co
kzar
2016/04/12 12:31:49
I would rather not mess with it. (Note this is not
Sebastian Noack
2016/04/12 12:43:21
I know that the logic here isn't new. But this wou
| |
| 204 else | |
| 205 appendToListBox("userFiltersBox", filter); | |
| 206 } | |
| 207 }); | |
| 208 } | |
| 209 | |
| 195 // Reloads the displayed subscriptions and filters | 210 // Reloads the displayed subscriptions and filters |
| 196 function reloadFilters() | 211 function reloadFilters() |
| 197 { | 212 { |
| 198 // Load user filter URLs | 213 // Load user filter URLs |
| 199 var container = document.getElementById("filterLists"); | 214 var container = document.getElementById("filterLists"); |
| 200 while (container.lastChild) | 215 while (container.lastChild) |
| 201 container.removeChild(container.lastChild); | 216 container.removeChild(container.lastChild); |
| 202 | 217 |
| 203 getSubscriptions(true, false, function(subscriptions) | 218 getSubscriptions(true, false, function(subscriptions) |
| 204 { | 219 { |
| 205 for (var i = 0; i < subscriptions.length; i++) | 220 for (var i = 0; i < subscriptions.length; i++) |
| 206 { | 221 { |
| 207 var subscription = subscriptions[i]; | 222 var subscription = subscriptions[i]; |
| 208 if (subscription.url == acceptableAdsUrl) | 223 if (subscription.url == acceptableAdsUrl) |
| 209 $("#acceptableAds").prop("checked", !subscription.disabled); | 224 $("#acceptableAds").prop("checked", !subscription.disabled); |
| 210 else | 225 else |
| 211 addSubscriptionEntry(subscription); | 226 addSubscriptionEntry(subscription); |
| 212 } | 227 } |
| 213 }); | 228 }); |
| 214 | 229 |
| 215 // User-entered filters | 230 // User-entered filters |
| 216 getSubscriptions(false, true, function(subscriptions) | 231 getSubscriptions(false, true, function(subscriptions) |
| 217 { | 232 { |
| 218 clearListBox("userFiltersBox"); | 233 clearListBox("userFiltersBox"); |
| 219 clearListBox("excludedDomainsBox"); | 234 clearListBox("excludedDomainsBox"); |
| 220 | 235 |
| 221 for (var i = 0; i < subscriptions.length; i++) | 236 for (var i = 0; i < subscriptions.length; i++) |
| 222 getFilters(subscriptions[i].url, function(filters) | 237 convertSpecialSubscription(subscriptions[i]); |
| 223 { | |
| 224 for (var j = 0; j < filters.length; j++) | |
| 225 { | |
| 226 var filter = filters[j].text; | |
| 227 if (whitelistedDomainRegexp.test(filter)) | |
| 228 appendToListBox("excludedDomainsBox", RegExp.$1); | |
| 229 else | |
| 230 appendToListBox("userFiltersBox", filter); | |
| 231 } | |
| 232 }); | |
| 233 }); | 238 }); |
| 234 } | 239 } |
| 235 | 240 |
| 236 function initCheckbox(id, descriptor) | 241 function initCheckbox(id, descriptor) |
| 237 { | 242 { |
| 238 var checkbox = document.getElementById(id); | 243 var checkbox = document.getElementById(id); |
| 239 var key = descriptor && descriptor.key || id; | 244 var key = descriptor && descriptor.key || id; |
| 240 getPref(key, function(value) | 245 getPref(key, function(value) |
| 241 { | 246 { |
| 242 if (descriptor && descriptor.get) | 247 if (descriptor && descriptor.get) |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 462 case "disabled": | 467 case "disabled": |
| 463 case "downloading": | 468 case "downloading": |
| 464 case "downloadStatus": | 469 case "downloadStatus": |
| 465 case "homepage": | 470 case "homepage": |
| 466 case "lastDownload": | 471 case "lastDownload": |
| 467 case "title": | 472 case "title": |
| 468 if (element) | 473 if (element) |
| 469 updateSubscriptionInfo(element, subscription); | 474 updateSubscriptionInfo(element, subscription); |
| 470 break; | 475 break; |
| 471 case "added": | 476 case "added": |
| 472 if (subscription.url == acceptableAdsUrl) | 477 if (subscription.special) |
|
Sebastian Noack
2016/04/12 12:26:06
If we add this property it should be isSpecial.
kzar
2016/04/12 12:31:49
I disagree as this way it's consistent with the `s
Sebastian Noack
2016/04/12 12:43:21
What does have the semantics of query parameters h
kzar
2016/04/13 08:15:13
Fair enough, I renamed these in the new review.
| |
| 478 convertSpecialSubscription(subscription); | |
| 479 else if (subscription.url == acceptableAdsUrl) | |
| 473 $("#acceptableAds").prop("checked", true); | 480 $("#acceptableAds").prop("checked", true); |
| 474 else if (!element) | 481 else if (!element) |
| 475 addSubscriptionEntry(subscription); | 482 addSubscriptionEntry(subscription); |
| 476 break; | 483 break; |
| 477 case "removed": | 484 case "removed": |
| 478 if (subscription.url == acceptableAdsUrl) | 485 if (subscription.url == acceptableAdsUrl) |
| 479 $("#acceptableAds").prop("checked", false); | 486 $("#acceptableAds").prop("checked", false); |
| 480 else if (element) | 487 else if (element) |
| 481 element.parentNode.removeChild(element); | 488 element.parentNode.removeChild(element); |
| 482 break; | 489 break; |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 741 onFilterMessage(message.action, message.args[0]); | 748 onFilterMessage(message.action, message.args[0]); |
| 742 break; | 749 break; |
| 743 case "prefs.respond": | 750 case "prefs.respond": |
| 744 onPrefMessage(message.action, message.args[0]); | 751 onPrefMessage(message.action, message.args[0]); |
| 745 break; | 752 break; |
| 746 case "subscriptions.respond": | 753 case "subscriptions.respond": |
| 747 onSubscriptionMessage(message.action, message.args[0]); | 754 onSubscriptionMessage(message.action, message.args[0]); |
| 748 break; | 755 break; |
| 749 } | 756 } |
| 750 }); | 757 }); |
| OLD | NEW |