diff options
Diffstat (limited to 'webkit/browser/fileapi/external_mount_points.cc')
-rw-r--r-- | webkit/browser/fileapi/external_mount_points.cc | 12 |
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() {} |