| LEFT | RIGHT | 
|    1 /* |    1 /* | 
|    2  * This file is part of Adblock Plus <http://adblockplus.org/>, |    2  * This file is part of Adblock Plus <http://adblockplus.org/>, | 
|    3  * Copyright (C) 2006-2014 Eyeo GmbH |    3  * Copyright (C) 2006-2014 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 getURLParameters(data) |   20   function updateFromURL(data) | 
|   21   { |   21   { | 
|   22     if (window.location.search) |   22     if (window.location.search) | 
|   23     { |   23     { | 
|   24       var params = window.location.search.substr(1).split("&"); |   24       var params = window.location.search.substr(1).split("&"); | 
|   25       for (var i = 0; i < params.length; i++) |   25       for (var i = 0; i < params.length; i++) | 
|   26       { |   26       { | 
|   27         var parts = params[i].split("=", 2); |   27         var parts = params[i].split("=", 2); | 
|   28         if (parts.length == 2 && parts[0] in data) |   28         if (parts.length == 2 && parts[0] in data) | 
|   29           data[parts[0]] = decodeURIComponent(parts[1]); |   29           data[parts[0]] = decodeURIComponent(parts[1]); | 
|   30       } |   30       } | 
|   31     } |   31     } | 
|   32   } |   32   } | 
|   33  |   33  | 
|   34   var subscriptions =[ |   34   var subscriptions =[ | 
|   35     "https://easylist-downloads.adblockplus.org/easylistgermany+easylist.txt", |   35     "https://easylist-downloads.adblockplus.org/easylistgermany+easylist.txt", | 
|   36     "https://easylist-downloads.adblockplus.org/exceptionrules.txt", |   36     "https://easylist-downloads.adblockplus.org/exceptionrules.txt", | 
|   37     "https://easylist-downloads.adblockplus.org/fanboy-social.txt" |   37     "https://easylist-downloads.adblockplus.org/fanboy-social.txt" | 
|   38   ]; |   38   ]; | 
|   39  |   39  | 
|   40   global.Utils = { |   40   global.Utils = { | 
|   41     getDocLink: function(link) |   41     getDocLink: function(link) | 
|   42     { |   42     { | 
|   43       return "https://adblockplus.org/redirect?link=" + encodeURIComponent(link)
     ; |   43       return "https://adblockplus.org/redirect?link=" + encodeURIComponent(link)
     ; | 
|   44     } |   44     } | 
|   45   }; |   45   }; | 
|   46  |   46  | 
|   47   global.Subscription = { |   47   global.Subscription = function(url) | 
|   48     fromURL: function(url) |   48   { | 
|   49     { |   49     this.url = url; | 
|   50       return { |   50     this.title = "Subscription " + url; | 
|   51         url: url, |   51     this.disabled = false; | 
|   52         title: "Subscription " + url, |   52     this.lastDownload = 1234; | 
|   53         disabled: false, |  | 
|   54         lastDownload: 1234 |  | 
|   55       }; |  | 
|   56     } |  | 
|   57   }; |   53   }; | 
 |   54  | 
 |   55   global.Subscription.fromURL = function(url) | 
 |   56   { | 
 |   57     return new global.Subscription(url); | 
 |   58   }; | 
 |   59  | 
 |   60   global.DownloadableSubscription = global.Subscription; | 
 |   61   global.SpecialSubscription = function() {}; | 
|   58  |   62  | 
|   59   global.FilterStorage = { |   63   global.FilterStorage = { | 
|   60     get subscriptions() |   64     get subscriptions() | 
|   61     { |   65     { | 
|   62       return subscriptions.map(global.Subscription.fromURL); |   66       return subscriptions.map(global.Subscription.fromURL); | 
|   63     }, |   67     }, | 
|   64  |   68  | 
|   65     get knownSubscriptions() |   69     get knownSubscriptions() | 
|   66     { |   70     { | 
|   67       var result = {}; |   71       var result = {}; | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
|   90       } |   94       } | 
|   91     } |   95     } | 
|   92   }; |   96   }; | 
|   93  |   97  | 
|   94   global.BlockingFilter = function() {}; |   98   global.BlockingFilter = function() {}; | 
|   95  |   99  | 
|   96   global.defaultMatcher = { |  100   global.defaultMatcher = { | 
|   97     matchesAny: function(url, requestType, docDomain, thirdParty) |  101     matchesAny: function(url, requestType, docDomain, thirdParty) | 
|   98     { |  102     { | 
|   99       var params = {blockedURLs: ""}; |  103       var params = {blockedURLs: ""}; | 
|  100       getURLParameters(params); |  104       updateFromURL(params); | 
|  101       var blocked = params.blockedURLs.split(","); |  105       var blocked = params.blockedURLs.split(","); | 
|  102       if (blocked.indexOf(url) >= 0) |  106       if (blocked.indexOf(url) >= 0) | 
|  103         return new global.BlockingFilter(); |  107         return new global.BlockingFilter(); | 
|  104       else |  108       else | 
|  105         return null; |  109         return null; | 
|  106     } |  110     } | 
|  107   }; |  111   }; | 
|  108  |  112  | 
|  109   var notifierListeners = []; |  113   var notifierListeners = []; | 
|  110   global.FilterNotifier = { |  114   global.FilterNotifier = { | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
|  127       var listeners = notifierListeners.slice(); |  131       var listeners = notifierListeners.slice(); | 
|  128       for (var i = 0; i < listeners.length; i++) |  132       for (var i = 0; i < listeners.length; i++) | 
|  129         listeners[i].apply(null, args); |  133         listeners[i].apply(null, args); | 
|  130     } |  134     } | 
|  131   }; |  135   }; | 
|  132  |  136  | 
|  133   global.require = function(module) |  137   global.require = function(module) | 
|  134   { |  138   { | 
|  135     if (module == "info") |  139     if (module == "info") | 
|  136     { |  140     { | 
|  137       var result = {platform: "gecko", platformVersion: "34.0", application: "fi
     refox", applicationVersion: "34.0"}; |  141       var result = { | 
|  138       getURLParameters(result); |  142         platform: "gecko", | 
 |  143         platformVersion: "34.0", | 
 |  144         application: "firefox", | 
 |  145         applicationVersion: "34.0" | 
 |  146       }; | 
 |  147       updateFromURL(result); | 
|  139       return result; |  148       return result; | 
|  140     } |  149     } | 
|  141     else |  150     else | 
|  142       return undefined; |  151       return undefined; | 
|  143   } |  152   } | 
|  144  |  153  | 
|  145   global.openOptions = function() |  154   global.openOptions = function() | 
|  146   { |  155   { | 
|  147     window.open("http://example.com/options.html", "_blank"); |  156     window.open("http://example.com/options.html", "_blank"); | 
|  148   }; |  157   }; | 
|  149  |  158  | 
 |  159   global.Services = { | 
 |  160     vc: { | 
 |  161       compare: function(v1, v2) | 
 |  162       { | 
 |  163         return parseFloat(v1) - parseFloat(v2); | 
 |  164       } | 
 |  165     } | 
 |  166   }; | 
 |  167  | 
|  150   var issues = {seenDataCorruption: false, filterlistsReinitialized: false}; |  168   var issues = {seenDataCorruption: false, filterlistsReinitialized: false}; | 
|  151   getURLParameters(issues); |  169   updateFromURL(issues); | 
|  152   global.seenDataCorruption = issues.seenDataCorruption; |  170   global.seenDataCorruption = issues.seenDataCorruption; | 
|  153   global.filterlistsReinitialized = issues.filterlistsReinitialized; |  171   global.filterlistsReinitialized = issues.filterlistsReinitialized; | 
|  154 })(this); |  172 })(this); | 
| LEFT | RIGHT |