diff --git a/dom/workers/RuntimeService.cpp b/dom/workers/RuntimeService.cpp index 9673a25d865ee..6977f70436b03 100644 --- a/dom/workers/RuntimeService.cpp +++ b/dom/workers/RuntimeService.cpp @@ -1192,7 +1192,8 @@ class WorkerThreadPrimaryRunnable final : public Runnable public: explicit FinishedRunnable(already_AddRefed aThread) - : mThread(aThread) + : Runnable("WorkerThreadPrimaryRunnable::FinishedRunnable") + , mThread(aThread) { MOZ_ASSERT(mThread); } diff --git a/ipc/glue/BackgroundImpl.cpp b/ipc/glue/BackgroundImpl.cpp index 86b619f8f2f06..c943c9581bb4e 100644 --- a/ipc/glue/BackgroundImpl.cpp +++ b/ipc/glue/BackgroundImpl.cpp @@ -750,7 +750,8 @@ class ChildImpl::OpenMainProcessActorRunnable final : public Runnable OpenMainProcessActorRunnable(already_AddRefed&& aChildActor, already_AddRefed aParentActor, MessageLoop* aParentMessageLoop) - : mActor(aChildActor), mParentActor(aParentActor), + : Runnable("ChildImpl::OpenMainProcessActorRunnable"), + mActor(aChildActor), mParentActor(aParentActor), mParentMessageLoop(aParentMessageLoop) { AssertIsOnMainThread(); diff --git a/ipc/glue/MessageChannel.cpp b/ipc/glue/MessageChannel.cpp index d7de59ed667da..8d5d32ecbb75e 100644 --- a/ipc/glue/MessageChannel.cpp +++ b/ipc/glue/MessageChannel.cpp @@ -1591,6 +1591,14 @@ MessageChannel::RunMessage(MessageTask& aTask) NS_IMPL_ISUPPORTS_INHERITED(MessageChannel::MessageTask, CancelableRunnable, nsIRunnablePriority) +MessageChannel::MessageTask::MessageTask(MessageChannel* aChannel, Message&& aMessage) + : CancelableRunnable(StringFromIPCMessageType(aMessage.type())) + , mChannel(aChannel) + , mMessage(Move(aMessage)) + , mScheduled(false) +{ +} + nsresult MessageChannel::MessageTask::Run() { diff --git a/ipc/glue/MessageChannel.h b/ipc/glue/MessageChannel.h index 37d352a495b3f..51b5d24155071 100644 --- a/ipc/glue/MessageChannel.h +++ b/ipc/glue/MessageChannel.h @@ -455,9 +455,7 @@ class MessageChannel : HasResultCodes public nsIRunnablePriority { public: - explicit MessageTask(MessageChannel* aChannel, Message&& aMessage) - : mChannel(aChannel), mMessage(Move(aMessage)), mScheduled(false) - {} + explicit MessageTask(MessageChannel* aChannel, Message&& aMessage); NS_DECL_ISUPPORTS_INHERITED diff --git a/netwerk/base/nsTransportUtils.cpp b/netwerk/base/nsTransportUtils.cpp index e29bbfdab5408..0f096a661755b 100644 --- a/netwerk/base/nsTransportUtils.cpp +++ b/netwerk/base/nsTransportUtils.cpp @@ -55,7 +55,8 @@ class nsTransportStatusEvent : public Runnable nsresult status, int64_t progress, int64_t progressMax) - : mProxy(proxy) + : Runnable("nsTransportStatusEvent") + , mProxy(proxy) , mTransport(transport) , mStatus(status) , mProgress(progress) diff --git a/netwerk/cache2/CacheEntry.h b/netwerk/cache2/CacheEntry.h index 7331be2a4f55e..2cdcdeeb9f7c2 100644 --- a/netwerk/cache2/CacheEntry.h +++ b/netwerk/cache2/CacheEntry.h @@ -186,7 +186,8 @@ class CacheEntry final : public nsICacheEntry public: AvailableCallbackRunnable(CacheEntry* aEntry, Callback const &aCallback) - : mEntry(aEntry) + : Runnable("CacheEntry::AvailableCallbackRunnable") + , mEntry(aEntry) , mCallback(aCallback) {} diff --git a/netwerk/dns/DNSListenerProxy.h b/netwerk/dns/DNSListenerProxy.h index 307dde0f71637..1d832fae4aeff 100644 --- a/netwerk/dns/DNSListenerProxy.h +++ b/netwerk/dns/DNSListenerProxy.h @@ -43,7 +43,8 @@ class DNSListenerProxy final nsICancelable* aRequest, nsIDNSRecord* aRecord, nsresult aStatus) - : mListener(aListener) + : Runnable("DNSListenerProxy::OnLookupCompleteRunnable") + , mListener(aListener) , mRequest(aRequest) , mRecord(aRecord) , mStatus(aStatus) diff --git a/parser/html/nsHtml5SVGLoadDispatcher.cpp b/parser/html/nsHtml5SVGLoadDispatcher.cpp index b5c22d8830e61..fed8ca3e2ab74 100644 --- a/parser/html/nsHtml5SVGLoadDispatcher.cpp +++ b/parser/html/nsHtml5SVGLoadDispatcher.cpp @@ -12,7 +12,8 @@ using namespace mozilla; nsHtml5SVGLoadDispatcher::nsHtml5SVGLoadDispatcher(nsIContent* aElement) - : mElement(aElement) + : Runnable("nsHtml5SVGLoadDispatcher") + , mElement(aElement) , mDocument(mElement->OwnerDoc()) { mDocument->BlockOnload(); diff --git a/storage/mozStorageAsyncStatementExecution.cpp b/storage/mozStorageAsyncStatementExecution.cpp index add32131a3086..1e09e75ce2bab 100644 --- a/storage/mozStorageAsyncStatementExecution.cpp +++ b/storage/mozStorageAsyncStatementExecution.cpp @@ -56,7 +56,8 @@ class CallbackResultNotifier : public Runnable CallbackResultNotifier(mozIStorageStatementCallback *aCallback, mozIStorageResultSet *aResults, AsyncExecuteStatements *aEventStatus) : - mCallback(aCallback) + Runnable("storage::CallbackResultNotifier") + , mCallback(aCallback) , mResults(aResults) , mEventStatus(aEventStatus) { @@ -93,7 +94,8 @@ class ErrorNotifier : public Runnable ErrorNotifier(mozIStorageStatementCallback *aCallback, mozIStorageError *aErrorObj, AsyncExecuteStatements *aEventStatus) : - mCallback(aCallback) + Runnable("storage::ErrorNotifier") + , mCallback(aCallback) , mErrorObj(aErrorObj) , mEventStatus(aEventStatus) { @@ -133,7 +135,8 @@ class CompletionNotifier : public Runnable */ CompletionNotifier(mozIStorageStatementCallback *aCallback, ExecutionState aReason) - : mCallback(aCallback) + : Runnable("storage::CompletionNotifier") + , mCallback(aCallback) , mReason(aReason) { } diff --git a/storage/mozStorageConnection.cpp b/storage/mozStorageConnection.cpp index 6129ac4442a17..8194f5725c098 100644 --- a/storage/mozStorageConnection.cpp +++ b/storage/mozStorageConnection.cpp @@ -446,7 +446,8 @@ class AsyncInitializeClone final: public Runnable Connection* aClone, const bool aReadOnly, mozIStorageCompletionCallback* aCallback) - : mConnection(aConnection) + : Runnable("storage::AsyncInitializeClone") + , mConnection(aConnection) , mClone(aClone) , mReadOnly(aReadOnly) , mCallback(aCallback) diff --git a/storage/mozStorageConnection.h b/storage/mozStorageConnection.h index 979ac6436e8de..7b96c411687f0 100644 --- a/storage/mozStorageConnection.h +++ b/storage/mozStorageConnection.h @@ -398,7 +398,8 @@ class CallbackComplete final : public Runnable CallbackComplete(nsresult aStatus, nsISupports* aValue, already_AddRefed aCallback) - : mStatus(aStatus) + : Runnable("storage::CallbackComplete") + , mStatus(aStatus) , mValue(aValue) , mCallback(aCallback) { diff --git a/widget/nsBaseAppShell.cpp b/widget/nsBaseAppShell.cpp index 1557498b71db1..0fc059ac6d4b3 100644 --- a/widget/nsBaseAppShell.cpp +++ b/widget/nsBaseAppShell.cpp @@ -308,7 +308,7 @@ nsBaseAppShell::DispatchDummyEvent(nsIThread* aTarget) NS_ASSERTION(NS_IsMainThread(), "Wrong thread!"); if (!mDummyEvent) - mDummyEvent = new mozilla::Runnable(); + mDummyEvent = new mozilla::Runnable("DummyEvent"); return NS_SUCCEEDED(aTarget->Dispatch(mDummyEvent, NS_DISPATCH_NORMAL)); } diff --git a/xpcom/io/nsStreamUtils.cpp b/xpcom/io/nsStreamUtils.cpp index 891dad59fbe94..6e2212d8e8787 100644 --- a/xpcom/io/nsStreamUtils.cpp +++ b/xpcom/io/nsStreamUtils.cpp @@ -38,7 +38,8 @@ class nsInputStreamReadyEvent final nsInputStreamReadyEvent(nsIInputStreamCallback* aCallback, nsIEventTarget* aTarget) - : mCallback(aCallback) + : CancelableRunnable("nsInputStreamReadyEvent") + , mCallback(aCallback) , mTarget(aTarget) { } @@ -128,7 +129,8 @@ class nsOutputStreamReadyEvent final nsOutputStreamReadyEvent(nsIOutputStreamCallback* aCallback, nsIEventTarget* aTarget) - : mCallback(aCallback) + : CancelableRunnable("nsOutputStreamReadyEvent") + , mCallback(aCallback) , mTarget(aTarget) { } @@ -241,7 +243,8 @@ class nsAStreamCopier NS_DECL_ISUPPORTS_INHERITED nsAStreamCopier() - : mLock("nsAStreamCopier.mLock") + : CancelableRunnable("nsAStreamCopier") + , mLock("nsAStreamCopier.mLock") , mCallback(nullptr) , mProgressCallback(nullptr) , mClosure(nullptr) diff --git a/xpcom/threads/nsProxyRelease.h b/xpcom/threads/nsProxyRelease.h index d99f970b9f770..55d64db3e06f5 100644 --- a/xpcom/threads/nsProxyRelease.h +++ b/xpcom/threads/nsProxyRelease.h @@ -29,7 +29,7 @@ class ProxyReleaseEvent : public mozilla::Runnable { public: explicit ProxyReleaseEvent(already_AddRefed aDoomed) - : mDoomed(aDoomed.take()) {} + : Runnable("ProxyReleaseEvent"), mDoomed(aDoomed.take()) {} NS_IMETHOD Run() override { diff --git a/xpcom/threads/nsThread.cpp b/xpcom/threads/nsThread.cpp index 119e0c7884715..6e4b5bba6ed43 100644 --- a/xpcom/threads/nsThread.cpp +++ b/xpcom/threads/nsThread.cpp @@ -195,7 +195,8 @@ class nsThreadStartupEvent : public Runnable { public: nsThreadStartupEvent() - : mMon("nsThreadStartupEvent.mMon") + : Runnable("nsThreadStartupEvent") + , mMon("nsThreadStartupEvent.mMon") , mInitialized(false) { } @@ -334,7 +335,8 @@ class nsThreadShutdownAckEvent : public CancelableRunnable { public: explicit nsThreadShutdownAckEvent(NotNull aCtx) - : mShutdownContext(aCtx) + : CancelableRunnable("nsThreadShutdownAckEvent") + , mShutdownContext(aCtx) { } NS_IMETHOD Run() override @@ -358,7 +360,8 @@ class nsThreadShutdownEvent : public Runnable public: nsThreadShutdownEvent(NotNull aThr, NotNull aCtx) - : mThread(aThr) + : Runnable("nsThreadShutdownEvent") + , mThread(aThr) , mShutdownContext(aCtx) { } diff --git a/xpcom/threads/nsThreadUtils.cpp b/xpcom/threads/nsThreadUtils.cpp index d2f5c88bcb6f6..e885eb6b91685 100644 --- a/xpcom/threads/nsThreadUtils.cpp +++ b/xpcom/threads/nsThreadUtils.cpp @@ -57,7 +57,11 @@ Runnable::GetName(nsACString& aName) #ifdef RELEASE_OR_BETA aName.Truncate(); #else - aName.AssignASCII(mName); + if (mName) { + aName.AssignASCII(mName); + } else { + aName.Truncate(); + } #endif return NS_OK; } diff --git a/xpcom/threads/nsThreadUtils.h b/xpcom/threads/nsThreadUtils.h index c4093e145879e..0b603019226d0 100644 --- a/xpcom/threads/nsThreadUtils.h +++ b/xpcom/threads/nsThreadUtils.h @@ -237,6 +237,12 @@ class Runnable : public nsIRunnable, public nsINamed Runnable() {} +#ifdef RELEASE_OR_BETA + explicit Runnable(const char* aName) {} +#else + explicit Runnable(const char* aName) : mName(aName) {} +#endif + protected: virtual ~Runnable() {} private: @@ -259,6 +265,7 @@ class CancelableRunnable : public Runnable, virtual nsresult Cancel() override; CancelableRunnable() {} + explicit CancelableRunnable(const char* aName) : Runnable(aName) {} protected: virtual ~CancelableRunnable() {}