OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/cronet/android/cronet_url_request_context_adapter.h" | 5 #include "components/cronet/android/cronet_url_request_context_adapter.h" |
6 | 6 |
7 #include <limits.h> | 7 #include <limits.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
57 #include "net/cookies/cookie_monster.h" | 57 #include "net/cookies/cookie_monster.h" |
58 #include "net/http/http_auth_handler_factory.h" | 58 #include "net/http/http_auth_handler_factory.h" |
59 #include "net/http/http_server_properties_manager.h" | 59 #include "net/http/http_server_properties_manager.h" |
60 #include "net/log/file_net_log_observer.h" | 60 #include "net/log/file_net_log_observer.h" |
61 #include "net/log/net_log_util.h" | 61 #include "net/log/net_log_util.h" |
62 #include "net/nqe/external_estimate_provider.h" | 62 #include "net/nqe/external_estimate_provider.h" |
63 #include "net/nqe/network_qualities_prefs_manager.h" | 63 #include "net/nqe/network_qualities_prefs_manager.h" |
64 #include "net/nqe/network_quality_estimator_params.h" | 64 #include "net/nqe/network_quality_estimator_params.h" |
65 #include "net/proxy/proxy_config_service_android.h" | 65 #include "net/proxy/proxy_config_service_android.h" |
66 #include "net/proxy/proxy_service.h" | 66 #include "net/proxy/proxy_service.h" |
67 #include "net/quic/core/quic_versions.h" | |
67 #include "net/sdch/sdch_owner.h" | 68 #include "net/sdch/sdch_owner.h" |
68 #include "net/ssl/channel_id_service.h" | 69 #include "net/ssl/channel_id_service.h" |
69 #include "net/url_request/url_request_context.h" | 70 #include "net/url_request/url_request_context.h" |
70 #include "net/url_request/url_request_context_builder.h" | 71 #include "net/url_request/url_request_context_builder.h" |
71 #include "net/url_request/url_request_interceptor.h" | 72 #include "net/url_request/url_request_interceptor.h" |
72 | 73 |
73 using base::android::JavaParamRef; | 74 using base::android::JavaParamRef; |
74 using base::android::ScopedJavaLocalRef; | 75 using base::android::ScopedJavaLocalRef; |
75 | 76 |
76 namespace { | 77 namespace { |
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
757 if (quic_hint.alternate_port <= std::numeric_limits<uint16_t>::min() || | 758 if (quic_hint.alternate_port <= std::numeric_limits<uint16_t>::min() || |
758 quic_hint.alternate_port > std::numeric_limits<uint16_t>::max()) { | 759 quic_hint.alternate_port > std::numeric_limits<uint16_t>::max()) { |
759 LOG(ERROR) << "Invalid QUIC hint alternate port: " | 760 LOG(ERROR) << "Invalid QUIC hint alternate port: " |
760 << quic_hint.alternate_port; | 761 << quic_hint.alternate_port; |
761 continue; | 762 continue; |
762 } | 763 } |
763 | 764 |
764 url::SchemeHostPort quic_server("https", canon_host, quic_hint.port); | 765 url::SchemeHostPort quic_server("https", canon_host, quic_hint.port); |
765 net::AlternativeService alternative_service( | 766 net::AlternativeService alternative_service( |
766 net::kProtoQUIC, "", static_cast<uint16_t>(quic_hint.alternate_port)); | 767 net::kProtoQUIC, "", static_cast<uint16_t>(quic_hint.alternate_port)); |
768 QuicVersionVector advertised_versions; | |
769 HttpNetworkSession::Params* params = context_->GetNetworkSessionParams(); | |
770 if (params) { | |
771 advertised_versions = params->quic_supported_versions; | |
772 } else { | |
773 advertised_versions = CurrentSupportedVersions(); | |
xunjieli
2017/06/09 16:41:55
suggestion for a follow-up:
Consider add a prefix/
Zhongyi Shi
2017/06/16 00:24:04
Will do in a follow-up CL. Since this method is in
| |
774 } | |
775 | |
767 context_->http_server_properties()->SetAlternativeService( | 776 context_->http_server_properties()->SetAlternativeService( |
768 quic_server, alternative_service, base::Time::Max()); | 777 quic_server, alternative_service, base::Time::Max(), |
778 advertised_versions); | |
769 } | 779 } |
770 } | 780 } |
771 | 781 |
772 // If there is a cert_verifier, then populate its cache with | 782 // If there is a cert_verifier, then populate its cache with |
773 // |cert_verifier_data|. | 783 // |cert_verifier_data|. |
774 if (!config->cert_verifier_data.empty() && context_->cert_verifier()) { | 784 if (!config->cert_verifier_data.empty() && context_->cert_verifier()) { |
775 SCOPED_UMA_HISTOGRAM_TIMER("Net.Cronet.CertVerifierCache.DeserializeTime"); | 785 SCOPED_UMA_HISTOGRAM_TIMER("Net.Cronet.CertVerifierCache.DeserializeTime"); |
776 std::string data; | 786 std::string data; |
777 cronet_pb::CertVerificationCache cert_verification_cache; | 787 cronet_pb::CertVerificationCache cert_verification_cache; |
778 if (base::Base64Decode(config->cert_verifier_data, &data) && | 788 if (base::Base64Decode(config->cert_verifier_data, &data) && |
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1177 JNIEnv* env, | 1187 JNIEnv* env, |
1178 const JavaParamRef<jclass>& jcaller) { | 1188 const JavaParamRef<jclass>& jcaller) { |
1179 DCHECK(base::StatisticsRecorder::IsActive()); | 1189 DCHECK(base::StatisticsRecorder::IsActive()); |
1180 std::vector<uint8_t> data; | 1190 std::vector<uint8_t> data; |
1181 if (!HistogramManager::GetInstance()->GetDeltas(&data)) | 1191 if (!HistogramManager::GetInstance()->GetDeltas(&data)) |
1182 return ScopedJavaLocalRef<jbyteArray>(); | 1192 return ScopedJavaLocalRef<jbyteArray>(); |
1183 return base::android::ToJavaByteArray(env, &data[0], data.size()); | 1193 return base::android::ToJavaByteArray(env, &data[0], data.size()); |
1184 } | 1194 } |
1185 | 1195 |
1186 } // namespace cronet | 1196 } // namespace cronet |
OLD | NEW |