void DOMRequest::FireSuccess(JS::Handle<JS::Value> aResult) { NS_ASSERTION(!mDone, "mDone shouldn't have been set to true already!"); NS_ASSERTION(!mError, "mError shouldn't have been set!"); NS_ASSERTION(mResult.isUndefined(), "mResult shouldn't have been set!"); mDone = true; if (aResult.isGCThing()) { RootResultVal(); } mResult = aResult; FireEvent(NS_LITERAL_STRING("success"), false, false); if (mPromise) { mPromise->MaybeResolve(mResult); } }