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

Unified Diff: chrome/browser/chromeos/drive/drive_resource_metadata.cc

Issue 12610012: chromeos: Remove DriveResourceMetadata::RemoveDirectoryChildFiles/Directories (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add missing delete Created 7 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/chromeos/drive/drive_resource_metadata.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/drive/drive_resource_metadata.cc
diff --git a/chrome/browser/chromeos/drive/drive_resource_metadata.cc b/chrome/browser/chromeos/drive/drive_resource_metadata.cc
index 5b2b84f66dca43932290a1600d0b784fbd14c7b3..36f9720234804bdc17ce6adf58226f2a5c9d574e 100644
--- a/chrome/browser/chromeos/drive/drive_resource_metadata.cc
+++ b/chrome/browser/chromeos/drive/drive_resource_metadata.cc
@@ -744,48 +744,21 @@ void DriveResourceMetadata::DetachEntryFromDirectory(
void DriveResourceMetadata::RemoveDirectoryChildren(
DriveEntryProto* directory) {
- RemoveDirectoryChildFiles(directory);
- RemoveDirectoryChildDirectories(directory);
- DCHECK(child_maps_[directory->resource_id()].empty());
- child_maps_.erase(directory->resource_id());
-}
-
-void DriveResourceMetadata::RemoveDirectoryChildFiles(
- DriveEntryProto* directory) {
DCHECK(directory->file_info().is_directory());
DriveResourceMetadata::ChildMap* children =
&child_maps_[directory->resource_id()];
- for (DriveResourceMetadata::ChildMap::iterator iter = children->begin(),
- iter_next = iter; iter != children->end(); iter = iter_next) {
- ++iter_next;
+ for (DriveResourceMetadata::ChildMap::iterator iter = children->begin();
+ iter != children->end(); ++iter) {
DriveEntryProto* child = GetEntryByResourceId(iter->second);
DCHECK(child);
- if (!child->file_info().is_directory()) {
- RemoveEntryFromResourceMap(iter->second);
- delete child;
- children->erase(iter);
- }
- }
-}
+ // Remove directories recursively.
+ if (child->file_info().is_directory())
+ RemoveDirectoryChildren(child);
-void DriveResourceMetadata::RemoveDirectoryChildDirectories(
- DriveEntryProto* directory) {
- DCHECK(directory->file_info().is_directory());
- DriveResourceMetadata::ChildMap* children =
- &child_maps_[directory->resource_id()];
- for (DriveResourceMetadata::ChildMap::iterator iter = children->begin(),
- iter_next = iter; iter != children->end(); iter = iter_next) {
- ++iter_next;
- DriveEntryProto* entry = GetEntryByResourceId(iter->second);
- DCHECK(entry);
- if (entry->file_info().is_directory()) {
- // Remove directories recursively.
- RemoveDirectoryChildren(entry);
- RemoveEntryFromResourceMap(iter->second);
- delete entry;
- children->erase(iter);
- }
+ RemoveEntryFromResourceMap(iter->second);
+ delete child;
}
+ child_maps_.erase(directory->resource_id());
}
void DriveResourceMetadata::ProtoToDirectory(const DriveDirectoryProto& proto,
« no previous file with comments | « chrome/browser/chromeos/drive/drive_resource_metadata.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698