| 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 | 
| (...skipping 11 matching lines...) Expand all  Loading... | 
| 22 Cu.import("resource://gre/modules/Services.jsm"); | 22 Cu.import("resource://gre/modules/Services.jsm"); | 
| 23 Cu.import("resource://gre/modules/FileUtils.jsm"); | 23 Cu.import("resource://gre/modules/FileUtils.jsm"); | 
| 24 Cu.import("resource://gre/modules/XPCOMUtils.jsm"); | 24 Cu.import("resource://gre/modules/XPCOMUtils.jsm"); | 
| 25 | 25 | 
| 26 let {IO} = require("io"); | 26 let {IO} = require("io"); | 
| 27 let {Prefs} = require("prefs"); | 27 let {Prefs} = require("prefs"); | 
| 28 let {Filter, ActiveFilter} = require("filterClasses"); | 28 let {Filter, ActiveFilter} = require("filterClasses"); | 
| 29 let {Subscription, SpecialSubscription, ExternalSubscription} = require("subscri
     ptionClasses"); | 29 let {Subscription, SpecialSubscription, ExternalSubscription} = require("subscri
     ptionClasses"); | 
| 30 let {FilterNotifier} = require("filterNotifier"); | 30 let {FilterNotifier} = require("filterNotifier"); | 
| 31 let {Utils} = require("utils"); | 31 let {Utils} = require("utils"); | 
|  | 32 let FilterHits = null; | 
|  | 33 try | 
|  | 34 { | 
|  | 35   ({FilterHits} = require("filterHits")); | 
|  | 36 } | 
|  | 37 catch (e) {} | 
| 32 | 38 | 
| 33 /** | 39 /** | 
| 34  * Version number of the filter storage file format. | 40  * Version number of the filter storage file format. | 
| 35  * @type Integer | 41  * @type Integer | 
| 36  */ | 42  */ | 
| 37 let formatVersion = 4; | 43 let formatVersion = 4; | 
| 38 | 44 | 
| 39 /** | 45 /** | 
| 40  * This class reads user's filters from disk, manages them in memory and writes 
     them back. | 46  * This class reads user's filters from disk, manages them in memory and writes 
     them back. | 
| 41  * @class | 47  * @class | 
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 316       return; | 322       return; | 
| 317 | 323 | 
| 318     subscription.filters.splice(oldPosition, 1); | 324     subscription.filters.splice(oldPosition, 1); | 
| 319     subscription.filters.splice(newPosition, 0, filter); | 325     subscription.filters.splice(newPosition, 0, filter); | 
| 320     FilterNotifier.triggerListeners("filter.moved", filter, subscription, oldPos
     ition, newPosition); | 326     FilterNotifier.triggerListeners("filter.moved", filter, subscription, oldPos
     ition, newPosition); | 
| 321   }, | 327   }, | 
| 322 | 328 | 
| 323   /** | 329   /** | 
| 324    * Increases the hit count for a filter by one | 330    * Increases the hit count for a filter by one | 
| 325    * @param {Filter} filter | 331    * @param {Filter} filter | 
|  | 332    * @param {String} hostname of top window where the match originated in | 
| 326    */ | 333    */ | 
| 327   increaseHitCount: function(filter) | 334   increaseHitCount: function(filter, hostname, thirdParty) | 
| 328   { | 335   { | 
| 329     if (!Prefs.savestats || !(filter instanceof ActiveFilter)) | 336     if (!Prefs.savestats || !(filter instanceof ActiveFilter)) | 
| 330       return; | 337       return; | 
| 331 | 338 | 
| 332     filter.hitCount++; | 339     filter.hitCount++; | 
| 333     filter.lastHit = Date.now(); | 340     filter.lastHit = Date.now(); | 
|  | 341     if (Prefs.sendstats && FilterHits) | 
|  | 342       FilterHits.increaseFilterHits(filter, hostname, thirdParty); | 
| 334   }, | 343   }, | 
| 335 | 344 | 
| 336   /** | 345   /** | 
| 337    * Resets hit count for some filters | 346    * Resets hit count for some filters | 
| 338    * @param {Filter[]} filters  filters to be reset, if null all filters will be
      reset | 347    * @param {Filter[]} filters  filters to be reset, if null all filters will be
      reset | 
| 339    */ | 348    */ | 
| 340   resetHitCounts: function(filters) | 349   resetHitCounts: function(filters) | 
| 341   { | 350   { | 
| 342     if (!filters) | 351     if (!filters) | 
| 343     { | 352     { | 
| (...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 791       Subscription.knownSubscriptions = origKnownSubscriptions; | 800       Subscription.knownSubscriptions = origKnownSubscriptions; | 
| 792     } | 801     } | 
| 793 | 802 | 
| 794     // Allow events to be processed every now and then. | 803     // Allow events to be processed every now and then. | 
| 795     // Note: IO.readFromFile() will deal with the potential reentrance here. | 804     // Note: IO.readFromFile() will deal with the potential reentrance here. | 
| 796     this.linesProcessed++; | 805     this.linesProcessed++; | 
| 797     if (this.linesProcessed % 1000 == 0) | 806     if (this.linesProcessed % 1000 == 0) | 
| 798       Utils.yield(); | 807       Utils.yield(); | 
| 799   } | 808   } | 
| 800 }; | 809 }; | 
| OLD | NEW | 
|---|