| Index: net/http/http_stream_factory.cc
 | 
| diff --git a/net/http/http_stream_factory.cc b/net/http/http_stream_factory.cc
 | 
| index 2c7eed610948b07a67249626b36baebbdd9c03dd..4c21ffcef890c2565ee561e7c357f085483c9588 100644
 | 
| --- a/net/http/http_stream_factory.cc
 | 
| +++ b/net/http/http_stream_factory.cc
 | 
| @@ -51,19 +51,17 @@ void HttpStreamFactory::ProcessAlternativeServices(
 | 
|          !IsPortValid(alternative_service_entry.port)) {
 | 
|        continue;
 | 
|      }
 | 
| -    // Check if QUIC version is supported.
 | 
| +    // Check if QUIC version is supported. Filter supported QUIC versions.
 | 
| +    QuicVersionVector advertised_versions;
 | 
|      if (protocol == kProtoQUIC && !alternative_service_entry.version.empty()) {
 | 
|        bool match_found = false;
 | 
|        for (QuicVersion supported : session->params().quic_supported_versions) {
 | 
|          for (uint16_t advertised : alternative_service_entry.version) {
 | 
|            if (supported == advertised) {
 | 
|              match_found = true;
 | 
| -            break;
 | 
| +            advertised_versions.push_back(supported);
 | 
|            }
 | 
|          }
 | 
| -        if (match_found) {
 | 
| -          break;
 | 
| -        }
 | 
|        }
 | 
|        if (!match_found) {
 | 
|          continue;
 | 
| @@ -75,8 +73,16 @@ void HttpStreamFactory::ProcessAlternativeServices(
 | 
|      base::Time expiration =
 | 
|          base::Time::Now() +
 | 
|          base::TimeDelta::FromSeconds(alternative_service_entry.max_age);
 | 
| -    AlternativeServiceInfo alternative_service_info(alternative_service,
 | 
| -                                                    expiration);
 | 
| +    AlternativeServiceInfo alternative_service_info;
 | 
| +    if (protocol == kProtoQUIC) {
 | 
| +      alternative_service_info =
 | 
| +          AlternativeServiceInfo::CreateQuicAlternativeServiceInfo(
 | 
| +              alternative_service, expiration, advertised_versions);
 | 
| +    } else {
 | 
| +      alternative_service_info =
 | 
| +          AlternativeServiceInfo::CreateHttp2AlternativeServiceInfo(
 | 
| +              alternative_service, expiration);
 | 
| +    }
 | 
|      alternative_service_info_vector.push_back(alternative_service_info);
 | 
|    }
 | 
|  
 | 
| 
 |