tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit ad000f73448ad810640e4eb601be1c2c5c53317f
parent 905631b92892af528f228c55ee2437ad4b467976
Author: Micah Killoran <mtigley@mozilla.com>
Date:   Wed, 19 Nov 2025 04:20:04 +0000

Bug 1999529 - Disable OS auth in CPM tests. r=dimi

Differential Revision: https://phabricator.services.mozilla.com/D272888

Diffstat:
Mtoolkit/components/satchel/megalist/content/tests/browser/browser.toml | 1-
Mtoolkit/components/satchel/megalist/content/tests/browser/browser_passwords_export_success_notification.js | 36++++++------------------------------
Mtoolkit/components/satchel/megalist/content/tests/browser/head.js | 14+++++++++++++-
3 files changed, 19 insertions(+), 32 deletions(-)

diff --git a/toolkit/components/satchel/megalist/content/tests/browser/browser.toml b/toolkit/components/satchel/megalist/content/tests/browser/browser.toml @@ -1,7 +1,6 @@ [DEFAULT] prefs = [ "sidebar.revamp=true", - "signon.management.page.os-auth.locked.enabled=true", ] support-files = [ diff --git a/toolkit/components/satchel/megalist/content/tests/browser/browser_passwords_export_success_notification.js b/toolkit/components/satchel/megalist/content/tests/browser/browser_passwords_export_success_notification.js @@ -10,35 +10,20 @@ add_setup(async function () { }); const { MockFilePicker } = SpecialPowers; -const tempDir = createTemporarySaveDirectory(); -MockFilePicker.displayDirectory = tempDir; - -function createTemporarySaveDirectory() { - let saveDir = Services.dirsvc.get("TmpD", Ci.nsIFile); - saveDir.append("testsavedir"); - saveDir.createUnique(Ci.nsIFile.DIRECTORY_TYPE, 0o755); - return saveDir; -} function waitForOpenFilePicker() { return new Promise(resolve => { - MockFilePicker.showCallback = fp => { - info("MockFilePicker showCallback"); - - let fileName = fp.defaultString; - let destFile = tempDir.clone(); - destFile.append(fileName); - - MockFilePicker.setFiles([destFile]); - MockFilePicker.filterIndex = 1; - + MockFilePicker.showCallback = () => { + MockFilePicker.showCallback = null; + Assert.ok(true, "Saw the file picker"); resolve(); }; }); } -async function clickExportAllPasswords(megalist, megalistParent) { +async function clickExportAllPasswords(megalist) { MockFilePicker.init(window.browsingContext); + MockFilePicker.useAnyFile(); MockFilePicker.returnValue = MockFilePicker.returnOK; const getShadowBtn = (el, selector) => @@ -48,15 +33,7 @@ async function clickExportAllPasswords(megalist, megalistParent) { menuButton.click(); await BrowserTestUtils.waitForEvent(menu, "shown"); const exportMenuItem = getShadowBtn(menu, "[action='export-logins']"); - const authExpirationTime = megalistParent.authExpirationTime(); - let reauthObserved = Promise.resolve(); - - if (OSKeyStore.canReauth() && Date.now() > authExpirationTime) { - reauthObserved = OSKeyStoreTestUtils.waitForOSKeyStoreLogin(true); - } - exportMenuItem.click(); - - await reauthObserved; + await waitForReauth(() => exportMenuItem.click()); async function waitForFilePicker() { let filePickerPromise = waitForOpenFilePicker(); @@ -78,7 +55,6 @@ add_setup(async function () { registerCleanupFunction(async () => { LoginTestUtils.clearData(); MockFilePicker.cleanup(); - tempDir.remove(true); }); }); diff --git a/toolkit/components/satchel/megalist/content/tests/browser/head.js b/toolkit/components/satchel/megalist/content/tests/browser/head.js @@ -241,11 +241,23 @@ function getMegalistParent() { async function waitForReauth(callBackFn) { const authExpirationTime = getMegalistParent().authExpirationTime(); let reauthObserved = Promise.resolve(); + // FIXME: we still wait for reauth event even if OS auth not enabled. + const isOSAuthEnabled = Services.prefs.getBoolPref( + "signon.management.page.os-auth.locked.enabled", + false + ); - if (OSKeyStore.canReauth() && Date.now() > authExpirationTime) { + if ( + isOSAuthEnabled && + OSKeyStore.canReauth() && + Date.now() > authExpirationTime + ) { + info("Can reauth"); reauthObserved = OSKeyStoreTestUtils.waitForOSKeyStoreLogin(true); } await callBackFn(); + + info("Waiting for reauth event"); return reauthObserved; }