Bug 1339677. Part 1 - assert DoResolveOrReject() is called on the target thread and use stronger assertions. r=gerald

MozReview-Commit-ID: I1wdNfjehTN

--HG--
extra : rebase_source : e1e3d336b3df10bd3257983a3d34275df0fe8048
extra : intermediate-source : fc357179510cd164c66a391ca67d6b32af85566c
extra : source : bcb07a4f12acb396406fec2d368507a45312ecfa
This commit is contained in:
JW Wang 2017-01-24 16:13:23 +08:00
parent 1fc229cce0
commit 51d90c702d

View File

@ -379,7 +379,7 @@ protected:
void Disconnect() override
{
MOZ_ASSERT(ThenValueBase::mResponseTarget->IsCurrentThreadIn());
MOZ_DIAGNOSTIC_ASSERT(ThenValueBase::mResponseTarget->IsCurrentThreadIn());
MOZ_DIAGNOSTIC_ASSERT(!Request::mComplete);
Request::mDisconnected = true;
@ -395,6 +395,7 @@ protected:
void DoResolveOrReject(const ResolveOrRejectValue& aValue)
{
MOZ_DIAGNOSTIC_ASSERT(mResponseTarget->IsCurrentThreadIn());
Request::mComplete = true;
if (Request::mDisconnected) {
PROMISE_LOG("ThenValue::DoResolveOrReject disconnected - bailing out [this=%p]", this);