Chromium Code Reviews| Index: storage/browser/quota/storage_monitor.cc |
| diff --git a/storage/browser/quota/storage_monitor.cc b/storage/browser/quota/storage_monitor.cc |
| index 87c982e04b629305507f8b4f15844271003ef0f9..d7a3e3e0cdf6c6bb955b0acfb7084abb520f846d 100644 |
| --- a/storage/browser/quota/storage_monitor.cc |
| +++ b/storage/browser/quota/storage_monitor.cc |
| @@ -8,7 +8,7 @@ |
| #include <algorithm> |
| -#include "base/stl_util.h" |
| +#include "base/memory/ptr_util.h" |
| #include "base/trace_event/trace_event.h" |
| #include "net/base/url_util.h" |
| #include "storage/browser/quota/quota_manager.h" |
| @@ -247,7 +247,6 @@ StorageTypeObservers::StorageTypeObservers(QuotaManager* quota_manager) |
| } |
| StorageTypeObservers::~StorageTypeObservers() { |
| - base::STLDeleteValues(&host_observers_map_); |
| } |
| void StorageTypeObservers::AddObserver( |
| @@ -256,25 +255,19 @@ void StorageTypeObservers::AddObserver( |
| if (host.empty()) |
| return; |
| - HostStorageObservers* host_observers = NULL; |
| - HostObserversMap::iterator it = host_observers_map_.find(host); |
| - if (it == host_observers_map_.end()) { |
| - host_observers = new HostStorageObservers(quota_manager_); |
| - host_observers_map_[host] = host_observers; |
| - } else { |
| - host_observers = it->second; |
| - } |
| + auto& host_observers = host_observers_map_[host]; |
| + if (!host_observers) |
|
danakj
2016/10/03 22:51:49
Ditto can you comment that there's never a null va
Avi (use Gerrit)
2016/10/04 15:56:22
Again, I don't get it. When we have a key->value m
|
| + host_observers = base::MakeUnique<HostStorageObservers>(quota_manager_); |
| host_observers->AddObserver(observer, params); |
| } |
| void StorageTypeObservers::RemoveObserver(StorageObserver* observer) { |
| - for (HostObserversMap::iterator it = host_observers_map_.begin(); |
| - it != host_observers_map_.end(); ) { |
| + for (auto it = host_observers_map_.begin(); |
| + it != host_observers_map_.end();) { |
| it->second->RemoveObserver(observer); |
| if (!it->second->ContainsObservers()) { |
| - delete it->second; |
| - host_observers_map_.erase(it++); |
| + it = host_observers_map_.erase(it); |
| } else { |
| ++it; |
| } |
| @@ -284,22 +277,20 @@ void StorageTypeObservers::RemoveObserver(StorageObserver* observer) { |
| void StorageTypeObservers::RemoveObserverForFilter( |
| StorageObserver* observer, const StorageObserver::Filter& filter) { |
| std::string host = net::GetHostOrSpecFromURL(filter.origin); |
| - HostObserversMap::iterator it = host_observers_map_.find(host); |
| + auto it = host_observers_map_.find(host); |
| if (it == host_observers_map_.end()) |
| return; |
| it->second->RemoveObserver(observer); |
| - if (!it->second->ContainsObservers()) { |
| - delete it->second; |
| + if (!it->second->ContainsObservers()) |
| host_observers_map_.erase(it); |
| - } |
| } |
| const HostStorageObservers* StorageTypeObservers::GetHostObservers( |
| const std::string& host) const { |
| - HostObserversMap::const_iterator it = host_observers_map_.find(host); |
| + auto it = host_observers_map_.find(host); |
| if (it != host_observers_map_.end()) |
| - return it->second; |
| + return it->second.get(); |
| return NULL; |
| } |
| @@ -308,7 +299,7 @@ void StorageTypeObservers::NotifyUsageChange( |
| const StorageObserver::Filter& filter, |
| int64_t delta) { |
| std::string host = net::GetHostOrSpecFromURL(filter.origin); |
| - HostObserversMap::iterator it = host_observers_map_.find(host); |
| + auto it = host_observers_map_.find(host); |
| if (it == host_observers_map_.end()) |
| return; |
| @@ -323,7 +314,6 @@ StorageMonitor::StorageMonitor(QuotaManager* quota_manager) |
| } |
| StorageMonitor::~StorageMonitor() { |
| - base::STLDeleteValues(&storage_type_observers_map_); |
| } |
| void StorageMonitor::AddObserver( |
| @@ -338,22 +328,16 @@ void StorageMonitor::AddObserver( |
| return; |
| } |
| - StorageTypeObservers* type_observers = NULL; |
| - StorageTypeObserversMap::iterator it = |
| - storage_type_observers_map_.find(params.filter.storage_type); |
| - if (it == storage_type_observers_map_.end()) { |
| - type_observers = new StorageTypeObservers(quota_manager_); |
| - storage_type_observers_map_[params.filter.storage_type] = type_observers; |
| - } else { |
| - type_observers = it->second; |
| - } |
| + auto& type_observers = |
| + storage_type_observers_map_[params.filter.storage_type]; |
| + if (!type_observers) |
|
danakj
2016/10/03 22:51:49
dittos
Avi (use Gerrit)
2016/10/04 15:56:22
dittos
|
| + type_observers = base::MakeUnique<StorageTypeObservers>(quota_manager_); |
| type_observers->AddObserver(observer, params); |
| } |
| void StorageMonitor::RemoveObserver(StorageObserver* observer) { |
| - for (StorageTypeObserversMap::iterator it = |
| - storage_type_observers_map_.begin(); |
| + for (auto it = storage_type_observers_map_.begin(); |
| it != storage_type_observers_map_.end(); ++it) { |
| it->second->RemoveObserver(observer); |
| } |
| @@ -361,8 +345,7 @@ void StorageMonitor::RemoveObserver(StorageObserver* observer) { |
| void StorageMonitor::RemoveObserverForFilter( |
| StorageObserver* observer, const StorageObserver::Filter& filter) { |
| - StorageTypeObserversMap::iterator it = |
| - storage_type_observers_map_.find(filter.storage_type); |
| + auto it = storage_type_observers_map_.find(filter.storage_type); |
| if (it == storage_type_observers_map_.end()) |
| return; |
| @@ -371,10 +354,9 @@ void StorageMonitor::RemoveObserverForFilter( |
| const StorageTypeObservers* StorageMonitor::GetStorageTypeObservers( |
| StorageType storage_type) const { |
| - StorageTypeObserversMap::const_iterator it = |
| - storage_type_observers_map_.find(storage_type); |
| + auto it = storage_type_observers_map_.find(storage_type); |
| if (it != storage_type_observers_map_.end()) |
| - return it->second; |
| + return it->second.get(); |
| return NULL; |
|
danakj
2016/10/03 22:51:49
nullptr while you're here?
Avi (use Gerrit)
2016/10/04 15:56:22
Done.
|
| } |
| @@ -389,8 +371,7 @@ void StorageMonitor::NotifyUsageChange(const StorageObserver::Filter& filter, |
| return; |
| } |
| - StorageTypeObserversMap::iterator it = |
| - storage_type_observers_map_.find(filter.storage_type); |
| + auto it = storage_type_observers_map_.find(filter.storage_type); |
| if (it == storage_type_observers_map_.end()) |
| return; |