Index: net/http/http_server_properties_manager.cc |
diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_properties_manager.cc |
index 6a4aaaaf62691584e548501b3982f8b24ac08b47..7cd2baa503ea34dd5a43d4a70389c605b6e5fb3f 100644 |
--- a/net/http/http_server_properties_manager.cc |
+++ b/net/http/http_server_properties_manager.cc |
@@ -519,10 +519,9 @@ void HttpServerPropertiesManager::UpdateCacheFromPrefsOnPrefSequence() { |
base::Bind( |
&HttpServerPropertiesManager::UpdateCacheFromPrefsOnNetworkSequence, |
base::Unretained(this), base::Owned(spdy_servers.release()), |
- base::Owned(alternative_service_map.release()), base::Owned(addr), |
- base::Owned(server_network_stats_map.release()), |
- base::Owned(quic_server_info_map.release()), |
- detected_corrupted_prefs)); |
+ base::Passed(&alternative_service_map), base::Owned(addr), |
+ base::Passed(&server_network_stats_map), |
+ base::Passed(&quic_server_info_map), detected_corrupted_prefs)); |
} |
bool HttpServerPropertiesManager::AddServersData( |
@@ -775,11 +774,11 @@ bool HttpServerPropertiesManager::AddToQuicServerInfoMap( |
} |
void HttpServerPropertiesManager::UpdateCacheFromPrefsOnNetworkSequence( |
- ServerList* spdy_servers, |
- AlternativeServiceMap* alternative_service_map, |
- IPAddress* last_quic_address, |
- ServerNetworkStatsMap* server_network_stats_map, |
- QuicServerInfoMap* quic_server_info_map, |
+ const ServerList* spdy_servers, |
+ std::unique_ptr<AlternativeServiceMap> alternative_service_map, |
+ const IPAddress* last_quic_address, |
+ std::unique_ptr<ServerNetworkStatsMap> server_network_stats_map, |
+ std::unique_ptr<QuicServerInfoMap> quic_server_info_map, |
bool detected_corrupted_prefs) { |
// Preferences have the master data because admins might have pushed new |
// preferences. Update the cached data with new data from preferences. |
@@ -793,16 +792,18 @@ void HttpServerPropertiesManager::UpdateCacheFromPrefsOnNetworkSequence( |
UMA_HISTOGRAM_COUNTS("Net.CountOfAlternateProtocolServers", |
alternative_service_map->size()); |
http_server_properties_impl_->SetAlternativeServiceServers( |
- alternative_service_map); |
+ std::move(alternative_service_map)); |
http_server_properties_impl_->SetSupportsQuic(last_quic_address); |
- http_server_properties_impl_->SetServerNetworkStats(server_network_stats_map); |
+ http_server_properties_impl_->SetServerNetworkStats( |
+ std::move(server_network_stats_map)); |
UMA_HISTOGRAM_COUNTS_1000("Net.CountOfQuicServerInfos", |
quic_server_info_map->size()); |
- http_server_properties_impl_->SetQuicServerInfoMap(quic_server_info_map); |
+ http_server_properties_impl_->SetQuicServerInfoMap( |
+ std::move(quic_server_info_map)); |
// Update the prefs with what we have read (delete all corrupted prefs). |
if (detected_corrupted_prefs) |
@@ -838,9 +839,9 @@ void HttpServerPropertiesManager::UpdatePrefsFromCacheOnNetworkSequence( |
DCHECK(network_task_runner_->RunsTasksInCurrentSequence()); |
// It is in MRU order. |
- base::ListValue* spdy_server_list = new base::ListValue; |
- http_server_properties_impl_->GetSpdyServerList( |
- spdy_server_list, kMaxSupportsSpdyServerHostsToPersist); |
+ std::unique_ptr<ServerList> spdy_servers = base::MakeUnique<ServerList>(); |
+ http_server_properties_impl_->GetSpdyServers( |
+ spdy_servers.get(), kMaxSupportsSpdyServerHostsToPersist); |
Ryan Hamilton
2017/06/20 18:25:56
it's a bit odd that GetSpdyServers takes a vector<
wangyix1
2017/06/21 18:45:33
Done.
|
AlternativeServiceMap* alternative_service_map = |
new AlternativeServiceMap(kMaxAlternateProtocolHostsToPersist); |
@@ -922,7 +923,7 @@ void HttpServerPropertiesManager::UpdatePrefsFromCacheOnNetworkSequence( |
FROM_HERE, |
base::Bind( |
&HttpServerPropertiesManager::UpdatePrefsOnPrefThread, pref_weak_ptr_, |
- base::Owned(spdy_server_list), base::Owned(alternative_service_map), |
+ base::Passed(&spdy_servers), base::Owned(alternative_service_map), |
base::Owned(last_quic_addr), base::Owned(server_network_stats_map), |
base::Owned(quic_server_info_map), completion)); |
} |
@@ -957,7 +958,7 @@ struct ServerPref { |
// All maps and lists are in MRU order. |
void HttpServerPropertiesManager::UpdatePrefsOnPrefThread( |
- base::ListValue* spdy_server_list, |
+ std::unique_ptr<ServerList> spdy_servers, |
AlternativeServiceMap* alternative_service_map, |
IPAddress* last_quic_address, |
ServerNetworkStatsMap* server_network_stats_map, |
@@ -969,18 +970,15 @@ void HttpServerPropertiesManager::UpdatePrefsOnPrefThread( |
DCHECK(pref_task_runner_->RunsTasksInCurrentSequence()); |
// Add servers that support spdy to server_pref_map in the MRU order. |
- for (size_t index = spdy_server_list->GetSize(); index > 0; --index) { |
- std::string server_str; |
- if (spdy_server_list->GetString(index - 1, &server_str)) { |
- url::SchemeHostPort server((GURL(server_str))); |
- ServerPrefMap::iterator it = server_pref_map.Get(server); |
- if (it == server_pref_map.end()) { |
- ServerPref server_pref; |
- server_pref.supports_spdy = true; |
- server_pref_map.Put(server, server_pref); |
- } else { |
- it->second.supports_spdy = true; |
- } |
+ for (size_t i = spdy_servers->size(); i > 0; --i) { |
+ url::SchemeHostPort server((GURL(spdy_servers->at(i - 1)))); |
+ ServerPrefMap::iterator it = server_pref_map.Get(server); |
+ if (it == server_pref_map.end()) { |
+ ServerPref server_pref; |
+ server_pref.supports_spdy = true; |
+ server_pref_map.Put(server, server_pref); |
+ } else { |
+ it->second.supports_spdy = true; |
} |
} |