Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Side by Side Diff: net/disk_cache/cache_util_posix.cc

Issue 13165005: Move FileEnumerator to its own file, do some refactoring. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge, fixes Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/disk_cache/block_files_unittest.cc ('k') | net/disk_cache/simple/simple_index.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/logging.h" 9 #include "base/logging.h"
9 #include "base/string_util.h" 10 #include "base/string_util.h"
10 11
11 namespace disk_cache { 12 namespace disk_cache {
12 13
13 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) {
14 #if defined(OS_CHROMEOS) 15 #if defined(OS_CHROMEOS)
15 // For ChromeOS, we don't actually want to rename the cache 16 // For ChromeOS, we don't actually want to rename the cache
16 // 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
17 // encrypted filesystem (with encrypted names), and we won't be able 18 // encrypted filesystem (with encrypted names), and we won't be able
18 // to see these directories anymore in an unmounted encrypted 19 // to see these directories anymore in an unmounted encrypted
19 // 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
20 // directory. 21 // directory.
21 if (!file_util::CreateDirectory(to_path)) { 22 if (!file_util::CreateDirectory(to_path)) {
22 LOG(ERROR) << "Unable to create destination cache directory."; 23 LOG(ERROR) << "Unable to create destination cache directory.";
23 return false; 24 return false;
24 } 25 }
25 file_util::FileEnumerator iter(from_path, false /* not recursive */, 26 base::FileEnumerator iter(from_path, false /* not recursive */,
26 file_util::FileEnumerator::DIRECTORIES | 27 base::FileEnumerator::DIRECTORIES | base::FileEnumerator::FILES);
27 file_util::FileEnumerator::FILES);
28 for (base::FilePath name = iter.Next(); !name.value().empty(); 28 for (base::FilePath name = iter.Next(); !name.value().empty();
29 name = iter.Next()) { 29 name = iter.Next()) {
30 base::FilePath destination = to_path.Append(name.BaseName()); 30 base::FilePath destination = to_path.Append(name.BaseName());
31 if (!file_util::Move(name, destination)) { 31 if (!file_util::Move(name, destination)) {
32 LOG(ERROR) << "Unable to move cache item."; 32 LOG(ERROR) << "Unable to move cache item.";
33 return false; 33 return false;
34 } 34 }
35 } 35 }
36 return true; 36 return true;
37 #else 37 #else
38 return file_util::Move(from_path, to_path); 38 return file_util::Move(from_path, to_path);
39 #endif 39 #endif
40 } 40 }
41 41
42 void DeleteCache(const base::FilePath& path, bool remove_folder) { 42 void DeleteCache(const base::FilePath& path, bool remove_folder) {
43 file_util::FileEnumerator iter(path, 43 base::FileEnumerator iter(path,
44 /* recursive */ false, 44 /* recursive */ false,
45 file_util::FileEnumerator::FILES); 45 base::FileEnumerator::FILES);
46 for (base::FilePath file = iter.Next(); !file.value().empty(); 46 for (base::FilePath file = iter.Next(); !file.value().empty();
47 file = iter.Next()) { 47 file = iter.Next()) {
48 if (!file_util::Delete(file, /* recursive */ false)) { 48 if (!file_util::Delete(file, /* recursive */ false)) {
49 LOG(WARNING) << "Unable to delete cache."; 49 LOG(WARNING) << "Unable to delete cache.";
50 return; 50 return;
51 } 51 }
52 } 52 }
53 53
54 if (remove_folder) { 54 if (remove_folder) {
55 if (!file_util::Delete(path, /* recursive */ false)) { 55 if (!file_util::Delete(path, /* recursive */ false)) {
56 LOG(WARNING) << "Unable to delete cache folder."; 56 LOG(WARNING) << "Unable to delete cache folder.";
57 return; 57 return;
58 } 58 }
59 } 59 }
60 } 60 }
61 61
62 bool DeleteCacheFile(const base::FilePath& name) { 62 bool DeleteCacheFile(const base::FilePath& name) {
63 return file_util::Delete(name, false); 63 return file_util::Delete(name, false);
64 } 64 }
65 65
66 } // namespace disk_cache 66 } // namespace disk_cache
OLDNEW
« no previous file with comments | « net/disk_cache/block_files_unittest.cc ('k') | net/disk_cache/simple/simple_index.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698