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 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 AlternativeServiceInfoVector | 194 AlternativeServiceInfoVector |
195 HttpServerPropertiesManager::GetAlternativeServiceInfos( | 195 HttpServerPropertiesManager::GetAlternativeServiceInfos( |
196 const url::SchemeHostPort& origin) { | 196 const url::SchemeHostPort& origin) { |
197 DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); | 197 DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
198 return http_server_properties_impl_->GetAlternativeServiceInfos(origin); | 198 return http_server_properties_impl_->GetAlternativeServiceInfos(origin); |
199 } | 199 } |
200 | 200 |
201 bool HttpServerPropertiesManager::SetAlternativeService( | 201 bool HttpServerPropertiesManager::SetAlternativeService( |
202 const url::SchemeHostPort& origin, | 202 const url::SchemeHostPort& origin, |
203 const AlternativeService& alternative_service, | 203 const AlternativeService& alternative_service, |
204 base::Time expiration) { | 204 base::Time expiration, |
| 205 const QuicVersionVector& advertised_versions) { |
205 DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); | 206 DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
206 const bool changed = http_server_properties_impl_->SetAlternativeService( | 207 const bool changed = http_server_properties_impl_->SetAlternativeService( |
207 origin, alternative_service, expiration); | 208 origin, alternative_service, expiration, advertised_versions); |
208 if (changed) { | 209 if (changed) { |
209 ScheduleUpdatePrefsOnNetworkThread(SET_ALTERNATIVE_SERVICES); | 210 ScheduleUpdatePrefsOnNetworkThread(SET_ALTERNATIVE_SERVICES); |
210 } | 211 } |
211 return changed; | 212 return changed; |
212 } | 213 } |
213 | 214 |
214 bool HttpServerPropertiesManager::SetAlternativeServices( | 215 bool HttpServerPropertiesManager::SetAlternativeServices( |
215 const url::SchemeHostPort& origin, | 216 const url::SchemeHostPort& origin, |
216 const AlternativeServiceInfoVector& alternative_service_info_vector) { | 217 const AlternativeServiceInfoVector& alternative_service_info_vector) { |
217 DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); | 218 DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
622 if (!base::StringToInt64(expiration_string, &expiration_int64)) { | 623 if (!base::StringToInt64(expiration_string, &expiration_int64)) { |
623 DVLOG(1) << "Malformed alternative service expiration for server: " | 624 DVLOG(1) << "Malformed alternative service expiration for server: " |
624 << server_str; | 625 << server_str; |
625 return false; | 626 return false; |
626 } | 627 } |
627 alternative_service_info->expiration = | 628 alternative_service_info->expiration = |
628 base::Time::FromInternalValue(expiration_int64); | 629 base::Time::FromInternalValue(expiration_int64); |
629 return true; | 630 return true; |
630 } | 631 } |
631 | 632 |
| 633 // TODO(zhongyi): add support for reading advertised versions to |
| 634 // AlternativeServiceInfo. |
| 635 |
632 DVLOG(1) << "Malformed alternative service expiration for server: " | 636 DVLOG(1) << "Malformed alternative service expiration for server: " |
633 << server_str; | 637 << server_str; |
634 return false; | 638 return false; |
635 } | 639 } |
636 | 640 |
637 bool HttpServerPropertiesManager::AddToAlternativeServiceMap( | 641 bool HttpServerPropertiesManager::AddToAlternativeServiceMap( |
638 const url::SchemeHostPort& server, | 642 const url::SchemeHostPort& server, |
639 const base::DictionaryValue& server_pref_dict, | 643 const base::DictionaryValue& server_pref_dict, |
640 AlternativeServiceMap* alternative_service_map) { | 644 AlternativeServiceMap* alternative_service_map) { |
641 DCHECK(alternative_service_map->Peek(server) == | 645 DCHECK(alternative_service_map->Peek(server) == |
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1147 if (!setting_prefs_) | 1151 if (!setting_prefs_) |
1148 ScheduleUpdateCacheOnPrefThread(); | 1152 ScheduleUpdateCacheOnPrefThread(); |
1149 } | 1153 } |
1150 | 1154 |
1151 void HttpServerPropertiesManager::SetInitialized() { | 1155 void HttpServerPropertiesManager::SetInitialized() { |
1152 DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); | 1156 DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
1153 is_initialized_ = true; | 1157 is_initialized_ = true; |
1154 } | 1158 } |
1155 | 1159 |
1156 } // namespace net | 1160 } // namespace net |
OLD | NEW |