1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/base/content/test/newtab/browser_newtab_bug722273.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,68 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + http://creativecommons.org/publicdomain/zero/1.0/ */ 1.6 + 1.7 +const NOW = Date.now() * 1000; 1.8 +const URL = "http://fake-site.com/"; 1.9 + 1.10 +let tmp = {}; 1.11 +Cc["@mozilla.org/moz/jssubscript-loader;1"] 1.12 + .getService(Ci.mozIJSSubScriptLoader) 1.13 + .loadSubScript("chrome://browser/content/sanitize.js", tmp); 1.14 + 1.15 +let {Sanitizer} = tmp; 1.16 + 1.17 +function runTests() { 1.18 + sanitizeHistory(); 1.19 + yield addFakeVisits(); 1.20 + yield addNewTabPageTab(); 1.21 + 1.22 + is(getCell(0).site.url, URL, "first site is our fake site"); 1.23 + 1.24 + whenPagesUpdated(); 1.25 + yield sanitizeHistory(); 1.26 + 1.27 + ok(!getCell(0).site, "the fake site is gone"); 1.28 +} 1.29 + 1.30 +function addFakeVisits() { 1.31 + let visits = []; 1.32 + for (let i = 59; i > 0; i--) { 1.33 + visits.push({ 1.34 + visitDate: NOW - i * 60 * 1000000, 1.35 + transitionType: Ci.nsINavHistoryService.TRANSITION_LINK 1.36 + }); 1.37 + } 1.38 + let place = { 1.39 + uri: makeURI(URL), 1.40 + title: "fake site", 1.41 + visits: visits 1.42 + }; 1.43 + PlacesUtils.asyncHistory.updatePlaces(place, { 1.44 + handleError: function () ok(false, "couldn't add visit"), 1.45 + handleResult: function () {}, 1.46 + handleCompletion: function () { 1.47 + NewTabUtils.links.populateCache(function () { 1.48 + NewTabUtils.allPages.update(); 1.49 + TestRunner.next(); 1.50 + }, true); 1.51 + } 1.52 + }); 1.53 +} 1.54 + 1.55 +function sanitizeHistory() { 1.56 + let s = new Sanitizer(); 1.57 + s.prefDomain = "privacy.cpd."; 1.58 + 1.59 + let prefs = gPrefService.getBranch(s.prefDomain); 1.60 + prefs.setBoolPref("history", true); 1.61 + prefs.setBoolPref("downloads", false); 1.62 + prefs.setBoolPref("cache", false); 1.63 + prefs.setBoolPref("cookies", false); 1.64 + prefs.setBoolPref("formdata", false); 1.65 + prefs.setBoolPref("offlineApps", false); 1.66 + prefs.setBoolPref("passwords", false); 1.67 + prefs.setBoolPref("sessions", false); 1.68 + prefs.setBoolPref("siteSettings", false); 1.69 + 1.70 + s.sanitize(); 1.71 +}