From f29ffc147719ae51c0d5ec779b83df8433120225 Mon Sep 17 00:00:00 2001 From: Jan Varga Date: Thu, 8 Aug 2024 10:34:04 +0000 Subject: [PATCH] Bug 1910848 - Switch PQuotaUsageRequest to non-virtual implementation; r=dom-storage-reviewers,asuth Differential Revision: https://phabricator.services.mozilla.com/D194214 --- dom/quota/PQuotaUsageRequest.ipdl | 1 - dom/quota/QuotaManagerService.cpp | 2 +- dom/quota/QuotaParent.cpp | 2 +- dom/quota/QuotaRequests.cpp | 2 +- dom/quota/QuotaUsageRequestChild.cpp | 14 +++++++------- dom/quota/QuotaUsageRequestChild.h | 6 +++--- dom/quota/QuotaUsageRequestParent.cpp | 12 ++++++------ dom/quota/QuotaUsageRequestParent.h | 6 +++--- dom/quota/moz.build | 2 ++ 9 files changed, 24 insertions(+), 23 deletions(-) diff --git a/dom/quota/PQuotaUsageRequest.ipdl b/dom/quota/PQuotaUsageRequest.ipdl index f299a8aee10d..1835dff43dcb 100644 --- a/dom/quota/PQuotaUsageRequest.ipdl +++ b/dom/quota/PQuotaUsageRequest.ipdl @@ -8,7 +8,6 @@ namespace mozilla { namespace dom { namespace quota { -[ChildImpl=virtual, ParentImpl=virtual] protocol PQuotaUsageRequest { manager PQuota; diff --git a/dom/quota/QuotaManagerService.cpp b/dom/quota/QuotaManagerService.cpp index 16fbd1e4f2fe..d2fe4514bdbb 100644 --- a/dom/quota/QuotaManagerService.cpp +++ b/dom/quota/QuotaManagerService.cpp @@ -12,7 +12,6 @@ #include "QuotaManager.h" #include "QuotaRequests.h" #include "QuotaResults.h" -#include "QuotaUsageRequestChild.h" // Global includes #include @@ -34,6 +33,7 @@ #include "mozilla/Variant.h" #include "mozilla/dom/quota/PQuota.h" #include "mozilla/dom/quota/PersistenceType.h" +#include "mozilla/dom/quota/QuotaUsageRequestChild.h" #include "mozilla/dom/quota/ResultExtensions.h" #include "mozilla/fallible.h" #include "mozilla/hal_sandbox/PHal.h" diff --git a/dom/quota/QuotaParent.cpp b/dom/quota/QuotaParent.cpp index fa07e20c79ba..8caa1ee09545 100644 --- a/dom/quota/QuotaParent.cpp +++ b/dom/quota/QuotaParent.cpp @@ -13,13 +13,13 @@ #include "mozilla/dom/quota/PQuota.h" #include "mozilla/dom/quota/PQuotaRequestParent.h" #include "mozilla/dom/quota/PQuotaUsageRequestParent.h" +#include "mozilla/dom/quota/QuotaUsageRequestParent.h" #include "mozilla/dom/quota/ResultExtensions.h" #include "mozilla/ipc/BackgroundParent.h" #include "nsDebug.h" #include "nsError.h" #include "OriginOperations.h" #include "QuotaRequestBase.h" -#include "QuotaUsageRequestParent.h" // CUF == CRASH_UNLESS_FUZZING #define QM_CUF_AND_IPC_FAIL(actor) \ diff --git a/dom/quota/QuotaRequests.cpp b/dom/quota/QuotaRequests.cpp index 7c420f6116da..41991b16cd54 100644 --- a/dom/quota/QuotaRequests.cpp +++ b/dom/quota/QuotaRequests.cpp @@ -8,7 +8,6 @@ // Local includes #include "ActorsChild.h" -#include "QuotaUsageRequestChild.h" // Global includes #include "mozilla/ErrorNames.h" @@ -19,6 +18,7 @@ #include "nsIVariant.h" #include "nsStringFwd.h" #include "nscore.h" +#include "mozilla/dom/quota/QuotaUsageRequestChild.h" namespace mozilla { class Runnable; diff --git a/dom/quota/QuotaUsageRequestChild.cpp b/dom/quota/QuotaUsageRequestChild.cpp index 84814b0fbf01..a48308c8b5bc 100644 --- a/dom/quota/QuotaUsageRequestChild.cpp +++ b/dom/quota/QuotaUsageRequestChild.cpp @@ -36,6 +36,13 @@ void QuotaUsageRequestChild::AssertIsOnOwningThread() const { #endif // DEBUG +mozilla::ipc::IPCResult QuotaUsageRequestChild::Recv__delete__() { + AssertIsOnOwningThread(); + MOZ_ASSERT(mRequest); + + return IPC_OK(); +} + void QuotaUsageRequestChild::ActorDestroy(ActorDestroyReason aWhy) { AssertIsOnOwningThread(); @@ -47,11 +54,4 @@ void QuotaUsageRequestChild::ActorDestroy(ActorDestroyReason aWhy) { } } -mozilla::ipc::IPCResult QuotaUsageRequestChild::Recv__delete__() { - AssertIsOnOwningThread(); - MOZ_ASSERT(mRequest); - - return IPC_OK(); -} - } // namespace mozilla::dom::quota diff --git a/dom/quota/QuotaUsageRequestChild.h b/dom/quota/QuotaUsageRequestChild.h index ab8b757d7ef0..1cea76eba67d 100644 --- a/dom/quota/QuotaUsageRequestChild.h +++ b/dom/quota/QuotaUsageRequestChild.h @@ -33,6 +33,9 @@ class QuotaUsageRequestChild final : public PQuotaUsageRequestChild { NS_INLINE_DECL_REFCOUNTING(QuotaUsageRequestChild, override) + // IPDL methods are only called by IPDL. + virtual mozilla::ipc::IPCResult Recv__delete__() override; + private: // Only created by QuotaManagerService. explicit QuotaUsageRequestChild(UsageRequest* aRequest); @@ -40,10 +43,7 @@ class QuotaUsageRequestChild final : public PQuotaUsageRequestChild { // Only destroyed by QuotaChild. ~QuotaUsageRequestChild(); - // IPDL methods are only called by IPDL. virtual void ActorDestroy(ActorDestroyReason aWhy) override; - - virtual mozilla::ipc::IPCResult Recv__delete__() override; }; } // namespace mozilla::dom::quota diff --git a/dom/quota/QuotaUsageRequestParent.cpp b/dom/quota/QuotaUsageRequestParent.cpp index e98367f039dd..82475ba448d8 100644 --- a/dom/quota/QuotaUsageRequestParent.cpp +++ b/dom/quota/QuotaUsageRequestParent.cpp @@ -26,12 +26,6 @@ void QuotaUsageRequestParent::Destroy() { } } -void QuotaUsageRequestParent::ActorDestroy(ActorDestroyReason aWhy) { - AssertIsOnOwningThread(); - - mCancelPromiseHolder.RejectIfExists(NS_ERROR_FAILURE, __func__); -} - mozilla::ipc::IPCResult QuotaUsageRequestParent::RecvCancel() { AssertIsOnOwningThread(); @@ -40,4 +34,10 @@ mozilla::ipc::IPCResult QuotaUsageRequestParent::RecvCancel() { return IPC_OK(); } +void QuotaUsageRequestParent::ActorDestroy(ActorDestroyReason aWhy) { + AssertIsOnOwningThread(); + + mCancelPromiseHolder.RejectIfExists(NS_ERROR_FAILURE, __func__); +} + } // namespace mozilla::dom::quota diff --git a/dom/quota/QuotaUsageRequestParent.h b/dom/quota/QuotaUsageRequestParent.h index 8498e79a311e..64c5b50a0867 100644 --- a/dom/quota/QuotaUsageRequestParent.h +++ b/dom/quota/QuotaUsageRequestParent.h @@ -24,14 +24,14 @@ class QuotaUsageRequestParent : public BackgroundThreadObject, void Destroy(); + // IPDL methods. + mozilla::ipc::IPCResult RecvCancel(); + private: virtual ~QuotaUsageRequestParent(); - // IPDL methods. void ActorDestroy(ActorDestroyReason aWhy) override; - mozilla::ipc::IPCResult RecvCancel() final; - MozPromiseHolder mCancelPromiseHolder; }; diff --git a/dom/quota/moz.build b/dom/quota/moz.build index 15bc2e40f497..874c95da55a4 100644 --- a/dom/quota/moz.build +++ b/dom/quota/moz.build @@ -72,6 +72,8 @@ EXPORTS.mozilla.dom.quota += [ "QuotaManagerService.h", "QuotaObject.h", "QuotaParent.h", + "QuotaUsageRequestChild.h", + "QuotaUsageRequestParent.h", "RemoteQuotaObjectChild.h", "RemoteQuotaObjectParent.h", "RemoteQuotaObjectParentTracker.h",