mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 995206 - Sync app.update.{channel,url} settings with preferences. r=vingtetun
This commit is contained in:
parent
47b3b87ad6
commit
7696325ed4
@ -146,7 +146,6 @@ Components.utils.import('resource://gre/modules/ctypes.jsm');
|
|||||||
|
|
||||||
let appInfo = Cc["@mozilla.org/xre/app-info;1"]
|
let appInfo = Cc["@mozilla.org/xre/app-info;1"]
|
||||||
.getService(Ci.nsIXULAppInfo);
|
.getService(Ci.nsIXULAppInfo);
|
||||||
let update_channel = Services.prefs.getCharPref('app.update.channel');
|
|
||||||
|
|
||||||
// Get the hardware info and firmware revision from device properties.
|
// Get the hardware info and firmware revision from device properties.
|
||||||
let hardware_info = null;
|
let hardware_info = null;
|
||||||
@ -164,7 +163,6 @@ Components.utils.import('resource://gre/modules/ctypes.jsm');
|
|||||||
'deviceinfo.software': software,
|
'deviceinfo.software': software,
|
||||||
'deviceinfo.platform_version': appInfo.platformVersion,
|
'deviceinfo.platform_version': appInfo.platformVersion,
|
||||||
'deviceinfo.platform_build_id': appInfo.platformBuildID,
|
'deviceinfo.platform_build_id': appInfo.platformBuildID,
|
||||||
'deviceinfo.update_channel': update_channel,
|
|
||||||
'deviceinfo.hardware': hardware_info,
|
'deviceinfo.hardware': hardware_info,
|
||||||
'deviceinfo.firmware_revision': firmware_revision,
|
'deviceinfo.firmware_revision': firmware_revision,
|
||||||
'deviceinfo.product_model': product_model
|
'deviceinfo.product_model': product_model
|
||||||
@ -546,6 +544,7 @@ function setUpdateTrackingId() {
|
|||||||
}
|
}
|
||||||
setUpdateTrackingId();
|
setUpdateTrackingId();
|
||||||
|
|
||||||
|
|
||||||
// ================ Debug ================
|
// ================ Debug ================
|
||||||
(function Composer2DSettingToPref() {
|
(function Composer2DSettingToPref() {
|
||||||
//layers.composer.enabled can be enabled in three ways
|
//layers.composer.enabled can be enabled in three ways
|
||||||
@ -680,6 +679,12 @@ let settingsToObserve = {
|
|||||||
},
|
},
|
||||||
'layers.draw-borders': false,
|
'layers.draw-borders': false,
|
||||||
'app.update.interval': 86400,
|
'app.update.interval': 86400,
|
||||||
|
'app.update.url': {
|
||||||
|
resetToPref: true
|
||||||
|
},
|
||||||
|
'app.update.channel': {
|
||||||
|
resetToPref: true
|
||||||
|
},
|
||||||
'debug.log-animations.enabled': {
|
'debug.log-animations.enabled': {
|
||||||
prefName: 'layers.offmainthreadcomposition.log-animations',
|
prefName: 'layers.offmainthreadcomposition.log-animations',
|
||||||
defaultValue: false
|
defaultValue: false
|
||||||
@ -689,34 +694,54 @@ let settingsToObserve = {
|
|||||||
for (let key in settingsToObserve) {
|
for (let key in settingsToObserve) {
|
||||||
let setting = settingsToObserve[key];
|
let setting = settingsToObserve[key];
|
||||||
|
|
||||||
// By default, assume the setting name and the pref name are the same.
|
// Allow setting to contain flags redefining prefName and defaultValue.
|
||||||
let prefName = key;
|
let prefName = setting.prefName || key;
|
||||||
let defaultValue = setting;
|
let defaultValue = setting.defaultValue;
|
||||||
|
if (defaultValue === undefined) {
|
||||||
// Check if the pref name has been overidden.
|
defaultValue = setting;
|
||||||
if (typeof setting == 'object') {
|
|
||||||
prefName = setting.prefName;
|
|
||||||
defaultValue = setting.defaultValue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let prefs = Services.prefs;
|
||||||
|
|
||||||
|
// If requested, reset setting value and defaultValue to the pref value.
|
||||||
|
if (setting.resetToPref) {
|
||||||
|
switch (prefs.getPrefType(prefName)) {
|
||||||
|
case Ci.nsIPrefBranch.PREF_BOOL:
|
||||||
|
defaultValue = prefs.getBoolPref(prefName);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Ci.nsIPrefBranch.PREF_INT:
|
||||||
|
defaultValue = prefs.getIntPref(prefName);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case Ci.nsIPrefBranch.PREF_STRING:
|
||||||
|
defaultValue = prefs.getCharPref(prefName);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
let setting = {};
|
||||||
|
setting[key] = defaultValue;
|
||||||
|
window.navigator.mozSettings.createLock().set(setting);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Figure out the right setter function for this type of pref.
|
||||||
|
let setPref;
|
||||||
switch (typeof defaultValue) {
|
switch (typeof defaultValue) {
|
||||||
case 'boolean':
|
case 'boolean':
|
||||||
SettingsListener.observe(key, defaultValue, function(value) {
|
setPref = prefs.setBoolPref.bind(prefs);
|
||||||
Services.prefs.setBoolPref(prefName, value);
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'string':
|
|
||||||
SettingsListener.observe(key, defaultValue, function(value) {
|
|
||||||
Services.prefs.setCharPref(prefName, value);
|
|
||||||
});
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'number':
|
case 'number':
|
||||||
SettingsListener.observe(key, defaultValue, function(value) {
|
setPref = prefs.setIntPref.bind(prefs);
|
||||||
Services.prefs.setIntPref(prefName, value);
|
break;
|
||||||
});
|
|
||||||
|
case 'string':
|
||||||
|
setPref = prefs.setCharPref.bind(prefs);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SettingsListener.observe(key, defaultValue, function(value) {
|
||||||
|
setPref(prefName, value);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user