| 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 4140e1d6e35ae5dd9ed1ad236a66779aee6d4fcf..aefae2bb16789ec5608d5b53fe1a23cf9c6aebbc 100644
|
| --- a/net/http/http_server_properties_impl.cc
|
| +++ b/net/http/http_server_properties_impl.cc
|
| @@ -20,17 +20,26 @@
|
|
|
| namespace net {
|
|
|
| +HttpServerPropertiesImpl::HttpServerPropertiesImpl(base::TickClock* clock)
|
| + : spdy_servers_map_(SpdyServersMap::NO_AUTO_EVICT),
|
| + alternative_service_map_(AlternativeServiceMap::NO_AUTO_EVICT),
|
| + broken_alternative_services_(this, clock),
|
| + server_network_stats_map_(ServerNetworkStatsMap::NO_AUTO_EVICT),
|
| + quic_server_info_map_(QuicServerInfoMap::NO_AUTO_EVICT),
|
| + max_server_configs_stored_in_properties_(kMaxQuicServersToPersist) {
|
| + canonical_suffixes_.push_back(".ggpht.com");
|
| + canonical_suffixes_.push_back(".c.youtube.com");
|
| + canonical_suffixes_.push_back(".googlevideo.com");
|
| + canonical_suffixes_.push_back(".googleusercontent.com");
|
| +}
|
| +
|
| +// Can't just call delegate constructor
|
| +// HttpServerPropertiesImpl(&default_clock_) due to UBSan; |default_clock_|'s
|
| +// lifetime would not have begun yet.
|
| HttpServerPropertiesImpl::HttpServerPropertiesImpl()
|
| - : HttpServerPropertiesImpl(nullptr) {}
|
| -
|
| -HttpServerPropertiesImpl::HttpServerPropertiesImpl(
|
| - base::TickClock* broken_alternative_services_clock)
|
| - : broken_alternative_services_(this,
|
| - broken_alternative_services_clock
|
| - ? broken_alternative_services_clock
|
| - : &broken_alternative_services_clock_),
|
| - spdy_servers_map_(SpdyServersMap::NO_AUTO_EVICT),
|
| + : spdy_servers_map_(SpdyServersMap::NO_AUTO_EVICT),
|
| alternative_service_map_(AlternativeServiceMap::NO_AUTO_EVICT),
|
| + broken_alternative_services_(this, &default_clock_),
|
| server_network_stats_map_(ServerNetworkStatsMap::NO_AUTO_EVICT),
|
| quic_server_info_map_(QuicServerInfoMap::NO_AUTO_EVICT),
|
| max_server_configs_stored_in_properties_(kMaxQuicServersToPersist) {
|
| @@ -200,6 +209,26 @@ void HttpServerPropertiesImpl::GetSpdyServerList(
|
| }
|
| }
|
|
|
| +void HttpServerPropertiesImpl::SetBrokenAndRecentlyBrokenAlternativeServices(
|
| + std::unique_ptr<BrokenAlternativeServiceList>
|
| + broken_alternative_service_list,
|
| + std::unique_ptr<RecentlyBrokenAlternativeServices>
|
| + recently_broken_alternative_services) {
|
| + broken_alternative_services_.SetBrokenAndRecentlyBrokenAlternativeServices(
|
| + std::move(broken_alternative_service_list),
|
| + std::move(recently_broken_alternative_services));
|
| +}
|
| +
|
| +const BrokenAlternativeServiceList&
|
| +HttpServerPropertiesImpl::broken_alternative_service_list() const {
|
| + return broken_alternative_services_.broken_alternative_service_list();
|
| +}
|
| +
|
| +const RecentlyBrokenAlternativeServices&
|
| +HttpServerPropertiesImpl::recently_broken_alternative_services() const {
|
| + return broken_alternative_services_.recently_broken_alternative_services();
|
| +}
|
| +
|
| void HttpServerPropertiesImpl::Clear() {
|
| DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
|
| spdy_servers_map_.Clear();
|
|
|