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 8f696c031f4900bd070627dc40c9a67c50775c5d..af1406637ea5f1e94ab6d96b2e46336b35ffdfc6 100644 |
--- a/storage/browser/fileapi/obfuscated_file_util.cc |
+++ b/storage/browser/fileapi/obfuscated_file_util.cc |
@@ -898,6 +898,20 @@ bool ObfuscatedFileUtil::DeleteDirectoryForOriginAndType( |
return base::DeleteFile(origin_path, true /* recursive */); |
} |
+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); |
+ iter != directories_.end();) { |
+ if (!StartsWithASCII(iter->first, key_prefix, true)) |
+ break; |
+ DCHECK(type_string.empty() || iter->first == key_prefix); |
+ scoped_ptr<SandboxDirectoryDatabase> database(iter->second); |
+ directories_.erase(iter++); |
+ } |
+} |
+ |
ObfuscatedFileUtil::AbstractOriginEnumerator* |
ObfuscatedFileUtil::CreateOriginEnumerator() { |
std::vector<SandboxOriginDatabase::OriginRecord> origins; |