Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5495)

Unified Diff: chrome/browser/media_galleries/chromeos/mtp_device_delegate_impl_chromeos.cc

Issue 2606563002: Remove base::ScopedPtrHashMap from chrome/browser/media_galleries/. (Closed)
Patch Set: rev Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/media_galleries/chromeos/mtp_device_delegate_impl_chromeos.cc
diff --git a/chrome/browser/media_galleries/chromeos/mtp_device_delegate_impl_chromeos.cc b/chrome/browser/media_galleries/chromeos/mtp_device_delegate_impl_chromeos.cc
index a6d1870f942e85bf2e0ffc8c9be880a685a2439b..cc07c69012629059b3db878b60cbb1c9be818043 100644
--- a/chrome/browser/media_galleries/chromeos/mtp_device_delegate_impl_chromeos.cc
+++ b/chrome/browser/media_galleries/chromeos/mtp_device_delegate_impl_chromeos.cc
@@ -10,6 +10,7 @@
#include <algorithm>
#include <limits>
+#include <unordered_map>
#include <utility>
#include <vector>
@@ -403,8 +404,8 @@ class MTPDeviceDelegateImplLinux::MTPFileNode {
private:
// Container for holding a node's children.
- typedef base::ScopedPtrHashMap<std::string, std::unique_ptr<MTPFileNode>>
- ChildNodes;
+ using ChildNodes =
+ std::unordered_map<std::string, std::unique_ptr<MTPFileNode>>;
const uint32_t file_id_;
const std::string file_name_;
@@ -441,7 +442,10 @@ const MTPDeviceDelegateImplLinux::MTPFileNode*
MTPDeviceDelegateImplLinux::MTPFileNode::GetChild(
const std::string& name) const {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
- return children_.get(name);
+ auto it = children_.find(name);
+ if (it == children_.end())
+ return nullptr;
+ return it->second.get();
}
void MTPDeviceDelegateImplLinux::MTPFileNode::EnsureChildExists(
@@ -452,30 +456,26 @@ void MTPDeviceDelegateImplLinux::MTPFileNode::EnsureChildExists(
if (child && child->file_id() == id)
return;
- children_.set(name, base::WrapUnique(new MTPFileNode(id, name, this,
- file_id_to_node_map_)));
+ children_[name] =
+ base::MakeUnique<MTPFileNode>(id, name, this, file_id_to_node_map_);
}
void MTPDeviceDelegateImplLinux::MTPFileNode::ClearNonexistentChildren(
const std::set<std::string>& children_to_keep) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
- std::set<std::string> children_to_erase;
- for (ChildNodes::const_iterator it = children_.begin();
- it != children_.end(); ++it) {
- if (base::ContainsKey(children_to_keep, it->first))
+ std::vector<std::string> children_to_erase;
+ for (const auto& child : children_) {
+ if (base::ContainsKey(children_to_keep, child.first))
continue;
- children_to_erase.insert(it->first);
- }
- for (std::set<std::string>::iterator it = children_to_erase.begin();
- it != children_to_erase.end(); ++it) {
- children_.take_and_erase(*it);
+ children_to_erase.push_back(child.first);
}
+ for (const auto& child : children_to_erase)
+ children_.erase(child);
}
bool MTPDeviceDelegateImplLinux::MTPFileNode::DeleteChild(uint32_t file_id) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
- for (ChildNodes::iterator it = children_.begin();
- it != children_.end(); ++it) {
+ for (auto it = children_.begin(); it != children_.end(); ++it) {
if (it->second->file_id() == file_id) {
DCHECK(!it->second->HasChildren());
children_.erase(it);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698