Bug 1362466 - Skip default handler injection if pref gecko.handlerService.defaultHandlersVersion not defined. r=paolo

This commit is contained in:
Jorg K 2017-05-07 10:46:00 -04:00
parent de56fcade0
commit 47862ad27a

View File

@ -122,11 +122,23 @@ HandlerService.prototype = {
* back-end, we only need to update the version in the data store.
*/
_injectDefaultProtocolHandlersIfNeeded(alreadyInjected) {
let prefsDefaultHandlersVersion;
try {
let locale = Services.locale.getAppLocaleAsLangTag();
let prefsDefaultHandlersVersion = Number(Services.prefs.getComplexValue(
prefsDefaultHandlersVersion = Services.prefs.getComplexValue(
"gecko.handlerService.defaultHandlersVersion",
Ci.nsIPrefLocalizedString).data);
Ci.nsIPrefLocalizedString);
} catch (ex) {
if (ex instanceof Components.Exception &&
ex.result == Cr.NS_ERROR_UNEXPECTED) {
// This platform does not have any default protocol handlers configured.
return;
}
throw ex;
}
try {
prefsDefaultHandlersVersion = Number(prefsDefaultHandlersVersion.data);
let locale = Services.locale.getAppLocaleAsLangTag();
let defaultHandlersVersion =
this._store.data.defaultHandlersVersion[locale] || 0;