| 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 "net/http/http_server_properties_manager.h" | 5 #include "net/http/http_server_properties_manager.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
| (...skipping 614 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 625 const std::string& server_str, | 625 const std::string& server_str, |
| 626 AlternativeServiceInfo* alternative_service_info) { | 626 AlternativeServiceInfo* alternative_service_info) { |
| 627 // Protocol is mandatory. | 627 // Protocol is mandatory. |
| 628 std::string protocol_str; | 628 std::string protocol_str; |
| 629 if (!alternative_service_dict.GetStringWithoutPathExpansion(kProtocolKey, | 629 if (!alternative_service_dict.GetStringWithoutPathExpansion(kProtocolKey, |
| 630 &protocol_str)) { | 630 &protocol_str)) { |
| 631 DVLOG(1) << "Malformed alternative service protocol string for server: " | 631 DVLOG(1) << "Malformed alternative service protocol string for server: " |
| 632 << server_str; | 632 << server_str; |
| 633 return false; | 633 return false; |
| 634 } | 634 } |
| 635 NextProto protocol = NextProtoFromString(protocol_str); | 635 AlternateProtocol protocol = AlternateProtocolFromString(protocol_str); |
| 636 if (!IsAlternateProtocolValid(protocol)) { | 636 if (!IsAlternateProtocolValid(protocol)) { |
| 637 DVLOG(1) << "Invalid alternative service protocol string for server: " | 637 DVLOG(1) << "Invalid alternative service protocol string for server: " |
| 638 << server_str; | 638 << server_str; |
| 639 return false; | 639 return false; |
| 640 } | 640 } |
| 641 alternative_service_info->alternative_service.protocol = protocol; | 641 alternative_service_info->alternative_service.protocol = protocol; |
| 642 | 642 |
| 643 // Host is optional, defaults to "". | 643 // Host is optional, defaults to "". |
| 644 alternative_service_info->alternative_service.host.clear(); | 644 alternative_service_info->alternative_service.host.clear(); |
| 645 if (alternative_service_dict.HasKey(kHostKey) && | 645 if (alternative_service_dict.HasKey(kHostKey) && |
| (...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1182 const AlternativeService alternative_service = | 1182 const AlternativeService alternative_service = |
| 1183 alternative_service_info.alternative_service; | 1183 alternative_service_info.alternative_service; |
| 1184 DCHECK(IsAlternateProtocolValid(alternative_service.protocol)); | 1184 DCHECK(IsAlternateProtocolValid(alternative_service.protocol)); |
| 1185 std::unique_ptr<base::DictionaryValue> alternative_service_dict( | 1185 std::unique_ptr<base::DictionaryValue> alternative_service_dict( |
| 1186 new base::DictionaryValue); | 1186 new base::DictionaryValue); |
| 1187 alternative_service_dict->SetInteger(kPortKey, alternative_service.port); | 1187 alternative_service_dict->SetInteger(kPortKey, alternative_service.port); |
| 1188 if (!alternative_service.host.empty()) { | 1188 if (!alternative_service.host.empty()) { |
| 1189 alternative_service_dict->SetString(kHostKey, alternative_service.host); | 1189 alternative_service_dict->SetString(kHostKey, alternative_service.host); |
| 1190 } | 1190 } |
| 1191 alternative_service_dict->SetString( | 1191 alternative_service_dict->SetString( |
| 1192 kProtocolKey, NextProtoToString(alternative_service.protocol)); | 1192 kProtocolKey, AlternateProtocolToString(alternative_service.protocol)); |
| 1193 // JSON cannot store int64_t, so expiration is converted to a string. | 1193 // JSON cannot store int64_t, so expiration is converted to a string. |
| 1194 alternative_service_dict->SetString( | 1194 alternative_service_dict->SetString( |
| 1195 kExpirationKey, | 1195 kExpirationKey, |
| 1196 base::Int64ToString( | 1196 base::Int64ToString( |
| 1197 alternative_service_info.expiration.ToInternalValue())); | 1197 alternative_service_info.expiration.ToInternalValue())); |
| 1198 alternative_service_list->Append(std::move(alternative_service_dict)); | 1198 alternative_service_list->Append(std::move(alternative_service_dict)); |
| 1199 } | 1199 } |
| 1200 if (alternative_service_list->GetSize() == 0) | 1200 if (alternative_service_list->GetSize() == 0) |
| 1201 return; | 1201 return; |
| 1202 server_pref_dict->SetWithoutPathExpansion(kAlternativeServiceKey, | 1202 server_pref_dict->SetWithoutPathExpansion(kAlternativeServiceKey, |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1252 quic_servers_dict); | 1252 quic_servers_dict); |
| 1253 } | 1253 } |
| 1254 | 1254 |
| 1255 void HttpServerPropertiesManager::OnHttpServerPropertiesChanged() { | 1255 void HttpServerPropertiesManager::OnHttpServerPropertiesChanged() { |
| 1256 DCHECK(pref_task_runner_->RunsTasksOnCurrentThread()); | 1256 DCHECK(pref_task_runner_->RunsTasksOnCurrentThread()); |
| 1257 if (!setting_prefs_) | 1257 if (!setting_prefs_) |
| 1258 ScheduleUpdateCacheOnPrefThread(); | 1258 ScheduleUpdateCacheOnPrefThread(); |
| 1259 } | 1259 } |
| 1260 | 1260 |
| 1261 } // namespace net | 1261 } // namespace net |
| OLD | NEW |