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 |
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
582 * @type String | 582 * @type String |
583 */ | 583 */ |
584 sitekeySource: null, | 584 sitekeySource: null, |
585 | 585 |
586 /** | 586 /** |
587 * Array containing public keys of websites that this filter should apply to | 587 * Array containing public keys of websites that this filter should apply to |
588 * @type Array of String | 588 * @type Array of String |
589 */ | 589 */ |
590 get sitekeys() | 590 get sitekeys() |
591 { | 591 { |
| 592 // Despite this property being cached, the getter is called |
| 593 // several times on Safari, due to WebKit bug 132872 |
| 594 let prop = Object.getOwnPropertyDescriptor(this, "sitekeys"); |
| 595 if (prop) |
| 596 return prop.value; |
| 597 |
592 let sitekeys = null; | 598 let sitekeys = null; |
593 | 599 |
594 if (this.sitekeySource) | 600 if (this.sitekeySource) |
595 { | 601 { |
596 sitekeys = this.sitekeySource.split("|"); | 602 sitekeys = this.sitekeySource.split("|"); |
597 this.sitekeySource = null; | 603 this.sitekeySource = null; |
598 } | 604 } |
599 | 605 |
600 Object.defineProperty(this, "sitekeys", {value: sitekeys, enumerable: true})
; | 606 Object.defineProperty(this, "sitekeys", {value: sitekeys, enumerable: true})
; |
601 return this.sitekeys; | 607 return this.sitekeys; |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
934 function ElemHideException(text, domains, selector) | 940 function ElemHideException(text, domains, selector) |
935 { | 941 { |
936 ElemHideBase.call(this, text, domains, selector); | 942 ElemHideBase.call(this, text, domains, selector); |
937 } | 943 } |
938 exports.ElemHideException = ElemHideException; | 944 exports.ElemHideException = ElemHideException; |
939 | 945 |
940 ElemHideException.prototype = | 946 ElemHideException.prototype = |
941 { | 947 { |
942 __proto__: ElemHideBase.prototype | 948 __proto__: ElemHideBase.prototype |
943 }; | 949 }; |
LEFT | RIGHT |