browser/components/privatebrowsing/test/browser/browser_privatebrowsing_cache.js

Thu, 15 Jan 2015 21:13:52 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 21:13:52 +0100
branch
TOR_BUG_9701
changeset 12
7540298fafa1
permissions
-rw-r--r--

Remove forgotten relic of ABI crash risk averse overloaded method change.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
     3  * You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 // Check about:cache after private browsing
     6 // This test covers MozTrap test 6047
     7 // bug 880621
     9 let {LoadContextInfo} = Cu.import("resource://gre/modules/LoadContextInfo.jsm", null);
    11 let tmp = {};
    13 Cc["@mozilla.org/moz/jssubscript-loader;1"]
    14   .getService(Ci.mozIJSSubScriptLoader)
    15   .loadSubScript("chrome://browser/content/sanitize.js", tmp);
    17 let Sanitizer = tmp.Sanitizer;
    19 function test() {
    21   waitForExplicitFinish();
    23   sanitizeCache();
    25   let nrEntriesR1 = getStorageEntryCount("regular", function(nrEntriesR1) {
    26     is(nrEntriesR1, 0, "Disk cache reports 0KB and has no entries");
    28     get_cache_for_private_window();
    29   });
    30 }
    32 function cleanup() {
    33   let prefs = Services.prefs.getBranch("privacy.cpd.");
    35   prefs.clearUserPref("history");
    36   prefs.clearUserPref("downloads");
    37   prefs.clearUserPref("cache");
    38   prefs.clearUserPref("cookies");
    39   prefs.clearUserPref("formdata");
    40   prefs.clearUserPref("offlineApps");
    41   prefs.clearUserPref("passwords");
    42   prefs.clearUserPref("sessions");
    43   prefs.clearUserPref("siteSettings");
    44 }
    46 function sanitizeCache() {
    48   let s = new Sanitizer();
    49   s.ignoreTimespan = false;
    50   s.prefDomain = "privacy.cpd.";
    52   let prefs = gPrefService.getBranch(s.prefDomain);
    53   prefs.setBoolPref("history", false);
    54   prefs.setBoolPref("downloads", false);
    55   prefs.setBoolPref("cache", true);
    56   prefs.setBoolPref("cookies", false);
    57   prefs.setBoolPref("formdata", false);
    58   prefs.setBoolPref("offlineApps", false);
    59   prefs.setBoolPref("passwords", false);
    60   prefs.setBoolPref("sessions", false);
    61   prefs.setBoolPref("siteSettings", false);
    63   s.sanitize();
    64 }
    66 function get_cache_service() {
    67   return Components.classes["@mozilla.org/netwerk/cache-storage-service;1"]
    68                    .getService(Components.interfaces.nsICacheStorageService);
    69 }
    71 function getStorageEntryCount(device, goon) {
    72   var cs = get_cache_service();
    74   var storage;
    75   switch (device) {
    76   case "private":
    77     storage = cs.diskCacheStorage(LoadContextInfo.private, false);
    78     break;
    79   case "regular":
    80     storage = cs.diskCacheStorage(LoadContextInfo.default, false);
    81     break;
    82   default:
    83     throw "Unknown device " + device + " at getStorageEntryCount";
    84   }
    86   var visitor = {
    87     entryCount: 0,
    88     onCacheStorageInfo: function (aEntryCount, aConsumption) {
    89     },
    90     onCacheEntryInfo: function(entry)
    91     {
    92       info(device + ":" + entry.key + "\n");
    93       if (entry.key.match(/^http:\/\/example.org\//))
    94         ++this.entryCount;
    95     },
    96     onCacheEntryVisitCompleted: function()
    97     {
    98       goon(this.entryCount);
    99     }
   100   };
   102   storage.asyncVisitStorage(visitor, true);
   103 }
   105 function get_cache_for_private_window () {
   106   let win = whenNewWindowLoaded({private: true}, function() {
   108     executeSoon(function() {
   110       ok(true, "The private window got loaded");
   112       let tab = win.gBrowser.addTab("http://example.org");
   113       win.gBrowser.selectedTab = tab;
   114       let newTabBrowser = win.gBrowser.getBrowserForTab(tab);
   116       newTabBrowser.addEventListener("load", function eventHandler() {
   117         newTabBrowser.removeEventListener("load", eventHandler, true);
   119         executeSoon(function() {
   121           getStorageEntryCount("private", function(nrEntriesP) {
   122             ok(nrEntriesP >= 1, "Memory cache reports some entries from example.org domain");
   124             getStorageEntryCount("regular", function(nrEntriesR2) {
   125               is(nrEntriesR2, 0, "Disk cache reports 0KB and has no entries");
   127               cleanup();
   129               win.close();
   130               finish();
   131             });
   132           });
   133         });
   134       }, true);
   135     });
   136   });
   137 }

mercurial