| 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-2015 Eyeo GmbH | 3 * Copyright (C) 2006-2015 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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 if (value != this._disabled) | 115 if (value != this._disabled) |
| 116 { | 116 { |
| 117 let oldValue = this._disabled; | 117 let oldValue = this._disabled; |
| 118 this._disabled = value; | 118 this._disabled = value; |
| 119 FilterNotifier.triggerListeners("subscription.disabled", this, value, oldV
alue); | 119 FilterNotifier.triggerListeners("subscription.disabled", this, value, oldV
alue); |
| 120 } | 120 } |
| 121 return this._disabled; | 121 return this._disabled; |
| 122 }, | 122 }, |
| 123 | 123 |
| 124 /** | 124 /** |
| 125 * Serializes the filter to an array of strings for writing out on the disk. | 125 * Serializes the subscription to an array of strings for writing out on the d
isk. |
| 126 * @param {Array of String} buffer buffer to push the serialization results i
nto | 126 * @param {Array of String} buffer buffer to push the serialization results i
nto |
| 127 */ | 127 */ |
| 128 serialize: function(buffer) | 128 serialize: function(buffer) |
| 129 { | 129 { |
| 130 buffer.push("[Subscription]"); | 130 buffer.push("[Subscription]"); |
| 131 buffer.push("url=" + this.url); | 131 buffer.push("url=" + this.url); |
| 132 buffer.push("title=" + this._title); | 132 buffer.push("title=" + this._title); |
| 133 if (this._fixedTitle) | 133 if (this._fixedTitle) |
| 134 buffer.push("fixedTitle=true"); | 134 buffer.push("fixedTitle=true"); |
| 135 if (this._disabled) | 135 if (this._disabled) |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 try | 169 try |
| 170 { | 170 { |
| 171 // Test URL for validity | 171 // Test URL for validity |
| 172 url = Services.io.newURI(url, null, null).spec; | 172 url = Services.io.newURI(url, null, null).spec; |
| 173 return new DownloadableSubscription(url, null); | 173 return new DownloadableSubscription(url, null); |
| 174 } | 174 } |
| 175 catch (e) | 175 catch (e) |
| 176 { | 176 { |
| 177 return new SpecialSubscription(url); | 177 return new SpecialSubscription(url); |
| 178 } | 178 } |
| 179 } | 179 }; |
| 180 | 180 |
| 181 /** | 181 /** |
| 182 * Deserializes a subscription | 182 * Deserializes a subscription |
| 183 * | 183 * |
| 184 * @param {Object} obj map of serialized properties and their values | 184 * @param {Object} obj map of serialized properties and their values |
| 185 * @return {Subscription} subscription or null if the subscription couldn't be c
reated | 185 * @return {Subscription} subscription or null if the subscription couldn't be c
reated |
| 186 */ | 186 */ |
| 187 Subscription.fromObject = function(obj) | 187 Subscription.fromObject = function(obj) |
| 188 { | 188 { |
| 189 let result; | 189 let result; |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 result = new SpecialSubscription(obj.url, obj.title); | 243 result = new SpecialSubscription(obj.url, obj.title); |
| 244 if ("defaults" in obj) | 244 if ("defaults" in obj) |
| 245 result.defaults = obj.defaults.split(" "); | 245 result.defaults = obj.defaults.split(" "); |
| 246 } | 246 } |
| 247 if ("fixedTitle" in obj) | 247 if ("fixedTitle" in obj) |
| 248 result._fixedTitle = (obj.fixedTitle == "true"); | 248 result._fixedTitle = (obj.fixedTitle == "true"); |
| 249 if ("disabled" in obj) | 249 if ("disabled" in obj) |
| 250 result._disabled = (obj.disabled == "true"); | 250 result._disabled = (obj.disabled == "true"); |
| 251 | 251 |
| 252 return result; | 252 return result; |
| 253 } | 253 }; |
| 254 | 254 |
| 255 /** | 255 /** |
| 256 * Class for special filter subscriptions (user's filters) | 256 * Class for special filter subscriptions (user's filters) |
| 257 * @param {String} url see Subscription() | 257 * @param {String} url see Subscription() |
| 258 * @param {String} [title] see Subscription() | 258 * @param {String} [title] see Subscription() |
| 259 * @constructor | 259 * @constructor |
| 260 * @augments Subscription | 260 * @augments Subscription |
| 261 */ | 261 */ |
| 262 function SpecialSubscription(url, title) | 262 function SpecialSubscription(url, title) |
| 263 { | 263 { |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 322 * @param {String} [title] title of the new filter group | 322 * @param {String} [title] title of the new filter group |
| 323 * @result {SpecialSubscription} | 323 * @result {SpecialSubscription} |
| 324 */ | 324 */ |
| 325 SpecialSubscription.create = function(title) | 325 SpecialSubscription.create = function(title) |
| 326 { | 326 { |
| 327 let url; | 327 let url; |
| 328 do | 328 do |
| 329 { | 329 { |
| 330 url = "~user~" + Math.round(Math.random()*1000000); | 330 url = "~user~" + Math.round(Math.random()*1000000); |
| 331 } while (url in Subscription.knownSubscriptions); | 331 } while (url in Subscription.knownSubscriptions); |
| 332 return new SpecialSubscription(url, title) | 332 return new SpecialSubscription(url, title); |
| 333 }; | 333 }; |
| 334 | 334 |
| 335 /** | 335 /** |
| 336 * Creates a new user-defined filter group and adds the given filter to it. | 336 * Creates a new user-defined filter group and adds the given filter to it. |
| 337 * This group will act as the default group for this filter type. | 337 * This group will act as the default group for this filter type. |
| 338 */ | 338 */ |
| 339 SpecialSubscription.createForFilter = function(/**Filter*/ filter) /**SpecialSub
scription*/ | 339 SpecialSubscription.createForFilter = function(/**Filter*/ filter) /**SpecialSub
scription*/ |
| 340 { | 340 { |
| 341 let subscription = SpecialSubscription.create(); | 341 let subscription = SpecialSubscription.create(); |
| 342 subscription.filters.push(filter); | 342 subscription.filters.push(filter); |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 418 { | 418 { |
| 419 Subscription.prototype.serialize.call(this, buffer); | 419 Subscription.prototype.serialize.call(this, buffer); |
| 420 if (this._homepage) | 420 if (this._homepage) |
| 421 buffer.push("homepage=" + this._homepage); | 421 buffer.push("homepage=" + this._homepage); |
| 422 if (this._lastDownload) | 422 if (this._lastDownload) |
| 423 buffer.push("lastDownload=" + this._lastDownload); | 423 buffer.push("lastDownload=" + this._lastDownload); |
| 424 } | 424 } |
| 425 }; | 425 }; |
| 426 | 426 |
| 427 /** | 427 /** |
| 428 * Class for filter subscriptions updated by externally (by other extension) | 428 * Class for filter subscriptions updated externally (by other extension) |
| 429 * @param {String} url see Subscription() | 429 * @param {String} url see Subscription() |
| 430 * @param {String} [title] see Subscription() | 430 * @param {String} [title] see Subscription() |
| 431 * @constructor | 431 * @constructor |
| 432 * @augments RegularSubscription | 432 * @augments RegularSubscription |
| 433 */ | 433 */ |
| 434 function ExternalSubscription(url, title) | 434 function ExternalSubscription(url, title) |
| 435 { | 435 { |
| 436 RegularSubscription.call(this, url, title); | 436 RegularSubscription.call(this, url, title); |
| 437 } | 437 } |
| 438 exports.ExternalSubscription = ExternalSubscription; | 438 exports.ExternalSubscription = ExternalSubscription; |
| 439 | 439 |
| 440 ExternalSubscription.prototype = | 440 ExternalSubscription.prototype = |
| 441 { | 441 { |
| 442 __proto__: RegularSubscription.prototype, | 442 __proto__: RegularSubscription.prototype, |
| 443 | 443 |
| 444 /** | 444 /** |
| 445 * See Subscription.serialize() | 445 * See Subscription.serialize() |
| 446 */ | 446 */ |
| 447 serialize: function(buffer) | 447 serialize: function(buffer) |
| 448 { | 448 { |
| 449 throw new Error("Unexpected call, external subscriptions should not be seria
lized"); | 449 throw new Error("Unexpected call, external subscriptions should not be seria
lized"); |
| 450 } | 450 } |
| 451 }; | 451 }; |
| 452 | 452 |
| 453 /** | 453 /** |
| 454 * Class for filter subscriptions updated by externally (by other extension) | 454 * Class for filter subscriptions updated externally (by other extension) |
| 455 * @param {String} url see Subscription() | 455 * @param {String} url see Subscription() |
| 456 * @param {String} [title] see Subscription() | 456 * @param {String} [title] see Subscription() |
| 457 * @constructor | 457 * @constructor |
| 458 * @augments RegularSubscription | 458 * @augments RegularSubscription |
| 459 */ | 459 */ |
| 460 function DownloadableSubscription(url, title) | 460 function DownloadableSubscription(url, title) |
| 461 { | 461 { |
| 462 RegularSubscription.call(this, url, title); | 462 RegularSubscription.call(this, url, title); |
| 463 } | 463 } |
| 464 exports.DownloadableSubscription = DownloadableSubscription; | 464 exports.DownloadableSubscription = DownloadableSubscription; |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 555 * Minimal Adblock Plus version required for this subscription | 555 * Minimal Adblock Plus version required for this subscription |
| 556 * @type String | 556 * @type String |
| 557 */ | 557 */ |
| 558 requiredVersion: null, | 558 requiredVersion: null, |
| 559 | 559 |
| 560 /** | 560 /** |
| 561 * Should be true if requiredVersion is higher than current Adblock Plus versi
on | 561 * Should be true if requiredVersion is higher than current Adblock Plus versi
on |
| 562 * @type Boolean | 562 * @type Boolean |
| 563 */ | 563 */ |
| 564 upgradeRequired: false, | 564 upgradeRequired: false, |
| 565 | 565 |
| 566 /** | 566 /** |
| 567 * Number indicating how often the object was downloaded. | 567 * Number indicating how often the object was downloaded. |
| 568 * @type Number | 568 * @type Number |
| 569 */ | 569 */ |
| 570 downloadCount: 0, | 570 downloadCount: 0, |
| 571 | 571 |
| 572 /** | 572 /** |
| 573 * See Subscription.serialize() | 573 * See Subscription.serialize() |
| 574 */ | 574 */ |
| 575 serialize: function(buffer) | 575 serialize: function(buffer) |
| (...skipping 12 matching lines...) Expand all Loading... |
| 588 if (this.errors) | 588 if (this.errors) |
| 589 buffer.push("errors=" + this.errors); | 589 buffer.push("errors=" + this.errors); |
| 590 if (this.version) | 590 if (this.version) |
| 591 buffer.push("version=" + this.version); | 591 buffer.push("version=" + this.version); |
| 592 if (this.requiredVersion) | 592 if (this.requiredVersion) |
| 593 buffer.push("requiredVersion=" + this.requiredVersion); | 593 buffer.push("requiredVersion=" + this.requiredVersion); |
| 594 if (this.downloadCount) | 594 if (this.downloadCount) |
| 595 buffer.push("downloadCount=" + this.downloadCount); | 595 buffer.push("downloadCount=" + this.downloadCount); |
| 596 } | 596 } |
| 597 }; | 597 }; |
| OLD | NEW |