summaryrefslogtreecommitdiff
path: root/xpcom/base
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-12-19 01:35:24 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-12-19 01:35:24 +0100
commitfb96b43b5f6188233710c5f8c9c9e46baa9cb369 (patch)
tree54124a46275f833ecd9f6e63246e092a93843fb0 /xpcom/base
parent8220776c9b2e8291f0414f98ac20fbda30e00d2e (diff)
downloaduxp-fb96b43b5f6188233710c5f8c9c9e46baa9cb369.tar.gz
Issue #1322 - Part 1: Remove the DOM Promise guts.
This removes all the parts guarded by SPIDERMONKEY_PROMISE
Diffstat (limited to 'xpcom/base')
-rw-r--r--xpcom/base/CycleCollectedJSContext.cpp6
-rw-r--r--xpcom/base/CycleCollectedJSContext.h12
2 files changed, 2 insertions, 16 deletions
diff --git a/xpcom/base/CycleCollectedJSContext.cpp b/xpcom/base/CycleCollectedJSContext.cpp
index 2069846562..e16c154554 100644
--- a/xpcom/base/CycleCollectedJSContext.cpp
+++ b/xpcom/base/CycleCollectedJSContext.cpp
@@ -468,10 +468,8 @@ CycleCollectedJSContext::~CycleCollectedJSContext()
MOZ_ASSERT(mDebuggerPromiseMicroTaskQueue.empty());
MOZ_ASSERT(mPromiseMicroTaskQueue.empty());
-#ifdef SPIDERMONKEY_PROMISE
mUncaughtRejections.reset();
mConsumedRejections.reset();
-#endif // SPIDERMONKEY_PROMISE
JS_DestroyContext(mJSContext);
mJSContext = nullptr;
@@ -544,12 +542,10 @@ CycleCollectedJSContext::Initialize(JSContext* aParentContext,
JS::SetGetIncumbentGlobalCallback(mJSContext, GetIncumbentGlobalCallback);
-#ifdef SPIDERMONKEY_PROMISE
JS::SetEnqueuePromiseJobCallback(mJSContext, EnqueuePromiseJobCallback, this);
JS::SetPromiseRejectionTrackerCallback(mJSContext, PromiseRejectionTrackerCallback, this);
mUncaughtRejections.init(mJSContext, JS::GCVector<JSObject*, 0, js::SystemAllocPolicy>(js::SystemAllocPolicy()));
mConsumedRejections.init(mJSContext, JS::GCVector<JSObject*, 0, js::SystemAllocPolicy>(js::SystemAllocPolicy()));
-#endif // SPIDERMONKEY_PROMISE
JS::dbg::SetDebuggerMallocSizeOf(mJSContext, moz_malloc_size_of);
@@ -975,7 +971,6 @@ CycleCollectedJSContext::EnqueuePromiseJobCallback(JSContext* aCx,
return true;
}
-#ifdef SPIDERMONKEY_PROMISE
/* static */
void
CycleCollectedJSContext::PromiseRejectionTrackerCallback(JSContext* aCx,
@@ -995,7 +990,6 @@ CycleCollectedJSContext::PromiseRejectionTrackerCallback(JSContext* aCx,
PromiseDebugging::AddConsumedRejection(aPromise);
}
}
-#endif // SPIDERMONKEY_PROMISE
struct JsGcTracer : public TraceCallbacks
{
diff --git a/xpcom/base/CycleCollectedJSContext.h b/xpcom/base/CycleCollectedJSContext.h
index 9415634b89..ac4cf43617 100644
--- a/xpcom/base/CycleCollectedJSContext.h
+++ b/xpcom/base/CycleCollectedJSContext.h
@@ -224,12 +224,10 @@ private:
JS::HandleObject aAllocationSite,
JS::HandleObject aIncumbentGlobal,
void* aData);
-#ifdef SPIDERMONKEY_PROMISE
static void PromiseRejectionTrackerCallback(JSContext* aCx,
JS::HandleObject aPromise,
PromiseRejectionHandlingState state,
void* aData);
-#endif // SPIDERMONKEY_PROMISE
virtual void TraceNativeBlackRoots(JSTracer* aTracer) { };
void TraceNativeGrayRoots(JSTracer* aTracer);
@@ -406,7 +404,7 @@ public:
// Storage for watching rejected promises waiting for some client to
// consume their rejection.
-#ifdef SPIDERMONKEY_PROMISE
+
// Promises in this list have been rejected in the last turn of the
// event loop without the rejection being handled.
// Note that this can contain nullptrs in place of promises removed because
@@ -417,13 +415,7 @@ public:
// (because they were in the above list), but the rejection was handled
// in the last turn of the event loop.
JS::PersistentRooted<JS::GCVector<JSObject*, 0, js::SystemAllocPolicy>> mConsumedRejections;
-#else
- // We store values as `nsISupports` to avoid adding compile-time dependencies
- // from xpcom to dom/promise, but they can really only have a single concrete
- // type.
- nsTArray<nsCOMPtr<nsISupports /* Promise */>> mUncaughtRejections;
- nsTArray<nsCOMPtr<nsISupports /* Promise */ >> mConsumedRejections;
-#endif // SPIDERMONKEY_PROMISE
+
nsTArray<nsCOMPtr<nsISupports /* UncaughtRejectionObserver */ >> mUncaughtRejectionObservers;
private: