| Index: lib/subscriptionClasses.js |
| =================================================================== |
| --- a/lib/subscriptionClasses.js |
| +++ b/lib/subscriptionClasses.js |
| @@ -179,41 +179,37 @@ Subscription.fromObject = function(obj) |
| { |
| let result; |
| try |
| { |
| obj.url = Services.io.newURI(obj.url, null, null).spec; |
| // URL is valid - this is a downloadable subscription |
| result = new DownloadableSubscription(obj.url, obj.title); |
| - if ("nextURL" in obj) |
| - result.nextURL = obj.nextURL; |
| if ("downloadStatus" in obj) |
| result._downloadStatus = obj.downloadStatus; |
| - if ("lastModified" in obj) |
| - result.lastModified = obj.lastModified; |
| if ("lastSuccess" in obj) |
| result.lastSuccess = parseInt(obj.lastSuccess) || 0; |
| if ("lastCheck" in obj) |
| result._lastCheck = parseInt(obj.lastCheck) || 0; |
| if ("expires" in obj) |
| result.expires = parseInt(obj.expires) || 0; |
| if ("softExpiration" in obj) |
| result.softExpiration = parseInt(obj.softExpiration) || 0; |
| if ("errors" in obj) |
| result._errors = parseInt(obj.errors) || 0; |
| + if ("version" in obj) |
| + result.version = parseInt(obj.version) || 0; |
| if ("requiredVersion" in obj) |
| { |
| let {addonVersion} = require("info"); |
| result.requiredVersion = obj.requiredVersion; |
| if (Services.vc.compare(result.requiredVersion, addonVersion) > 0) |
| result.upgradeRequired = true; |
| } |
| - if ("alternativeLocations" in obj) |
| - result.alternativeLocations = obj.alternativeLocations; |
| if ("homepage" in obj) |
| result._homepage = obj.homepage; |
| if ("lastDownload" in obj) |
| result._lastDownload = parseInt(obj.lastDownload) || 0; |
| } |
| catch (e) |
| { |
| // Invalid URL - custom filter group |
| @@ -454,41 +450,29 @@ DownloadableSubscription.prototype = |
| { |
| __proto__: RegularSubscription.prototype, |
| _downloadStatus: null, |
| _lastCheck: 0, |
| _errors: 0, |
| /** |
| - * Next URL the downloaded should be attempted from (in case of redirects) |
| - * @type String |
| - */ |
| - nextURL: null, |
| - |
| - /** |
| * Status of the last download (ID of a string) |
| * @type String |
| */ |
| get downloadStatus() this._downloadStatus, |
| set downloadStatus(value) |
| { |
| let oldValue = this._downloadStatus; |
| this._downloadStatus = value; |
| FilterNotifier.triggerListeners("subscription.downloadStatus", this, value, oldValue); |
| return this._downloadStatus; |
| }, |
| /** |
| - * Value of the Last-Modified header returned by the server on last download |
| - * @type String |
| - */ |
| - lastModified: null, |
| - |
| - /** |
| * Time of the last successful download (in seconds since the beginning of the |
| * epoch). |
| */ |
| lastSuccess: 0, |
| /** |
| * Time when the subscription was considered for an update last time (in seconds |
| * since the beginning of the epoch). This will be used to increase softExpiration |
| @@ -531,54 +515,49 @@ DownloadableSubscription.prototype = |
| let oldValue = this._errors; |
| this._errors = value; |
| FilterNotifier.triggerListeners("subscription.errors", this, value, oldValue); |
| } |
| return this._errors; |
| }, |
| /** |
| + * Version of the subscription data retrieved on last successful download |
| + * @type Number |
| + */ |
| + version: 0, |
| + |
| + /** |
| * Minimal Adblock Plus version required for this subscription |
| * @type String |
| */ |
| requiredVersion: null, |
| /** |
| * Should be true if requiredVersion is higher than current Adblock Plus version |
| * @type Boolean |
| */ |
| upgradeRequired: false, |
| /** |
| - * Value of the X-Alternative-Locations header: comma-separated list of URLs |
| - * with their weighting factors, e.g.: http://foo.example.com/;q=0.5,http://bar.example.com/;q=2 |
| - * @type String |
| - */ |
| - alternativeLocations: null, |
| - |
| - /** |
| * See Subscription.serialize() |
| */ |
| serialize: function(buffer) |
| { |
| RegularSubscription.prototype.serialize.call(this, buffer); |
| - if (this.nextURL) |
| - buffer.push("nextURL=" + this.nextURL); |
| if (this.downloadStatus) |
| buffer.push("downloadStatus=" + this.downloadStatus); |
| - if (this.lastModified) |
| - buffer.push("lastModified=" + this.lastModified); |
| if (this.lastSuccess) |
| buffer.push("lastSuccess=" + this.lastSuccess); |
| if (this.lastCheck) |
| buffer.push("lastCheck=" + this.lastCheck); |
| if (this.expires) |
| buffer.push("expires=" + this.expires); |
| if (this.softExpiration) |
| buffer.push("softExpiration=" + this.softExpiration); |
| if (this.errors) |
| buffer.push("errors=" + this.errors); |
| + if (this.version) |
| + buffer.push("version=" + this.version); |
| if (this.requiredVersion) |
| buffer.push("requiredVersion=" + this.requiredVersion); |
| - if (this.alternativeLocations) |
| - buffer.push("alternativeLocations=" + this.alternativeLocations); |
| } |
| }; |