mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-29 18:47:31 +09:00
Replace explicit pref observer with lazy preference getters. Tag #361.
This commit is contained in:
parent
85caaf571c
commit
14aede3cc5
2 changed files with 11 additions and 33 deletions
|
|
@ -38,15 +38,6 @@ this.ReaderMode = {
|
||||||
|
|
||||||
DEBUG: 0,
|
DEBUG: 0,
|
||||||
|
|
||||||
// Don't try to parse the page if it has too many elements (for memory and
|
|
||||||
// performance reasons)
|
|
||||||
get maxElemsToParse() {
|
|
||||||
delete this.parseNodeLimit;
|
|
||||||
|
|
||||||
Services.prefs.addObserver("reader.parse-node-limit", this, false);
|
|
||||||
return this.parseNodeLimit = Services.prefs.getIntPref("reader.parse-node-limit");
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enter the reader mode by going forward one step in history if applicable,
|
* Enter the reader mode by going forward one step in history if applicable,
|
||||||
* if not, append the about:reader page in the history instead.
|
* if not, append the about:reader page in the history instead.
|
||||||
|
|
@ -548,3 +539,8 @@ this.ReaderMode = {
|
||||||
return readingSpeed.get(lang) || readingSpeed.get("en");
|
return readingSpeed.get(lang) || readingSpeed.get("en");
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Don't try to parse the page if it has too many elements (for memory and
|
||||||
|
// performance reasons)
|
||||||
|
XPCOMUtils.defineLazyPreferenceGetter(
|
||||||
|
ReaderMode, "maxElemsToParse", "reader.parse-node-limit", 0);
|
||||||
|
|
|
||||||
|
|
@ -23,30 +23,7 @@ var Readerable = {
|
||||||
DEBUG: 0,
|
DEBUG: 0,
|
||||||
|
|
||||||
get isEnabledForParseOnLoad() {
|
get isEnabledForParseOnLoad() {
|
||||||
delete this.isEnabledForParseOnLoad;
|
return this.isEnabled || this.isForceEnabled;
|
||||||
|
|
||||||
// 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;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
log(msg) {
|
log(msg) {
|
||||||
|
|
@ -112,3 +89,8 @@ var Readerable = {
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
XPCOMUtils.defineLazyPreferenceGetter(
|
||||||
|
Readerable, "isEnabled", "reader.parse-on-load.enabled", true);
|
||||||
|
XPCOMUtils.defineLazyPreferenceGetter(
|
||||||
|
Readerable, "isForceEnabled", "reader.parse-on-load.force-enabled", false);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue