Issue #991 Part 7: Toolkit Components

This commit is contained in:
Ascrod 2019-04-13 10:53:58 -04:00 committed by Roy Tam
commit e309515e66
18 changed files with 55 additions and 204 deletions

View file

@ -79,12 +79,8 @@ const DELAY_WARNING_MS = 10 * 1000;
// Crash the process if shutdown is really too long
// (allowing for sleep).
const PREF_DELAY_CRASH_MS = "toolkit.asyncshutdown.crash_timeout";
var DELAY_CRASH_MS = 60 * 1000; // One minute
try {
DELAY_CRASH_MS = Services.prefs.getIntPref(PREF_DELAY_CRASH_MS);
} catch (ex) {
// Ignore errors
}
var DELAY_CRASH_MS = Services.prefs.getIntPref(PREF_DELAY_CRASH_MS,
60 * 1000); // One minute
Services.prefs.addObserver(PREF_DELAY_CRASH_MS, function() {
DELAY_CRASH_MS = Services.prefs.getIntPref(PREF_DELAY_CRASH_MS);
}, false);
@ -207,12 +203,7 @@ function log(msg, prefix = "", error = null) {
}
}
const PREF_DEBUG_LOG = "toolkit.asyncshutdown.log";
var DEBUG_LOG = false;
try {
DEBUG_LOG = Services.prefs.getBoolPref(PREF_DEBUG_LOG);
} catch (ex) {
// Ignore errors
}
var DEBUG_LOG = Services.prefs.getBoolPref(PREF_DEBUG_LOG, false);
Services.prefs.addObserver(PREF_DEBUG_LOG, function() {
DEBUG_LOG = Services.prefs.getBoolPref(PREF_DEBUG_LOG);
}, false);
@ -360,12 +351,7 @@ this.AsyncShutdown = {
* Access function getPhase. For testing purposes only.
*/
get _getPhase() {
let accepted = false;
try {
accepted = Services.prefs.getBoolPref("toolkit.asyncshutdown.testing");
} catch (ex) {
// Ignore errors
}
let accepted = Services.prefs.getBoolPref("toolkit.asyncshutdown.testing", false);
if (accepted) {
return getPhase;
}
@ -464,12 +450,7 @@ function getPhase(topic) {
* notification. For testing purposes only.
*/
get _trigger() {
let accepted = false;
try {
accepted = Services.prefs.getBoolPref("toolkit.asyncshutdown.testing");
} catch (ex) {
// Ignore errors
}
let accepted = Services.prefs.getBoolPref("toolkit.asyncshutdown.testing", false);
if (accepted) {
return () => spinner.observe();
}

View file

@ -243,16 +243,7 @@ function getLocale() {
/* Get the distribution pref values, from defaults only */
function getDistributionPrefValue(aPrefName) {
var prefValue = "default";
var defaults = gPref.getDefaultBranch(null);
try {
prefValue = defaults.getCharPref(aPrefName);
} catch (e) {
// use default when pref not found
}
return prefValue;
return gPref.getDefaultBranch(null).getCharPref(aPrefName, "default");
}
/**

View file

@ -368,11 +368,7 @@ this.DownloadIntegration = {
*/
getPreferredDownloadsDirectory: Task.async(function* () {
let directoryPath = null;
let prefValue = 1;
try {
prefValue = Services.prefs.getIntPref("browser.download.folderList");
} catch(e) {}
let prefValue = Services.prefs.getIntPref("browser.download.folderList", 1);
switch(prefValue) {
case 0: // Desktop

View file

@ -104,13 +104,7 @@ nsDefaultCLH.prototype = {
// if the pref is missing, ignore the exception
try {
var chromeURI = prefs.getCharPref("toolkit.defaultChromeURI");
var flags = "chrome,dialog=no,all";
try {
flags = prefs.getCharPref("toolkit.defaultChromeFeatures");
}
catch (e) { }
var flags = prefs.getCharPref("toolkit.defaultChromeFeatures", "chrome,dialog=no,all");
var wwatch = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
.getService(nsIWindowWatcher);
wwatch.openWindow(null, chromeURI, "_blank",

View file

@ -239,10 +239,9 @@ var Scheduler = this.Scheduler = {
* Prepare to kill the OS.File worker after a few seconds.
*/
restartTimer: function(arg) {
let delay;
try {
delay = Services.prefs.getIntPref("osfile.reset_worker_delay");
} catch(e) {
let delay = Services.prefs.getIntPref("osfile.reset_worker_delay", 0);
if (!delay) {
// Don't auto-shutdown if we don't have a delay preference set.
return;
}
@ -468,43 +467,25 @@ var Scheduler = this.Scheduler = {
const PREF_OSFILE_LOG = "toolkit.osfile.log";
const PREF_OSFILE_LOG_REDIRECT = "toolkit.osfile.log.redirect";
/**
* Safely read a PREF_OSFILE_LOG preference.
* Returns a value read or, in case of an error, oldPref or false.
*
* @param bool oldPref
* An optional value that the DEBUG flag was set to previously.
*/
function readDebugPref(prefName, oldPref = false) {
let pref = oldPref;
try {
pref = Services.prefs.getBoolPref(prefName);
} catch (x) {
// In case of an error when reading a pref keep it as is.
}
// If neither pref nor oldPref were set, default it to false.
return pref;
};
/**
* Listen to PREF_OSFILE_LOG changes and update gShouldLog flag
* appropriately.
*/
Services.prefs.addObserver(PREF_OSFILE_LOG,
function prefObserver(aSubject, aTopic, aData) {
SharedAll.Config.DEBUG = readDebugPref(PREF_OSFILE_LOG, SharedAll.Config.DEBUG);
SharedAll.Config.DEBUG = Services.prefs.getBoolPref(PREF_OSFILE_LOG, SharedAll.Config.DEBUG);
if (Scheduler.launched) {
// Don't start the worker just to set this preference.
Scheduler.post("SET_DEBUG", [SharedAll.Config.DEBUG]);
}
}, false);
SharedAll.Config.DEBUG = readDebugPref(PREF_OSFILE_LOG, false);
SharedAll.Config.DEBUG = Services.prefs.getBoolPref(PREF_OSFILE_LOG, false);
Services.prefs.addObserver(PREF_OSFILE_LOG_REDIRECT,
function prefObserver(aSubject, aTopic, aData) {
SharedAll.Config.TEST = readDebugPref(PREF_OSFILE_LOG_REDIRECT, OS.Shared.TEST);
SharedAll.Config.TEST = Services.prefs.getBoolPref(PREF_OSFILE_LOG_REDIRECT, OS.Shared.TEST);
}, false);
SharedAll.Config.TEST = readDebugPref(PREF_OSFILE_LOG_REDIRECT, false);
SharedAll.Config.TEST = Services.prefs.getBoolPref(PREF_OSFILE_LOG_REDIRECT, false);
/**
@ -515,7 +496,7 @@ var nativeWheneverAvailable = true;
const PREF_OSFILE_NATIVE = "toolkit.osfile.native";
Services.prefs.addObserver(PREF_OSFILE_NATIVE,
function prefObserver(aSubject, aTopic, aData) {
nativeWheneverAvailable = readDebugPref(PREF_OSFILE_NATIVE, nativeWheneverAvailable);
nativeWheneverAvailable = Services.prefs.getBoolPref(PREF_OSFILE_NATIVE, nativeWheneverAvailable);
}, false);
@ -557,10 +538,9 @@ Services.prefs.addObserver(PREF_OSFILE_TEST_SHUTDOWN_OBSERVER,
function prefObserver() {
// The temporary phase topic used to trigger the unclosed
// phase warning.
let TOPIC = null;
let TOPIC = Services.prefs.getCharPref(PREF_OSFILE_TEST_SHUTDOWN_OBSERVER,
"");
try {
TOPIC = Services.prefs.getCharPref(
PREF_OSFILE_TEST_SHUTDOWN_OBSERVER);
} catch (x) {
}
if (TOPIC) {

View file

@ -77,11 +77,8 @@ PlacesCategoriesStarter.prototype = {
break;
case "idle-daily":
// Once a week run places.sqlite maintenance tasks.
let lastMaintenance = 0;
try {
lastMaintenance =
Services.prefs.getIntPref("places.database.lastMaintenance");
} catch (ex) {}
let lastMaintenance =
Services.prefs.getIntPref("places.database.lastMaintenance", 0);
let nowSeconds = parseInt(Date.now() / 1000);
if (lastMaintenance < nowSeconds - MAINTENANCE_INTERVAL_SECONDS) {
PlacesDBUtils.maintenanceOnIdle();

View file

@ -95,11 +95,7 @@ function observe(subject, topic, data) {
case "nsPref:changed":
if (data == PREF_SHOW_REMOTE_ICONS) {
try {
showRemoteIcons = Services.prefs.getBoolPref(PREF_SHOW_REMOTE_ICONS);
} catch (_) {
showRemoteIcons = true; // no such pref - default is to show the icons.
}
showRemoteIcons = Services.prefs.getBoolPref(PREF_SHOW_REMOTE_ICONS, true);
}
break;

View file

@ -437,10 +437,7 @@ XPCOMUtils.defineLazyGetter(this, "Prefs", () => {
store.suggestTyped = prefs.get(...PREF_SUGGEST_HISTORY_ONLYTYPED);
store.suggestSearches = prefs.get(...PREF_SUGGEST_SEARCHES);
store.maxCharsForSearchSuggestions = prefs.get(...PREF_MAX_CHARS_FOR_SUGGEST);
store.keywordEnabled = true;
try {
store.keywordEnabled = Services.prefs.getBoolPref("keyword.enabled");
} catch (ex) {}
store.keywordEnabled = Services.prefs.getBoolPref("keyword.enabled", true);
// If history is not set, onlyTyped value should be ignored.
if (!store.suggestHistory) {

View file

@ -812,11 +812,8 @@ nsPlacesExpiration.prototype = {
_loadPrefs: Task.async(function* () {
// Get the user's limit, if it was set.
try {
// We want to silently fail since getIntPref throws if it does not exist,
// and use a default to fallback to.
this._urisLimit = this._prefBranch.getIntPref(PREF_MAX_URIS);
} catch (ex) { /* User limit not set */ }
this._urisLimit = this._prefBranch.getIntPref(PREF_MAX_URIS,
PREF_MAX_URIS_NOTSET);
if (this._urisLimit < 0) {
// Some testing code expects a pref change to be synchronous, so
@ -874,11 +871,8 @@ nsPlacesExpiration.prototype = {
this._urisLimit);
// Get the expiration interval value.
try {
// We want to silently fail since getIntPref throws if it does not exist,
// and use a default to fallback to.
this._interval = this._prefBranch.getIntPref(PREF_INTERVAL_SECONDS);
} catch (ex) { /* User interval not set */ }
this._interval = this._prefBranch.getIntPref(PREF_INTERVAL_SECONDS,
PREF_INTERVAL_SECONDS_NOTSET);
if (this._interval <= 0) {
this._interval = PREF_INTERVAL_SECONDS_NOTSET;
}

View file

@ -56,14 +56,8 @@ var prefPrefix = "places.frecency.";
function* task_initializeBucket(bucket) {
let [cutoffName, weightName] = bucket;
// get pref values
var weight = 0, cutoff = 0;
try {
weight = prefs.getIntPref(prefPrefix + weightName);
} catch (ex) {}
try {
cutoff = prefs.getIntPref(prefPrefix + cutoffName);
} catch (ex) {}
var weight = prefs.getIntPref(prefPrefix + weightName, 0);
var cutoff = prefs.getIntPref(prefPrefix + cutoffName, 0);
if (cutoff < 1)
return;

View file

@ -65,14 +65,7 @@ function initDialog()
// ---------------------------------------------------
function isListOfPrinterFeaturesAvailable()
{
var has_printerfeatures = false;
try {
has_printerfeatures = gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".has_special_printerfeatures");
} catch (ex) {
}
return has_printerfeatures;
return gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".has_special_printerfeatures", false);
}
// ---------------------------------------------------

View file

@ -79,15 +79,7 @@ function stripTrailingWhitespace(element)
// ---------------------------------------------------
function getPrinterDescription(printerName)
{
var s = "";
try {
/* This may not work with non-ASCII test (see bug 235763 comment #16) */
s = gPrefs.getCharPref("print.printer_" + printerName + ".printer_description")
} catch (e) {
}
return s;
return gPrefs.getCharPref("print.printer_" + printerName + ".printer_description", "")
}
// ---------------------------------------------------

View file

@ -33,14 +33,7 @@ function checkDouble(element, maxVal)
// ---------------------------------------------------
function isListOfPrinterFeaturesAvailable()
{
var has_printerfeatures = false;
try {
has_printerfeatures = gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".has_special_printerfeatures");
} catch (ex) {
}
return has_printerfeatures;
return gPrefs.getBoolPref("print.tmp.printerfeatures." + gPrintSettings.printerName + ".has_special_printerfeatures", false);
}
// ---------------------------------------------------

View file

@ -390,12 +390,7 @@ function isPartnerBuild() {
// Method to determine if we should be using geo-specific defaults
function geoSpecificDefaultsEnabled() {
let geoSpecificDefaults = false;
try {
geoSpecificDefaults = Services.prefs.getBoolPref("browser.search.geoSpecificDefaults");
} catch (e) {}
return geoSpecificDefaults;
return Services.prefs.getBoolPref("browser.search.geoSpecificDefaults", false);
}
// Some notes on countryCode and region prefs:
@ -500,11 +495,7 @@ function isUSTimezone() {
// If it fails we don't touch that pref so isUS() does its normal thing.
var ensureKnownCountryCode = Task.async(function* (ss) {
// If we have a country-code already stored in our prefs we trust it.
let countryCode;
try {
countryCode = Services.prefs.getCharPref("browser.search.countryCode");
} catch (e) {}
let countryCode = Services.prefs.getCharPref("browser.search.countryCode", "");
if (!countryCode) {
// We don't have it cached, so fetch it. fetchCountryCode() will call
// storeCountryCode if it gets a result (even if that happens after the
@ -726,10 +717,7 @@ var fetchRegionDefault = (ss) => new Promise(resolve => {
// Append the optional cohort value.
const cohortPref = "browser.search.cohort";
let cohort;
try {
cohort = Services.prefs.getCharPref(cohortPref);
} catch (e) {}
let cohort = Services.prefs.getCharPref(cohortPref, "");
if (cohort)
endpoint += "/" + cohort;
@ -993,19 +981,13 @@ function QueryParameter(aName, aValue, aPurpose) {
function ParamSubstitution(aParamValue, aSearchTerms, aEngine) {
var value = aParamValue;
var distributionID = Services.appinfo.distributionID;
try {
distributionID = Services.prefs.getCharPref(BROWSER_SEARCH_PREF + "distributionID");
}
catch (ex) { }
var official = MOZ_OFFICIAL;
try {
if (Services.prefs.getBoolPref(BROWSER_SEARCH_PREF + "official"))
official = "official";
else
official = "unofficial";
}
catch (ex) { }
var distributionID = Services.prefs.getCharPref(BROWSER_SEARCH_PREF + "distributionID",
Services.appinfo.distributionID || "");
var official;
if (Services.prefs.getBoolPref(BROWSER_SEARCH_PREF + "official", MOZ_OFFICIAL))
official = "official";
else
official = "unofficial";
// Custom search parameters. These are only available to default search
// engines.

View file

@ -418,12 +418,7 @@ function isPartnerBuild() {
// Method to determine if we should be using geo-specific defaults
function geoSpecificDefaultsEnabled() {
let geoSpecificDefaults = false;
try {
geoSpecificDefaults = Services.prefs.getBoolPref("browser.search.geoSpecificDefaults");
} catch(e) {}
return geoSpecificDefaults;
return Services.prefs.getBoolPref("browser.search.geoSpecificDefaults", false);
}
// Some notes on countryCode and region prefs:
@ -528,11 +523,7 @@ function isUSTimezone() {
// If it fails we don't touch that pref so isUS() does its normal thing.
var ensureKnownCountryCode = Task.async(function* () {
// If we have a country-code already stored in our prefs we trust it.
let countryCode;
try {
countryCode = Services.prefs.getCharPref("browser.search.countryCode");
} catch(e) {}
let countryCode = Services.prefs.getCharPref("browser.search.countryCode", "");
if (!countryCode) {
// We don't have it cached, so fetch it. fetchCountryCode() will call
// storeCountryCode if it gets a result (even if that happens after the
@ -732,10 +723,7 @@ var fetchRegionDefault = () => new Promise(resolve => {
// Append the optional cohort value.
const cohortPref = "browser.search.cohort";
let cohort;
try {
cohort = Services.prefs.getCharPref(cohortPref);
} catch(e) {}
let cohort = Services.prefs.getCharPref(cohortPref, "");
if (cohort)
endpoint += "/" + cohort;
@ -1034,19 +1022,13 @@ function QueryParameter(aName, aValue, aPurpose) {
function ParamSubstitution(aParamValue, aSearchTerms, aEngine) {
var value = aParamValue;
var distributionID = MOZ_DISTRIBUTION_ID;
try {
distributionID = Services.prefs.getCharPref(BROWSER_SEARCH_PREF + "distributionID");
}
catch (ex) { }
var official = MOZ_OFFICIAL;
try {
if (Services.prefs.getBoolPref(BROWSER_SEARCH_PREF + "official"))
official = "official";
else
official = "unofficial";
}
catch (ex) { }
var distributionID = Services.prefs.getCharPref(BROWSER_SEARCH_PREF + "distributionID",
MOZ_DISTRIBUTION_ID || "");
var official;
if (Services.prefs.getBoolPref(BROWSER_SEARCH_PREF + "official", MOZ_OFFICIAL))
official = "official";
else
official = "unofficial";
// Custom search parameters. These are only available to default search
// engines.

View file

@ -36,11 +36,7 @@ this.UITelemetry = {
Services.obs.addObserver(this, "profile-before-change", false);
// Pick up the current value.
try {
this._enabled = Services.prefs.getBoolPref(PREF_ENABLED);
} catch (e) {
this._enabled = false;
}
this._enabled = Services.prefs.getBoolPref(PREF_ENABLED, false);
return this._enabled;
},

View file

@ -20,12 +20,7 @@ Cu.import("resource://gre/modules/NetUtil.jsm");
// Log only if browser.safebrowsing.debug is true
function log(...stuff) {
let logging = null;
try {
logging = Services.prefs.getBoolPref("browser.safebrowsing.debug");
} catch(e) {
return;
}
let logging = Services.prefs.getBoolPref("browser.safebrowsing.debug", false);
if (!logging) {
return;
}

View file

@ -27,11 +27,9 @@ function run_test() {
QueryInterface(Ci.nsIXULRuntime);
var abi = macutils && macutils.isUniversalBinary ? "Universal-gcc3" : appInfo.XPCOMABI;
let channel = "default";
let defaults = prefs.QueryInterface(Ci.nsIPrefService).getDefaultBranch(null);
try {
channel = defaults.getCharPref("app.update.channel");
} catch (e) {}
let channel = defaults.getCharPref("app.update.channel", "default");
// Set distribution values.
defaults.setCharPref("distribution.id", "bacon");
defaults.setCharPref("distribution.version", "1.0");