Bug 1365101 - Convert NS_GetCurrentThread uses in netwerk/ (r=meyhemer)

MozReview-Commit-ID: IHBt6XAG8em
This commit is contained in:
Bill McCloskey
2017-06-01 13:43:44 -07:00
parent 0fd724b379
commit 5aec5bf1e9
42 changed files with 160 additions and 173 deletions

View File

@@ -89,7 +89,7 @@ uint32_t BackgroundFileSaver::sThreadCount = 0;
uint32_t BackgroundFileSaver::sTelemetryMaxThreadCount = 0;
BackgroundFileSaver::BackgroundFileSaver()
: mControlThread(nullptr)
: mControlEventTarget(nullptr)
, mWorkerThread(nullptr)
, mPipeOutputStream(nullptr)
, mPipeInputStream(nullptr)
@@ -150,8 +150,8 @@ BackgroundFileSaver::Init()
HasInfiniteBuffer() ? UINT32_MAX : 0);
NS_ENSURE_SUCCESS(rv, rv);
rv = NS_GetCurrentThread(getter_AddRefs(mControlThread));
NS_ENSURE_SUCCESS(rv, rv);
mControlEventTarget = GetCurrentThreadEventTarget();
NS_ENSURE_TRUE(mControlEventTarget, NS_ERROR_NOT_INITIALIZED);
rv = NS_NewNamedThread("BgFileSaver", getter_AddRefs(mWorkerThread));
NS_ENSURE_SUCCESS(rv, rv);
@@ -523,7 +523,7 @@ BackgroundFileSaver::ProcessStateChange()
new NotifyTargetChangeRunnable(this, actualTargetToNotify);
NS_ENSURE_TRUE(event, NS_ERROR_FAILURE);
rv = mControlThread->Dispatch(event, NS_DISPATCH_NORMAL);
rv = mControlEventTarget->Dispatch(event, NS_DISPATCH_NORMAL);
NS_ENSURE_SUCCESS(rv, rv);
}
@@ -747,7 +747,7 @@ BackgroundFileSaver::CheckCompletion()
}
// Post an event to notify that the operation completed.
if (NS_FAILED(mControlThread->Dispatch(NewRunnableMethod(this,
if (NS_FAILED(mControlEventTarget->Dispatch(NewRunnableMethod(this,
&BackgroundFileSaver::NotifySaveComplete),
NS_DISPATCH_NORMAL))) {
NS_WARNING("Unable to post completion event to the control thread.");
@@ -1153,7 +1153,7 @@ BackgroundFileSaverStreamListener::AsyncCopyProgressCallback(void *aClosure,
self->mReceivedTooMuchData = false;
// Post an event to verify if the request should be resumed.
if (NS_FAILED(self->mControlThread->Dispatch(NewRunnableMethod(self,
if (NS_FAILED(self->mControlEventTarget->Dispatch(NewRunnableMethod(self,
&BackgroundFileSaverStreamListener::NotifySuspendOrResume),
NS_DISPATCH_NORMAL))) {
NS_WARNING("Unable to post resume event to the control thread.");

View File

@@ -82,7 +82,7 @@ protected:
/**
* Thread that constructed this object.
*/
nsCOMPtr<nsIThread> mControlThread;
nsCOMPtr<nsIEventTarget> mControlEventTarget;
/**
* Thread to which the actual input/output is delegated.

View File

@@ -38,14 +38,14 @@ public:
{
mTotalSent = 0;
mTotalRecv = 0;
mThread = nullptr;
mEventTarget = nullptr;
}
uint64_t mTotalSent;
uint64_t mTotalRecv;
nsTArray<SocketInfo> mData;
nsMainThreadPtrHandle<NetDashboardCallback> mCallback;
nsIThread *mThread;
nsIEventTarget *mEventTarget;
private:
virtual ~SocketData()
@@ -70,12 +70,12 @@ public:
HttpData()
{
mThread = nullptr;
mEventTarget = nullptr;
}
nsTArray<HttpRetParams> mData;
nsMainThreadPtrHandle<NetDashboardCallback> mCallback;
nsIThread *mThread;
nsIEventTarget *mEventTarget;
};
NS_IMPL_ISUPPORTS0(HttpData)
@@ -93,11 +93,11 @@ public:
WebSocketRequest()
{
mThread = nullptr;
mEventTarget = nullptr;
}
nsMainThreadPtrHandle<NetDashboardCallback> mCallback;
nsIThread *mThread;
nsIEventTarget *mEventTarget;
};
NS_IMPL_ISUPPORTS0(WebSocketRequest)
@@ -115,12 +115,12 @@ public:
DnsData()
{
mThread = nullptr;
mEventTarget = nullptr;
}
nsTArray<DNSCacheEntries> mData;
nsMainThreadPtrHandle<NetDashboardCallback> mCallback;
nsIThread *mThread;
nsIEventTarget *mEventTarget;
};
NS_IMPL_ISUPPORTS0(DnsData)
@@ -147,7 +147,7 @@ public:
explicit ConnectionData(Dashboard *target)
{
mThread = nullptr;
mEventTarget = nullptr;
mDashboard = target;
}
@@ -155,7 +155,7 @@ public:
nsCOMPtr<nsIInputStream> mStreamIn;
nsCOMPtr<nsITimer> mTimer;
nsMainThreadPtrHandle<NetDashboardCallback> mCallback;
nsIThread *mThread;
nsIEventTarget *mEventTarget;
Dashboard *mDashboard;
nsCString mHost;
@@ -181,11 +181,11 @@ public:
RcwnData()
{
mThread = nullptr;
mEventTarget = nullptr;
}
nsMainThreadPtrHandle<NetDashboardCallback> mCallback;
nsIThread *mThread;
nsIEventTarget *mEventTarget;
};
NS_IMPL_ISUPPORTS0(RcwnData)
@@ -199,7 +199,7 @@ ConnectionData::OnTransportStatus(nsITransport *aTransport, nsresult aStatus,
}
GetErrorString(aStatus, mStatus);
mThread->Dispatch(NewRunnableMethod<RefPtr<ConnectionData>>
mEventTarget->Dispatch(NewRunnableMethod<RefPtr<ConnectionData>>
(mDashboard, &Dashboard::GetConnectionStatus, this),
NS_DISPATCH_NORMAL);
@@ -220,7 +220,7 @@ ConnectionData::Notify(nsITimer *aTimer)
mTimer = nullptr;
mStatus.AssignLiteral(u"NS_ERROR_NET_TIMEOUT");
mThread->Dispatch(NewRunnableMethod<RefPtr<ConnectionData>>
mEventTarget->Dispatch(NewRunnableMethod<RefPtr<ConnectionData>>
(mDashboard, &Dashboard::GetConnectionStatus, this),
NS_DISPATCH_NORMAL);
@@ -294,7 +294,7 @@ public:
public:
nsCOMPtr<nsICancelable> mCancel;
nsMainThreadPtrHandle<NetDashboardCallback> mCallback;
nsIThread *mThread;
nsIEventTarget *mEventTarget;
nsresult mStatus;
};
@@ -309,7 +309,7 @@ LookupHelper::OnLookupComplete(nsICancelable *aRequest,
mStatus = aStatus;
RefPtr<LookupArgument> arg = new LookupArgument(aRecord, this);
mThread->Dispatch(NewRunnableMethod<RefPtr<LookupArgument>>
mEventTarget->Dispatch(NewRunnableMethod<RefPtr<LookupArgument>>
(this, &LookupHelper::ConstructAnswer, arg),
NS_DISPATCH_NORMAL);
@@ -374,7 +374,7 @@ Dashboard::RequestSockets(NetDashboardCallback *aCallback)
RefPtr<SocketData> socketData = new SocketData();
socketData->mCallback =
new nsMainThreadPtrHolder<NetDashboardCallback>(aCallback, true);
socketData->mThread = NS_GetCurrentThread();
socketData->mEventTarget = GetCurrentThreadEventTarget();
gSocketTransportService->Dispatch(NewRunnableMethod<RefPtr<SocketData>>
(this, &Dashboard::GetSocketsDispatch, socketData),
NS_DISPATCH_NORMAL);
@@ -390,7 +390,7 @@ Dashboard::GetSocketsDispatch(SocketData *aSocketData)
socketData->mTotalSent = gSocketTransportService->GetSentBytes();
socketData->mTotalRecv = gSocketTransportService->GetReceivedBytes();
}
socketData->mThread->Dispatch(NewRunnableMethod<RefPtr<SocketData>>
socketData->mEventTarget->Dispatch(NewRunnableMethod<RefPtr<SocketData>>
(this, &Dashboard::GetSockets, socketData),
NS_DISPATCH_NORMAL);
return NS_OK;
@@ -443,7 +443,7 @@ Dashboard::RequestHttpConnections(NetDashboardCallback *aCallback)
RefPtr<HttpData> httpData = new HttpData();
httpData->mCallback =
new nsMainThreadPtrHolder<NetDashboardCallback>(aCallback, true);
httpData->mThread = NS_GetCurrentThread();
httpData->mEventTarget = GetCurrentThreadEventTarget();
gSocketTransportService->Dispatch(NewRunnableMethod<RefPtr<HttpData>>
(this, &Dashboard::GetHttpDispatch, httpData),
@@ -456,7 +456,7 @@ Dashboard::GetHttpDispatch(HttpData *aHttpData)
{
RefPtr<HttpData> httpData = aHttpData;
HttpInfo::GetHttpConnectionData(&httpData->mData);
httpData->mThread->Dispatch(NewRunnableMethod<RefPtr<HttpData>>
httpData->mEventTarget->Dispatch(NewRunnableMethod<RefPtr<HttpData>>
(this, &Dashboard::GetHttpConnections, httpData),
NS_DISPATCH_NORMAL);
return NS_OK;
@@ -619,9 +619,9 @@ Dashboard::RequestWebsocketConnections(NetDashboardCallback *aCallback)
RefPtr<WebSocketRequest> wsRequest = new WebSocketRequest();
wsRequest->mCallback =
new nsMainThreadPtrHolder<NetDashboardCallback>(aCallback, true);
wsRequest->mThread = NS_GetCurrentThread();
wsRequest->mEventTarget = GetCurrentThreadEventTarget();
wsRequest->mThread->Dispatch(NewRunnableMethod<RefPtr<WebSocketRequest>>
wsRequest->mEventTarget->Dispatch(NewRunnableMethod<RefPtr<WebSocketRequest>>
(this, &Dashboard::GetWebSocketConnections, wsRequest),
NS_DISPATCH_NORMAL);
return NS_OK;
@@ -673,7 +673,7 @@ Dashboard::RequestDNSInfo(NetDashboardCallback *aCallback)
nsresult rv;
dnsData->mData.Clear();
dnsData->mThread = NS_GetCurrentThread();
dnsData->mEventTarget = GetCurrentThreadEventTarget();
if (!mDnsService) {
mDnsService = do_GetService("@mozilla.org/network/dns-service;1", &rv);
@@ -695,7 +695,7 @@ Dashboard::GetDnsInfoDispatch(DnsData *aDnsData)
if (mDnsService) {
mDnsService->GetDNSCacheEntries(&dnsData->mData);
}
dnsData->mThread->Dispatch(NewRunnableMethod<RefPtr<DnsData>>
dnsData->mEventTarget->Dispatch(NewRunnableMethod<RefPtr<DnsData>>
(this, &Dashboard::GetDNSCacheEntries, dnsData),
NS_DISPATCH_NORMAL);
return NS_OK;
@@ -770,7 +770,7 @@ Dashboard::RequestDNSLookup(const nsACString &aHost,
RefPtr<LookupHelper> helper = new LookupHelper();
helper->mCallback =
new nsMainThreadPtrHolder<NetDashboardCallback>(aCallback, true);
helper->mThread = NS_GetCurrentThread();
helper->mEventTarget = GetCurrentThreadEventTarget();
OriginAttributes attrs;
rv = mDnsService->AsyncResolveNative(aHost, 0, helper.get(),
NS_GetCurrentThread(), attrs,
@@ -782,11 +782,11 @@ NS_IMETHODIMP
Dashboard::RequestRcwnStats(NetDashboardCallback *aCallback)
{
RefPtr<RcwnData> rcwnData = new RcwnData();
rcwnData->mThread = NS_GetCurrentThread();
rcwnData->mEventTarget = GetCurrentThreadEventTarget();
rcwnData->mCallback =
new nsMainThreadPtrHolder<NetDashboardCallback>(aCallback, true);
return rcwnData->mThread->Dispatch(
return rcwnData->mEventTarget->Dispatch(
NewRunnableMethod<RefPtr<RcwnData>>(this, &Dashboard::GetRcwnData, rcwnData),
NS_DISPATCH_NORMAL);
}
@@ -862,12 +862,12 @@ Dashboard::RequestConnection(const nsACString& aHost, uint32_t aPort,
connectionData->mCallback =
new nsMainThreadPtrHolder<NetDashboardCallback>(aCallback, true);
connectionData->mThread = NS_GetCurrentThread();
connectionData->mEventTarget = GetCurrentThreadEventTarget();
rv = TestNewConnection(connectionData);
if (NS_FAILED(rv)) {
mozilla::net::GetErrorString(rv, connectionData->mStatus);
connectionData->mThread->Dispatch(NewRunnableMethod<RefPtr<ConnectionData>>
connectionData->mEventTarget->Dispatch(NewRunnableMethod<RefPtr<ConnectionData>>
(this, &Dashboard::GetConnectionStatus, connectionData),
NS_DISPATCH_NORMAL);
return rv;
@@ -922,7 +922,7 @@ Dashboard::TestNewConnection(ConnectionData *aConnectionData)
}
rv = connectionData->mSocket->SetEventSink(connectionData,
NS_GetCurrentThread());
GetCurrentThreadEventTarget());
if (NS_FAILED(rv)) {
return rv;
}

View File

@@ -1480,7 +1480,6 @@ Predictor::RunPredictions(nsIURI *referrer,
}
len = preresolves.Length();
nsCOMPtr<nsIThread> mainThread = do_GetMainThread();
for (i = 0; i < len; ++i) {
nsCOMPtr<nsIURI> uri = preresolves[i];
++totalPredictions;

View File

@@ -411,7 +411,7 @@ ProxyAutoConfig::ResolveAddress(const nsCString &aHostName,
if (NS_FAILED(dns->AsyncResolveNative(aHostName,
nsIDNSService::RESOLVE_PRIORITY_MEDIUM,
helper,
NS_GetCurrentThread(),
GetCurrentThreadEventTarget(),
attrs,
getter_AddRefs(helper->mRequest))))
return false;

View File

@@ -71,7 +71,7 @@ nsAsyncRedirectVerifyHelper::Init(nsIChannel* oldChan, nsIChannel* newChan,
mOldChan = oldChan;
mNewChan = newChan;
mFlags = flags;
mCallbackThread = do_GetCurrentThread();
mCallbackEventTarget = GetCurrentThreadEventTarget();
if (!(flags & (nsIChannelEventSink::REDIRECT_INTERNAL |
nsIChannelEventSink::REDIRECT_STS_UPGRADE))) {
@@ -183,9 +183,9 @@ nsAsyncRedirectVerifyHelper::ExplicitCallback(nsresult result)
nsCOMPtr<nsIAsyncVerifyRedirectCallback>
callback(do_QueryInterface(mOldChan));
if (!callback || !mCallbackThread) {
if (!callback || !mCallbackEventTarget) {
LOG(("nsAsyncRedirectVerifyHelper::ExplicitCallback() "
"callback=%p mCallbackThread=%p", callback.get(), mCallbackThread.get()));
"callback=%p mCallbackEventTarget=%p", callback.get(), mCallbackEventTarget.get()));
return;
}
@@ -200,7 +200,7 @@ nsAsyncRedirectVerifyHelper::ExplicitCallback(nsresult result)
"failed creating callback event!");
return;
}
nsresult rv = mCallbackThread->Dispatch(event, NS_DISPATCH_NORMAL);
nsresult rv = mCallbackEventTarget->Dispatch(event, NS_DISPATCH_NORMAL);
if (NS_FAILED(rv)) {
NS_WARNING("nsAsyncRedirectVerifyHelper::ExplicitCallback() "
"failed dispatching callback event!");

View File

@@ -73,7 +73,7 @@ protected:
nsCOMPtr<nsIChannel> mNewChan;
uint32_t mFlags;
bool mWaitingForRedirectCallback;
nsCOMPtr<nsIThread> mCallbackThread;
nsCOMPtr<nsIEventTarget> mCallbackEventTarget;
bool mCallbackInitiated;
int32_t mExpectedCallbacks;
nsresult mResult; // value passed to callback

View File

@@ -34,7 +34,7 @@ public:
*/
explicit AsyncApplyBufferingPolicyEvent(nsAsyncStreamCopier* aCopier)
: mCopier(aCopier)
, mTarget(NS_GetCurrentThread())
, mTarget(GetCurrentThreadEventTarget())
{ }
NS_IMETHOD Run() override
{

View File

@@ -59,10 +59,10 @@ nsDNSPrefetch::Prefetch(uint16_t flags)
// then our timing will be useless. However, in such a case,
// mEndTimestamp will be a null timestamp and callers should check
// TimingsValid() before using the timing.
nsCOMPtr<nsIThread> mainThread = do_GetMainThread();
nsCOMPtr<nsIEventTarget> main = mozilla::GetMainThreadEventTarget();
return sDNSService->AsyncResolveNative(mHostname,
flags | nsIDNSService::RESOLVE_SPECULATE,
this, mainThread, mOriginAttributes,
this, main, mOriginAttributes,
getter_AddRefs(tmpOutstanding));
}

View File

@@ -133,7 +133,7 @@ nsInputStreamPump::EnsureWaiting()
if (mState == STATE_STOP) {
nsCOMPtr<nsIEventTarget> mainThread = mLabeledMainThreadTarget
? mLabeledMainThreadTarget
: do_GetMainThread();
: do_AddRef(GetMainThreadEventTarget());
if (mTargetThread != mainThread) {
mTargetThread = do_QueryInterface(mainThread);
}
@@ -383,7 +383,7 @@ nsInputStreamPump::AsyncRead(nsIStreamListener *listener, nsISupports *ctxt)
if (NS_IsMainThread() && mLabeledMainThreadTarget) {
mTargetThread = mLabeledMainThreadTarget;
} else {
mTargetThread = do_GetCurrentThread();
mTargetThread = GetCurrentThreadEventTarget();
}
NS_ENSURE_STATE(mTargetThread);

View File

@@ -189,7 +189,7 @@ nsRequestObserverProxy::Init(nsIRequestObserver *observer, nsISupports *context)
nsresult
nsRequestObserverProxy::FireEvent(nsARequestObserverEvent *event)
{
nsCOMPtr<nsIEventTarget> mainThread(do_GetMainThread());
nsCOMPtr<nsIEventTarget> mainThread(GetMainThreadEventTarget());
return mainThread->Dispatch(event, NS_DISPATCH_NORMAL);
}

View File

@@ -423,7 +423,7 @@ class ServerSocketListenerProxy final : public nsIServerSocketListener
public:
explicit ServerSocketListenerProxy(nsIServerSocketListener* aListener)
: mListener(new nsMainThreadPtrHolder<nsIServerSocketListener>(aListener))
, mTargetThread(do_GetCurrentThread())
, mTarget(GetCurrentThreadEventTarget())
{ }
NS_DECL_THREADSAFE_ISUPPORTS
@@ -469,7 +469,7 @@ public:
private:
nsMainThreadPtrHandle<nsIServerSocketListener> mListener;
nsCOMPtr<nsIEventTarget> mTargetThread;
nsCOMPtr<nsIEventTarget> mTarget;
};
NS_IMPL_ISUPPORTS(ServerSocketListenerProxy,
@@ -481,7 +481,7 @@ ServerSocketListenerProxy::OnSocketAccepted(nsIServerSocket* aServ,
{
RefPtr<OnSocketAcceptedRunnable> r =
new OnSocketAcceptedRunnable(mListener, aServ, aTransport);
return mTargetThread->Dispatch(r, NS_DISPATCH_NORMAL);
return mTarget->Dispatch(r, NS_DISPATCH_NORMAL);
}
NS_IMETHODIMP
@@ -490,7 +490,7 @@ ServerSocketListenerProxy::OnStopListening(nsIServerSocket* aServ,
{
RefPtr<OnStopListeningRunnable> r =
new OnStopListeningRunnable(mListener, aServ, aStatus);
return mTargetThread->Dispatch(r, NS_DISPATCH_NORMAL);
return mTarget->Dispatch(r, NS_DISPATCH_NORMAL);
}
NS_IMETHODIMP
@@ -518,7 +518,7 @@ nsServerSocket::AsyncListen(nsIServerSocketListener *aListener)
{
MutexAutoLock lock(mLock);
mListener = new ServerSocketListenerProxy(aListener);
mListenerTarget = NS_GetCurrentThread();
mListenerTarget = GetCurrentThreadEventTarget();
}
// Child classes may need to do additional setup just before listening begins

View File

@@ -2544,7 +2544,7 @@ nsSocketTransport::SetSecurityCallbacks(nsIInterfaceRequestor *callbacks)
{
nsCOMPtr<nsIInterfaceRequestor> threadsafeCallbacks;
NS_NewNotificationCallbacksAggregation(callbacks, nullptr,
NS_GetCurrentThread(),
GetCurrentThreadEventTarget(),
getter_AddRefs(threadsafeCallbacks));
nsCOMPtr<nsISupports> secinfo;

View File

@@ -584,7 +584,7 @@ class AvailableEvent final : public Runnable
, mSize(0)
, mResultForCallback(NS_OK)
{
mCallbackTarget = NS_GetCurrentThread();
mCallbackTarget = GetCurrentThreadEventTarget();
}
NS_IMETHOD Run() override

View File

@@ -847,7 +847,7 @@ class SocketListenerProxy final : public nsIUDPSocketListener
public:
explicit SocketListenerProxy(nsIUDPSocketListener* aListener)
: mListener(new nsMainThreadPtrHolder<nsIUDPSocketListener>(aListener))
, mTargetThread(do_GetCurrentThread())
, mTarget(GetCurrentThreadEventTarget())
{ }
NS_DECL_THREADSAFE_ISUPPORTS
@@ -893,7 +893,7 @@ public:
private:
nsMainThreadPtrHandle<nsIUDPSocketListener> mListener;
nsCOMPtr<nsIEventTarget> mTargetThread;
nsCOMPtr<nsIEventTarget> mTarget;
};
NS_IMPL_ISUPPORTS(SocketListenerProxy,
@@ -905,7 +905,7 @@ SocketListenerProxy::OnPacketReceived(nsIUDPSocket* aSocket,
{
RefPtr<OnPacketReceivedRunnable> r =
new OnPacketReceivedRunnable(mListener, aSocket, aMessage);
return mTargetThread->Dispatch(r, NS_DISPATCH_NORMAL);
return mTarget->Dispatch(r, NS_DISPATCH_NORMAL);
}
NS_IMETHODIMP
@@ -914,7 +914,7 @@ SocketListenerProxy::OnStopListening(nsIUDPSocket* aSocket,
{
RefPtr<OnStopListeningRunnable> r =
new OnStopListeningRunnable(mListener, aSocket, aStatus);
return mTargetThread->Dispatch(r, NS_DISPATCH_NORMAL);
return mTarget->Dispatch(r, NS_DISPATCH_NORMAL);
}
NS_IMETHODIMP
@@ -952,7 +952,7 @@ class SocketListenerProxyBackground final : public nsIUDPSocketListener
public:
explicit SocketListenerProxyBackground(nsIUDPSocketListener* aListener)
: mListener(aListener)
, mTargetThread(do_GetCurrentThread())
, mTarget(GetCurrentThreadEventTarget())
{ }
NS_DECL_THREADSAFE_ISUPPORTS
@@ -998,7 +998,7 @@ public:
private:
nsCOMPtr<nsIUDPSocketListener> mListener;
nsCOMPtr<nsIEventTarget> mTargetThread;
nsCOMPtr<nsIEventTarget> mTarget;
};
NS_IMPL_ISUPPORTS(SocketListenerProxyBackground,
@@ -1010,7 +1010,7 @@ SocketListenerProxyBackground::OnPacketReceived(nsIUDPSocket* aSocket,
{
RefPtr<OnPacketReceivedRunnable> r =
new OnPacketReceivedRunnable(mListener, aSocket, aMessage);
return mTargetThread->Dispatch(r, NS_DISPATCH_NORMAL);
return mTarget->Dispatch(r, NS_DISPATCH_NORMAL);
}
NS_IMETHODIMP
@@ -1019,7 +1019,7 @@ SocketListenerProxyBackground::OnStopListening(nsIUDPSocket* aSocket,
{
RefPtr<OnStopListeningRunnable> r =
new OnStopListeningRunnable(mListener, aSocket, aStatus);
return mTargetThread->Dispatch(r, NS_DISPATCH_NORMAL);
return mTarget->Dispatch(r, NS_DISPATCH_NORMAL);
}
NS_IMETHODIMP
@@ -1174,7 +1174,7 @@ nsUDPSocket::AsyncListen(nsIUDPSocketListener *aListener)
NS_ENSURE_TRUE(mListener == nullptr, NS_ERROR_IN_PROGRESS);
{
MutexAutoLock lock(mLock);
mListenerTarget = NS_GetCurrentThread();
mListenerTarget = GetCurrentThreadEventTarget();
if (NS_IsMainThread()) {
// PNecko usage
mListener = new SocketListenerProxy(aListener);

View File

@@ -52,7 +52,7 @@ nsCacheEntry::~nsCacheEntry()
MOZ_COUNT_DTOR(nsCacheEntry);
if (mData)
nsCacheService::ReleaseObject_Locked(mData, mThread);
nsCacheService::ReleaseObject_Locked(mData, mEventTarget);
}
@@ -101,13 +101,13 @@ void
nsCacheEntry::SetData(nsISupports * data)
{
if (mData) {
nsCacheService::ReleaseObject_Locked(mData, mThread);
nsCacheService::ReleaseObject_Locked(mData, mEventTarget);
mData = nullptr;
}
if (data) {
NS_ADDREF(mData = data);
mThread = do_GetCurrentThread();
mEventTarget = GetCurrentThreadEventTarget();
}
}

View File

@@ -223,7 +223,7 @@ private:
nsCacheDevice * mCustomDevice; // 4
nsCOMPtr<nsISupports> mSecurityInfo; //
nsISupports * mData; // strong ref
nsCOMPtr<nsIThread> mThread;
nsCOMPtr<nsIEventTarget> mEventTarget;
nsCacheMetaData mMetaData; // 4
PRCList mRequestQ; // 8
PRCList mDescriptorQ; // 8

View File

@@ -31,7 +31,7 @@ public:
{
mDescriptor = descriptor;
mListener = listener;
mThread = do_GetCurrentThread();
mEventTarget = GetCurrentThreadEventTarget();
// We addref the listener here and release it in nsNotifyDoomListener
// on the callers thread. If posting of nsNotifyDoomListener event fails
// we leak the listener which is better than releasing it on a wrong
@@ -55,7 +55,7 @@ public:
}
if (mListener) {
mThread->Dispatch(new nsNotifyDoomListener(mListener, status),
mEventTarget->Dispatch(new nsNotifyDoomListener(mListener, status),
NS_DISPATCH_NORMAL);
// posted event will release the reference on the correct thread
mListener = nullptr;
@@ -67,7 +67,7 @@ public:
private:
RefPtr<nsCacheEntryDescriptor> mDescriptor;
nsICacheListener *mListener;
nsCOMPtr<nsIThread> mThread;
nsCOMPtr<nsIEventTarget> mEventTarget;
};

View File

@@ -58,7 +58,7 @@ private:
NS_ASSERTION(PR_CLIST_IS_EMPTY(this), "request still on a list");
if (mListener)
nsCacheService::ReleaseObject_Locked(mListener, mThread);
nsCacheService::ReleaseObject_Locked(mListener, mEventTarget);
}
/**
@@ -149,7 +149,7 @@ private:
nsCString mKey;
uint32_t mInfo;
nsICacheListener * mListener; // strong ref
nsCOMPtr<nsIThread> mThread;
nsCOMPtr<nsIEventTarget> mEventTarget;
Mutex mLock;
CondVar mCondVar;
nsCOMPtr<nsIFile> mProfileDir;

View File

@@ -1023,7 +1023,7 @@ public:
mKey.Append(key);
mStoragePolicy = session->StoragePolicy();
mListener = listener;
mThread = do_GetCurrentThread();
mEventTarget = GetCurrentThreadEventTarget();
// We addref the listener here and release it in nsNotifyDoomListener
// on the callers thread. If posting of nsNotifyDoomListener event fails
// we leak the listener which is better than releasing it on a wrong
@@ -1053,7 +1053,7 @@ public:
}
if (mListener) {
mThread->Dispatch(new nsNotifyDoomListener(mListener, status),
mEventTarget->Dispatch(new nsNotifyDoomListener(mListener, status),
NS_DISPATCH_NORMAL);
// posted event will release the reference on the correct thread
mListener = nullptr;
@@ -1066,7 +1066,7 @@ private:
nsCString mKey;
nsCacheStoragePolicy mStoragePolicy;
nsICacheListener *mListener;
nsCOMPtr<nsIThread> mThread;
nsCOMPtr<nsIEventTarget> mEventTarget;
};
/******************************************************************************
@@ -1847,7 +1847,7 @@ nsCacheService::CreateRequest(nsCacheSession * session,
if (!listener) return NS_OK; // we're sync, we're done.
// get the request's thread
(*request)->mThread = do_GetCurrentThread();
(*request)->mEventTarget = GetCurrentThreadEventTarget();
return NS_OK;
}
@@ -1893,7 +1893,7 @@ nsCacheService::NotifyListener(nsCacheRequest * request,
nsCacheAccessMode accessGranted,
nsresult status)
{
NS_ASSERTION(request->mThread, "no thread set in async request!");
NS_ASSERTION(request->mEventTarget, "no thread set in async request!");
// Swap ownership, and release listener on target thread...
nsICacheListener *listener = request->mListener;
@@ -1909,7 +1909,7 @@ nsCacheService::NotifyListener(nsCacheRequest * request,
return NS_ERROR_OUT_OF_MEMORY;
}
return request->mThread->Dispatch(ev, NS_DISPATCH_NORMAL);
return request->mEventTarget->Dispatch(ev, NS_DISPATCH_NORMAL);
}

View File

@@ -1207,7 +1207,7 @@ nsOfflineCacheDevice::InitWithSqlite(mozIStorageService * ss)
rv = ss->OpenDatabase(indexFile, getter_AddRefs(mDB));
NS_ENSURE_SUCCESS(rv, rv);
mInitThread = do_GetCurrentThread();
mInitEventTarget = GetCurrentThreadEventTarget();
mDB->ExecuteSimpleSQL(NS_LITERAL_CSTRING("PRAGMA synchronous = OFF;"));
@@ -1492,14 +1492,14 @@ nsOfflineCacheDevice::Shutdown()
// Close Database on the correct thread
bool isOnCurrentThread = true;
if (mInitThread)
mInitThread->IsOnCurrentThread(&isOnCurrentThread);
if (mInitEventTarget)
isOnCurrentThread = mInitEventTarget->IsOnCurrentThread();
if (!isOnCurrentThread) {
nsCOMPtr<nsIRunnable> ev = new nsCloseDBEvent(mDB);
if (ev) {
mInitThread->Dispatch(ev, NS_DISPATCH_NORMAL);
mInitEventTarget->Dispatch(ev, NS_DISPATCH_NORMAL);
}
}
else {
@@ -1507,7 +1507,7 @@ nsOfflineCacheDevice::Shutdown()
}
mDB = nullptr;
mInitThread = nullptr;
mInitEventTarget = nullptr;
return NS_OK;
}

View File

@@ -284,7 +284,7 @@ private:
nsTHashtable<nsCStringHashKey> mActiveCaches;
nsTHashtable<nsCStringHashKey> mLockedEntries;
nsCOMPtr<nsIThread> mInitThread;
nsCOMPtr<nsIEventTarget> mInitEventTarget;
};
#endif // nsOfflineCacheDevice_h__

View File

@@ -77,7 +77,7 @@ CacheEntry::Callback::Callback(CacheEntry* aEntry,
bool aSecret)
: mEntry(aEntry)
, mCallback(aCallback)
, mTargetThread(do_GetCurrentThread())
, mTarget(GetCurrentThreadEventTarget())
, mReadOnly(aReadOnly)
, mRevalidating(false)
, mCheckOnAnyThread(aCheckOnAnyThread)
@@ -114,7 +114,7 @@ CacheEntry::Callback::Callback(CacheEntry* aEntry, bool aDoomWhenFoundInPinStatu
CacheEntry::Callback::Callback(CacheEntry::Callback const &aThat)
: mEntry(aThat.mEntry)
, mCallback(aThat.mCallback)
, mTargetThread(aThat.mTargetThread)
, mTarget(aThat.mTarget)
, mReadOnly(aThat.mReadOnly)
, mRevalidating(aThat.mRevalidating)
, mCheckOnAnyThread(aThat.mCheckOnAnyThread)
@@ -134,7 +134,7 @@ CacheEntry::Callback::Callback(CacheEntry::Callback const &aThat)
CacheEntry::Callback::~Callback()
{
ProxyRelease(mCallback, mTargetThread);
ProxyRelease(mCallback, mTarget);
mEntry->ReleaseHandleRef();
MOZ_COUNT_DTOR(CacheEntry::Callback);
@@ -171,7 +171,7 @@ nsresult CacheEntry::Callback::OnCheckThread(bool *aOnCheckThread) const
{
if (!mCheckOnAnyThread) {
// Check we are on the target
return mTargetThread->IsOnCurrentThread(aOnCheckThread);
return mTarget->IsOnCurrentThread(aOnCheckThread);
}
// We can invoke check anywhere
@@ -181,7 +181,7 @@ nsresult CacheEntry::Callback::OnCheckThread(bool *aOnCheckThread) const
nsresult CacheEntry::Callback::OnAvailThread(bool *aOnAvailThread) const
{
return mTargetThread->IsOnCurrentThread(aOnAvailThread);
return mTarget->IsOnCurrentThread(aOnAvailThread);
}
// CacheEntry
@@ -663,7 +663,7 @@ bool CacheEntry::InvokeCallbacks(bool aReadOnly)
if (NS_SUCCEEDED(rv) && !onCheckThread) {
// Redispatch to the target thread
rv = mCallbacks[i].mTargetThread->Dispatch(NewRunnableMethod(this,
rv = mCallbacks[i].mTarget->Dispatch(NewRunnableMethod(this,
&CacheEntry::InvokeCallbacksLock),
nsIEventTarget::DISPATCH_NORMAL);
if (NS_SUCCEEDED(rv)) {
@@ -839,7 +839,7 @@ void CacheEntry::InvokeAvailableCallback(Callback const & aCallback)
RefPtr<AvailableCallbackRunnable> event =
new AvailableCallbackRunnable(this, aCallback);
rv = aCallback.mTargetThread->Dispatch(event, nsIEventTarget::DISPATCH_NORMAL);
rv = aCallback.mTarget->Dispatch(event, nsIEventTarget::DISPATCH_NORMAL);
LOG((" redispatched, (rv = 0x%08" PRIx32 ")", static_cast<uint32_t>(rv)));
return;
}

View File

@@ -160,7 +160,7 @@ private:
// it's pointer).
RefPtr<CacheEntry> mEntry;
nsCOMPtr<nsICacheEntryOpenCallback> mCallback;
nsCOMPtr<nsIThread> mTargetThread;
nsCOMPtr<nsIEventTarget> mTarget;
bool mReadOnly : 1;
bool mRevalidating : 1;
bool mCheckOnAnyThread : 1;

View File

@@ -2135,7 +2135,7 @@ CacheFile::QueueChunkListener(uint32_t aIndex,
if (!item->mTarget) {
LOG(("CacheFile::QueueChunkListener() - Cannot get Cache I/O thread! Using "
"main thread for callback."));
item->mTarget = do_GetMainThread();
item->mTarget = GetMainThreadEventTarget();
}
item->mCallback = aCallback;

View File

@@ -487,7 +487,7 @@ CacheFileChunk::WaitForUpdate(CacheFileChunkListener *aCallback)
if (!item->mTarget) {
LOG(("CacheFileChunk::WaitForUpdate() - Cannot get Cache I/O thread! Using "
"main thread for callback."));
item->mTarget = do_GetMainThread();
item->mTarget = GetMainThreadEventTarget();
}
item->mCallback = aCallback;
MOZ_ASSERT(item->mTarget);

View File

@@ -630,7 +630,7 @@ CacheFileInputStream::NotifyListener()
if (!mCallbackTarget) {
LOG(("CacheFileInputStream::NotifyListener() - Cannot get Cache I/O "
"thread! Using main thread for callback."));
mCallbackTarget = do_GetMainThread();
mCallbackTarget = GetMainThreadEventTarget();
}
}

View File

@@ -452,7 +452,7 @@ CacheFileOutputStream::NotifyListener()
if (!mCallbackTarget) {
LOG(("CacheFileOutputStream::NotifyListener() - Cannot get Cache I/O "
"thread! Using main thread for callback."));
mCallbackTarget = do_GetMainThread();
mCallbackTarget = GetMainThreadEventTarget();
}
}

View File

@@ -400,16 +400,15 @@ private:
};
template<class T>
void ProxyRelease(nsCOMPtr<T> &object, nsIThread* thread)
void ProxyRelease(nsCOMPtr<T> &object, nsIEventTarget* target)
{
NS_ProxyRelease(thread, object.forget());
NS_ProxyRelease(target, object.forget());
}
template<class T>
void ProxyReleaseMainThread(nsCOMPtr<T> &object)
{
nsCOMPtr<nsIThread> mainThread = do_GetMainThread();
ProxyRelease(object, mainThread);
ProxyRelease(object, GetMainThreadEventTarget());
}
} // namespace net

View File

@@ -41,11 +41,11 @@ DNSRequestParent::DoAsyncResolve(const nsACString &hostname,
mFlags = flags;
nsCOMPtr<nsIDNSService> dns = do_GetService(NS_DNSSERVICE_CONTRACTID, &rv);
if (NS_SUCCEEDED(rv)) {
nsCOMPtr<nsIThread> mainThread = do_GetMainThread();
nsCOMPtr<nsIEventTarget> main = GetMainThreadEventTarget();
nsCOMPtr<nsICancelable> unused;
rv = dns->AsyncResolveExtendedNative(hostname, flags,
networkInterface, this,
mainThread, originAttributes,
main, originAttributes,
getter_AddRefs(unused));
}

View File

@@ -842,9 +842,7 @@ nsDNSService::AsyncResolveExtendedNative(const nsACString &aHostname,
// make sure JS callers get notification on the main thread
nsCOMPtr<nsIXPConnectWrappedJS> wrappedListener = do_QueryInterface(listener);
if (wrappedListener && !target) {
nsCOMPtr<nsIThread> mainThread;
NS_GetMainThread(getter_AddRefs(mainThread));
target = do_QueryInterface(mainThread);
target = GetMainThreadEventTarget();
}
if (target) {

View File

@@ -46,7 +46,7 @@ class MainThreadChannelEvent : public ChannelEvent
{
MOZ_ASSERT(XRE_IsParentProcess());
return do_GetMainThread();
return do_AddRef(GetMainThreadEventTarget());
}
};

View File

@@ -139,7 +139,7 @@ class FTPEventSinkProxy final : public nsIFTPEventSink
public:
explicit FTPEventSinkProxy(nsIFTPEventSink* aTarget)
: mTarget(aTarget)
, mTargetThread(do_GetCurrentThread())
, mEventTarget(GetCurrentThreadEventTarget())
{ }
NS_DECL_THREADSAFE_ISUPPORTS
@@ -166,7 +166,7 @@ public:
private:
nsCOMPtr<nsIFTPEventSink> mTarget;
nsCOMPtr<nsIThread> mTargetThread;
nsCOMPtr<nsIEventTarget> mEventTarget;
};
NS_IMPL_ISUPPORTS(FTPEventSinkProxy, nsIFTPEventSink)
@@ -176,7 +176,7 @@ FTPEventSinkProxy::OnFTPControlLog(bool aServer, const char* aMsg)
{
RefPtr<OnFTPControlLogRunnable> r =
new OnFTPControlLogRunnable(mTarget, aServer, aMsg);
return mTargetThread->Dispatch(r, NS_DISPATCH_NORMAL);
return mEventTarget->Dispatch(r, NS_DISPATCH_NORMAL);
}
NS_IMETHODIMP

View File

@@ -1504,7 +1504,7 @@ nsFtpState::R_pasv() {
LOG(("FTP:(%p) created DT (%s:%x)\n", this, host.get(), port));
// hook ourself up as a proxy for status notifications
rv = mDataTransport->SetEventSink(this, NS_GetCurrentThread());
rv = mDataTransport->SetEventSink(this, GetCurrentThreadEventTarget());
NS_ENSURE_SUCCESS(rv, FTP_ERROR);
if (mAction == PUT) {

View File

@@ -110,7 +110,7 @@ nsFtpControlConnection::Connect(nsIProxyInfo* proxyInfo,
// proxy transport events back to current thread
if (eventSink)
mSocket->SetEventSink(eventSink, NS_GetCurrentThread());
mSocket->SetEventSink(eventSink, GetCurrentThreadEventTarget());
// open buffered, blocking output stream to socket. so long as commands
// do not exceed 1024 bytes in length, the writing thread (the main thread)
@@ -147,7 +147,7 @@ nsFtpControlConnection::WaitData(nsFtpControlConnectionListener *listener)
NS_ENSURE_STATE(mSocketInput);
mListener = listener;
return mSocketInput->AsyncWait(this, 0, 0, NS_GetCurrentThread());
return mSocketInput->AsyncWait(this, 0, 0, GetCurrentThreadEventTarget());
}
nsresult

View File

@@ -2284,7 +2284,7 @@ HttpChannelChild::GetNeckoTarget()
}
if (!target) {
target = do_GetMainThread();
target = GetMainThreadEventTarget();
}
return target.forget();
}
@@ -2299,7 +2299,7 @@ HttpChannelChild::GetODATarget()
}
if (!target) {
target = do_GetMainThread();
target = GetMainThreadEventTarget();
}
return target.forget();
}
@@ -3123,7 +3123,7 @@ HttpChannelChild::RetargetDeliveryTo(nsIEventTarget* aNewTarget)
MOZ_ASSERT(aNewTarget);
NS_ENSURE_ARG(aNewTarget);
if (aNewTarget == NS_GetCurrentThread()) {
if (aNewTarget->IsOnCurrentThread()) {
NS_WARNING("Retargeting delivery to same thread");
return NS_OK;
}

View File

@@ -1118,7 +1118,7 @@ nsHttpChannel::SetupTransaction()
rv = mTransaction->Init(mCaps, mConnectionInfo, &mRequestHead,
mUploadStream, mReqContentLength,
mUploadStreamHasHeaders,
NS_GetCurrentThread(), callbacks, this,
GetCurrentThreadEventTarget(), callbacks, this,
mTopLevelOuterContentWindowId,
getter_AddRefs(responseStream));
if (NS_FAILED(rv)) {
@@ -7567,7 +7567,7 @@ nsHttpChannel::RetargetDeliveryTo(nsIEventTarget* aNewTarget)
MOZ_ASSERT(NS_IsMainThread(), "Should be called on main thread only");
NS_ENSURE_ARG(aNewTarget);
if (aNewTarget == NS_GetCurrentThread()) {
if (aNewTarget->IsOnCurrentThread()) {
NS_WARNING("Retargeting delivery to same thread");
return NS_OK;
}
@@ -7596,10 +7596,9 @@ nsHttpChannel::RetargetDeliveryTo(nsIEventTarget* aNewTarget)
// If retarget fails for transaction pump, we must restore mCachePump.
if (NS_FAILED(rv) && retargetableCachePump) {
nsCOMPtr<nsIThread> mainThread;
rv = NS_GetMainThread(getter_AddRefs(mainThread));
NS_ENSURE_SUCCESS(rv, rv);
rv = retargetableCachePump->RetargetDeliveryTo(mainThread);
nsCOMPtr<nsIEventTarget> main = GetMainThreadEventTarget();
NS_ENSURE_TRUE(main, NS_ERROR_UNEXPECTED);
rv = retargetableCachePump->RetargetDeliveryTo(main);
}
}
return rv;
@@ -8425,7 +8424,7 @@ nsHttpChannel::UpdateAggregateCallbacks()
}
nsCOMPtr<nsIInterfaceRequestor> callbacks;
NS_NewNotificationCallbacksAggregation(mCallbacks, mLoadGroup,
NS_GetCurrentThread(),
GetCurrentThreadEventTarget(),
getter_AddRefs(callbacks));
mTransaction->SetSecurityCallbacks(callbacks);
}

View File

@@ -2891,11 +2891,10 @@ WebSocketChannel::DoAdmissionDNS()
mPort = (mEncrypted ? kDefaultWSSPort : kDefaultWSPort);
nsCOMPtr<nsIDNSService> dns = do_GetService(NS_DNSSERVICE_CONTRACTID, &rv);
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIThread> mainThread;
NS_GetMainThread(getter_AddRefs(mainThread));
nsCOMPtr<nsIEventTarget> main = GetMainThreadEventTarget();
MOZ_ASSERT(!mCancelable);
return dns->AsyncResolveNative(hostName, 0, this,
mainThread, mLoadInfo->GetOriginAttributes(),
main, mLoadInfo->GetOriginAttributes(),
getter_AddRefs(mCancelable));
}
@@ -3342,7 +3341,7 @@ WebSocketChannel::AsyncOpen(nsIURI *aURI,
// Ensure target thread is set.
if (!mTargetThread) {
mTargetThread = do_GetMainThread();
mTargetThread = GetMainThreadEventTarget();
}
mSocketThread = do_GetService(NS_SOCKETTRANSPORTSERVICE_CONTRACTID, &rv);

View File

@@ -180,7 +180,7 @@ public:
{
nsCOMPtr<nsIEventTarget> target = mEventTarget;
if (!target) {
target = do_GetMainThread();
target = GetMainThreadEventTarget();
}
return target.forget();
}
@@ -212,8 +212,7 @@ class StartEvent : public ChannelEvent
already_AddRefed<nsIEventTarget> GetEventTarget()
{
nsCOMPtr<nsIEventTarget> target = do_GetCurrentThread();
return target.forget();
return do_AddRef(GetCurrentThreadEventTarget());
}
private:
@@ -277,8 +276,7 @@ class StopEvent : public ChannelEvent
already_AddRefed<nsIEventTarget> GetEventTarget()
{
nsCOMPtr<nsIEventTarget> target = do_GetCurrentThread();
return target.forget();
return do_AddRef(GetCurrentThreadEventTarget());
}
private:
@@ -334,8 +332,7 @@ class MessageEvent : public ChannelEvent
already_AddRefed<nsIEventTarget> GetEventTarget()
{
nsCOMPtr<nsIEventTarget> target = do_GetCurrentThread();
return target.forget();
return do_AddRef(GetCurrentThreadEventTarget());
}
private:
@@ -413,8 +410,7 @@ class AcknowledgeEvent : public ChannelEvent
already_AddRefed<nsIEventTarget> GetEventTarget()
{
nsCOMPtr<nsIEventTarget> target = do_GetCurrentThread();
return target.forget();
return do_AddRef(GetCurrentThreadEventTarget());
}
private:
@@ -466,8 +462,7 @@ class ServerCloseEvent : public ChannelEvent
already_AddRefed<nsIEventTarget> GetEventTarget()
{
nsCOMPtr<nsIEventTarget> target = do_GetCurrentThread();
return target.forget();
return do_AddRef(GetCurrentThreadEventTarget());
}
private:
@@ -611,7 +606,7 @@ NS_IMETHODIMP
WebSocketChannelChild::Close(uint16_t code, const nsACString & reason)
{
if (!NS_IsMainThread()) {
MOZ_RELEASE_ASSERT(NS_GetCurrentThread() == mTargetThread);
MOZ_RELEASE_ASSERT(mTargetThread->IsOnCurrentThread());
return NS_DispatchToMainThread(new CloseEvent(this, code, reason));
}
LOG(("WebSocketChannelChild::Close() %p\n", this));
@@ -739,7 +734,7 @@ WebSocketChannelChild::SendBinaryStream(nsIInputStream *aStream,
uint32_t aLength)
{
if (!NS_IsMainThread()) {
MOZ_RELEASE_ASSERT(NS_GetCurrentThread() == mTargetThread);
MOZ_RELEASE_ASSERT(mTargetThread->IsOnCurrentThread());
return NS_DispatchToMainThread(new BinaryStreamEvent(this, aStream, aLength));
}

View File

@@ -2397,8 +2397,6 @@ DataChannelConnection::ReadBlob(already_AddRefed<DataChannelConnection> aThis,
// For now as a hack, send as a single blast of queued packets which may
// be deferred until buffer space is available.
uint64_t len;
nsCOMPtr<nsIThread> mainThread;
NS_GetMainThread(getter_AddRefs(mainThread));
// Must not let Dispatching it cause the DataChannelConnection to get
// released on the wrong thread. Using WrapRunnable(RefPtr<DataChannelConnection>(aThis),...
@@ -2412,7 +2410,7 @@ DataChannelConnection::ReadBlob(already_AddRefed<DataChannelConnection> aThis,
// Bug 966602: Doesn't return an error to the caller via onerror.
// We must release DataChannelConnection on MainThread to avoid issues (bug 876167)
// aThis is now owned by the runnable; release it there
NS_ProxyRelease(mainThread, runnable.forget());
NS_ReleaseOnMainThread(runnable.forget());
return;
}
aBlob->Close();

View File

@@ -470,7 +470,7 @@ nsSOCKSSocketInfo::StartDNS(PRFileDesc *fd)
mFD = fd;
nsresult rv = dns->AsyncResolveNative(proxyHost, 0, this,
NS_GetCurrentThread(), attrs,
mozilla::GetCurrentThreadEventTarget(), attrs,
getter_AddRefs(mLookup));
if (NS_FAILED(rv)) {

View File

@@ -174,15 +174,15 @@ NS_IMETHODIMP nsWifiMonitor::Run()
}
if (doError) {
nsCOMPtr<nsIThread> thread = do_GetMainThread();
if (!thread)
nsCOMPtr<nsIEventTarget> target = GetMainThreadEventTarget();
if (!target)
return NS_ERROR_UNEXPECTED;
nsCOMPtr<nsIRunnable> runnable(new nsPassErrorToWifiListeners(currentListeners, rv));
if (!runnable)
return NS_ERROR_OUT_OF_MEMORY;
thread->Dispatch(runnable, NS_DISPATCH_SYNC);
target->Dispatch(runnable, NS_DISPATCH_SYNC);
}
LOG(("@@@@@ wifi monitor run complete\n"));