| 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-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 | 
| 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 12  * GNU General Public License for more details. | 12  * GNU General Public License for more details. | 
| 13  * | 13  * | 
| 14  * You should have received a copy of the GNU General Public License | 14  * You should have received a copy of the GNU General Public License | 
| 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
| 16  */ | 16  */ | 
| 17 | 17 | 
| 18 /* globals Cu */ |  | 
| 19 |  | 
| 20 "use strict"; | 18 "use strict"; | 
| 21 | 19 | 
| 22 Cu.import("resource://gre/modules/Services.jsm"); | 20 const {Prefs} = require("prefs"); | 
|  | 21 const {ActiveFilter} = require("filterClasses"); | 
|  | 22 const {FilterStorage} = require("filterStorage"); | 
|  | 23 const {FilterNotifier} = require("filterNotifier"); | 
|  | 24 const {Subscription} = require("subscriptionClasses"); | 
|  | 25 const {Notification} = require("notification"); | 
| 23 | 26 | 
| 24 let {Utils} = require("utils"); | 27 let ext; | 
| 25 let {Prefs} = require("prefs"); | 28 if (typeof window != "undefined" && window.ext) | 
| 26 let {ActiveFilter} = require("filterClasses"); | 29   ({ext} = window); | 
| 27 let {FilterStorage} = require("filterStorage"); | 30 else | 
| 28 let {FilterNotifier} = require("filterNotifier"); | 31   ext = require("ext_background"); | 
| 29 let {Subscription} = require("subscriptionClasses"); |  | 
| 30 let {Notification} = require("notification"); |  | 
| 31 | 32 | 
| 32 exports.initAntiAdblockNotification = function initAntiAdblockNotification() | 33 exports.initAntiAdblockNotification = function initAntiAdblockNotification() | 
| 33 { | 34 { | 
| 34   let notification = { | 35   let notification = { | 
| 35     id: "antiadblock", | 36     id: "antiadblock", | 
| 36     type: "question", | 37     type: "question", | 
| 37     title: ext.i18n.getMessage("notification_antiadblock_title"), | 38     title: ext.i18n.getMessage("notification_antiadblock_title"), | 
| 38     message: ext.i18n.getMessage("notification_antiadblock_message"), | 39     message: ext.i18n.getMessage("notification_antiadblock_message"), | 
| 39     urlFilters: [] | 40     urlFilters: [] | 
| 40   }; | 41   }; | 
| (...skipping 25 matching lines...) Expand all  Loading... | 
| 66     Notification.addNotification(notification); | 67     Notification.addNotification(notification); | 
| 67     Notification.addQuestionListener(notification.id, notificationListener); | 68     Notification.addQuestionListener(notification.id, notificationListener); | 
| 68   } | 69   } | 
| 69 | 70 | 
| 70   function removeAntiAdblockNotification() | 71   function removeAntiAdblockNotification() | 
| 71   { | 72   { | 
| 72     Notification.removeNotification(notification); | 73     Notification.removeNotification(notification); | 
| 73     Notification.removeQuestionListener(notification.id, notificationListener); | 74     Notification.removeQuestionListener(notification.id, notificationListener); | 
| 74   } | 75   } | 
| 75 | 76 | 
| 76   { | 77   let antiAdblockSubscription = Subscription.fromURL( | 
| 77     let subscription = Subscription.fromURL(Prefs.subscriptions_antiadblockurl); | 78     Prefs.subscriptions_antiadblockurl | 
| 78     if (subscription.lastDownload && subscription.disabled) | 79   ); | 
| 79       addAntiAdblockNotification(subscription); | 80   if (antiAdblockSubscription.lastDownload && antiAdblockSubscription.disabled) | 
| 80   } | 81     addAntiAdblockNotification(antiAdblockSubscription); | 
| 81 | 82 | 
| 82   function onSubscriptionChange(subscription) | 83   function onSubscriptionChange(subscription) | 
| 83   { | 84   { | 
| 84     let url = Prefs.subscriptions_antiadblockurl; | 85     let url = Prefs.subscriptions_antiadblockurl; | 
| 85     if (url != subscription.url) | 86     if (url != subscription.url) | 
| 86       return; | 87       return; | 
| 87 | 88 | 
| 88     if (url in FilterStorage.knownSubscriptions && !subscription.disabled) | 89     if (url in FilterStorage.knownSubscriptions && !subscription.disabled) | 
| 89       addAntiAdblockNotification(subscription); | 90       addAntiAdblockNotification(subscription); | 
| 90     else | 91     else | 
| 91       removeAntiAdblockNotification(); | 92       removeAntiAdblockNotification(); | 
| 92   } | 93   } | 
| 93 | 94 | 
| 94   FilterNotifier.on("subscription.updated", onSubscriptionChange); | 95   FilterNotifier.on("subscription.updated", onSubscriptionChange); | 
| 95   FilterNotifier.on("subscription.removed", onSubscriptionChange); | 96   FilterNotifier.on("subscription.removed", onSubscriptionChange); | 
| 96   FilterNotifier.on("subscription.disabled", onSubscriptionChange); | 97   FilterNotifier.on("subscription.disabled", onSubscriptionChange); | 
| 97 }; | 98 }; | 
| LEFT | RIGHT | 
|---|