summaryrefslogtreecommitdiff
path: root/toolkit/components/reader/Readerable.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/reader/Readerable.js')
-rw-r--r--toolkit/components/reader/Readerable.js30
1 files changed, 6 insertions, 24 deletions
diff --git a/toolkit/components/reader/Readerable.js b/toolkit/components/reader/Readerable.js
index 71c23eb5b2..cee8adc088 100644
--- a/toolkit/components/reader/Readerable.js
+++ b/toolkit/components/reader/Readerable.js
@@ -23,30 +23,7 @@ var Readerable = {
DEBUG: 0,
get isEnabledForParseOnLoad() {
- delete this.isEnabledForParseOnLoad;
-
- // Listen for future pref changes.
- Services.prefs.addObserver("reader.parse-on-load.", this, false);
-
- return this.isEnabledForParseOnLoad = this._getStateForParseOnLoad();
- },
-
- _getStateForParseOnLoad() {
- let isEnabled = Services.prefs.getBoolPref("reader.parse-on-load.enabled");
- let isForceEnabled = Services.prefs.getBoolPref("reader.parse-on-load.force-enabled");
- return isForceEnabled || isEnabled;
- },
-
- observe(aMessage, aTopic, aData) {
- switch (aTopic) {
- case "nsPref:changed":
- if (aData.startsWith("reader.parse-on-load.")) {
- this.isEnabledForParseOnLoad = this._getStateForParseOnLoad();
- } else if (aData === "reader.parse-node-limit") {
- this.parseNodeLimit = Services.prefs.getIntPref(aData);
- }
- break;
- }
+ return this.isEnabled || this.isForceEnabled;
},
log(msg) {
@@ -112,3 +89,8 @@ var Readerable = {
return true;
},
};
+
+XPCOMUtils.defineLazyPreferenceGetter(
+ Readerable, "isEnabled", "reader.parse-on-load.enabled", true);
+XPCOMUtils.defineLazyPreferenceGetter(
+ Readerable, "isForceEnabled", "reader.parse-on-load.force-enabled", false);