|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 const NOW = Date.now() * 1000; |
|
5 const URL = "http://fake-site.com/"; |
|
6 |
|
7 let tmp = {}; |
|
8 Cc["@mozilla.org/moz/jssubscript-loader;1"] |
|
9 .getService(Ci.mozIJSSubScriptLoader) |
|
10 .loadSubScript("chrome://browser/content/sanitize.js", tmp); |
|
11 |
|
12 let {Sanitizer} = tmp; |
|
13 |
|
14 function runTests() { |
|
15 sanitizeHistory(); |
|
16 yield addFakeVisits(); |
|
17 yield addNewTabPageTab(); |
|
18 |
|
19 is(getCell(0).site.url, URL, "first site is our fake site"); |
|
20 |
|
21 whenPagesUpdated(); |
|
22 yield sanitizeHistory(); |
|
23 |
|
24 ok(!getCell(0).site, "the fake site is gone"); |
|
25 } |
|
26 |
|
27 function addFakeVisits() { |
|
28 let visits = []; |
|
29 for (let i = 59; i > 0; i--) { |
|
30 visits.push({ |
|
31 visitDate: NOW - i * 60 * 1000000, |
|
32 transitionType: Ci.nsINavHistoryService.TRANSITION_LINK |
|
33 }); |
|
34 } |
|
35 let place = { |
|
36 uri: makeURI(URL), |
|
37 title: "fake site", |
|
38 visits: visits |
|
39 }; |
|
40 PlacesUtils.asyncHistory.updatePlaces(place, { |
|
41 handleError: function () ok(false, "couldn't add visit"), |
|
42 handleResult: function () {}, |
|
43 handleCompletion: function () { |
|
44 NewTabUtils.links.populateCache(function () { |
|
45 NewTabUtils.allPages.update(); |
|
46 TestRunner.next(); |
|
47 }, true); |
|
48 } |
|
49 }); |
|
50 } |
|
51 |
|
52 function sanitizeHistory() { |
|
53 let s = new Sanitizer(); |
|
54 s.prefDomain = "privacy.cpd."; |
|
55 |
|
56 let prefs = gPrefService.getBranch(s.prefDomain); |
|
57 prefs.setBoolPref("history", true); |
|
58 prefs.setBoolPref("downloads", false); |
|
59 prefs.setBoolPref("cache", false); |
|
60 prefs.setBoolPref("cookies", false); |
|
61 prefs.setBoolPref("formdata", false); |
|
62 prefs.setBoolPref("offlineApps", false); |
|
63 prefs.setBoolPref("passwords", false); |
|
64 prefs.setBoolPref("sessions", false); |
|
65 prefs.setBoolPref("siteSettings", false); |
|
66 |
|
67 s.sanitize(); |
|
68 } |