add setBoolPref(prefName, newValue) to allow browser based tests to get/set preferences

This commit is contained in:
bob%bclary.com 2005-09-18 20:47:38 +00:00
Родитель dee0493edb
Коммит 65ea6beaed
1 изменённых файлов: 36 добавлений и 0 удалений

Просмотреть файл

@ -135,3 +135,39 @@ function quit()
}
window.onerror = reportFailure;
var gPrivileges = 'UniversalXPConnect';
function setBoolPref(prefName, newValue)
{
var prevValue = false;
try
{
netscape.security.PrivilegeManager.
enablePrivilege(gPrivileges);
var preferences = Components.classes['@mozilla.org/preferences;1'];
if (preferences)
{
var prefService = preferences.
getService(Components.interfaces.nsIPrefService);
var pref = prefService.getBranch('');
try
{
prevValue = pref.getBoolPref(prefName);
}
catch(eget)
{
writeLineToLog('Unable to get preference ' + prefName);
}
pref.setBoolPref(prefName, newValue);
}
}
catch (e)
{
writeLineToLog('Unable to set preference ' +
prefName + ' to ' + prevValue);
}
return prevValue;
}