зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1809753 - Part 3: Replace all callers of GetCurrentEventTarget with GetCurrentSerialEventTarget, r=mccr8,necko-reviewers,valentin
This only changes the behaviour when called with a TaskQueue or other type using SerialEventTargetGuard on the stack. They are being switched over as the existing GetCurrentEventTarget method is being removed, as it is somewhat confusing, and poorly documented. Callers which need to get the current thread even when on a threadpool or behind a TaskQueue were switched to GetCurrentEventTarget in the previous part. Differential Revision: https://phabricator.services.mozilla.com/D166607
This commit is contained in:
Родитель
528844de5d
Коммит
8d118308de
|
@ -683,7 +683,7 @@ void CCGCScheduler::EnsureCCRunner(TimeDuration aDelay, TimeDuration aBudget) {
|
|||
minimumBudget, true, [this] { return mDidShutdown; });
|
||||
} else {
|
||||
mCCRunner->SetMinimumUsefulBudget(minimumBudget.ToMilliseconds());
|
||||
nsIEventTarget* target = mozilla::GetCurrentEventTarget();
|
||||
nsIEventTarget* target = mozilla::GetCurrentSerialEventTarget();
|
||||
if (target) {
|
||||
mCCRunner->SetTimer(aDelay, target);
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ class EncodingCompleteEvent final : public DiscardableRunnable {
|
|||
mEncodeCompleteCallback(aEncodeCompleteCallback),
|
||||
mFailed(false) {
|
||||
if (!NS_IsMainThread() && IsCurrentThreadRunningWorker()) {
|
||||
mCreationEventTarget = GetCurrentEventTarget();
|
||||
mCreationEventTarget = GetCurrentSerialEventTarget();
|
||||
} else {
|
||||
mCreationEventTarget = GetMainThreadEventTarget();
|
||||
}
|
||||
|
|
|
@ -341,7 +341,7 @@ StructuredCloneHolder::StructuredCloneHolder(
|
|||
mGlobal(nullptr)
|
||||
#ifdef DEBUG
|
||||
,
|
||||
mCreationEventTarget(GetCurrentEventTarget())
|
||||
mCreationEventTarget(GetCurrentSerialEventTarget())
|
||||
#endif
|
||||
{
|
||||
}
|
||||
|
|
|
@ -475,7 +475,7 @@ class Context::ActionRunnable final : public nsIRunnable,
|
|||
mTarget(aTarget),
|
||||
mAction(std::move(aAction)),
|
||||
mDirectoryMetadata(aDirectoryMetadata),
|
||||
mInitiatingThread(GetCurrentEventTarget()),
|
||||
mInitiatingThread(GetCurrentSerialEventTarget()),
|
||||
mState(STATE_INIT),
|
||||
mResult(NS_OK),
|
||||
mExecutingRunOnTarget(false) {
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
namespace mozilla::dom {
|
||||
|
||||
FileCreatorParent::FileCreatorParent()
|
||||
: mBackgroundEventTarget(GetCurrentEventTarget()), mIPCActive(true) {}
|
||||
: mBackgroundEventTarget(GetCurrentSerialEventTarget()), mIPCActive(true) {}
|
||||
|
||||
FileCreatorParent::~FileCreatorParent() = default;
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ class CheckPermissionRunnable final : public Runnable {
|
|||
mActor(aActor),
|
||||
mTask(aTask),
|
||||
mPath(aPath),
|
||||
mBackgroundEventTarget(GetCurrentEventTarget()) {
|
||||
mBackgroundEventTarget(GetCurrentSerialEventTarget()) {
|
||||
AssertIsInMainProcess();
|
||||
AssertIsOnBackgroundThread();
|
||||
|
||||
|
|
|
@ -156,7 +156,7 @@ FileSystemTaskParentBase::FileSystemTaskParentBase(
|
|||
mErrorValue(NS_OK),
|
||||
mFileSystem(aFileSystem),
|
||||
mRequestParent(aParent),
|
||||
mBackgroundEventTarget(GetCurrentEventTarget()) {
|
||||
mBackgroundEventTarget(GetCurrentSerialEventTarget()) {
|
||||
MOZ_ASSERT(XRE_IsParentProcess(), "Only call from parent process!");
|
||||
MOZ_ASSERT(aFileSystem, "aFileSystem should not be null.");
|
||||
MOZ_ASSERT(aParent);
|
||||
|
|
|
@ -47,7 +47,7 @@ GamepadEventChannelParent::Create() {
|
|||
GamepadEventChannelParent::GamepadEventChannelParent() : mIsShutdown{false} {
|
||||
MOZ_DIAGNOSTIC_ASSERT(IsOnBackgroundThread());
|
||||
|
||||
mBackgroundEventTarget = GetCurrentEventTarget();
|
||||
mBackgroundEventTarget = GetCurrentSerialEventTarget();
|
||||
|
||||
RefPtr<GamepadPlatformService> service =
|
||||
GamepadPlatformService::GetParentService();
|
||||
|
|
|
@ -1885,7 +1885,7 @@ class DatabaseOperationBase : public Runnable,
|
|||
DatabaseOperationBase(const nsID& aBackgroundChildLoggingId,
|
||||
uint64_t aLoggingSerialNumber)
|
||||
: Runnable("dom::indexedDB::DatabaseOperationBase"),
|
||||
mOwningEventTarget(GetCurrentEventTarget()),
|
||||
mOwningEventTarget(GetCurrentSerialEventTarget()),
|
||||
mBackgroundChildLoggingId(aBackgroundChildLoggingId),
|
||||
mLoggingSerialNumber(aLoggingSerialNumber),
|
||||
mOperationMayProceed(true) {
|
||||
|
@ -8729,7 +8729,7 @@ ConnectionPool::ConnectionRunnable::ConnectionRunnable(
|
|||
DatabaseInfo& aDatabaseInfo)
|
||||
: Runnable("dom::indexedDB::ConnectionPool::ConnectionRunnable"),
|
||||
mDatabaseInfo(aDatabaseInfo),
|
||||
mOwningEventTarget(GetCurrentEventTarget()) {
|
||||
mOwningEventTarget(GetCurrentSerialEventTarget()) {
|
||||
AssertIsOnBackgroundThread();
|
||||
MOZ_ASSERT(aDatabaseInfo.mConnectionPool);
|
||||
aDatabaseInfo.mConnectionPool->AssertIsOnOwningThread();
|
||||
|
@ -8866,7 +8866,7 @@ ConnectionPool::FinishCallbackWrapper::FinishCallbackWrapper(
|
|||
: Runnable("dom::indexedDB::ConnectionPool::FinishCallbackWrapper"),
|
||||
mConnectionPool(aConnectionPool),
|
||||
mCallback(aCallback),
|
||||
mOwningEventTarget(GetCurrentEventTarget()),
|
||||
mOwningEventTarget(GetCurrentSerialEventTarget()),
|
||||
mTransactionId(aTransactionId),
|
||||
mHasRunOnce(false) {
|
||||
AssertIsOnBackgroundThread();
|
||||
|
@ -9531,7 +9531,7 @@ Database::Database(SafeRefPtr<Factory> aFactory,
|
|||
mFileHandleDisabled(aFileHandleDisabled),
|
||||
mChromeWriteAccessAllowed(aChromeWriteAccessAllowed),
|
||||
mInPrivateBrowsing(aInPrivateBrowsing),
|
||||
mBackgroundThread(GetCurrentEventTarget())
|
||||
mBackgroundThread(GetCurrentSerialEventTarget())
|
||||
#ifdef DEBUG
|
||||
,
|
||||
mAllBlobsUnmapped(false)
|
||||
|
@ -12932,7 +12932,7 @@ void QuotaClient::StartIdleMaintenance() {
|
|||
return;
|
||||
}
|
||||
|
||||
mBackgroundThread = GetCurrentEventTarget();
|
||||
mBackgroundThread = GetCurrentSerialEventTarget();
|
||||
|
||||
mMaintenanceQueue.EmplaceBack(MakeRefPtr<Maintenance>(this));
|
||||
ProcessMaintenanceQueue();
|
||||
|
@ -13193,7 +13193,7 @@ void QuotaClient::ProcessMaintenanceQueue() {
|
|||
DeleteFilesRunnable::DeleteFilesRunnable(
|
||||
SafeRefPtr<DatabaseFileManager> aFileManager, nsTArray<int64_t>&& aFileIds)
|
||||
: Runnable("dom::indexeddb::DeleteFilesRunnable"),
|
||||
mOwningEventTarget(GetCurrentEventTarget()),
|
||||
mOwningEventTarget(GetCurrentSerialEventTarget()),
|
||||
mFileManager(std::move(aFileManager)),
|
||||
mFileIds(std::move(aFileIds)),
|
||||
mState(State_Initial) {}
|
||||
|
|
|
@ -1187,7 +1187,7 @@ class DatastoreOperationBase : public Runnable {
|
|||
protected:
|
||||
DatastoreOperationBase()
|
||||
: Runnable("dom::DatastoreOperationBase"),
|
||||
mOwningEventTarget(GetCurrentEventTarget()),
|
||||
mOwningEventTarget(GetCurrentSerialEventTarget()),
|
||||
mResultCode(NS_OK),
|
||||
mMayProceedOnNonOwningThread(true),
|
||||
mMayProceed(true) {}
|
||||
|
|
|
@ -153,7 +153,7 @@ class RequestHelper final : public Runnable, public LSRequestChildCallback {
|
|||
RequestHelper(LSObject* aObject, const LSRequestParams& aParams)
|
||||
: Runnable("dom::RequestHelper"),
|
||||
mObject(aObject),
|
||||
mOwningEventTarget(GetCurrentEventTarget()),
|
||||
mOwningEventTarget(GetCurrentSerialEventTarget()),
|
||||
mActor(nullptr),
|
||||
mParams(aParams),
|
||||
mMonitor("dom::RequestHelper::mMonitor"),
|
||||
|
|
|
@ -96,7 +96,7 @@ class AsyncRequestHelper final : public Runnable,
|
|||
const LSRequestParams& aParams)
|
||||
: Runnable("dom::LocalStorageManager2::AsyncRequestHelper"),
|
||||
mManager(aManager),
|
||||
mOwningEventTarget(GetCurrentEventTarget()),
|
||||
mOwningEventTarget(GetCurrentSerialEventTarget()),
|
||||
mActor(nullptr),
|
||||
mPromise(aPromise),
|
||||
mParams(aParams),
|
||||
|
|
|
@ -18,7 +18,8 @@ class DriftCompensatorTest : public ::testing::Test {
|
|||
|
||||
DriftCompensatorTest()
|
||||
: mStart(TimeStamp::Now()),
|
||||
mComp(MakeRefPtr<DriftCompensator>(GetCurrentEventTarget(), mRate)) {
|
||||
mComp(MakeRefPtr<DriftCompensator>(GetCurrentSerialEventTarget(),
|
||||
mRate)) {
|
||||
mComp->NotifyAudioStart(mStart);
|
||||
// NotifyAudioStart dispatched a runnable to update the audio mStart time on
|
||||
// the video thread. Because this is a test, the video thread is the current
|
||||
|
|
|
@ -36,7 +36,7 @@ struct InitParam {
|
|||
class MockDriftCompensator : public DriftCompensator {
|
||||
public:
|
||||
MockDriftCompensator()
|
||||
: DriftCompensator(GetCurrentEventTarget(), VIDEO_TRACK_RATE) {
|
||||
: DriftCompensator(GetCurrentSerialEventTarget(), VIDEO_TRACK_RATE) {
|
||||
ON_CALL(*this, GetVideoTime(_, _))
|
||||
.WillByDefault(Invoke([](TimeStamp, TimeStamp t) { return t; }));
|
||||
}
|
||||
|
|
|
@ -217,7 +217,7 @@ static void CheckSTSThread() {
|
|||
// should be done there.
|
||||
mozilla::ipc::IPCResult UDPSocketParent::RecvConnect(
|
||||
const UDPAddressInfo& aAddressInfo) {
|
||||
nsCOMPtr<nsIEventTarget> target = GetCurrentEventTarget();
|
||||
nsCOMPtr<nsIEventTarget> target = GetCurrentSerialEventTarget();
|
||||
Unused << NS_WARN_IF(NS_FAILED(GetSTSThread()->Dispatch(
|
||||
WrapRunnable(RefPtr<UDPSocketParent>(this), &UDPSocketParent::DoConnect,
|
||||
mSocket, target, aAddressInfo),
|
||||
|
|
|
@ -37,7 +37,7 @@ QuotaChild::QuotaChild(QuotaManagerService* aService)
|
|||
: mService(aService)
|
||||
#ifdef DEBUG
|
||||
,
|
||||
mOwningThread(GetCurrentEventTarget())
|
||||
mOwningThread(GetCurrentSerialEventTarget())
|
||||
#endif
|
||||
{
|
||||
AssertIsOnOwningThread();
|
||||
|
|
|
@ -971,7 +971,7 @@ class ServiceWorkerRegistrarSaveDataRunnable final : public Runnable {
|
|||
ServiceWorkerRegistrarSaveDataRunnable(
|
||||
nsTArray<ServiceWorkerRegistrationData>&& aData, uint32_t aGeneration)
|
||||
: Runnable("dom::ServiceWorkerRegistrarSaveDataRunnable"),
|
||||
mEventTarget(GetCurrentEventTarget()),
|
||||
mEventTarget(GetCurrentSerialEventTarget()),
|
||||
mData(std::move(aData)),
|
||||
mGeneration(aGeneration) {
|
||||
AssertIsOnBackgroundThread();
|
||||
|
|
|
@ -270,7 +270,7 @@ class ConnectionOperationBase : public Runnable,
|
|||
protected:
|
||||
ConnectionOperationBase(Connection* aConnection)
|
||||
: Runnable("dom::ConnectionOperationBase"),
|
||||
mOwningEventTarget(GetCurrentEventTarget()),
|
||||
mOwningEventTarget(GetCurrentSerialEventTarget()),
|
||||
mConnection(aConnection),
|
||||
mResultCode(NS_OK),
|
||||
mOperationMayProceed(true),
|
||||
|
@ -594,7 +594,7 @@ already_AddRefed<mozilla::dom::quota::Client> CreateQuotaClient() {
|
|||
StreamHelper::StreamHelper(nsIFileRandomAccessStream* aFileRandomAccessStream,
|
||||
nsIRunnable* aCallback)
|
||||
: Runnable("dom::StreamHelper"),
|
||||
mOwningEventTarget(GetCurrentEventTarget()),
|
||||
mOwningEventTarget(GetCurrentSerialEventTarget()),
|
||||
mFileRandomAccessStream(aFileRandomAccessStream),
|
||||
mCallback(aCallback) {
|
||||
AssertIsOnBackgroundThread();
|
||||
|
|
|
@ -79,7 +79,7 @@ class StorageDBThread::InitHelper final : public Runnable {
|
|||
public:
|
||||
InitHelper()
|
||||
: Runnable("dom::StorageDBThread::InitHelper"),
|
||||
mOwningThread(GetCurrentEventTarget()),
|
||||
mOwningThread(GetCurrentSerialEventTarget()),
|
||||
mMutex("InitHelper::mMutex"),
|
||||
mCondVar(mMutex, "InitHelper::mCondVar"),
|
||||
mMainThreadResultCode(NS_OK),
|
||||
|
@ -107,7 +107,7 @@ class StorageDBThread::NoteBackgroundThreadRunnable final : public Runnable {
|
|||
explicit NoteBackgroundThreadRunnable(const uint32_t aPrivateBrowsingId)
|
||||
: Runnable("dom::StorageDBThread::NoteBackgroundThreadRunnable"),
|
||||
mPrivateBrowsingId(aPrivateBrowsingId),
|
||||
mOwningThread(GetCurrentEventTarget()) {
|
||||
mOwningThread(GetCurrentSerialEventTarget()) {
|
||||
MOZ_RELEASE_ASSERT(aPrivateBrowsingId < kPrivateBrowsingIdCount);
|
||||
}
|
||||
|
||||
|
|
|
@ -660,7 +660,7 @@ class StorageDBParent::ObserverSink : public StorageObserverSink {
|
|||
|
||||
public:
|
||||
explicit ObserverSink(StorageDBParent* aActor)
|
||||
: mOwningEventTarget(GetCurrentEventTarget()), mActor(aActor) {
|
||||
: mOwningEventTarget(GetCurrentSerialEventTarget()), mActor(aActor) {
|
||||
::mozilla::ipc::AssertIsOnBackgroundThread();
|
||||
MOZ_ASSERT(aActor);
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ void WebTransportParent::Create(
|
|||
return;
|
||||
}
|
||||
|
||||
parent->mOwningEventTarget = GetCurrentEventTarget();
|
||||
parent->mOwningEventTarget = GetCurrentSerialEventTarget();
|
||||
|
||||
MOZ_ASSERT(aPrincipal);
|
||||
nsCOMPtr<nsIURI> uri;
|
||||
|
|
|
@ -19,7 +19,7 @@ using namespace ipc;
|
|||
namespace dom {
|
||||
|
||||
SharedWorkerParent::SharedWorkerParent()
|
||||
: mBackgroundEventTarget(GetCurrentEventTarget()),
|
||||
: mBackgroundEventTarget(GetCurrentSerialEventTarget()),
|
||||
mStatus(eInit),
|
||||
mSuspended(false),
|
||||
mFrozen(false) {
|
||||
|
|
|
@ -37,7 +37,7 @@ class GetOrCreateWorkerManagerRunnable final : public Runnable {
|
|||
uint64_t aWindowID,
|
||||
const MessagePortIdentifier& aPortIdentifier)
|
||||
: Runnable("GetOrCreateWorkerManagerRunnable"),
|
||||
mBackgroundEventTarget(GetCurrentEventTarget()),
|
||||
mBackgroundEventTarget(GetCurrentSerialEventTarget()),
|
||||
mService(aService),
|
||||
mActor(aActor),
|
||||
mData(aData),
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include "mozilla/layers/CompositorThread.h"
|
||||
#include "mozilla/webrender/RenderSharedSurfaceTextureHost.h"
|
||||
#include "mozilla/webrender/RenderThread.h"
|
||||
#include "nsThreadUtils.h" // for GetCurrentEventTarget
|
||||
#include "nsThreadUtils.h" // for GetCurrentSerialEventTarget
|
||||
|
||||
namespace mozilla {
|
||||
namespace layers {
|
||||
|
@ -55,7 +55,7 @@ void SharedSurfacesParent::MappingTracker::NotifyHandlerEnd() {
|
|||
SharedSurfacesParent::SharedSurfacesParent()
|
||||
: mTracker(
|
||||
StaticPrefs::image_mem_shared_unmap_min_expiration_ms_AtStartup(),
|
||||
mozilla::GetCurrentEventTarget()) {}
|
||||
mozilla::GetCurrentSerialEventTarget()) {}
|
||||
|
||||
/* static */
|
||||
void SharedSurfacesParent::Initialize() {
|
||||
|
|
|
@ -44,7 +44,7 @@ class AsyncBlockers {
|
|||
}
|
||||
|
||||
if (aTimeOutInMs > 0) {
|
||||
GetCurrentEventTarget()->DelayedDispatch(
|
||||
GetCurrentSerialEventTarget()->DelayedDispatch(
|
||||
NS_NewRunnableFunction("AsyncBlockers::WaitUntilClear",
|
||||
[promise = mPromise]() {
|
||||
// The AsyncBlockers object may have been
|
||||
|
|
|
@ -99,7 +99,7 @@ nsresult BackgroundFileSaver::Init() {
|
|||
getter_AddRefs(mPipeOutputStream), true, true, 0,
|
||||
HasInfiniteBuffer() ? UINT32_MAX : 0);
|
||||
|
||||
mControlEventTarget = GetCurrentEventTarget();
|
||||
mControlEventTarget = GetCurrentSerialEventTarget();
|
||||
NS_ENSURE_TRUE(mControlEventTarget, NS_ERROR_NOT_INITIALIZED);
|
||||
|
||||
nsresult rv = NS_CreateBackgroundTaskQueue("BgFileSaver",
|
||||
|
|
|
@ -489,7 +489,7 @@ Dashboard::RequestSockets(nsINetDashboardCallback* aCallback) {
|
|||
RefPtr<SocketData> socketData = new SocketData();
|
||||
socketData->mCallback = new nsMainThreadPtrHolder<nsINetDashboardCallback>(
|
||||
"nsINetDashboardCallback", aCallback, true);
|
||||
socketData->mEventTarget = GetCurrentEventTarget();
|
||||
socketData->mEventTarget = GetCurrentSerialEventTarget();
|
||||
|
||||
if (nsIOService::UseSocketProcess()) {
|
||||
if (!gIOService->SocketProcessReady()) {
|
||||
|
@ -579,7 +579,7 @@ Dashboard::RequestHttpConnections(nsINetDashboardCallback* aCallback) {
|
|||
RefPtr<HttpData> httpData = new HttpData();
|
||||
httpData->mCallback = new nsMainThreadPtrHolder<nsINetDashboardCallback>(
|
||||
"nsINetDashboardCallback", aCallback, true);
|
||||
httpData->mEventTarget = GetCurrentEventTarget();
|
||||
httpData->mEventTarget = GetCurrentSerialEventTarget();
|
||||
|
||||
if (nsIOService::UseSocketProcess()) {
|
||||
if (!gIOService->SocketProcessReady()) {
|
||||
|
@ -765,7 +765,7 @@ Dashboard::RequestWebsocketConnections(nsINetDashboardCallback* aCallback) {
|
|||
RefPtr<WebSocketRequest> wsRequest = new WebSocketRequest();
|
||||
wsRequest->mCallback = new nsMainThreadPtrHolder<nsINetDashboardCallback>(
|
||||
"nsINetDashboardCallback", aCallback, true);
|
||||
wsRequest->mEventTarget = GetCurrentEventTarget();
|
||||
wsRequest->mEventTarget = GetCurrentSerialEventTarget();
|
||||
|
||||
wsRequest->mEventTarget->Dispatch(
|
||||
NewRunnableMethod<RefPtr<WebSocketRequest>>(
|
||||
|
@ -818,7 +818,7 @@ Dashboard::RequestDNSInfo(nsINetDashboardCallback* aCallback) {
|
|||
|
||||
nsresult rv;
|
||||
dnsData->mData.Clear();
|
||||
dnsData->mEventTarget = GetCurrentEventTarget();
|
||||
dnsData->mEventTarget = GetCurrentSerialEventTarget();
|
||||
|
||||
if (!mDnsService) {
|
||||
mDnsService = do_GetService("@mozilla.org/network/dns-service;1", &rv);
|
||||
|
@ -940,7 +940,7 @@ Dashboard::RequestDNSLookup(const nsACString& aHost,
|
|||
RefPtr<LookupHelper> helper = new LookupHelper();
|
||||
helper->mCallback = new nsMainThreadPtrHolder<nsINetDashboardCallback>(
|
||||
"nsINetDashboardCallback", aCallback, true);
|
||||
helper->mEventTarget = GetCurrentEventTarget();
|
||||
helper->mEventTarget = GetCurrentSerialEventTarget();
|
||||
OriginAttributes attrs;
|
||||
rv = mDnsService->AsyncResolveNative(
|
||||
aHost, nsIDNSService::RESOLVE_TYPE_DEFAULT,
|
||||
|
@ -964,7 +964,7 @@ Dashboard::RequestDNSHTTPSRRLookup(const nsACString& aHost,
|
|||
RefPtr<LookupHelper> helper = new LookupHelper();
|
||||
helper->mCallback = new nsMainThreadPtrHolder<nsINetDashboardCallback>(
|
||||
"nsINetDashboardCallback", aCallback, true);
|
||||
helper->mEventTarget = GetCurrentEventTarget();
|
||||
helper->mEventTarget = GetCurrentSerialEventTarget();
|
||||
OriginAttributes attrs;
|
||||
rv = mDnsService->AsyncResolveNative(
|
||||
aHost, nsIDNSService::RESOLVE_TYPE_HTTPSSVC,
|
||||
|
@ -976,7 +976,7 @@ Dashboard::RequestDNSHTTPSRRLookup(const nsACString& aHost,
|
|||
NS_IMETHODIMP
|
||||
Dashboard::RequestRcwnStats(nsINetDashboardCallback* aCallback) {
|
||||
RefPtr<RcwnData> rcwnData = new RcwnData();
|
||||
rcwnData->mEventTarget = GetCurrentEventTarget();
|
||||
rcwnData->mEventTarget = GetCurrentSerialEventTarget();
|
||||
rcwnData->mCallback = new nsMainThreadPtrHolder<nsINetDashboardCallback>(
|
||||
"nsINetDashboardCallback", aCallback, true);
|
||||
|
||||
|
@ -1072,7 +1072,7 @@ Dashboard::RequestConnection(const nsACString& aHost, uint32_t aPort,
|
|||
connectionData->mCallback =
|
||||
new nsMainThreadPtrHolder<nsINetDashboardCallback>(
|
||||
"nsINetDashboardCallback", aCallback, true);
|
||||
connectionData->mEventTarget = GetCurrentEventTarget();
|
||||
connectionData->mEventTarget = GetCurrentSerialEventTarget();
|
||||
|
||||
rv = TestNewConnection(connectionData);
|
||||
if (NS_FAILED(rv)) {
|
||||
|
@ -1127,7 +1127,7 @@ nsresult Dashboard::TestNewConnection(ConnectionData* aConnectionData) {
|
|||
}
|
||||
|
||||
rv = connectionData->mSocket->SetEventSink(connectionData,
|
||||
GetCurrentEventTarget());
|
||||
GetCurrentSerialEventTarget());
|
||||
if (NS_FAILED(rv)) {
|
||||
return rv;
|
||||
}
|
||||
|
|
|
@ -245,7 +245,7 @@ bool ProxyAutoConfig::ResolveAddress(const nsACString& aHostName,
|
|||
|
||||
if (NS_FAILED(dns->AsyncResolveNative(
|
||||
aHostName, nsIDNSService::RESOLVE_TYPE_DEFAULT, flags, nullptr,
|
||||
helper, GetCurrentEventTarget(), attrs,
|
||||
helper, GetCurrentSerialEventTarget(), attrs,
|
||||
getter_AddRefs(helper->mRequest)))) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ nsresult nsAsyncRedirectVerifyHelper::Init(
|
|||
mFlags = flags;
|
||||
mCallbackEventTarget = NS_IsMainThread() && mainThreadEventTarget
|
||||
? mainThreadEventTarget
|
||||
: GetCurrentEventTarget();
|
||||
: GetCurrentSerialEventTarget();
|
||||
|
||||
if (!(flags & (nsIChannelEventSink::REDIRECT_INTERNAL |
|
||||
nsIChannelEventSink::REDIRECT_STS_UPGRADE))) {
|
||||
|
|
|
@ -35,7 +35,7 @@ class AsyncApplyBufferingPolicyEvent final : public Runnable {
|
|||
explicit AsyncApplyBufferingPolicyEvent(nsAsyncStreamCopier* aCopier)
|
||||
: mozilla::Runnable("AsyncApplyBufferingPolicyEvent"),
|
||||
mCopier(aCopier),
|
||||
mTarget(GetCurrentEventTarget()) {}
|
||||
mTarget(GetCurrentSerialEventTarget()) {}
|
||||
|
||||
NS_IMETHOD Run() override {
|
||||
nsresult rv = mCopier->ApplyBufferingPolicy();
|
||||
|
|
|
@ -65,7 +65,7 @@ nsresult nsDNSPrefetch::Prefetch(nsIDNSService::DNSFlags 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<nsIEventTarget> target = mozilla::GetCurrentEventTarget();
|
||||
nsCOMPtr<nsIEventTarget> target = mozilla::GetCurrentSerialEventTarget();
|
||||
|
||||
flags |= nsIDNSService::GetFlagsFromTRRMode(mTRRMode);
|
||||
|
||||
|
@ -127,7 +127,7 @@ nsresult nsDNSPrefetch::FetchHTTPSSVC(
|
|||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIEventTarget> target = mozilla::GetCurrentEventTarget();
|
||||
nsCOMPtr<nsIEventTarget> target = mozilla::GetCurrentSerialEventTarget();
|
||||
nsIDNSService::DNSFlags flags = nsIDNSService::GetFlagsFromTRRMode(mTRRMode);
|
||||
if (aRefreshDNS) {
|
||||
flags |= nsIDNSService::RESOLVE_BYPASS_CACHE;
|
||||
|
|
|
@ -353,7 +353,7 @@ nsInputStreamPump::AsyncRead(nsIStreamListener* listener) {
|
|||
if (NS_IsMainThread() && mLabeledMainThreadTarget) {
|
||||
mTargetThread = mLabeledMainThreadTarget;
|
||||
} else {
|
||||
mTargetThread = GetCurrentEventTarget();
|
||||
mTargetThread = mozilla::GetCurrentSerialEventTarget();
|
||||
}
|
||||
NS_ENSURE_STATE(mTargetThread);
|
||||
|
||||
|
|
|
@ -554,9 +554,10 @@ nsresult nsPACMan::LoadPACFromURI(const nsACString& aSpec,
|
|||
if (!mLoadPending) {
|
||||
nsCOMPtr<nsIRunnable> runnable = NewRunnableMethod(
|
||||
"nsPACMan::StartLoading", this, &nsPACMan::StartLoading);
|
||||
nsresult rv = NS_IsMainThread()
|
||||
? Dispatch(runnable.forget())
|
||||
: GetCurrentEventTarget()->Dispatch(runnable.forget());
|
||||
nsresult rv =
|
||||
NS_IsMainThread()
|
||||
? Dispatch(runnable.forget())
|
||||
: GetCurrentSerialEventTarget()->Dispatch(runnable.forget());
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
mLoadPending = true;
|
||||
}
|
||||
|
|
|
@ -457,7 +457,7 @@ class ServerSocketListenerProxy final : public nsIServerSocketListener {
|
|||
explicit ServerSocketListenerProxy(nsIServerSocketListener* aListener)
|
||||
: mListener(new nsMainThreadPtrHolder<nsIServerSocketListener>(
|
||||
"ServerSocketListenerProxy::mListener", aListener)),
|
||||
mTarget(GetCurrentEventTarget()) {}
|
||||
mTarget(GetCurrentSerialEventTarget()) {}
|
||||
|
||||
NS_DECL_THREADSAFE_ISUPPORTS
|
||||
NS_DECL_NSISERVERSOCKETLISTENER
|
||||
|
@ -543,7 +543,7 @@ nsServerSocket::AsyncListen(nsIServerSocketListener* aListener) {
|
|||
{
|
||||
MutexAutoLock lock(mLock);
|
||||
mListener = new ServerSocketListenerProxy(aListener);
|
||||
mListenerTarget = GetCurrentEventTarget();
|
||||
mListenerTarget = GetCurrentSerialEventTarget();
|
||||
}
|
||||
|
||||
// Child classes may need to do additional setup just before listening begins
|
||||
|
|
|
@ -2405,7 +2405,7 @@ NS_IMETHODIMP
|
|||
nsSocketTransport::SetSecurityCallbacks(nsIInterfaceRequestor* callbacks) {
|
||||
nsCOMPtr<nsIInterfaceRequestor> threadsafeCallbacks;
|
||||
NS_NewNotificationCallbacksAggregation(callbacks, nullptr,
|
||||
GetCurrentEventTarget(),
|
||||
GetCurrentSerialEventTarget(),
|
||||
getter_AddRefs(threadsafeCallbacks));
|
||||
MutexAutoLock lock(mLock);
|
||||
mCallbacks = threadsafeCallbacks;
|
||||
|
|
|
@ -375,7 +375,7 @@ class AvailableEvent final : public Runnable {
|
|||
mDoingCallback(false),
|
||||
mSize(0),
|
||||
mResultForCallback(NS_OK) {
|
||||
mCallbackTarget = GetCurrentEventTarget();
|
||||
mCallbackTarget = GetCurrentSerialEventTarget();
|
||||
}
|
||||
|
||||
NS_IMETHOD Run() override {
|
||||
|
|
|
@ -787,7 +787,7 @@ class SocketListenerProxy final : public nsIUDPSocketListener {
|
|||
explicit SocketListenerProxy(nsIUDPSocketListener* aListener)
|
||||
: mListener(new nsMainThreadPtrHolder<nsIUDPSocketListener>(
|
||||
"SocketListenerProxy::mListener", aListener)),
|
||||
mTarget(GetCurrentEventTarget()) {}
|
||||
mTarget(GetCurrentSerialEventTarget()) {}
|
||||
|
||||
NS_DECL_THREADSAFE_ISUPPORTS
|
||||
NS_DECL_NSIUDPSOCKETLISTENER
|
||||
|
@ -879,7 +879,7 @@ class SocketListenerProxyBackground final : public nsIUDPSocketListener {
|
|||
|
||||
public:
|
||||
explicit SocketListenerProxyBackground(nsIUDPSocketListener* aListener)
|
||||
: mListener(aListener), mTarget(GetCurrentEventTarget()) {}
|
||||
: mListener(aListener), mTarget(GetCurrentSerialEventTarget()) {}
|
||||
|
||||
NS_DECL_THREADSAFE_ISUPPORTS
|
||||
NS_DECL_NSIUDPSOCKETLISTENER
|
||||
|
@ -1079,7 +1079,7 @@ nsUDPSocket::AsyncListen(nsIUDPSocketListener* aListener) {
|
|||
NS_ENSURE_TRUE(mSyncListener == nullptr, NS_ERROR_IN_PROGRESS);
|
||||
{
|
||||
MutexAutoLock lock(mLock);
|
||||
mListenerTarget = GetCurrentEventTarget();
|
||||
mListenerTarget = GetCurrentSerialEventTarget();
|
||||
if (NS_IsMainThread()) {
|
||||
// PNecko usage
|
||||
mListener = new SocketListenerProxy(aListener);
|
||||
|
|
|
@ -86,7 +86,7 @@ CacheEntry::Callback::Callback(CacheEntry* aEntry,
|
|||
bool aSecret)
|
||||
: mEntry(aEntry),
|
||||
mCallback(aCallback),
|
||||
mTarget(GetCurrentEventTarget()),
|
||||
mTarget(GetCurrentSerialEventTarget()),
|
||||
mReadOnly(aReadOnly),
|
||||
mRevalidating(false),
|
||||
mCheckOnAnyThread(aCheckOnAnyThread),
|
||||
|
|
|
@ -29,7 +29,7 @@ CachePushChecker::CachePushChecker(nsIURI* aPushedURL,
|
|||
mOriginAttributes(aOriginAttributes),
|
||||
mRequestString(aRequestString),
|
||||
mCallback(std::move(aCallback)),
|
||||
mCurrentEventTarget(GetCurrentEventTarget()) {}
|
||||
mCurrentEventTarget(GetCurrentSerialEventTarget()) {}
|
||||
|
||||
nsresult CachePushChecker::DoCheck() {
|
||||
if (XRE_IsSocketProcess()) {
|
||||
|
|
|
@ -106,7 +106,7 @@ void HTTPSRecordResolver::PrefetchAddrRecord(const nsACString& aTargetName,
|
|||
Unused << dns->AsyncResolveNative(
|
||||
aTargetName, nsIDNSService::RESOLVE_TYPE_DEFAULT,
|
||||
flags | nsIDNSService::RESOLVE_SPECULATE, nullptr, this,
|
||||
GetCurrentEventTarget(),
|
||||
GetCurrentSerialEventTarget(),
|
||||
mTransaction->ConnectionInfo()->GetOriginAttributes(),
|
||||
getter_AddRefs(tmpOutstanding));
|
||||
}
|
||||
|
|
|
@ -392,7 +392,7 @@ nsresult HttpBaseChannel::Init(nsIURI* aURI, uint32_t aCaps,
|
|||
mProxyInfo = aProxyInfo;
|
||||
}
|
||||
|
||||
mCurrentThread = GetCurrentEventTarget();
|
||||
mCurrentThread = GetCurrentSerialEventTarget();
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
|
@ -2845,7 +2845,7 @@ HttpChannelChild::GetDeliveryTarget(nsIEventTarget** aEventTarget) {
|
|||
|
||||
nsCOMPtr<nsIEventTarget> target = mODATarget;
|
||||
if (!mODATarget) {
|
||||
target = GetCurrentEventTarget();
|
||||
target = GetCurrentSerialEventTarget();
|
||||
}
|
||||
target.forget(aEventTarget);
|
||||
return NS_OK;
|
||||
|
|
|
@ -116,7 +116,7 @@ nsresult HttpTransactionChild::InitInternal(
|
|||
|
||||
nsresult rv = mTransaction->Init(
|
||||
caps, cinfo, requestHead, requestBody, requestContentLength,
|
||||
requestBodyHasHeaders, GetCurrentEventTarget(),
|
||||
requestBodyHasHeaders, GetCurrentSerialEventTarget(),
|
||||
nullptr, // TODO: security callback, fix in bug 1512479.
|
||||
this, topLevelOuterContentWindowId,
|
||||
static_cast<HttpTrafficCategory>(httpTrafficCategory), rc, classOfService,
|
||||
|
|
|
@ -101,7 +101,7 @@ nsresult HttpTransactionParent::Init(
|
|||
}
|
||||
|
||||
mEventsink = eventsink;
|
||||
mTargetThread = GetCurrentEventTarget();
|
||||
mTargetThread = GetCurrentSerialEventTarget();
|
||||
mChannelId = channelId;
|
||||
mTransactionObserver = std::move(transactionObserver);
|
||||
mOnPushCallback = std::move(aOnPushCallback);
|
||||
|
|
|
@ -37,7 +37,7 @@ nsresult SpeculativeTransaction::FetchHTTPSRR() {
|
|||
|
||||
RefPtr<HTTPSRecordResolver> resolver = new HTTPSRecordResolver(this);
|
||||
nsCOMPtr<nsICancelable> dnsRequest;
|
||||
return resolver->FetchHTTPSRRInternal(GetCurrentEventTarget(),
|
||||
return resolver->FetchHTTPSRRInternal(GetCurrentSerialEventTarget(),
|
||||
getter_AddRefs(dnsRequest));
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ NS_INTERFACE_MAP_END_INHERITING(HttpBaseChannel)
|
|||
TRRServiceChannel::TRRServiceChannel()
|
||||
: HttpAsyncAborter<TRRServiceChannel>(this),
|
||||
mProxyRequest(nullptr, "TRRServiceChannel::mProxyRequest"),
|
||||
mCurrentEventTarget(GetCurrentEventTarget()) {
|
||||
mCurrentEventTarget(GetCurrentSerialEventTarget()) {
|
||||
LOG(("TRRServiceChannel ctor [this=%p]\n", this));
|
||||
}
|
||||
|
||||
|
|
|
@ -1390,8 +1390,8 @@ nsresult nsHttpChannel::SetupTransaction() {
|
|||
mTransaction->SetIsForWebTransport(mIsForWebTransport);
|
||||
rv = mTransaction->Init(
|
||||
mCaps, mConnectionInfo, &mRequestHead, mUploadStream, mReqContentLength,
|
||||
LoadUploadStreamHasHeaders(), GetCurrentEventTarget(), callbacks, this,
|
||||
mTopBrowsingContextId, category, mRequestContext, mClassOfService,
|
||||
LoadUploadStreamHasHeaders(), GetCurrentSerialEventTarget(), callbacks,
|
||||
this, mTopBrowsingContextId, category, mRequestContext, mClassOfService,
|
||||
mInitialRwin, LoadResponseTimeoutEnabled(), mChannelId,
|
||||
std::move(observer), std::move(pushCallback), mTransWithPushedStream,
|
||||
mPushedStreamId);
|
||||
|
@ -8734,7 +8734,7 @@ void nsHttpChannel::UpdateAggregateCallbacks() {
|
|||
}
|
||||
nsCOMPtr<nsIInterfaceRequestor> callbacks;
|
||||
NS_NewNotificationCallbacksAggregation(mCallbacks, mLoadGroup,
|
||||
GetCurrentEventTarget(),
|
||||
GetCurrentSerialEventTarget(),
|
||||
getter_AddRefs(callbacks));
|
||||
mTransaction->SetSecurityCallbacks(callbacks);
|
||||
}
|
||||
|
|
|
@ -329,7 +329,7 @@ BaseWebSocketChannel::GetDeliveryTarget(nsIEventTarget** aTargetThread) {
|
|||
|
||||
nsCOMPtr<nsIEventTarget> target = GetTargetThread();
|
||||
if (!target) {
|
||||
target = GetCurrentEventTarget();
|
||||
target = GetCurrentSerialEventTarget();
|
||||
}
|
||||
target.forget(aTargetThread);
|
||||
return NS_OK;
|
||||
|
|
|
@ -20,7 +20,8 @@ NS_IMPL_ISUPPORTS0(WebSocketConnectionParent)
|
|||
|
||||
WebSocketConnectionParent::WebSocketConnectionParent(
|
||||
nsIHttpUpgradeListener* aListener)
|
||||
: mUpgradeListener(aListener), mBackgroundThread(GetCurrentEventTarget()) {
|
||||
: mUpgradeListener(aListener),
|
||||
mBackgroundThread(GetCurrentSerialEventTarget()) {
|
||||
LOG(("WebSocketConnectionParent ctor %p\n", this));
|
||||
MOZ_ASSERT(mUpgradeListener);
|
||||
}
|
||||
|
|
|
@ -178,7 +178,9 @@ class WebTransportStreamCallbackWrapper final {
|
|||
|
||||
explicit WebTransportStreamCallbackWrapper(
|
||||
nsIWebTransportStreamCallback* aCallback, bool aBidi)
|
||||
: mCallback(aCallback), mTarget(GetCurrentEventTarget()), mBidi(aBidi) {}
|
||||
: mCallback(aCallback),
|
||||
mTarget(GetCurrentSerialEventTarget()),
|
||||
mBidi(aBidi) {}
|
||||
|
||||
void CallOnError(nsresult aError) {
|
||||
if (!mTarget->IsOnCurrentThread()) {
|
||||
|
|
|
@ -98,7 +98,7 @@ class StatsCallbackWrapper : public nsIWebTransportStreamStatsCallback {
|
|||
NS_DECL_THREADSAFE_ISUPPORTS
|
||||
|
||||
explicit StatsCallbackWrapper(nsIWebTransportStreamStatsCallback* aCallback)
|
||||
: mCallback(aCallback), mTarget(GetCurrentEventTarget()) {}
|
||||
: mCallback(aCallback), mTarget(GetCurrentSerialEventTarget()) {}
|
||||
|
||||
NS_IMETHOD OnSendStatsAvailable(
|
||||
nsIWebTransportSendStreamStats* aStats) override {
|
||||
|
|
|
@ -420,7 +420,7 @@ PRStatus nsSOCKSSocketInfo::StartDNS(PRFileDesc* fd) {
|
|||
nsresult rv = dns->AsyncResolveNative(
|
||||
proxyHost, nsIDNSService::RESOLVE_TYPE_DEFAULT,
|
||||
nsIDNSService::RESOLVE_IGNORE_SOCKS_DNS, nullptr, this,
|
||||
mozilla::GetCurrentEventTarget(), attrs, getter_AddRefs(mLookup));
|
||||
mozilla::GetCurrentSerialEventTarget(), attrs, getter_AddRefs(mLookup));
|
||||
|
||||
if (NS_FAILED(rv)) {
|
||||
LOGERROR(("socks: DNS lookup for SOCKS proxy %s failed", proxyHost.get()));
|
||||
|
|
|
@ -93,7 +93,7 @@ class ChannelEventRunnable final : public ChannelEventWrapper {
|
|||
*****************************************************************************/
|
||||
|
||||
StreamFilterParent::StreamFilterParent()
|
||||
: mMainThread(GetCurrentEventTarget()),
|
||||
: mMainThread(GetCurrentSerialEventTarget()),
|
||||
mIOThread(mMainThread),
|
||||
mQueue(new ChannelEventQueue(static_cast<nsIStreamListener*>(this))),
|
||||
mBufferMutex("StreamFilter buffer mutex"),
|
||||
|
|
|
@ -22,7 +22,7 @@ class nsInterfaceRequestorAgg final : public nsIInterfaceRequestor {
|
|||
nsIEventTarget* aConsumerTarget = nullptr)
|
||||
: mFirst(aFirst), mSecond(aSecond), mConsumerTarget(aConsumerTarget) {
|
||||
if (!mConsumerTarget) {
|
||||
mConsumerTarget = mozilla::GetCurrentEventTarget();
|
||||
mConsumerTarget = mozilla::GetCurrentSerialEventTarget();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -547,16 +547,6 @@ nsAutoLowPriorityIO::~nsAutoLowPriorityIO() {
|
|||
|
||||
namespace mozilla {
|
||||
|
||||
nsIEventTarget* GetCurrentEventTarget() {
|
||||
nsCOMPtr<nsIThread> thread;
|
||||
nsresult rv = NS_GetCurrentThread(getter_AddRefs(thread));
|
||||
if (NS_FAILED(rv)) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
return thread;
|
||||
}
|
||||
|
||||
nsIEventTarget* GetMainThreadEventTarget() {
|
||||
return GetMainThreadSerialEventTarget();
|
||||
}
|
||||
|
|
|
@ -1797,13 +1797,6 @@ class SerialEventTargetGuard {
|
|||
nsISerialEventTarget* mLastCurrentThread;
|
||||
};
|
||||
|
||||
// Returns NS_GetCurrentThread() cast to an nsIEventTarget*
|
||||
//
|
||||
// You probably want GetCurrentSerialEventTarget, not this. This method ignores
|
||||
// TaskQueues and other uses of SerialEventTargetGuard.
|
||||
|
||||
nsIEventTarget* GetCurrentEventTarget();
|
||||
|
||||
// See GetMainThreadSerialEventTarget()
|
||||
|
||||
nsIEventTarget* GetMainThreadEventTarget();
|
||||
|
|
Загрузка…
Ссылка в новой задаче