diff --git a/browser/components/nsBrowserGlue.js b/browser/components/nsBrowserGlue.js index a9d95bb0cf..f25c6c0d67 100644 --- a/browser/components/nsBrowserGlue.js +++ b/browser/components/nsBrowserGlue.js @@ -406,7 +406,7 @@ BrowserGlue.prototype = { os.addObserver(this, "flash-plugin-hang", false); os.addObserver(this, "xpi-signature-changed", false); os.addObserver(this, "autocomplete-did-enter-text", false); - Services.prefs.addObserver(PREF_INTERNAL_USERSCRIPTS_ENABLED, this); + Services.prefs.addObserver(PREF_INTERNAL_USERSCRIPTS_ENABLED, this, false); if (AppConstants.NIGHTLY_BUILD) { os.addObserver(this, AddonWatcher.TOPIC_SLOW_ADDON_DETECTED, false); diff --git a/toolkit/modules/addons/MatchPattern.jsm b/toolkit/modules/addons/MatchPattern.jsm index 8c09a509e6..e46102b75d 100644 --- a/toolkit/modules/addons/MatchPattern.jsm +++ b/toolkit/modules/addons/MatchPattern.jsm @@ -89,9 +89,22 @@ SingleMatchPattern.prototype = { let suffix = host.substr(2); let dotSuffix = "." + suffix; - return ({host}) => host === suffix || host.endsWith(dotSuffix); + return uri => { + try { + let host = uri.host; + return host === suffix || host.endsWith(dotSuffix); + } catch (e) { + return false; + } + }; } - return uri => uri.host === host; + return uri => { + try { + return uri.host === host; + } catch (e) { + return false; + } + }; }, matches(uri, ignorePath = false) {