Index: net/quic/core/quic_crypto_server_stream.cc |
diff --git a/net/quic/core/quic_crypto_server_stream.cc b/net/quic/core/quic_crypto_server_stream.cc |
index 6f434184f4e58f90f5f038134728962ad13b9353..801011b087ac7fac9f85ac38655f08bd05ad5863 100644 |
--- a/net/quic/core/quic_crypto_server_stream.cc |
+++ b/net/quic/core/quic_crypto_server_stream.cc |
@@ -124,9 +124,9 @@ void QuicCryptoServerStream::OnHandshakeMessage( |
} |
void QuicCryptoServerStream::FinishProcessingHandshakeMessage( |
- const ValidateClientHelloResultCallback::Result& result, |
+ scoped_refptr<ValidateClientHelloResultCallback::Result> result, |
std::unique_ptr<ProofSource::Details> details) { |
- const CryptoHandshakeMessage& message = result.client_hello; |
+ const CryptoHandshakeMessage& message = result->client_hello; |
// Clear the callback that got us here. |
DCHECK(validate_client_hello_cb_ != nullptr); |
@@ -380,26 +380,26 @@ bool QuicCryptoServerStream::GetBase64SHA256ClientChannelID( |
} |
QuicErrorCode QuicCryptoServerStream::ProcessClientHello( |
- const ValidateClientHelloResultCallback::Result& result, |
+ scoped_refptr<ValidateClientHelloResultCallback::Result> result, |
std::unique_ptr<ProofSource::Details> proof_source_details, |
CryptoHandshakeMessage* reply, |
DiversificationNonce* out_diversification_nonce, |
string* error_details) { |
- const CryptoHandshakeMessage& message = result.client_hello; |
+ const CryptoHandshakeMessage& message = result->client_hello; |
if (!helper_->CanAcceptClientHello( |
message, session()->connection()->self_address(), error_details)) { |
return QUIC_HANDSHAKE_FAILED; |
} |
- if (!result.info.server_nonce.empty()) { |
+ if (!result->info.server_nonce.empty()) { |
++num_handshake_messages_with_server_nonces_; |
} |
// Store the bandwidth estimate from the client. |
- if (result.cached_network_params.bandwidth_estimate_bytes_per_second() > 0) { |
+ if (result->cached_network_params.bandwidth_estimate_bytes_per_second() > 0) { |
previous_cached_network_params_.reset( |
- new CachedNetworkParameters(result.cached_network_params)); |
+ new CachedNetworkParameters(result->cached_network_params)); |
} |
- previous_source_address_tokens_ = result.info.source_address_tokens; |
+ previous_source_address_tokens_ = result->info.source_address_tokens; |
const bool use_stateless_rejects_in_crypto_config = |
use_stateless_rejects_if_peer_supported_ && |
@@ -429,10 +429,11 @@ void QuicCryptoServerStream::ValidateCallback::Cancel() { |
} |
void QuicCryptoServerStream::ValidateCallback::Run( |
- std::unique_ptr<Result> result, |
+ scoped_refptr<Result> result, |
std::unique_ptr<ProofSource::Details> details) { |
if (parent_ != nullptr) { |
- parent_->FinishProcessingHandshakeMessage(*result, std::move(details)); |
+ parent_->FinishProcessingHandshakeMessage(std::move(result), |
+ std::move(details)); |
} |
} |