Backed out changeset e3df33f21fab (bug 1342831) for test leak
authorIris Hsiao <ihsiao@mozilla.com>
Mon, 27 Feb 2017 17:13:25 +0800
changeset 374025 43f52c13c08d29cc2b13c3e650d4412017dc74bd
parent 374024 cbf582404538b9aef87beef0fa4cbed4928388ff
child 374031 ecf39ae188da37206b39a31e585fdcb028bd8b7b
child 374035 596b62a60edf2acf7c2f8d1e294d13fb4ca1a75f
push id10863
push userjlorenzo@mozilla.com
push dateMon, 06 Mar 2017 23:02:23 +0000
treeherdermozilla-aurora@0931190cd725 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1342831
milestone54.0a1
backs oute3df33f21fab407a457876519d4a6e06d51346a5
Backed out changeset e3df33f21fab (bug 1342831) for test leak
xpcom/threads/MozPromise.h
--- a/xpcom/threads/MozPromise.h
+++ b/xpcom/threads/MozPromise.h
@@ -288,16 +288,17 @@ public:
     }
     return holder->Promise();
   }
 
   class Request : public MozPromiseRefcountable
   {
   public:
     virtual void Disconnect() = 0;
+    virtual void AssertIsDead() = 0;
 
   protected:
     Request() : mComplete(false), mDisconnected(false) {}
     virtual ~Request() {}
 
     bool mComplete;
     bool mDisconnected;
   };
@@ -356,17 +357,17 @@ protected:
 #ifdef PROMISE_DEBUG
     ~ThenValueBase()
     {
       mMagic1 = 0;
       mMagic2 = 0;
     }
 #endif
 
-    void AssertIsDead()
+    void AssertIsDead() override
     {
       PROMISE_ASSERT(mMagic1 == sMagic && mMagic2 == sMagic);
       // We want to assert that this ThenValues is dead - that is to say, that
       // there are no consumers waiting for the result. In the case of a normal
       // ThenValue, we check that it has been disconnected, which is the way
       // that the consumer signals that it no longer wishes to hear about the
       // result. If this ThenValue has a completion promise (which is mutually
       // exclusive with being disconnectable), we recursively assert that every