| Index: net/dns/mdns_client_impl.cc
|
| diff --git a/net/dns/mdns_client_impl.cc b/net/dns/mdns_client_impl.cc
|
| index bd4b0d117b0f3ba4d5589d553a6e56a37090376d..164536a56cdf3b3743c9ed4b464525c7ef12ff39 100644
|
| --- a/net/dns/mdns_client_impl.cc
|
| +++ b/net/dns/mdns_client_impl.cc
|
| @@ -12,7 +12,6 @@
|
| #include "base/location.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "base/single_thread_task_runner.h"
|
| -#include "base/stl_util.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "base/time/clock.h"
|
| #include "base/time/default_clock.h"
|
| @@ -208,7 +207,6 @@ MDnsClientImpl::Core::Core(base::Clock* clock, base::Timer* timer)
|
| }
|
|
|
| MDnsClientImpl::Core::~Core() {
|
| - base::STLDeleteValues(&listeners_);
|
| }
|
|
|
| bool MDnsClientImpl::Core::Init(MDnsSocketFactory* socket_factory) {
|
| @@ -348,17 +346,12 @@ void MDnsClientImpl::Core::AlertListeners(
|
| void MDnsClientImpl::Core::AddListener(
|
| MDnsListenerImpl* listener) {
|
| ListenerKey key(listener->GetName(), listener->GetType());
|
| - std::pair<ListenerMap::iterator, bool> observer_insert_result =
|
| - listeners_.insert(make_pair(
|
| - key, static_cast<base::ObserverList<MDnsListenerImpl>*>(NULL)));
|
|
|
| - // If an equivalent key does not exist, actually create the observer list.
|
| - if (observer_insert_result.second)
|
| - observer_insert_result.first->second =
|
| - new base::ObserverList<MDnsListenerImpl>();
|
| + std::unique_ptr<base::ObserverList<MDnsListenerImpl>>& observer_list =
|
| + listeners_[key];
|
|
|
| - base::ObserverList<MDnsListenerImpl>* observer_list =
|
| - observer_insert_result.first->second;
|
| + if (!observer_list)
|
| + observer_list = base::MakeUnique<base::ObserverList<MDnsListenerImpl>>();
|
|
|
| observer_list->AddObserver(listener);
|
| }
|
| @@ -385,7 +378,6 @@ void MDnsClientImpl::Core::RemoveListener(MDnsListenerImpl* listener) {
|
| void MDnsClientImpl::Core::CleanupObserverList(const ListenerKey& key) {
|
| ListenerMap::iterator found = listeners_.find(key);
|
| if (found != listeners_.end() && !found->second->might_have_observers()) {
|
| - delete found->second;
|
| listeners_.erase(found);
|
| }
|
| }
|
|
|