Skip to content

Commit

Permalink
Bug 898315 - Update all callers of FileUtils.getDir to remove usage o…
Browse files Browse the repository at this point in the history
…f the shouldCreate parameter. r=Gijs,extension-reviewers,application-update-reviewers,nalexander,robwu

Differential Revision: https://phabricator.services.mozilla.com/D180603
  • Loading branch information
marco-c committed Jun 15, 2023
1 parent 77999b9 commit 21a2f56
Show file tree
Hide file tree
Showing 52 changed files with 153 additions and 131 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,16 @@ add_task(
"Untracked URI, no pref set"
);

let dir1 = FileUtils.getDir("TmpD", ["dir1"], true);
let dir1 = FileUtils.getDir("TmpD", ["dir1"]);
dir1.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
let uri1 = Services.io.newURI("https://test1.moz.org");
downloadLastDir.setFile(uri1, dir1);
let dir2 = FileUtils.getDir("TmpD", ["dir2"], true);
let dir2 = FileUtils.getDir("TmpD", ["dir2"]);
dir2.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
let uri2 = Services.io.newURI("https://test2.moz.org");
downloadLastDir.setFile(uri2, dir2);
let dir3 = FileUtils.getDir("TmpD", ["dir3"], true);
let dir3 = FileUtils.getDir("TmpD", ["dir3"]);
dir3.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
downloadLastDir.setFile(null, dir3);
Assert.equal(
(await downloadLastDir.getFileAsync(uri1)).path,
Expand Down Expand Up @@ -76,7 +79,8 @@ add_task(
// file: URIs should all point to the same folder.
let fileUri1 = Services.io.newURI("file:///c:/test.txt");
downloadLastDir.setFile(uri1, dir3);
let dir4 = FileUtils.getDir("TmpD", ["dir4"], true);
let dir4 = FileUtils.getDir("TmpD", ["dir4"]);
dir4.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
let fileUri2 = Services.io.newURI("file:///d:/test.png");
downloadLastDir.setFile(uri1, dir4);
Assert.equal(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ async function installTestAddon(addonId, unpacked = false) {
// in XPInstall.jsm).
const random = Math.round(Math.random() * 36 ** 3).toString(36);
const tmpDirName = `mochitest_unpacked_addons_${random}`;
let tmpExtPath = FileUtils.getDir("TmpD", [tmpDirName], true);
let tmpExtPath = FileUtils.getDir("TmpD", [tmpDirName]);
tmpExtPath.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
registerCleanupFunction(() => {
tmpExtPath.remove(true);
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,8 @@ async function testReturnStatus(expectedStatus) {
"http://example.net/"
);

let saveDir = FileUtils.getDir(
"TmpD",
[`testSaveDir-${Math.random()}`],
true
);
let saveDir = FileUtils.getDir("TmpD", [`testSaveDir-${Math.random()}`]);
saveDir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);

let saveFile = saveDir.clone();
saveFile.append("testSaveFile.pdf");
Expand Down Expand Up @@ -119,11 +116,8 @@ async function testFileName(expectedFileName) {
"http://example.net/"
);

let saveDir = FileUtils.getDir(
"TmpD",
[`testSaveDir-${Math.random()}`],
true
);
let saveDir = FileUtils.getDir("TmpD", [`testSaveDir-${Math.random()}`]);
saveDir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);

let saveFile = saveDir.clone();
saveFile.append(expectedFileName);
Expand Down
51 changes: 22 additions & 29 deletions browser/components/migration/SafariProfileMigrator.sys.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,10 @@ Bookmarks.prototype = {
// Thus, we must create a map from bookmark URLs -> their favicon entry's UUID.
let bookmarkURLToUUIDMap = new Map();

const faviconFolder = FileUtils.getDir(
"ULibDir",
["Safari", "Favicon Cache"],
false
).path;
const faviconFolder = FileUtils.getDir("ULibDir", [
"Safari",
"Favicon Cache",
]).path;
let dbPath = PathUtils.join(faviconFolder, "favicons.db");

try {
Expand Down Expand Up @@ -272,11 +271,10 @@ Bookmarks.prototype = {
let favicons = [];
let convertedEntries = [];

const faviconFolder = FileUtils.getDir(
"ULibDir",
["Safari", "Favicon Cache"],
false
).path;
const faviconFolder = FileUtils.getDir("ULibDir", [
"Safari",
"Favicon Cache",
]).path;

for (const entry of entries) {
let type = entry.get("WebBookmarkType");
Expand Down Expand Up @@ -349,11 +347,7 @@ Bookmarks.prototype = {
};

async function GetHistoryResource() {
let dbPath = FileUtils.getDir(
"ULibDir",
["Safari", "History.db"],
false
).path;
let dbPath = FileUtils.getDir("ULibDir", ["Safari", "History.db"]).path;
let maxAge = msToNSDate(
Date.now() - MigrationUtils.HISTORY_MAX_AGE_IN_MILLISECONDS
);
Expand Down Expand Up @@ -540,7 +534,7 @@ export class SafariProfileMigrator extends MigratorBase {
}

async getResources() {
let profileDir = FileUtils.getDir("ULibDir", ["Safari"], false);
let profileDir = FileUtils.getDir("ULibDir", ["Safari"]);
if (!profileDir.exists()) {
return null;
}
Expand Down Expand Up @@ -576,7 +570,7 @@ export class SafariProfileMigrator extends MigratorBase {
}

async getLastUsedDate() {
const profileDir = FileUtils.getDir("ULibDir", ["Safari"], false);
const profileDir = FileUtils.getDir("ULibDir", ["Safari"]);
const dates = await Promise.all(
["Bookmarks.plist", "History.db"].map(file => {
const path = PathUtils.join(profileDir.path, file);
Expand All @@ -594,16 +588,15 @@ export class SafariProfileMigrator extends MigratorBase {
return true;
}
// Check if we have access to both bookmarks and favicons:
let bookmarkTarget = FileUtils.getDir(
"ULibDir",
["Safari", "Bookmarks.plist"],
false
);
let faviconTarget = FileUtils.getDir(
"ULibDir",
["Safari", "Favicon Cache", "favicons.db"],
false
);
let bookmarkTarget = FileUtils.getDir("ULibDir", [
"Safari",
"Bookmarks.plist",
]);
let faviconTarget = FileUtils.getDir("ULibDir", [
"Safari",
"Favicon Cache",
"favicons.db",
]);
try {
// 'stat' is always allowed, but reading is somehow not, if the user hasn't
// allowed it:
Expand All @@ -624,7 +617,7 @@ export class SafariProfileMigrator extends MigratorBase {
// The title (second arg) is not displayed on macOS, so leave it blank.
fp.init(win, "", Ci.nsIFilePicker.modeGetFolder);
fp.filterIndex = 1;
fp.displayDirectory = FileUtils.getDir("ULibDir", [""], false);
fp.displayDirectory = FileUtils.getDir("ULibDir", [""]);
// Now wait for the filepicker to open and close. If the user picks
// the Safari folder, macOS will grant us read access to everything
// inside, so we don't need to check or do anything else with what's
Expand All @@ -640,7 +633,7 @@ export class SafariProfileMigrator extends MigratorBase {

get mainPreferencesPropertyList() {
if (this._mainPreferencesPropertyList === undefined) {
let file = FileUtils.getDir("UsrPrfs", [], false);
let file = FileUtils.getDir("UsrPrfs", []);
if (file.exists()) {
file.append("com.apple.Safari.plist");
if (file.exists()) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"use strict";

let tmpFile = FileUtils.getDir("TmpD", [], true);
let tmpFile = FileUtils.getDir("TmpD", []);
let dbConn;

add_task(async function setup() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ async function runTest() {
"resource://gre/modules/DownloadLastDir.sys.mjs"
);

let tmpDir = FileUtils.getDir("TmpD", [], true);
let tmpDir = FileUtils.getDir("TmpD", []);
let dir1 = newDirectory();
let dir2 = newDirectory();
let dir3 = newDirectory();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ function test() {
let launcherDialog = Cc["@mozilla.org/helperapplauncherdialog;1"].getService(
Ci.nsIHelperAppLauncherDialog
);
let tmpDir = FileUtils.getDir("TmpD", [], true);
let tmpDir = FileUtils.getDir("TmpD", []);
let dir1 = newDirectory();
let dir2 = newDirectory();
let dir3 = newDirectory();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ function test() {

let validateFileNameToRestore = validateFileName;
let prefs = Services.prefs.getBranch("browser.download.");
let tmpDir = FileUtils.getDir("TmpD", [], true);
let tmpDir = FileUtils.getDir("TmpD", []);
let dir1 = newDirectory();
let dir2 = newDirectory();
let dir3 = newDirectory();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* on how it behaves when private browsing windows open.
*/
add_task(async function test_downloads_last_dir_toggle() {
let tmpDir = FileUtils.getDir("TmpD", [], true);
let tmpDir = FileUtils.getDir("TmpD", []);
let dir1 = newDirectory();

registerCleanupFunction(function () {
Expand Down
4 changes: 1 addition & 3 deletions browser/components/privatebrowsing/test/browser/head.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,7 @@ async function openTabAndWaitForRender() {
}

function newDirectory() {
let tmpDir = FileUtils.getDir("TmpD", [], true);
let dir = tmpDir.clone();
dir.append("testdir");
let dir = FileUtils.getDir("TmpD", ["testdir"]);
dir.createUnique(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
return dir;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,7 @@ const SERVER_URL =
function getPendingCrashReportDir() {
// The fake UAppData directory that makeFakeAppDir provides
// is just UAppData under the profile directory.
return FileUtils.getDir(
"ProfD",
["UAppData", "Crash Reports", "pending"],
false
);
return FileUtils.getDir("ProfD", ["UAppData", "Crash Reports", "pending"]);
}

/**
Expand Down
2 changes: 1 addition & 1 deletion dom/html/test/forms/test_submit_invalid_file.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

var i = document.getElementsByTagName('input')[0];

var file = FileUtils.getDir("TmpD", [], false);
var file = FileUtils.getDir("TmpD", []);
file.append("testfile");
file.createUnique(SpecialPowers.Ci.nsIFile.NORMAL_FILE_TYPE, 0o644);

Expand Down
4 changes: 2 additions & 2 deletions services/common/tests/unit/test_logmanager.js
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ add_task(async function test_SharedLogs() {
// A little helper to test what log files exist. We expect exactly zero (if
// prefix is null) or exactly one with the specified prefix.
function checkLogFile(prefix) {
let logsdir = FileUtils.getDir("ProfD", ["weave", "logs"], true);
let logsdir = FileUtils.getDir("ProfD", ["weave", "logs"]);
let entries = logsdir.directoryEntries;
if (!prefix) {
// expecting no files.
Expand Down Expand Up @@ -278,7 +278,7 @@ add_task(async function test_logFileError() {
});

function countLogFiles() {
let logsdir = FileUtils.getDir("ProfD", ["weave", "logs"], true);
let logsdir = FileUtils.getDir("ProfD", ["weave", "logs"]);
let count = 0;
for (let entry of logsdir.directoryEntries) {
void entry;
Expand Down
3 changes: 2 additions & 1 deletion services/sync/tests/unit/test_addons_store.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ Services.prefs.setBoolPref("extensions.experiments.enabled", true);

const SYSTEM_ADDON_ID = "[email protected]";
add_task(async function setupSystemAddon() {
const distroDir = FileUtils.getDir("ProfD", ["sysfeatures", "app0"], true);
const distroDir = FileUtils.getDir("ProfD", ["sysfeatures", "app0"]);
distroDir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
AddonTestUtils.registerDirectory("XREAppFeat", distroDir);

let xpi = await AddonTestUtils.createTempWebExtensionFile({
Expand Down
3 changes: 2 additions & 1 deletion services/sync/tests/unit/test_errorhandler_2.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ registerCleanupFunction(function () {
});
});

const logsdir = FileUtils.getDir("ProfD", ["weave", "logs"], true);
const logsdir = FileUtils.getDir("ProfD", ["weave", "logs"]);
logsdir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);

function removeLogFiles() {
let entries = logsdir.directoryEntries;
Expand Down
3 changes: 2 additions & 1 deletion services/sync/tests/unit/test_errorhandler_filelog.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ const { FileUtils } = ChromeUtils.importESModule(
"resource://gre/modules/FileUtils.sys.mjs"
);

const logsdir = FileUtils.getDir("ProfD", ["weave", "logs"], true);
const logsdir = FileUtils.getDir("ProfD", ["weave", "logs"]);
logsdir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);

// Delay to wait before cleanup, to allow files to age.
// This is so large because the file timestamp granularity is per-second, and
Expand Down
2 changes: 1 addition & 1 deletion testing/specialpowers/content/MockFilePicker.sys.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ export var MockFilePicker = {
},

useAnyFile() {
var file = lazy.FileUtils.getDir("TmpD", [], false);
var file = lazy.FileUtils.getDir("TmpD", []);
file.append("testfile");
file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o644);
let promise = this.window.File.createFromNsIFile(file)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,8 @@
"use strict";

async function testAppliedFilters(ext, expectedFilter, expectedFilterCount) {
let tempDir = FileUtils.getDir(
"TmpD",
[`testDownloadDir-${Math.random()}`],
true
);
let tempDir = FileUtils.getDir("TmpD", [`testDownloadDir-${Math.random()}`]);
tempDir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);

let filterCount = 0;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,8 @@ add_task(
// in XPInstall.jsm).
const random = Math.round(Math.random() * 36 ** 3).toString(36);
const tmpDirName = `xpcshelltest_unpacked_addons_${random}`;
let tmpExtPath = FileUtils.getDir("TmpD", [tmpDirName], true);
let tmpExtPath = FileUtils.getDir("TmpD", [tmpDirName]);
tmpExtPath.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
registerCleanupFunction(() => {
tmpExtPath.remove(true);
});
Expand Down
2 changes: 1 addition & 1 deletion toolkit/components/telemetry/tests/unit/head.js
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ async function loadAddonManager(...args) {

// As we're not running in application, we need to setup the features directory
// used by system add-ons.
const distroDir = FileUtils.getDir("ProfD", ["sysfeatures", "app0"], true);
const distroDir = FileUtils.getDir("ProfD", ["sysfeatures", "app0"]);
AddonTestUtils.registerDirectory("XREAppFeat", distroDir);
await AddonTestUtils.overrideBuiltIns({
system: ["[email protected]"],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,8 @@ add_task(async function setup() {
Services.fog.initializeFOG();

// The system add-on must be installed before AddonManager is started.
const distroDir = FileUtils.getDir("ProfD", ["sysfeatures", "app0"], true);
const distroDir = FileUtils.getDir("ProfD", ["sysfeatures", "app0"]);
distroDir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
do_get_file("system.xpi").copyTo(
distroDir,
"[email protected]"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ add_task(async function setup() {
Services.fog.initializeFOG();

// The system add-on must be installed before AddonManager is started.
const distroDir = FileUtils.getDir("ProfD", ["sysfeatures", "app0"], true);
const distroDir = FileUtils.getDir("ProfD", ["sysfeatures", "app0"]);
distroDir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
do_get_file("system.xpi").copyTo(
distroDir,
"[email protected]"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,12 @@ var { PageThumbsStorageMigrator } = tmp;
*/
function* runTests() {
// Prepare a local profile directory.
let localProfile = FileUtils.getDir("ProfD", ["local-test"], true);
let localProfile = FileUtils.getDir("ProfD", ["local-test"]);
localProfile.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
changeLocation("ProfLD", localProfile);

let roaming = FileUtils.getDir("ProfD", [THUMBNAIL_DIRECTORY], true);
let roaming = FileUtils.getDir("ProfD", [THUMBNAIL_DIRECTORY]);
roaming.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);

// Set up some data in the roaming profile.
let name = PageThumbsStorageService.getLeafNameForURL(URL);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ async function do_test(test) {
let MockFilePicker = SpecialPowers.MockFilePicker;
MockFilePicker.init(window);
MockFilePicker.returnValue = MockFilePicker.returnOK;
MockFilePicker.displayDirectory = FileUtils.getDir("TmpD", [], false);
MockFilePicker.displayDirectory = FileUtils.getDir("TmpD", []);
MockFilePicker.setFiles([tempFile]);
MockFilePicker.afterOpenCallback = MockFilePicker.cleanup;

Expand Down Expand Up @@ -124,7 +124,7 @@ async function do_test(test) {
}

function createTempFile() {
let file = FileUtils.getDir("TmpD", [], false);
let file = FileUtils.getDir("TmpD", []);
file.append("testfile_bug1251809");
file.create(Ci.nsIFile.NORMAL_FILE_TYPE, 0o644);
return file;
Expand Down
Loading

0 comments on commit 21a2f56

Please sign in to comment.