mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 474792 - Clear "Never remember passwords for this site" with other site-specific settings in CRH dialog. r=dolske
This commit is contained in:
parent
02e67c8924
commit
1c3144aa40
@ -342,13 +342,24 @@ Sanitizer.prototype = {
|
||||
siteSettings: {
|
||||
clear: function ()
|
||||
{
|
||||
// Clear site-specific permissions like "Allow this site to open popups"
|
||||
var pm = Components.classes["@mozilla.org/permissionmanager;1"]
|
||||
.getService(Components.interfaces.nsIPermissionManager);
|
||||
pm.removeAll();
|
||||
|
||||
// Clear site-specific settings like page-zoom level
|
||||
var cps = Components.classes["@mozilla.org/content-pref/service;1"]
|
||||
.getService(Components.interfaces.nsIContentPrefService);
|
||||
cps.removeGroupedPrefs();
|
||||
|
||||
// Clear "Never remember passwords for this site", which is not handled by
|
||||
// the permission manager
|
||||
var pwmgr = Components.classes["@mozilla.org/login-manager;1"]
|
||||
.getService(Components.interfaces.nsILoginManager);
|
||||
var hosts = pwmgr.getAllDisabledHosts({})
|
||||
for each (var host in hosts) {
|
||||
pwmgr.setLoginSavingEnabled(host, true);
|
||||
}
|
||||
},
|
||||
|
||||
get canClear()
|
||||
|
@ -88,6 +88,7 @@ _BROWSER_FILES = browser_bug321000.js \
|
||||
browser_bug422590.js \
|
||||
browser_sanitize-sitepermissions.js \
|
||||
browser_bug356571.js \
|
||||
browser_sanitize-passwordDisabledHosts.js \
|
||||
$(NULL)
|
||||
|
||||
ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
|
||||
|
@ -0,0 +1,42 @@
|
||||
// Bug 474792 - Clear "Never remember passwords for this site" when
|
||||
// clearing site-specific settings in Clear Recent History dialog
|
||||
|
||||
Cc["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader)
|
||||
.loadSubScript("chrome://browser/content/sanitize.js");
|
||||
|
||||
function test() {
|
||||
|
||||
var pwmgr = Components.classes["@mozilla.org/login-manager;1"]
|
||||
.getService(Components.interfaces.nsILoginManager);
|
||||
|
||||
// Add a disabled host
|
||||
pwmgr.setLoginSavingEnabled("http://example.com", false);
|
||||
|
||||
// Sanity check
|
||||
is(pwmgr.getLoginSavingEnabled("http://example.com"), false,
|
||||
"example.com should be disabled for password saving since we haven't cleared that yet.");
|
||||
|
||||
// Set up the sanitizer to just clear siteSettings
|
||||
let s = new Sanitizer();
|
||||
s.ignoreTimespan = false;
|
||||
s.prefDomain = "privacy.cpd.";
|
||||
var itemPrefs = Cc["@mozilla.org/preferences-service;1"]
|
||||
.getService(Components.interfaces.nsIPrefService)
|
||||
.getBranch(s.prefDomain);
|
||||
itemPrefs.setBoolPref("history", false);
|
||||
itemPrefs.setBoolPref("downloads", false);
|
||||
itemPrefs.setBoolPref("cache", false);
|
||||
itemPrefs.setBoolPref("cookies", false);
|
||||
itemPrefs.setBoolPref("formdata", false);
|
||||
itemPrefs.setBoolPref("offlineApps", false);
|
||||
itemPrefs.setBoolPref("passwords", false);
|
||||
itemPrefs.setBoolPref("sessions", false);
|
||||
itemPrefs.setBoolPref("siteSettings", true);
|
||||
|
||||
// Clear it
|
||||
s.sanitize();
|
||||
|
||||
// Make sure it's gone
|
||||
is(pwmgr.getLoginSavingEnabled("http://example.com"), true,
|
||||
"example.com should be enabled for password saving again now that we've cleared.");
|
||||
}
|
Loading…
Reference in New Issue
Block a user