зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1343600 - add TLS handshake Start/Stop events. r=:valentin
This commit is contained in:
Родитель
d2897810ce
Коммит
29f090a0d6
|
@ -892,13 +892,15 @@ typedef struct
|
|||
#define ERROR(key, val) {key, #key}
|
||||
|
||||
ErrorEntry socketTransportStatuses[] = {
|
||||
ERROR(NS_NET_STATUS_RESOLVING_HOST, FAILURE(3)),
|
||||
ERROR(NS_NET_STATUS_RESOLVED_HOST, FAILURE(11)),
|
||||
ERROR(NS_NET_STATUS_CONNECTING_TO, FAILURE(7)),
|
||||
ERROR(NS_NET_STATUS_CONNECTED_TO, FAILURE(4)),
|
||||
ERROR(NS_NET_STATUS_SENDING_TO, FAILURE(5)),
|
||||
ERROR(NS_NET_STATUS_WAITING_FOR, FAILURE(10)),
|
||||
ERROR(NS_NET_STATUS_RECEIVING_FROM, FAILURE(6)),
|
||||
ERROR(NS_NET_STATUS_RESOLVING_HOST, FAILURE(3)),
|
||||
ERROR(NS_NET_STATUS_RESOLVED_HOST, FAILURE(11)),
|
||||
ERROR(NS_NET_STATUS_CONNECTING_TO, FAILURE(7)),
|
||||
ERROR(NS_NET_STATUS_CONNECTED_TO, FAILURE(4)),
|
||||
ERROR(NS_NET_STATUS_TLS_HANDSHAKE_STARTING, FAILURE(12)),
|
||||
ERROR(NS_NET_STATUS_TLS_HANDSHAKE_ENDED, FAILURE(13)),
|
||||
ERROR(NS_NET_STATUS_SENDING_TO, FAILURE(5)),
|
||||
ERROR(NS_NET_STATUS_WAITING_FOR, FAILURE(10)),
|
||||
ERROR(NS_NET_STATUS_RECEIVING_FROM, FAILURE(6)),
|
||||
};
|
||||
#undef ERROR
|
||||
|
||||
|
|
|
@ -373,6 +373,13 @@ nsHttpConnection::EnsureNPNComplete(nsresult &aOut0RTTWriteHandshakeValue,
|
|||
if (NS_FAILED(rv))
|
||||
goto npnComplete;
|
||||
|
||||
if (!m0RTTChecked) {
|
||||
// We reuse m0RTTChecked. We want to send this status only once.
|
||||
mTransaction->OnTransportStatus(mSocketTransport,
|
||||
NS_NET_STATUS_TLS_HANDSHAKE_STARTING,
|
||||
0);
|
||||
}
|
||||
|
||||
rv = ssl->GetNegotiatedNPN(negotiatedNPN);
|
||||
if (!m0RTTChecked && (rv == NS_ERROR_NOT_CONNECTED) &&
|
||||
!mConnInfo->UsingProxy()) {
|
||||
|
@ -518,6 +525,10 @@ nsHttpConnection::EnsureNPNComplete(nsresult &aOut0RTTWriteHandshakeValue,
|
|||
npnComplete:
|
||||
LOG(("nsHttpConnection::EnsureNPNComplete [this=%p] setting complete to true", this));
|
||||
mNPNComplete = true;
|
||||
|
||||
mTransaction->OnTransportStatus(mSocketTransport,
|
||||
NS_NET_STATUS_TLS_HANDSHAKE_ENDED,
|
||||
0);
|
||||
if (mWaitingFor0RTTResponse) {
|
||||
// Didn't get 0RTT OK, back out of the "attempting 0RTT" state
|
||||
mWaitingFor0RTTResponse = false;
|
||||
|
|
|
@ -604,7 +604,9 @@ nsHttpTransaction::OnTransportStatus(nsITransport* transport,
|
|||
} else if (status == NS_NET_STATUS_CONNECTING_TO) {
|
||||
SetConnectStart(TimeStamp::Now());
|
||||
} else if (status == NS_NET_STATUS_CONNECTED_TO) {
|
||||
SetConnectEnd(TimeStamp::Now());
|
||||
SetConnectEnd(TimeStamp::Now(), true);
|
||||
} else if (status == NS_NET_STATUS_TLS_HANDSHAKE_ENDED) {
|
||||
SetConnectEnd(TimeStamp::Now(), false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -330,13 +330,15 @@
|
|||
ERROR(NS_NET_STATUS_WRITING, FAILURE(9)),
|
||||
|
||||
/* nsISocketTransport */
|
||||
ERROR(NS_NET_STATUS_RESOLVING_HOST, FAILURE(3)),
|
||||
ERROR(NS_NET_STATUS_RESOLVED_HOST, FAILURE(11)),
|
||||
ERROR(NS_NET_STATUS_CONNECTING_TO, FAILURE(7)),
|
||||
ERROR(NS_NET_STATUS_CONNECTED_TO, FAILURE(4)),
|
||||
ERROR(NS_NET_STATUS_SENDING_TO, FAILURE(5)),
|
||||
ERROR(NS_NET_STATUS_WAITING_FOR, FAILURE(10)),
|
||||
ERROR(NS_NET_STATUS_RECEIVING_FROM, FAILURE(6)),
|
||||
ERROR(NS_NET_STATUS_RESOLVING_HOST, FAILURE(3)),
|
||||
ERROR(NS_NET_STATUS_RESOLVED_HOST, FAILURE(11)),
|
||||
ERROR(NS_NET_STATUS_CONNECTING_TO, FAILURE(7)),
|
||||
ERROR(NS_NET_STATUS_CONNECTED_TO, FAILURE(4)),
|
||||
ERROR(NS_NET_STATUS_TLS_HANDSHAKE_STARTING, FAILURE(12)),
|
||||
ERROR(NS_NET_STATUS_TLS_HANDSHAKE_ENDED, FAILURE(13)),
|
||||
ERROR(NS_NET_STATUS_SENDING_TO, FAILURE(5)),
|
||||
ERROR(NS_NET_STATUS_WAITING_FOR, FAILURE(10)),
|
||||
ERROR(NS_NET_STATUS_RECEIVING_FROM, FAILURE(6)),
|
||||
|
||||
/* nsIInterceptedChannel */
|
||||
/* Generic error for non-specific failures during service worker interception */
|
||||
|
|
Загрузка…
Ссылка в новой задаче