diff --git a/dom/promise/PromiseNativeHandler.cpp b/dom/promise/PromiseNativeHandler.cpp index 5b4b74d41e76..7f29581b0672 100644 --- a/dom/promise/PromiseNativeHandler.cpp +++ b/dom/promise/PromiseNativeHandler.cpp @@ -15,51 +15,4 @@ namespace mozilla::dom { NS_IMPL_ISUPPORTS0(MozPromiseRejectOnDestructionBase) -NS_IMPL_ISUPPORTS0(DomPromiseListener) - -DomPromiseListener::DomPromiseListener(CallbackTypeResolved&& aResolve, - CallbackTypeRejected&& aReject) - : mResolve(std::move(aResolve)), mReject(std::move(aReject)) {} - -DomPromiseListener::~DomPromiseListener() { - if (mReject) { - mReject(NS_BINDING_ABORTED); - } -} - -void DomPromiseListener::ResolvedCallback(JSContext* aCx, - JS::Handle aValue, - ErrorResult& aRv) { - if (mResolve) { - mResolve(aCx, aValue); - } - // Let's clear the lambdas in case we have a cycle to ourselves. - Clear(); -} - -void DomPromiseListener::RejectedCallback(JSContext* aCx, - JS::Handle aValue, - ErrorResult& aRv) { - if (mReject) { - nsresult errorCode = NS_ERROR_DOM_NOT_NUMBER_ERR; - if (aValue.isInt32()) { - errorCode = nsresult(aValue.toInt32()); - } else if (aValue.isObject()) { - RefPtr<::mozilla::dom::DOMException> domException; - UNWRAP_OBJECT(DOMException, aValue, domException); - if (domException) { - errorCode = domException->GetResult(); - } - } - mReject(errorCode); - } - // Let's clear the lambdas in case we have a cycle to ourselves. - Clear(); -} - -void DomPromiseListener::Clear() { - mResolve = nullptr; - mReject = nullptr; -} - } // namespace mozilla::dom diff --git a/dom/promise/PromiseNativeHandler.h b/dom/promise/PromiseNativeHandler.h index 9204488e6fbf..f311f2d29e00 100644 --- a/dom/promise/PromiseNativeHandler.h +++ b/dom/promise/PromiseNativeHandler.h @@ -73,32 +73,6 @@ class MozPromiseRejectOnDestruction final const char* mCallSite; }; -// This class is used to set C++ callbacks once a dom Promise a resolved or -// rejected. -class DomPromiseListener final : public PromiseNativeHandler { - NS_DECL_ISUPPORTS - - public: - using CallbackTypeResolved = - std::function)>; - using CallbackTypeRejected = std::function; - - DomPromiseListener(CallbackTypeResolved&& aResolve, - CallbackTypeRejected&& aReject); - - void Clear(); - - void ResolvedCallback(JSContext* aCx, JS::Handle aValue, - ErrorResult& aRv) override; - void RejectedCallback(JSContext* aCx, JS::Handle aValue, - ErrorResult& aRv) override; - - private: - ~DomPromiseListener(); - CallbackTypeResolved mResolve; - CallbackTypeRejected mReject; -}; - } // namespace mozilla::dom #endif // mozilla_dom_PromiseNativeHandler_h