Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1911)

Side by Side Diff: components/cronet/android/cronet_url_request_context_adapter.cc

Issue 2901093004: Add and persist a new field in AlternativeServiceInfo to list QUIC verisons advertised (Closed)
Patch Set: manually fix rebase issues Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « no previous file | components/grpc_support/test/get_stream_engine.cc » ('j') | net/http/http_server_properties.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698