| 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-present eyeo GmbH | 3 * Copyright (C) 2006-present 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 "use strict"; | 18 "use strict"; |
| 19 | 19 |
| 20 /** | 20 /** |
| 21 * @fileOverview Definition of Subscription class and its subclasses. | 21 * @fileOverview Definition of Subscription class and its subclasses. |
| 22 */ | 22 */ |
| 23 | 23 |
| 24 const {ActiveFilter, BlockingFilter, | 24 const {ActiveFilter, BlockingFilter, |
| 25 WhitelistFilter, ElemHideBase} = require("./filterClasses"); | 25 WhitelistFilter, ElemHideBase} = require("./filterClasses"); |
| 26 const {FilterNotifier} = require("./filterNotifier"); | 26 const {filterNotifier} = require("./filterNotifier"); |
| 27 const {extend} = require("./coreUtils"); | 27 const {extend} = require("./coreUtils"); |
| 28 | 28 |
| 29 /** | 29 /** |
| 30 * Abstract base class for filter subscriptions | 30 * Abstract base class for filter subscriptions |
| 31 * | 31 * |
| 32 * @param {string} url download location of the subscription | 32 * @param {string} url download location of the subscription |
| 33 * @param {string} [title] title of the filter subscription | 33 * @param {string} [title] title of the filter subscription |
| 34 * @constructor | 34 * @constructor |
| 35 */ | 35 */ |
| 36 function Subscription(url, title) | 36 function Subscription(url, title) |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 get title() | 74 get title() |
| 75 { | 75 { |
| 76 return this._title; | 76 return this._title; |
| 77 }, | 77 }, |
| 78 set title(value) | 78 set title(value) |
| 79 { | 79 { |
| 80 if (value != this._title) | 80 if (value != this._title) |
| 81 { | 81 { |
| 82 let oldValue = this._title; | 82 let oldValue = this._title; |
| 83 this._title = value; | 83 this._title = value; |
| 84 FilterNotifier.emit("subscription.title", this, value, oldValue); | 84 filterNotifier.emit("subscription.title", this, value, oldValue); |
| 85 } | 85 } |
| 86 return this._title; | 86 return this._title; |
| 87 }, | 87 }, |
| 88 | 88 |
| 89 /** | 89 /** |
| 90 * Determines whether the title should be editable | 90 * Determines whether the title should be editable |
| 91 * @type {boolean} | 91 * @type {boolean} |
| 92 */ | 92 */ |
| 93 get fixedTitle() | 93 get fixedTitle() |
| 94 { | 94 { |
| 95 return this._fixedTitle; | 95 return this._fixedTitle; |
| 96 }, | 96 }, |
| 97 set fixedTitle(value) | 97 set fixedTitle(value) |
| 98 { | 98 { |
| 99 if (value != this._fixedTitle) | 99 if (value != this._fixedTitle) |
| 100 { | 100 { |
| 101 let oldValue = this._fixedTitle; | 101 let oldValue = this._fixedTitle; |
| 102 this._fixedTitle = value; | 102 this._fixedTitle = value; |
| 103 FilterNotifier.emit("subscription.fixedTitle", this, value, oldValue); | 103 filterNotifier.emit("subscription.fixedTitle", this, value, oldValue); |
| 104 } | 104 } |
| 105 return this._fixedTitle; | 105 return this._fixedTitle; |
| 106 }, | 106 }, |
| 107 | 107 |
| 108 /** | 108 /** |
| 109 * Defines whether the filters in the subscription should be disabled | 109 * Defines whether the filters in the subscription should be disabled |
| 110 * @type {boolean} | 110 * @type {boolean} |
| 111 */ | 111 */ |
| 112 get disabled() | 112 get disabled() |
| 113 { | 113 { |
| 114 return this._disabled; | 114 return this._disabled; |
| 115 }, | 115 }, |
| 116 set disabled(value) | 116 set disabled(value) |
| 117 { | 117 { |
| 118 if (value != this._disabled) | 118 if (value != this._disabled) |
| 119 { | 119 { |
| 120 let oldValue = this._disabled; | 120 let oldValue = this._disabled; |
| 121 this._disabled = value; | 121 this._disabled = value; |
| 122 FilterNotifier.emit("subscription.disabled", this, value, oldValue); | 122 filterNotifier.emit("subscription.disabled", this, value, oldValue); |
| 123 } | 123 } |
| 124 return this._disabled; | 124 return this._disabled; |
| 125 }, | 125 }, |
| 126 | 126 |
| 127 /** | 127 /** |
| 128 * Serializes the subscription to an array of strings for writing | 128 * Serializes the subscription to an array of strings for writing |
| 129 * out on the disk. | 129 * out on the disk. |
| 130 * @param {string[]} buffer buffer to push the serialization results into | 130 * @param {string[]} buffer buffer to push the serialization results into |
| 131 */ | 131 */ |
| 132 serialize(buffer) | 132 serialize(buffer) |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 363 get homepage() | 363 get homepage() |
| 364 { | 364 { |
| 365 return this._homepage; | 365 return this._homepage; |
| 366 }, | 366 }, |
| 367 set homepage(value) | 367 set homepage(value) |
| 368 { | 368 { |
| 369 if (value != this._homepage) | 369 if (value != this._homepage) |
| 370 { | 370 { |
| 371 let oldValue = this._homepage; | 371 let oldValue = this._homepage; |
| 372 this._homepage = value; | 372 this._homepage = value; |
| 373 FilterNotifier.emit("subscription.homepage", this, value, oldValue); | 373 filterNotifier.emit("subscription.homepage", this, value, oldValue); |
| 374 } | 374 } |
| 375 return this._homepage; | 375 return this._homepage; |
| 376 }, | 376 }, |
| 377 | 377 |
| 378 /** | 378 /** |
| 379 * Time of the last subscription download (in seconds since the | 379 * Time of the last subscription download (in seconds since the |
| 380 * beginning of the epoch) | 380 * beginning of the epoch) |
| 381 * @type {number} | 381 * @type {number} |
| 382 */ | 382 */ |
| 383 get lastDownload() | 383 get lastDownload() |
| 384 { | 384 { |
| 385 return this._lastDownload; | 385 return this._lastDownload; |
| 386 }, | 386 }, |
| 387 set lastDownload(value) | 387 set lastDownload(value) |
| 388 { | 388 { |
| 389 if (value != this._lastDownload) | 389 if (value != this._lastDownload) |
| 390 { | 390 { |
| 391 let oldValue = this._lastDownload; | 391 let oldValue = this._lastDownload; |
| 392 this._lastDownload = value; | 392 this._lastDownload = value; |
| 393 FilterNotifier.emit("subscription.lastDownload", this, value, oldValue); | 393 filterNotifier.emit("subscription.lastDownload", this, value, oldValue); |
| 394 } | 394 } |
| 395 return this._lastDownload; | 395 return this._lastDownload; |
| 396 }, | 396 }, |
| 397 | 397 |
| 398 /** | 398 /** |
| 399 * See Subscription.serialize() | 399 * See Subscription.serialize() |
| 400 * @inheritdoc | 400 * @inheritdoc |
| 401 */ | 401 */ |
| 402 serialize(buffer) | 402 serialize(buffer) |
| 403 { | 403 { |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 458 * @type {string} | 458 * @type {string} |
| 459 */ | 459 */ |
| 460 get downloadStatus() | 460 get downloadStatus() |
| 461 { | 461 { |
| 462 return this._downloadStatus; | 462 return this._downloadStatus; |
| 463 }, | 463 }, |
| 464 set downloadStatus(value) | 464 set downloadStatus(value) |
| 465 { | 465 { |
| 466 let oldValue = this._downloadStatus; | 466 let oldValue = this._downloadStatus; |
| 467 this._downloadStatus = value; | 467 this._downloadStatus = value; |
| 468 FilterNotifier.emit("subscription.downloadStatus", this, value, oldValue); | 468 filterNotifier.emit("subscription.downloadStatus", this, value, oldValue); |
| 469 return this._downloadStatus; | 469 return this._downloadStatus; |
| 470 }, | 470 }, |
| 471 | 471 |
| 472 /** | 472 /** |
| 473 * Time of the last successful download (in seconds since the beginning of the | 473 * Time of the last successful download (in seconds since the beginning of the |
| 474 * epoch). | 474 * epoch). |
| 475 */ | 475 */ |
| 476 lastSuccess: 0, | 476 lastSuccess: 0, |
| 477 | 477 |
| 478 /** | 478 /** |
| 479 * Time when the subscription was considered for an update last time | 479 * Time when the subscription was considered for an update last time |
| 480 * (in seconds since the beginning of the epoch). This will be used | 480 * (in seconds since the beginning of the epoch). This will be used |
| 481 * to increase softExpiration if the user doesn't use Adblock Plus | 481 * to increase softExpiration if the user doesn't use Adblock Plus |
| 482 * for some time. | 482 * for some time. |
| 483 * @type {number} | 483 * @type {number} |
| 484 */ | 484 */ |
| 485 get lastCheck() | 485 get lastCheck() |
| 486 { | 486 { |
| 487 return this._lastCheck; | 487 return this._lastCheck; |
| 488 }, | 488 }, |
| 489 set lastCheck(value) | 489 set lastCheck(value) |
| 490 { | 490 { |
| 491 if (value != this._lastCheck) | 491 if (value != this._lastCheck) |
| 492 { | 492 { |
| 493 let oldValue = this._lastCheck; | 493 let oldValue = this._lastCheck; |
| 494 this._lastCheck = value; | 494 this._lastCheck = value; |
| 495 FilterNotifier.emit("subscription.lastCheck", this, value, oldValue); | 495 filterNotifier.emit("subscription.lastCheck", this, value, oldValue); |
| 496 } | 496 } |
| 497 return this._lastCheck; | 497 return this._lastCheck; |
| 498 }, | 498 }, |
| 499 | 499 |
| 500 /** | 500 /** |
| 501 * Hard expiration time of the filter subscription (in seconds since | 501 * Hard expiration time of the filter subscription (in seconds since |
| 502 * the beginning of the epoch) | 502 * the beginning of the epoch) |
| 503 * @type {number} | 503 * @type {number} |
| 504 */ | 504 */ |
| 505 expires: 0, | 505 expires: 0, |
| (...skipping 12 matching lines...) Expand all Loading... |
| 518 get errors() | 518 get errors() |
| 519 { | 519 { |
| 520 return this._errors; | 520 return this._errors; |
| 521 }, | 521 }, |
| 522 set errors(value) | 522 set errors(value) |
| 523 { | 523 { |
| 524 if (value != this._errors) | 524 if (value != this._errors) |
| 525 { | 525 { |
| 526 let oldValue = this._errors; | 526 let oldValue = this._errors; |
| 527 this._errors = value; | 527 this._errors = value; |
| 528 FilterNotifier.emit("subscription.errors", this, value, oldValue); | 528 filterNotifier.emit("subscription.errors", this, value, oldValue); |
| 529 } | 529 } |
| 530 return this._errors; | 530 return this._errors; |
| 531 }, | 531 }, |
| 532 | 532 |
| 533 /** | 533 /** |
| 534 * Version of the subscription data retrieved on last successful download | 534 * Version of the subscription data retrieved on last successful download |
| 535 * @type {number} | 535 * @type {number} |
| 536 */ | 536 */ |
| 537 version: 0, | 537 version: 0, |
| 538 | 538 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 568 if (this.errors) | 568 if (this.errors) |
| 569 buffer.push("errors=" + this.errors); | 569 buffer.push("errors=" + this.errors); |
| 570 if (this.version) | 570 if (this.version) |
| 571 buffer.push("version=" + this.version); | 571 buffer.push("version=" + this.version); |
| 572 if (this.requiredVersion) | 572 if (this.requiredVersion) |
| 573 buffer.push("requiredVersion=" + this.requiredVersion); | 573 buffer.push("requiredVersion=" + this.requiredVersion); |
| 574 if (this.downloadCount) | 574 if (this.downloadCount) |
| 575 buffer.push("downloadCount=" + this.downloadCount); | 575 buffer.push("downloadCount=" + this.downloadCount); |
| 576 } | 576 } |
| 577 }); | 577 }); |
| OLD | NEW |