mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
Bug 1386807 - Part 3: Make the UA pref actually disable UA overrides r=Felipe
MozReview-Commit-ID: 25YsSg7P8DP --HG-- extra : rebase_source : 49766d75008ecb7312fb44de6165d979511c504c
This commit is contained in:
parent
94025d3733
commit
c4990861bf
7
browser/extensions/webcompat/bootstrap.js
vendored
7
browser/extensions/webcompat/bootstrap.js
vendored
@ -34,12 +34,7 @@ function InjectionsEnablePrefObserver() {
|
||||
|
||||
function UAEnablePrefObserver() {
|
||||
let isEnabled = Services.prefs.getBoolPref(UA_ENABLE_PREF_NAME);
|
||||
if (isEnabled && !overrider) {
|
||||
overrider = new UAOverrider(UAOverrides);
|
||||
overrider.init();
|
||||
} else if (!isEnabled && overrider) {
|
||||
overrider = null;
|
||||
}
|
||||
overrider.setShouldOverride(isEnabled);
|
||||
}
|
||||
|
||||
function setDefaultPrefs() {
|
||||
|
@ -11,6 +11,7 @@ XPCOMUtils.defineLazyServiceGetter(this, "eTLDService", "@mozilla.org/network/ef
|
||||
class UAOverrider {
|
||||
constructor(overrides) {
|
||||
this._overrides = {};
|
||||
this._shouldOverride = true;
|
||||
|
||||
this.initOverrides(overrides);
|
||||
}
|
||||
@ -48,11 +49,26 @@ class UAOverrider {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Used for disabling overrides when the pref has been flipped to false.
|
||||
*
|
||||
* Since we no longer use our own event handlers, we check this bool in our
|
||||
* override callback and simply return early if we are not supposed to do
|
||||
* anything.
|
||||
*/
|
||||
setShouldOverride(newState) {
|
||||
this._shouldOverride = newState;
|
||||
}
|
||||
|
||||
init() {
|
||||
UserAgentOverrides.addComplexOverride(this.overrideCallback.bind(this));
|
||||
}
|
||||
|
||||
overrideCallback(channel, defaultUA) {
|
||||
if (!this._shouldOverride) {
|
||||
return false;
|
||||
}
|
||||
|
||||
let uaOverride = this.lookupUAOverride(channel.URI, defaultUA);
|
||||
if (uaOverride) {
|
||||
console.log("The user agent has been overridden for compatibility reasons.");
|
||||
|
Loading…
Reference in New Issue
Block a user