OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/disk_cache/cache_util.h" | 5 #include "net/disk_cache/cache_util.h" |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/files/file_enumerator.h" | 8 #include "base/files/file_enumerator.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
11 | 11 |
12 namespace disk_cache { | 12 namespace disk_cache { |
13 | 13 |
14 bool MoveCache(const base::FilePath& from_path, const base::FilePath& to_path) { | 14 bool MoveCache(const base::FilePath& from_path, const base::FilePath& to_path) { |
15 #if defined(OS_CHROMEOS) | 15 #if defined(OS_CHROMEOS) |
16 // For ChromeOS, we don't actually want to rename the cache | 16 // For ChromeOS, we don't actually want to rename the cache |
17 // directory, because if we do, then it'll get recreated through the | 17 // directory, because if we do, then it'll get recreated through the |
18 // encrypted filesystem (with encrypted names), and we won't be able | 18 // encrypted filesystem (with encrypted names), and we won't be able |
19 // to see these directories anymore in an unmounted encrypted | 19 // to see these directories anymore in an unmounted encrypted |
20 // filesystem, so we just move each item in the cache to a new | 20 // filesystem, so we just move each item in the cache to a new |
21 // directory. | 21 // directory. |
22 if (!base::CreateDirectory(to_path)) { | 22 if (!base::CreateDirectory(to_path)) { |
23 LOG(ERROR) << "Unable to create destination cache directory."; | 23 LOG(ERROR) << "Unable to create destination cache directory."; |
24 return false; | 24 return false; |
25 } | 25 } |
26 base::FileEnumerator iter(from_path, false /* not recursive */, | 26 base::FileEnumerator iter( |
| 27 from_path, |
| 28 false /* not recursive */, |
27 base::FileEnumerator::DIRECTORIES | base::FileEnumerator::FILES); | 29 base::FileEnumerator::DIRECTORIES | base::FileEnumerator::FILES); |
28 for (base::FilePath name = iter.Next(); !name.value().empty(); | 30 for (base::FilePath name = iter.Next(); !name.value().empty(); |
29 name = iter.Next()) { | 31 name = iter.Next()) { |
30 base::FilePath destination = to_path.Append(name.BaseName()); | 32 base::FilePath destination = to_path.Append(name.BaseName()); |
31 if (!base::Move(name, destination)) { | 33 if (!base::Move(name, destination)) { |
32 LOG(ERROR) << "Unable to move cache item."; | 34 LOG(ERROR) << "Unable to move cache item."; |
33 return false; | 35 return false; |
34 } | 36 } |
35 } | 37 } |
36 return true; | 38 return true; |
37 #else | 39 #else |
38 return base::Move(from_path, to_path); | 40 return base::Move(from_path, to_path); |
39 #endif | 41 #endif |
40 } | 42 } |
41 | 43 |
42 bool DeleteCacheFile(const base::FilePath& name) { | 44 bool DeleteCacheFile(const base::FilePath& name) { |
43 return base::DeleteFile(name, false); | 45 return base::DeleteFile(name, false); |
44 } | 46 } |
45 | 47 |
46 } // namespace disk_cache | 48 } // namespace disk_cache |
OLD | NEW |