Index: storage/browser/fileapi/obfuscated_file_util.cc |
diff --git a/storage/browser/fileapi/obfuscated_file_util.cc b/storage/browser/fileapi/obfuscated_file_util.cc |
index dfe71c6a9b19c7ee06afc217723881b857fcde5d..9ff8148928d8aa1d6a32efe08872f08e9211274d 100644 |
--- a/storage/browser/fileapi/obfuscated_file_util.cc |
+++ b/storage/browser/fileapi/obfuscated_file_util.cc |
@@ -14,9 +14,9 @@ |
#include "base/files/file_util.h" |
#include "base/format_macros.h" |
#include "base/logging.h" |
+#include "base/memory/ptr_util.h" |
#include "base/message_loop/message_loop.h" |
#include "base/metrics/histogram.h" |
-#include "base/stl_util.h" |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/string_util.h" |
#include "base/strings/stringprintf.h" |
@@ -903,13 +903,12 @@ void ObfuscatedFileUtil::CloseFileSystemForOriginAndType( |
const GURL& origin, |
const std::string& type_string) { |
const std::string key_prefix = GetDirectoryDatabaseKey(origin, type_string); |
- for (DirectoryMap::iterator iter = directories_.lower_bound(key_prefix); |
+ for (auto iter = directories_.lower_bound(key_prefix); |
iter != directories_.end();) { |
if (!base::StartsWith(iter->first, key_prefix, |
base::CompareCase::SENSITIVE)) |
break; |
DCHECK(type_string.empty() || iter->first == key_prefix); |
- std::unique_ptr<SandboxDirectoryDatabase> database(iter->second); |
directories_.erase(iter++); |
} |
} |
@@ -928,13 +927,14 @@ void ObfuscatedFileUtil::DestroyDirectoryDatabase( |
const std::string& type_string) { |
// If |type_string| is empty, delete all filesystem types under |origin|. |
const std::string key_prefix = GetDirectoryDatabaseKey(origin, type_string); |
- for (DirectoryMap::iterator iter = directories_.lower_bound(key_prefix); |
+ for (auto iter = directories_.lower_bound(key_prefix); |
iter != directories_.end();) { |
if (!base::StartsWith(iter->first, key_prefix, |
base::CompareCase::SENSITIVE)) |
break; |
DCHECK(type_string.empty() || iter->first == key_prefix); |
- std::unique_ptr<SandboxDirectoryDatabase> database(iter->second); |
+ std::unique_ptr<SandboxDirectoryDatabase> database = |
+ std::move(iter->second); |
directories_.erase(iter++); |
// Continue to destroy databases even if it failed because it doesn't affect |
@@ -969,10 +969,11 @@ void ObfuscatedFileUtil::MaybePrepopulateDatabase( |
origin, type_string, false, &error); |
if (error != base::File::FILE_OK) |
continue; |
- std::unique_ptr<SandboxDirectoryDatabase> db( |
- new SandboxDirectoryDatabase(path, env_override_)); |
+ std::unique_ptr<SandboxDirectoryDatabase> db = |
+ base::MakeUnique<SandboxDirectoryDatabase>(path, env_override_); |
if (db->Init(SandboxDirectoryDatabase::FAIL_ON_CORRUPTION)) { |
- directories_[GetDirectoryDatabaseKey(origin, type_string)] = db.release(); |
+ directories_[GetDirectoryDatabaseKey(origin, type_string)] = |
+ std::move(db); |
MarkUsed(); |
// Don't populate more than one database, as it may rather hurt |
// performance. |
@@ -1168,10 +1169,10 @@ SandboxDirectoryDatabase* ObfuscatedFileUtil::GetDirectoryDatabase( |
if (key.empty()) |
return NULL; |
- DirectoryMap::iterator iter = directories_.find(key); |
+ auto iter = directories_.find(key); |
if (iter != directories_.end()) { |
MarkUsed(); |
- return iter->second; |
+ return iter->second.get(); |
} |
base::File::Error error = base::File::FILE_OK; |
@@ -1182,10 +1183,9 @@ SandboxDirectoryDatabase* ObfuscatedFileUtil::GetDirectoryDatabase( |
return NULL; |
} |
MarkUsed(); |
- SandboxDirectoryDatabase* database = |
- new SandboxDirectoryDatabase(path, env_override_); |
- directories_[key] = database; |
- return database; |
+ directories_[key] = |
+ base::MakeUnique<SandboxDirectoryDatabase>(path, env_override_); |
+ return directories_[key].get(); |
} |
base::FilePath ObfuscatedFileUtil::GetDirectoryForOrigin( |
@@ -1264,8 +1264,6 @@ void ObfuscatedFileUtil::MarkUsed() { |
void ObfuscatedFileUtil::DropDatabases() { |
origin_database_.reset(); |
- base::STLDeleteContainerPairSecondPointers(directories_.begin(), |
- directories_.end()); |
directories_.clear(); |
timer_.reset(); |
} |