From 3784234e606b6f80e1789d7cc6956951aaddcb21 Mon Sep 17 00:00:00 2001 From: Jan Varga Date: Fri, 9 May 2025 06:30:33 +0000 Subject: [PATCH] Bug 1959622 - QM: Add SaveOriginAccessTime helper to QuotaManagerDependencyFixture; r=dom-storage-reviewers,asuth Adds a static helper method to QuotaManagerDependencyFixture that runs QuotaManager::SaveOriginAccessTime on the PBackground thread. This simplifies calling SaveOriginAccessTime from gtests and ensures consistency across test cases. For more complex testing, use of this helper is optional. Differential Revision: https://phabricator.services.mozilla.com/D244752 --- .../test/gtest/QuotaManagerDependencyFixture.cpp | 13 +++++++++++++ .../test/gtest/QuotaManagerDependencyFixture.h | 5 +++++ dom/quota/test/gtest/TestQuotaManager.cpp | 13 +------------ 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/dom/quota/test/gtest/QuotaManagerDependencyFixture.cpp b/dom/quota/test/gtest/QuotaManagerDependencyFixture.cpp index eefaba3977ba..4ce12ccf82d4 100644 --- a/dom/quota/test/gtest/QuotaManagerDependencyFixture.cpp +++ b/dom/quota/test/gtest/QuotaManagerDependencyFixture.cpp @@ -271,6 +271,19 @@ void QuotaManagerDependencyFixture::AssertTemporaryOriginNotInitialized( ASSERT_FALSE(result); } +// static +void QuotaManagerDependencyFixture::SaveOriginAccessTime( + const OriginMetadata& aOriginMetadata, int64_t aTimestamp) { + PerformOnBackgroundThread([aOriginMetadata, aTimestamp]() { + QuotaManager* quotaManager = QuotaManager::Get(); + MOZ_RELEASE_ASSERT(quotaManager); + + auto value = + Await(quotaManager->SaveOriginAccessTime(aOriginMetadata, aTimestamp)); + MOZ_RELEASE_ASSERT(value.IsResolve()); + }); +} + // static void QuotaManagerDependencyFixture::GetOriginUsage( const OriginMetadata& aOriginMetadata, UsageInfo* aResult) { diff --git a/dom/quota/test/gtest/QuotaManagerDependencyFixture.h b/dom/quota/test/gtest/QuotaManagerDependencyFixture.h index fc5598a92c61..276e0eda4e42 100644 --- a/dom/quota/test/gtest/QuotaManagerDependencyFixture.h +++ b/dom/quota/test/gtest/QuotaManagerDependencyFixture.h @@ -55,6 +55,11 @@ class QuotaManagerDependencyFixture : public testing::Test { const OriginMetadata& aOriginMetadata); static void AssertTemporaryOriginNotInitialized( const OriginMetadata& aOriginMetadata); + + // For more complex testing, use of this helper is optional. + static void SaveOriginAccessTime(const OriginMetadata& aOriginMetadata, + int64_t aTimestamp); + static void GetOriginUsage(const OriginMetadata& aOriginMetadata, UsageInfo* aResult); static void GetCachedOriginUsage(const OriginMetadata& aOriginMetadata, diff --git a/dom/quota/test/gtest/TestQuotaManager.cpp b/dom/quota/test/gtest/TestQuotaManager.cpp index 4f220d17fef7..97fcf7216ad3 100644 --- a/dom/quota/test/gtest/TestQuotaManager.cpp +++ b/dom/quota/test/gtest/TestQuotaManager.cpp @@ -2040,18 +2040,7 @@ TEST_F(TestQuotaManager, SaveOriginAccessTime_Simple) { ASSERT_NO_FATAL_FAILURE( AssertTemporaryOriginNotInitialized(testOriginMetadata)); - PerformOnBackgroundThread([testOriginMetadata]() { - QuotaManager* quotaManager = QuotaManager::Get(); - ASSERT_TRUE(quotaManager); - - { - int64_t timestamp = PR_Now(); - - auto value = Await( - quotaManager->SaveOriginAccessTime(testOriginMetadata, timestamp)); - ASSERT_TRUE(value.IsResolve()); - } - }); + SaveOriginAccessTime(testOriginMetadata, PR_Now()); ASSERT_NO_FATAL_FAILURE(AssertStorageInitialized()); ASSERT_NO_FATAL_FAILURE(AssertTemporaryStorageNotInitialized());