зеркало из https://github.com/mozilla/gecko-dev.git
fixes bug 103043 "nsSocketTransport should only fire OnStatus when status
changes" r=bbaetz, sr=mscott
This commit is contained in:
Родитель
0fcd318c44
Коммит
836a737b32
|
@ -156,6 +156,7 @@ nsSocketTransport::nsSocketTransport():
|
|||
mReadWriteState(0),
|
||||
mSelectFlags(0),
|
||||
mStatus(NS_OK),
|
||||
mLastOnStatusMsg(0),
|
||||
mSocketFD(nsnull),
|
||||
mSocketRef(0),
|
||||
mSocketLock(0),
|
||||
|
@ -1841,6 +1842,12 @@ nsSocketTransport::OnStatus(nsSocketRequest *req, nsISupports *ctxt, nsresult me
|
|||
if (!mProgressSink)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
// no reason to report this status message again.
|
||||
if (message == mLastOnStatusMsg)
|
||||
return NS_OK;
|
||||
|
||||
mLastOnStatusMsg = message;
|
||||
|
||||
nsAutoString host; host.AssignWithConversion(mHostName);
|
||||
return mProgressSink->OnStatus(req, ctxt, message, host.get());
|
||||
}
|
||||
|
|
|
@ -264,6 +264,9 @@ protected:
|
|||
PRInt16 mSelectFlags;
|
||||
nsresult mStatus;
|
||||
|
||||
// last status reported via OnStatus (eg. NS_NET_STATUS_RESOLVING_HOST)
|
||||
nsresult mLastOnStatusMsg;
|
||||
|
||||
PRFileDesc* mSocketFD;
|
||||
PRUint32 mSocketRef; // if non-zero, keep the socket open unless there is an error
|
||||
PRUint32 mSocketLock; // if non-zero, do not close the socket even if there is an error
|
||||
|
|
Загрузка…
Ссылка в новой задаче