diff options
author | Moonchild <moonchild@palemoon.org> | 2020-12-16 15:36:19 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2020-12-16 15:36:19 +0000 |
commit | 8500ebf53216c6a637b98f5398208a70f1d15a8b (patch) | |
tree | c9df92a94c623914718960df98f6f5e58a30503c | |
parent | 408477a87aefbe3a972dfd66fcf907a09c4e7ac6 (diff) | |
parent | 0187d3e4e78fd565c6021f6397e53585b78000c4 (diff) | |
download | UXP-8500ebf53216c6a637b98f5398208a70f1d15a8b.tar UXP-8500ebf53216c6a637b98f5398208a70f1d15a8b.tar.gz UXP-8500ebf53216c6a637b98f5398208a70f1d15a8b.tar.lz UXP-8500ebf53216c6a637b98f5398208a70f1d15a8b.tar.xz UXP-8500ebf53216c6a637b98f5398208a70f1d15a8b.zip |
Merge pull request 'Reinstate the performance timing code removed in error' (#1698) from adesh/UXP:fix-performace-api into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1698
-rw-r--r-- | netwerk/base/nsLoadGroup.cpp | 13 | ||||
-rw-r--r-- | netwerk/base/nsLoadGroup.h | 4 |
2 files changed, 17 insertions, 0 deletions
diff --git a/netwerk/base/nsLoadGroup.cpp b/netwerk/base/nsLoadGroup.cpp index c30f7ade8..5f81cb091 100644 --- a/netwerk/base/nsLoadGroup.cpp +++ b/netwerk/base/nsLoadGroup.cpp @@ -107,6 +107,9 @@ nsLoadGroup::nsLoadGroup(nsISupports* outer) , mStatus(NS_OK) , mPriority(PRIORITY_NORMAL) , mIsCanceling(false) + , mDefaultLoadIsTimed(false) + , mTimedRequests(0) + , mCachedRequests(0) , mTimedNonCachedRequestsUntilOnEndPageLoad(0) { NS_INIT_AGGREGATED(outer); @@ -427,6 +430,12 @@ nsLoadGroup::SetDefaultLoadRequest(nsIRequest *aRequest) // in particular, nsIChannel::LOAD_DOCUMENT_URI... // mLoadFlags &= nsIRequest::LOAD_REQUESTMASK; + + nsCOMPtr<nsITimedChannel> timedChannel = do_QueryInterface(aRequest); + mDefaultLoadIsTimed = timedChannel != nullptr; + if (mDefaultLoadIsTimed) { + timedChannel->SetTimingEnabled(true); + } } // Else, do not change the group's load flags (see bug 95981) return NS_OK; @@ -481,6 +490,10 @@ nsLoadGroup::AddRequest(nsIRequest *request, nsISupports* ctxt) if (mPriority != 0) RescheduleRequest(request, mPriority); + nsCOMPtr<nsITimedChannel> timedChannel = do_QueryInterface(request); + if (timedChannel) + timedChannel->SetTimingEnabled(true); + if (!(flags & nsIRequest::LOAD_BACKGROUND)) { // Update the count of foreground URIs.. mForegroundCount += 1; diff --git a/netwerk/base/nsLoadGroup.h b/netwerk/base/nsLoadGroup.h index 9b5e70868..1af84977d 100644 --- a/netwerk/base/nsLoadGroup.h +++ b/netwerk/base/nsLoadGroup.h @@ -82,6 +82,10 @@ protected: int32_t mPriority; bool mIsCanceling; + bool mDefaultLoadIsTimed; + uint32_t mTimedRequests; + uint32_t mCachedRequests; + /* For nsPILoadGroupInternal */ uint32_t mTimedNonCachedRequestsUntilOnEndPageLoad; }; |