mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 04:45:45 +00:00
Bug 166428: "Sending request..." or "Transferring from..." reappearing after "Done" in status bar. r=darin, sr=jst, a=sspitzer
This commit is contained in:
parent
0b41915101
commit
3f57466f0c
@ -136,14 +136,8 @@ nsBrowserStatusFilter::OnStateChange(nsIWebProgress *aWebProgress,
|
||||
if (aStateFlags & STATE_IS_REQUEST) {
|
||||
++mFinishedRequests;
|
||||
if (!mUseRealProgressFlag && mTotalRequests)
|
||||
return OnProgressChange(nsnull, nsnull, 0, 0, mFinishedRequests, mTotalRequests);
|
||||
}
|
||||
if (aStateFlags & STATE_IS_NETWORK) {
|
||||
if (mTimer) {
|
||||
ProcessTimeout();
|
||||
mTimer->Cancel();
|
||||
mTimer = nsnull;
|
||||
}
|
||||
return OnProgressChange(nsnull, nsnull, 0, 0,
|
||||
mFinishedRequests, mTotalRequests);
|
||||
}
|
||||
}
|
||||
else if (aStateFlags & STATE_TRANSFERRING) {
|
||||
@ -171,15 +165,21 @@ nsBrowserStatusFilter::OnStateChange(nsIWebProgress *aWebProgress,
|
||||
// If we're here, we have either STATE_START or STATE_STOP. The
|
||||
// listener only cares about these in certain conditions.
|
||||
PRBool isLoadingDocument = PR_FALSE;
|
||||
if (! (aStateFlags & nsIWebProgressListener::STATE_IS_NETWORK ||
|
||||
(aStateFlags & nsIWebProgressListener::STATE_IS_REQUEST &&
|
||||
mTotalRequests == mFinishedRequests &&
|
||||
(aWebProgress->GetIsLoadingDocument(&isLoadingDocument),
|
||||
!isLoadingDocument))))
|
||||
return NS_OK;
|
||||
if ((aStateFlags & nsIWebProgressListener::STATE_IS_NETWORK ||
|
||||
(aStateFlags & nsIWebProgressListener::STATE_IS_REQUEST &&
|
||||
mFinishedRequests == mTotalRequests &&
|
||||
(aWebProgress->GetIsLoadingDocument(&isLoadingDocument),
|
||||
!isLoadingDocument)))) {
|
||||
if (mTimer && (aStateFlags & nsIWebProgressListener::STATE_STOP)) {
|
||||
mTimer->Cancel();
|
||||
ProcessTimeout();
|
||||
}
|
||||
|
||||
return mListener->OnStateChange(aWebProgress, aRequest, aStateFlags,
|
||||
aStatus);
|
||||
}
|
||||
|
||||
return mListener->OnStateChange(aWebProgress, aRequest, aStateFlags, aStatus);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -286,6 +286,8 @@ nsBrowserStatusFilter::StartDelayTimer()
|
||||
void
|
||||
nsBrowserStatusFilter::ProcessTimeout()
|
||||
{
|
||||
mTimer = nsnull;
|
||||
|
||||
if (!mListener)
|
||||
return;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user