Index: chrome/browser/ui/app_list/app_list_syncable_service.cc |
diff --git a/chrome/browser/ui/app_list/app_list_syncable_service.cc b/chrome/browser/ui/app_list/app_list_syncable_service.cc |
index aabaeb7b7b865440a51ebfe32d9e52f876505011..2d1c211b98f4c05ae8b84b227a4db7fafede8670 100644 |
--- a/chrome/browser/ui/app_list/app_list_syncable_service.cc |
+++ b/chrome/browser/ui/app_list/app_list_syncable_service.cc |
@@ -8,6 +8,8 @@ |
#include "base/command_line.h" |
#include "base/macros.h" |
+#include "base/memory/ptr_util.h" |
+#include "base/stl_util.h" |
#include "base/strings/string_util.h" |
#include "build/build_config.h" |
#include "chrome/browser/apps/drive/drive_app_provider.h" |
@@ -275,9 +277,6 @@ AppListSyncableService::~AppListSyncableService() { |
// Remove observers. |
model_observer_.reset(); |
model_pref_updater_.reset(); |
- |
- base::STLDeleteContainerPairSecondPointers(sync_items_.begin(), |
- sync_items_.end()); |
} |
void AppListSyncableService::BuildModel() { |
@@ -377,9 +376,9 @@ void AppListSyncableService::UntrackUninstalledDriveApp( |
const AppListSyncableService::SyncItem* |
AppListSyncableService::GetSyncItem(const std::string& id) const { |
- SyncItemMap::const_iterator iter = sync_items_.find(id); |
+ auto iter = sync_items_.find(id); |
if (iter != sync_items_.end()) |
- return iter->second; |
+ return iter->second.get(); |
return NULL; |
} |
@@ -524,7 +523,6 @@ void AppListSyncableService::DeleteSyncItem(SyncItem* sync_item) { |
FROM_HERE, syncer::SyncChangeList(1, sync_change)); |
} |
std::string item_id = sync_item->item_id; |
- delete sync_item; |
Nico
2016/09/22 15:56:12
(this another instance of the map<key, value> that
Avi (use Gerrit)
2016/09/22 19:17:17
Done.
|
sync_items_.erase(item_id); |
} |
@@ -567,14 +565,14 @@ void AppListSyncableService::UpdateItem(AppListItem* app_item) { |
void AppListSyncableService::RemoveSyncItem(const std::string& id) { |
VLOG(2) << this << ": RemoveSyncItem: " << id.substr(0, 8); |
- SyncItemMap::iterator iter = sync_items_.find(id); |
+ auto iter = sync_items_.find(id); |
if (iter == sync_items_.end()) { |
DVLOG(2) << this << " : RemoveSyncItem: No Item."; |
return; |
} |
// Check for existing RemoveDefault sync item. |
- SyncItem* sync_item = iter->second; |
+ SyncItem* sync_item = iter->second.get(); |
sync_pb::AppListSpecifics::AppListItemType type = sync_item->item_type; |
if (type == sync_pb::AppListSpecifics::TYPE_REMOVE_DEFAULT_APP) { |
// RemoveDefault item exists, just return. |
@@ -601,9 +599,8 @@ void AppListSyncableService::ResolveFolderPositions() { |
return; |
VLOG(1) << "ResolveFolderPositions."; |
- for (SyncItemMap::iterator iter = sync_items_.begin(); |
- iter != sync_items_.end(); ++iter) { |
- SyncItem* sync_item = iter->second; |
+ for (auto iter = sync_items_.begin(); iter != sync_items_.end(); ++iter) { |
Nico
2016/09/22 15:56:12
for-each (?)
Avi (use Gerrit)
2016/09/22 19:17:17
Done.
|
+ SyncItem* sync_item = iter->second.get(); |
if (sync_item->item_type != sync_pb::AppListSpecifics::TYPE_FOLDER) |
continue; |
AppListItem* app_item = model_->FindItem(sync_item->item_id); |
@@ -627,13 +624,11 @@ void AppListSyncableService::PruneEmptySyncFolders() { |
return; |
std::set<std::string> parent_ids; |
- for (SyncItemMap::iterator iter = sync_items_.begin(); |
- iter != sync_items_.end(); ++iter) { |
+ for (auto iter = sync_items_.begin(); iter != sync_items_.end(); ++iter) { |
Nico
2016/09/22 15:56:11
same
Avi (use Gerrit)
2016/09/22 19:17:17
Done.
|
parent_ids.insert(iter->second->parent_id); |
} |
- for (SyncItemMap::iterator iter = sync_items_.begin(); |
- iter != sync_items_.end(); ) { |
- SyncItem* sync_item = (iter++)->second; |
+ for (auto iter = sync_items_.begin(); iter != sync_items_.end();) { |
Nico
2016/09/22 15:56:11
same
Avi (use Gerrit)
2016/09/22 19:17:17
Nope.
This loop deletes items (DeleteSyncItem) so
|
+ SyncItem* sync_item = (iter++)->second.get(); |
if (sync_item->item_type != sync_pb::AppListSpecifics::TYPE_FOLDER) |
continue; |
if (!base::ContainsKey(parent_ids, sync_item->item_id)) |
@@ -667,8 +662,7 @@ syncer::SyncMergeResult AppListSyncableService::MergeDataAndStartSyncing( |
// Copy all sync items to |unsynced_items|. |
std::set<std::string> unsynced_items; |
- for (SyncItemMap::const_iterator iter = sync_items_.begin(); |
- iter != sync_items_.end(); ++iter) { |
+ for (auto iter = sync_items_.begin(); iter != sync_items_.end(); ++iter) { |
Nico
2016/09/22 15:56:12
same
Avi (use Gerrit)
2016/09/22 19:17:17
Done.
|
unsynced_items.insert(iter->first); |
} |
@@ -744,10 +738,9 @@ syncer::SyncDataList AppListSyncableService::GetAllSyncData( |
VLOG(1) << this << ": GetAllSyncData: " << sync_items_.size(); |
syncer::SyncDataList list; |
- for (SyncItemMap::const_iterator iter = sync_items_.begin(); |
- iter != sync_items_.end(); ++iter) { |
+ for (auto iter = sync_items_.begin(); iter != sync_items_.end(); ++iter) { |
VLOG(2) << this << " -> SYNC: " << iter->second->ToString(); |
- list.push_back(GetSyncDataFromSyncItem(iter->second)); |
+ list.push_back(GetSyncDataFromSyncItem(iter->second.get())); |
} |
return list; |
} |
@@ -820,7 +813,6 @@ bool AppListSyncableService::ProcessSyncItemSpecifics( |
} |
VLOG(2) << this << " - ProcessSyncItem: Delete existing entry: " |
<< sync_item->ToString(); |
- delete sync_item; |
sync_items_.erase(item_id); |
} |
@@ -949,10 +941,10 @@ void AppListSyncableService::SendSyncChange( |
AppListSyncableService::SyncItem* |
AppListSyncableService::FindSyncItem(const std::string& item_id) { |
- SyncItemMap::iterator iter = sync_items_.find(item_id); |
+ auto iter = sync_items_.find(item_id); |
if (iter == sync_items_.end()) |
return NULL; |
- return iter->second; |
+ return iter->second.get(); |
} |
AppListSyncableService::SyncItem* |
@@ -960,9 +952,8 @@ AppListSyncableService::CreateSyncItem( |
const std::string& item_id, |
sync_pb::AppListSpecifics::AppListItemType item_type) { |
DCHECK(!base::ContainsKey(sync_items_, item_id)); |
- SyncItem* sync_item = new SyncItem(item_id, item_type); |
- sync_items_[item_id] = sync_item; |
- return sync_item; |
+ sync_items_[item_id] = base::MakeUnique<SyncItem>(item_id, item_type); |
+ return sync_items_[item_id].get(); |
} |
void AppListSyncableService::DeleteSyncItemSpecifics( |
@@ -973,13 +964,12 @@ void AppListSyncableService::DeleteSyncItemSpecifics( |
return; |
} |
VLOG(2) << this << ": DeleteSyncItemSpecifics: " << item_id.substr(0, 8); |
- SyncItemMap::iterator iter = sync_items_.find(item_id); |
+ auto iter = sync_items_.find(item_id); |
if (iter == sync_items_.end()) |
return; |
sync_pb::AppListSpecifics::AppListItemType item_type = |
iter->second->item_type; |
VLOG(2) << this << " <- SYNC DELETE: " << iter->second->ToString(); |
- delete iter->second; |
sync_items_.erase(iter); |
// Only delete apps from the model. Folders will be deleted when all |
// children have been deleted. |
@@ -1020,9 +1010,8 @@ syncer::StringOrdinal AppListSyncableService::GetOemFolderPos() { |
if (!first_app_list_sync_) { |
VLOG(1) << "Sync items exist, placing OEM folder at end."; |
syncer::StringOrdinal last; |
- for (SyncItemMap::iterator iter = sync_items_.begin(); |
- iter != sync_items_.end(); ++iter) { |
- SyncItem* sync_item = iter->second; |
+ for (auto iter = sync_items_.begin(); iter != sync_items_.end(); ++iter) { |
Nico
2016/09/22 15:56:11
same (?)
Avi (use Gerrit)
2016/09/22 19:17:17
Done.
|
+ SyncItem* sync_item = iter->second.get(); |
if (sync_item->item_ordinal.IsValid() && |
(!last.IsValid() || sync_item->item_ordinal.GreaterThan(last))) { |
last = sync_item->item_ordinal; |