diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-04-14 21:49:04 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2020-04-14 21:49:04 +0200 |
commit | 39dac57259cff8b61db0b22cb2ad0a8adb02692e (patch) | |
tree | 52a026cc8c22793eb17fd0f5e22adce1ae08a1dd /toolkit/components/thumbnails/test/browser_thumbnails_storage.js | |
parent | a1cce3b2b00bbd9f4983013ddd8934a7bccb9e99 (diff) | |
parent | c2d9ab62f3d097c9e0e00184cab1f546554f5eaa (diff) | |
download | UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.gz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.lz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.tar.xz UXP-39dac57259cff8b61db0b22cb2ad0a8adb02692e.zip |
Merge branch 'redwood' into 28.9-platform
Diffstat (limited to 'toolkit/components/thumbnails/test/browser_thumbnails_storage.js')
-rw-r--r-- | toolkit/components/thumbnails/test/browser_thumbnails_storage.js | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/toolkit/components/thumbnails/test/browser_thumbnails_storage.js b/toolkit/components/thumbnails/test/browser_thumbnails_storage.js deleted file mode 100644 index 972f956e5..000000000 --- a/toolkit/components/thumbnails/test/browser_thumbnails_storage.js +++ /dev/null @@ -1,112 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -const URL = "http://mochi.test:8888/"; -const URL_COPY = URL + "#copy"; - -XPCOMUtils.defineLazyGetter(this, "Sanitizer", function () { - let tmp = {}; - Cc["@mozilla.org/moz/jssubscript-loader;1"] - .getService(Ci.mozIJSSubScriptLoader) - .loadSubScript("chrome://browser/content/sanitize.js", tmp); - return tmp.Sanitizer; -}); - -/** - * These tests ensure that the thumbnail storage is working as intended. - * Newly captured thumbnails should be saved as files and they should as well - * be removed when the user sanitizes their history. - */ -function* runTests() { - yield Task.spawn(function*() { - dontExpireThumbnailURLs([URL, URL_COPY]); - - yield promiseClearHistory(); - yield promiseAddVisitsAndRepopulateNewTabLinks(URL); - yield promiseCreateThumbnail(); - - // Make sure Storage.copy() updates an existing file. - yield PageThumbsStorage.copy(URL, URL_COPY); - let copy = new FileUtils.File(PageThumbsStorage.getFilePathForURL(URL_COPY)); - let mtime = copy.lastModifiedTime -= 60; - - yield PageThumbsStorage.copy(URL, URL_COPY); - isnot(new FileUtils.File(PageThumbsStorage.getFilePathForURL(URL_COPY)).lastModifiedTime, mtime, - "thumbnail file was updated"); - - let file = new FileUtils.File(PageThumbsStorage.getFilePathForURL(URL)); - let fileCopy = new FileUtils.File(PageThumbsStorage.getFilePathForURL(URL_COPY)); - - // Clear the browser history. Retry until the files are gone because Windows - // locks them sometimes. - info("Clearing history"); - while (file.exists() || fileCopy.exists()) { - yield promiseClearHistory(); - } - info("History is clear"); - - info("Repopulating"); - yield promiseAddVisitsAndRepopulateNewTabLinks(URL); - yield promiseCreateThumbnail(); - - info("Clearing the last 10 minutes of browsing history"); - // Clear the last 10 minutes of browsing history. - yield promiseClearHistory(true); - - info("Attempt to clear file"); - // Retry until the file is gone because Windows locks it sometimes. - yield promiseClearFile(file, URL); - - info("Done"); - }); -} - -var promiseClearFile = Task.async(function*(aFile, aURL) { - if (!aFile.exists()) { - return undefined; - } - // Re-add our URL to the history so that history observer's onDeleteURI() - // is called again. - yield PlacesTestUtils.addVisits(makeURI(aURL)); - yield promiseClearHistory(true); - // Then retry. - return promiseClearFile(aFile, aURL); -}); - -function promiseClearHistory(aUseRange) { - let s = new Sanitizer(); - s.prefDomain = "privacy.cpd."; - - let prefs = gPrefService.getBranch(s.prefDomain); - prefs.setBoolPref("history", true); - prefs.setBoolPref("downloads", false); - prefs.setBoolPref("cache", false); - prefs.setBoolPref("cookies", false); - prefs.setBoolPref("formdata", false); - prefs.setBoolPref("offlineApps", false); - prefs.setBoolPref("passwords", false); - prefs.setBoolPref("sessions", false); - prefs.setBoolPref("siteSettings", false); - - if (aUseRange) { - let usec = Date.now() * 1000; - s.range = [usec - 10 * 60 * 1000 * 1000, usec]; - s.ignoreTimespan = false; - } - - return s.sanitize().then(() => { - s.range = null; - s.ignoreTimespan = true; - }); -} - -function promiseCreateThumbnail() { - return new Promise(resolve => { - addTab(URL, function () { - whenFileExists(URL, function () { - gBrowser.removeTab(gBrowser.selectedTab); - resolve(); - }); - }); - }); -} |