| Index: net/http/broken_alternative_services.cc
|
| diff --git a/net/http/broken_alternative_services.cc b/net/http/broken_alternative_services.cc
|
| index 5e2d88d387193362f3bcb9c82fed3b8e3ced1061..5b32252896729f49a525a2a46f93293cbecb52dc 100644
|
| --- a/net/http/broken_alternative_services.cc
|
| +++ b/net/http/broken_alternative_services.cc
|
| @@ -114,16 +114,6 @@ void BrokenAlternativeServices::ConfirmAlternativeService(
|
| }
|
| }
|
|
|
| -const BrokenAlternativeServiceList&
|
| -BrokenAlternativeServices::broken_alternative_service_list() const {
|
| - return broken_alternative_service_list_;
|
| -}
|
| -
|
| -const RecentlyBrokenAlternativeServices&
|
| -BrokenAlternativeServices::recently_broken_alternative_services() const {
|
| - return recently_broken_alternative_services_;
|
| -}
|
| -
|
| void BrokenAlternativeServices::SetBrokenAndRecentlyBrokenAlternativeServices(
|
| std::unique_ptr<BrokenAlternativeServiceList>
|
| broken_alternative_service_list,
|
| @@ -177,13 +167,14 @@ void BrokenAlternativeServices::SetBrokenAndRecentlyBrokenAlternativeServices(
|
| }
|
| }
|
|
|
| - // Merge |broken_alternative_service_list| with
|
| - // |broken_alternative_service_list_|. Both should already be sorted by
|
| - // expiration time. std::list::merge() will not invalidate any iterators
|
| - // of either list, so all iterators in |broken_alternative_service_map_|
|
| - // remain valid.
|
| - broken_alternative_service_list_.merge(
|
| - *broken_alternative_service_list,
|
| + // Append |broken_alternative_service_list| to
|
| + // |broken_alternative_service_list_|, then sort the resulting list.
|
| + // Neither operations will invalidate any iterators of either list,
|
| + // so all iterators in |broken_alternative_service_map_| remain valid.
|
| + broken_alternative_service_list_.splice(
|
| + broken_alternative_service_list_.end(), *broken_alternative_service_list);
|
| +
|
| + broken_alternative_service_list_.sort(
|
| [](const std::pair<AlternativeService, base::TimeTicks>& lhs,
|
| const std::pair<AlternativeService, base::TimeTicks>& rhs) -> bool {
|
| return lhs.second < rhs.second;
|
| @@ -198,6 +189,16 @@ void BrokenAlternativeServices::SetBrokenAndRecentlyBrokenAlternativeServices(
|
| ScheduleBrokenAlternateProtocolMappingsExpiration();
|
| }
|
|
|
| +const BrokenAlternativeServiceList&
|
| +BrokenAlternativeServices::broken_alternative_service_list() const {
|
| + return broken_alternative_service_list_;
|
| +}
|
| +
|
| +const RecentlyBrokenAlternativeServices&
|
| +BrokenAlternativeServices::recently_broken_alternative_services() const {
|
| + return recently_broken_alternative_services_;
|
| +}
|
| +
|
| bool BrokenAlternativeServices::AddToBrokenAlternativeServiceListAndMap(
|
| const AlternativeService& alternative_service,
|
| base::TimeTicks expiration,
|
|
|