summaryrefslogtreecommitdiffstats
path: root/webkit/browser/fileapi/external_mount_points.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/browser/fileapi/external_mount_points.cc')
-rw-r--r--webkit/browser/fileapi/external_mount_points.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/webkit/browser/fileapi/external_mount_points.cc b/webkit/browser/fileapi/external_mount_points.cc
index 137db87..f196696 100644
--- a/webkit/browser/fileapi/external_mount_points.cc
+++ b/webkit/browser/fileapi/external_mount_points.cc
@@ -234,9 +234,15 @@ FileSystemURL ExternalMountPoints::CreateExternalFileSystemURL(
}
void ExternalMountPoints::RevokeAllFileSystems() {
- base::AutoLock locker(lock_);
- instance_map_.clear();
- path_to_name_map_.clear();
+ NameToInstance instance_map_copy;
+ {
+ base::AutoLock locker(lock_);
+ instance_map_copy = instance_map_;
+ instance_map_.clear();
+ path_to_name_map_.clear();
+ }
+ STLDeleteContainerPairSecondPointers(instance_map_copy.begin(),
+ instance_map_copy.end());
}
ExternalMountPoints::ExternalMountPoints() {}