Index: js/desktop-options.js |
=================================================================== |
--- a/js/desktop-options.js |
+++ b/js/desktop-options.js |
@@ -232,17 +232,18 @@ |
element.setAttribute("aria-label", title); |
if (this.details[i].searchable) |
element.setAttribute("data-search", title.toLowerCase()); |
let controls = element.querySelectorAll(".control[role='checkbox']"); |
for (let control of controls) |
{ |
control.setAttribute("aria-checked", item.disabled == false); |
- if (isAcceptableAds(item.url) && this == collections.filterLists) |
+ if (isAcceptableAds(item.url) && this == collections.filterLists && |
+ !item.disabled) |
{ |
control.disabled = true; |
} |
} |
if (additionalSubscriptions.includes(item.url)) |
{ |
element.classList.add("preconfigured"); |
let disablePreconfigures = |
@@ -1074,22 +1075,24 @@ |
{ |
let acceptableAdsForm = E("acceptable-ads"); |
let acceptableAds = E("acceptable-ads-allow"); |
let acceptableAdsPrivacy = E("acceptable-ads-privacy-allow"); |
acceptableAdsForm.classList.remove("show-dnt-notification"); |
acceptableAds.setAttribute("aria-checked", false); |
acceptableAdsPrivacy.setAttribute("aria-checked", false); |
acceptableAdsPrivacy.setAttribute("tabindex", 0); |
- if (acceptableAdsUrl in subscriptionsMap) |
+ if (acceptableAdsUrl in subscriptionsMap && |
+ !subscriptionsMap[acceptableAdsUrl].disabled) |
{ |
acceptableAds.setAttribute("aria-checked", true); |
acceptableAdsPrivacy.setAttribute("aria-disabled", false); |
} |
- else if (acceptableAdsPrivacyUrl in subscriptionsMap) |
+ else if (acceptableAdsPrivacyUrl in subscriptionsMap && |
+ !subscriptionsMap[acceptableAdsPrivacyUrl].disabled) |
{ |
acceptableAds.setAttribute("aria-checked", true); |
acceptableAdsPrivacy.setAttribute("aria-checked", true); |
acceptableAdsPrivacy.setAttribute("aria-disabled", false); |
// Edge uses window instead of navigator. |
// Prefer navigator first since it's the standard. |
if ((navigator.doNotTrack || window.doNotTrack) != 1) |
@@ -1286,16 +1289,19 @@ |
knownSubscription[property] = subscription[property]; |
} |
subscription = knownSubscription; |
} |
switch (action) |
{ |
case "disabled": |
updateSubscription(subscription); |
+ if (isAcceptableAds(subscription.url)) |
+ setAcceptableAds(); |
+ |
setPrivacyConflict(); |
break; |
case "downloading": |
case "downloadStatus": |
case "homepage": |
case "lastDownload": |
case "title": |
updateSubscription(subscription); |