Bug 1646358 - Remove unnecessary main thread dispatch, r=dragana

Differential Revision: https://phabricator.services.mozilla.com/D80004
This commit is contained in:
Kershaw Chang 2020-07-14 17:33:12 +00:00
Родитель 3ad0e9d465
Коммит 6b323e0c0d
2 изменённых файлов: 19 добавлений и 8 удалений

Просмотреть файл

@ -110,8 +110,13 @@ nsHttpActivityDistributor::ObserveActivityWithArgs(
}
};
return NS_DispatchToMainThread(NS_NewRunnableFunction(
"net::nsHttpActivityDistributor::ObserveActivityWithArgs", task));
if (!NS_IsMainThread()) {
return NS_DispatchToMainThread(NS_NewRunnableFunction(
"net::nsHttpActivityDistributor::ObserveActivityWithArgs", task));
}
task();
return NS_OK;
}
NS_IMETHODIMP

Просмотреть файл

@ -331,12 +331,18 @@ nsresult nsHttpTransaction::Init(
// report the request header
if (mActivityDistributor) {
rv = mActivityDistributor->ObserveActivityWithArgs(
HttpActivityArgs(mChannelId), NS_HTTP_ACTIVITY_TYPE_HTTP_TRANSACTION,
NS_HTTP_ACTIVITY_SUBTYPE_REQUEST_HEADER, PR_Now(), 0, mReqHeaderBuf);
if (NS_FAILED(rv)) {
LOG3(("ObserveActivity failed (%08x)", static_cast<uint32_t>(rv)));
}
RefPtr<nsHttpTransaction> self = this;
nsCString requestBuf(mReqHeaderBuf);
NS_DispatchToMainThread(
NS_NewRunnableFunction("ObserveActivityWithArgs", [self, requestBuf]() {
nsresult rv = self->mActivityDistributor->ObserveActivityWithArgs(
HttpActivityArgs(self->mChannelId),
NS_HTTP_ACTIVITY_TYPE_HTTP_TRANSACTION,
NS_HTTP_ACTIVITY_SUBTYPE_REQUEST_HEADER, PR_Now(), 0, requestBuf);
if (NS_FAILED(rv)) {
LOG3(("ObserveActivity failed (%08x)", static_cast<uint32_t>(rv)));
}
}));
}
// Create a string stream for the request header buf (the stream holds