| Index: net/http/http_server_properties_impl.cc
|
| diff --git a/net/http/http_server_properties_impl.cc b/net/http/http_server_properties_impl.cc
|
| index 77968ff7d6105a653b6f7746fee0713fe7e9a7ad..5abfe2c3ceb0c72f3686b500e6420a07d7ef491a 100644
|
| --- a/net/http/http_server_properties_impl.cc
|
| +++ b/net/http/http_server_properties_impl.cc
|
| @@ -94,9 +94,20 @@ void HttpServerPropertiesImpl::InitializeAlternativeServiceServers(
|
|
|
| void HttpServerPropertiesImpl::InitializeSpdySettingsServers(
|
| SpdySettingsMap* spdy_settings_map) {
|
| + // Add the entries from persisted data.
|
| + SpdySettingsMap new_spdy_settings_map(SpdySettingsMap::NO_AUTO_EVICT);
|
| for (SpdySettingsMap::reverse_iterator it = spdy_settings_map->rbegin();
|
| it != spdy_settings_map->rend(); ++it) {
|
| - spdy_settings_map_.Put(it->first, it->second);
|
| + new_spdy_settings_map.Put(it->first, it->second);
|
| + }
|
| +
|
| + spdy_settings_map_.Swap(new_spdy_settings_map);
|
| +
|
| + // Add the entries from the memory cache.
|
| + for (SpdySettingsMap::reverse_iterator it = new_spdy_settings_map.rbegin();
|
| + it != new_spdy_settings_map.rend(); ++it) {
|
| + if (spdy_settings_map_.Get(it->first) == spdy_settings_map_.end())
|
| + spdy_settings_map_.Put(it->first, it->second);
|
| }
|
| }
|
|
|
|
|