| 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 | 
| 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 (function(global) | 18 (function(global) | 
| 19 { | 19 { | 
|  | 20   function Notifier() | 
|  | 21   { | 
|  | 22     this._listeners = []; | 
|  | 23   } | 
|  | 24   Notifier.prototype = { | 
|  | 25     _listeners: null, | 
|  | 26 | 
|  | 27     addListener: function(listener) | 
|  | 28     { | 
|  | 29       if (this._listeners.indexOf(listener) < 0) | 
|  | 30         this._listeners.push(listener); | 
|  | 31     }, | 
|  | 32 | 
|  | 33     removeListener: function(listener) | 
|  | 34     { | 
|  | 35       var index = this._listeners.indexOf(listener); | 
|  | 36       if (index >= 0) | 
|  | 37         this._listeners.splice(index, 1); | 
|  | 38     }, | 
|  | 39 | 
|  | 40     triggerListeners: function() | 
|  | 41     { | 
|  | 42       var args = Array.prototype.slice.apply(arguments); | 
|  | 43       var listeners = this._listeners.slice(); | 
|  | 44       for (var i = 0; i < listeners.length; i++) | 
|  | 45         listeners[i].apply(null, args); | 
|  | 46     } | 
|  | 47   }; | 
|  | 48 | 
| 20   function updateFromURL(data) | 49   function updateFromURL(data) | 
| 21   { | 50   { | 
| 22     if (window.location.search) | 51     if (window.location.search) | 
| 23     { | 52     { | 
| 24       var params = window.location.search.substr(1).split("&"); | 53       var params = window.location.search.substr(1).split("&"); | 
| 25       for (var i = 0; i < params.length; i++) | 54       for (var i = 0; i < params.length; i++) | 
| 26       { | 55       { | 
| 27         var parts = params[i].split("=", 2); | 56         var parts = params[i].split("=", 2); | 
| 28         if (parts.length == 2 && parts[0] in data) | 57         if (parts.length == 2 && parts[0] in data) | 
| 29           data[parts[0]] = decodeURIComponent(parts[1]); | 58           data[parts[0]] = decodeURIComponent(parts[1]); | 
| 30       } | 59       } | 
| 31     } | 60     } | 
| 32   } | 61   } | 
| 33 | 62 | 
| 34   var params = { | 63   var params = { | 
| 35     blockedURLs: "", | 64     blockedURLs: "", | 
| 36     seenDataCorruption: false, | 65     seenDataCorruption: false, | 
| 37     filterlistsReinitialized: false, | 66     filterlistsReinitialized: false, | 
| 38     addSubscription: false, | 67     addSubscription: false, | 
| 39     filterError: false, | 68     filterError: false, | 
| 40     downloadStatus: "synchronize_ok" | 69     downloadStatus: "synchronize_ok", | 
|  | 70     showNotificationUI: false, | 
|  | 71     safariContentBlocker: false | 
| 41   }; | 72   }; | 
| 42   updateFromURL(params); | 73   updateFromURL(params); | 
| 43 | 74 | 
| 44   var modules = {}; | 75   var modules = {}; | 
| 45   global.require = function(module) | 76   global.require = function(module) | 
| 46   { | 77   { | 
| 47     return modules[module]; | 78     return modules[module]; | 
| 48   }; | 79   }; | 
| 49 | 80 | 
| 50   modules.utils = { | 81   modules.utils = { | 
| 51     Utils: { | 82     Utils: { | 
| 52       getDocLink: function(link) | 83       getDocLink: function(link) | 
| 53       { | 84       { | 
| 54         return "https://adblockplus.org/redirect?link=" + encodeURIComponent(lin
     k); | 85         return "https://adblockplus.org/redirect?link=" + encodeURIComponent(lin
     k); | 
| 55       }, | 86       }, | 
| 56       get appLocale() | 87       get appLocale() | 
| 57       { | 88       { | 
| 58         return parent.ext.i18n.getMessage("@@ui_locale").replace(/_/g, "-"); | 89         return parent.ext.i18n.getMessage("@@ui_locale").replace(/_/g, "-"); | 
| 59       } | 90       } | 
| 60     } | 91     } | 
| 61   }; | 92   }; | 
| 62 | 93 | 
| 63   modules.prefs = { | 94   modules.prefs = { | 
| 64     Prefs: { | 95     Prefs: { | 
| 65       "subscriptions_exceptionsurl": "https://easylist-downloads.adblockplus.org
     /exceptionrules.txt" | 96       onChanged: new Notifier() | 
|  | 97     } | 
|  | 98   }; | 
|  | 99   var prefs = { | 
|  | 100     notifications_ignoredcategories: (params.showNotificationUI) ? ["*"] : [], | 
|  | 101     notifications_showui: params.showNotificationUI, | 
|  | 102     safari_contentblocker: false, | 
|  | 103     shouldShowBlockElementMenu: true, | 
|  | 104     subscriptions_exceptionsurl: "https://easylist-downloads.adblockplus.org/exc
     eptionrules.txt" | 
|  | 105   }; | 
|  | 106   Object.keys(prefs).forEach(function(key) | 
|  | 107   { | 
|  | 108     Object.defineProperty(modules.prefs.Prefs, key, { | 
|  | 109       get: function() | 
|  | 110       { | 
|  | 111         return prefs[key]; | 
|  | 112       }, | 
|  | 113       set: function(value) | 
|  | 114       { | 
|  | 115         prefs[key] = value; | 
|  | 116         modules.prefs.Prefs.onChanged.triggerListeners(key); | 
|  | 117         return prefs[key]; | 
|  | 118       } | 
|  | 119     }); | 
|  | 120   }); | 
|  | 121 | 
|  | 122   modules.notification = { | 
|  | 123     Notification: { | 
|  | 124       toggleIgnoreCategory: function(category) | 
|  | 125       { | 
|  | 126         var categories = prefs.notifications_ignoredcategories; | 
|  | 127         var index = categories.indexOf(category); | 
|  | 128         if (index == -1) | 
|  | 129           categories.push(category); | 
|  | 130         else | 
|  | 131           categories.splice(index, 1); | 
|  | 132         modules.prefs.Prefs.notifications_ignoredcategories = categories; | 
|  | 133       } | 
| 66     } | 134     } | 
| 67   }; | 135   }; | 
| 68 | 136 | 
| 69   modules.subscriptionClasses = { | 137   modules.subscriptionClasses = { | 
| 70     Subscription: function(url) | 138     Subscription: function(url) | 
| 71     { | 139     { | 
| 72       this.url = url; | 140       this.url = url; | 
| 73       this.title = "Subscription " + url; | 141       this.title = "Subscription " + url; | 
| 74       this.disabled = false; | 142       this.disabled = false; | 
| 75       this._lastDownload = 1234; | 143       this._lastDownload = 1234; | 
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 234       } | 302       } | 
| 235     } | 303     } | 
| 236   }; | 304   }; | 
| 237 | 305 | 
| 238   modules.cssRules = { | 306   modules.cssRules = { | 
| 239     CSSRules: { | 307     CSSRules: { | 
| 240       getRulesForDomain: function(domain) { } | 308       getRulesForDomain: function(domain) { } | 
| 241     } | 309     } | 
| 242   }; | 310   }; | 
| 243 | 311 | 
| 244   var notifierListeners = []; |  | 
| 245   modules.filterNotifier = { | 312   modules.filterNotifier = { | 
| 246     FilterNotifier: { | 313     FilterNotifier: new Notifier() | 
| 247       addListener: function(listener) |  | 
| 248       { |  | 
| 249         if (notifierListeners.indexOf(listener) < 0) |  | 
| 250           notifierListeners.push(listener); |  | 
| 251       }, |  | 
| 252 |  | 
| 253       removeListener: function(listener) |  | 
| 254       { |  | 
| 255         var index = notifierListeners.indexOf(listener); |  | 
| 256         if (index >= 0) |  | 
| 257           notifierListeners.splice(index, 1); |  | 
| 258       }, |  | 
| 259 |  | 
| 260       triggerListeners: function() |  | 
| 261       { |  | 
| 262         var args = Array.prototype.slice.apply(arguments); |  | 
| 263         var listeners = notifierListeners.slice(); |  | 
| 264         for (var i = 0; i < listeners.length; i++) |  | 
| 265           listeners[i].apply(null, args); |  | 
| 266       } |  | 
| 267     } |  | 
| 268   }; | 314   }; | 
| 269 | 315 | 
| 270   modules.info = { | 316   modules.info = { | 
| 271     platform: "gecko", | 317     platform: "gecko", | 
| 272     platformVersion: "34.0", | 318     platformVersion: "34.0", | 
| 273     application: "firefox", | 319     application: "firefox", | 
| 274     applicationVersion: "34.0", | 320     applicationVersion: "34.0", | 
| 275     addonName: "adblockplus", | 321     addonName: "adblockplus", | 
| 276     addonVersion: "2.6.7" | 322     addonVersion: "2.6.7" | 
| 277   }; | 323   }; | 
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 410         docDomain: "example.com" | 456         docDomain: "example.com" | 
| 411       }, | 457       }, | 
| 412       filter: { | 458       filter: { | 
| 413         text: "||example.com/some-annoying-popup$popup", | 459         text: "||example.com/some-annoying-popup$popup", | 
| 414         whitelisted: false, | 460         whitelisted: false, | 
| 415         userDefined: true, | 461         userDefined: true, | 
| 416         subscription: null | 462         subscription: null | 
| 417       } | 463       } | 
| 418     }); | 464     }); | 
| 419   }); | 465   }); | 
|  | 466 | 
|  | 467   if (params.safariContentBlocker) | 
|  | 468   { | 
|  | 469     global.safari = { | 
|  | 470       extension: { | 
|  | 471         setContentBlocker: function() {} | 
|  | 472       } | 
|  | 473     }; | 
|  | 474   } | 
| 420 })(this); | 475 })(this); | 
| OLD | NEW | 
|---|