summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_sanitize-sitepermissions.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/general/browser_sanitize-sitepermissions.js')
-rw-r--r--browser/base/content/test/general/browser_sanitize-sitepermissions.js52
1 files changed, 52 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_sanitize-sitepermissions.js b/browser/base/content/test/general/browser_sanitize-sitepermissions.js
new file mode 100644
index 000000000..1b43d62fc
--- /dev/null
+++ b/browser/base/content/test/general/browser_sanitize-sitepermissions.js
@@ -0,0 +1,52 @@
+// Bug 380852 - Delete permission manager entries in Clear Recent History
+
+var tempScope = {};
+Cc["@mozilla.org/moz/jssubscript-loader;1"].getService(Ci.mozIJSSubScriptLoader)
+ .loadSubScript("chrome://browser/content/sanitize.js", tempScope);
+var Sanitizer = tempScope.Sanitizer;
+
+function countPermissions() {
+ let result = 0;
+ let enumerator = Services.perms.enumerator;
+ while (enumerator.hasMoreElements()) {
+ result++;
+ enumerator.getNext();
+ }
+ return result;
+}
+
+add_task(function* test() {
+ // sanitize before we start so we have a good baseline.
+ // Set up the sanitizer to just clear siteSettings
+ let s = new Sanitizer();
+ s.ignoreTimespan = false;
+ s.prefDomain = "privacy.cpd.";
+ var itemPrefs = gPrefService.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);
+ s.sanitize();
+
+ // Count how many permissions we start with - some are defaults that
+ // will not be sanitized.
+ let numAtStart = countPermissions();
+
+ // Add a permission entry
+ var pm = Services.perms;
+ pm.add(makeURI("http://example.com"), "testing", pm.ALLOW_ACTION);
+
+ // Sanity check
+ ok(pm.enumerator.hasMoreElements(), "Permission manager should have elements, since we just added one");
+
+ // Clear it
+ yield s.sanitize();
+
+ // Make sure it's gone
+ is(numAtStart, countPermissions(), "Permission manager should have the same count it started with");
+});