| Index: new-options.js | 
| =================================================================== | 
| --- a/new-options.js | 
| +++ b/new-options.js | 
| @@ -27,6 +27,7 @@ | 
| let acceptableAdsUrl = null; | 
| let acceptableAdsPrivacyUrl = null; | 
| let isCustomFiltersLoaded = false; | 
| +  let isSubscriptionsLoaded = false; | 
| let {getMessage} = ext.i18n; | 
| let customFilters = []; | 
| let filterErrors = new Map([ | 
| @@ -1008,6 +1009,18 @@ | 
| return url == acceptableAdsUrl || url == acceptableAdsPrivacyUrl; | 
| } | 
|  | 
| +  function isPrivacyAndAdsEnabled() | 
| +  { | 
| +    let isAcceptableAds = subscriptionsMap[acceptableAdsUrl]; | 
| +    isAcceptableAds = isAcceptableAds && isAcceptableAds.disabled == false; | 
| +    for (let url in subscriptionsMap) | 
| +    { | 
| +      let subscription = subscriptionsMap[url]; | 
| +      if (subscription.recommended == "privacy") | 
| +        return subscription.disabled == false && isAcceptableAds; | 
| +    } | 
| +  } | 
| + | 
| function populateLists() | 
| { | 
| subscriptionsMap = Object.create(null); | 
| @@ -1070,6 +1083,7 @@ | 
| { | 
| for (let subscription of subscriptions) | 
| onSubscriptionMessage("added", subscription); | 
| +          isSubscriptionsLoaded = true; | 
| }); | 
| }); | 
| }); | 
| @@ -1171,14 +1185,27 @@ | 
| updateSubscription(subscription); | 
| break; | 
| case "added": | 
| -        if (subscription.url in subscriptionsMap) | 
| +        let url = subscription.url; | 
| +        if (url in subscriptionsMap) | 
| updateSubscription(subscription); | 
| else | 
| addSubscription(subscription); | 
|  | 
| -        if (isAcceptableAds(subscription.url)) | 
| +        if (isAcceptableAds(url)) | 
| setAcceptableAds(); | 
|  | 
| +        if (url == acceptableAdsPrivacyUrl) | 
| +        { | 
| +          if (!navigator.doNotTrack) | 
| +            setDntNotification(true); | 
| +        } | 
| + | 
| +        if (url == acceptableAdsUrl || subscription.recommended == "privacy") | 
| +        { | 
| +          if (isSubscriptionsLoaded && isPrivacyAndAdsEnabled()) | 
| +            openDialog("tracking"); | 
| +        } | 
| + | 
| collections.filterLists.addItem(subscription); | 
| break; | 
| case "removed": | 
|  |