NS_IMETHOD Run() override { uint64_t imgSize; void* imgData = nullptr; nsresult rv = ProcessImageData(&imgSize, &imgData); if (NS_FAILED(rv)) { mEncodingCompleteEvent->SetFailed(); } else { mEncodingCompleteEvent->SetMembers(imgData, imgSize, mType); } rv = NS_DispatchToMainThread(mEncodingCompleteEvent); if (NS_FAILED(rv)) { // Better to leak than to crash. mEncodingCompleteEvent.forget(); return rv; } return rv; }
NS_IMETHOD Run() override { uint64_t imgSize; void* imgData = nullptr; nsresult rv = ProcessImageData(&imgSize, &imgData); if (NS_FAILED(rv)) { mEncodingCompleteEvent->SetFailed(); } else { mEncodingCompleteEvent->SetMembers(imgData, imgSize, mType); } rv = mEncodingCompleteEvent->GetCreationThread()-> Dispatch(mEncodingCompleteEvent, nsIThread::DISPATCH_NORMAL); if (NS_FAILED(rv)) { // Better to leak than to crash. Unused << mEncodingCompleteEvent.forget(); return rv; } return rv; }