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

Unified Diff: chrome/browser/chromeos/gdata/gdata_files.cc

Issue 10854199: ResourceId and unit test cleanup. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: minor Created 8 years, 4 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
Index: chrome/browser/chromeos/gdata/gdata_files.cc
===================================================================
--- chrome/browser/chromeos/gdata/gdata_files.cc (revision 151875)
+++ chrome/browser/chromeos/gdata/gdata_files.cc (working copy)
@@ -33,6 +33,7 @@
: parent_(NULL),
directory_service_(directory_service),
deleted_(false) {
+ DCHECK(directory_service);
}
GDataEntry::~GDataEntry() {
@@ -236,8 +237,7 @@
<< ", resource = " + entry->resource_id();
// Add entry to resource map.
- if (directory_service_)
- directory_service_->AddEntryToResourceMap(entry);
+ directory_service_->AddEntryToResourceMap(entry);
// Setup child and parent links.
AddChild(entry);
@@ -245,9 +245,10 @@
}
bool GDataDirectory::TakeOverEntries(GDataDirectory* dir) {
- for (GDataFileCollection::iterator iter = dir->child_files_.begin();
+ for (GDataFileCollection::const_iterator iter = dir->child_files_.begin();
iter != dir->child_files_.end(); ++iter) {
GDataEntry* entry = iter->second;
+ directory_service_->RemoveEntryFromResourceMap(entry->resource_id());
entry->SetParent(NULL);
AddEntry(entry);
}
@@ -257,6 +258,7 @@
dir->child_directories_.begin();
iter != dir->child_directories_.end(); ++iter) {
GDataEntry* entry = iter->second;
+ directory_service_->RemoveEntryFromResourceMap(entry->resource_id());
entry->SetParent(NULL);
AddEntry(entry);
}
@@ -273,9 +275,9 @@
GDataEntry* GDataDirectory::FindChild(
const FilePath::StringType& file_name) const {
- GDataFileCollection::const_iterator it = child_files_.find(file_name);
- if (it != child_files_.end())
- return it->second;
+ GDataFileCollection::const_iterator iter = child_files_.find(file_name);
+ if (iter != child_files_.end())
+ return iter->second;
GDataDirectoryCollection::const_iterator itd =
child_directories_.find(file_name);
@@ -288,13 +290,13 @@
void GDataDirectory::AddChild(GDataEntry* entry) {
DCHECK(entry);
- GDataFile* file = entry->AsGDataFile();
- if (file)
- child_files_.insert(std::make_pair(entry->base_name(), file));
+ if (entry->AsGDataFile())
+ child_files_.insert(std::make_pair(entry->base_name(),
+ entry->AsGDataFile()));
- GDataDirectory* directory = entry->AsGDataDirectory();
- if (directory)
- child_directories_.insert(std::make_pair(entry->base_name(), directory));
+ if (entry->AsGDataDirectory())
+ child_directories_.insert(std::make_pair(entry->base_name(),
+ entry->AsGDataDirectory()));
}
void GDataDirectory::RemoveChild(GDataEntry* entry) {
@@ -304,8 +306,7 @@
// entry must be present in this directory.
DCHECK_EQ(entry, FindChild(base_name));
// Remove entry from resource map first.
- if (directory_service_)
- directory_service_->RemoveEntryFromResourceMap(entry);
+ directory_service_->RemoveEntryFromResourceMap(entry->resource_id());
// Then delete it from tree.
child_files_.erase(base_name);
@@ -320,10 +321,10 @@
}
void GDataDirectory::RemoveChildFiles() {
+ DVLOG(1) << "RemoveChildFiles " << resource_id();
for (GDataFileCollection::const_iterator iter = child_files_.begin();
iter != child_files_.end(); ++iter) {
- if (directory_service_)
- directory_service_->RemoveEntryFromResourceMap(iter->second);
+ directory_service_->RemoveEntryFromResourceMap(iter->second->resource_id());
}
STLDeleteValues(&child_files_);
child_files_.clear();
@@ -335,13 +336,22 @@
GDataDirectory* dir = iter->second;
// Remove directories recursively.
dir->RemoveChildren();
- if (directory_service_)
- directory_service_->RemoveEntryFromResourceMap(dir);
+ directory_service_->RemoveEntryFromResourceMap(dir->resource_id());
}
STLDeleteValues(&child_directories_);
child_directories_.clear();
}
+// Recursively extracts the paths set of all sub-directories.
satorux1 2012/08/17 11:49:17 remove this comment?
achuithb 2012/08/17 21:02:27 Done.
+void GDataDirectory::GetChildDirectoryPaths(std::set<FilePath>* child_dirs) {
+ for (GDataDirectoryCollection::const_iterator it = child_directories_.begin();
+ it != child_directories_.end(); ++it) {
+ GDataDirectory* child_dir = it->second;
+ child_dirs->insert(child_dir->GetFilePath());
+ child_dir->GetChildDirectoryPaths(child_dirs);
+ }
+}
+
// Convert to/from proto.
// static
@@ -498,15 +508,15 @@
scoped_ptr<GDataEntryProtoVector> GDataDirectory::ToProtoVector() const {
scoped_ptr<GDataEntryProtoVector> entries(new GDataEntryProtoVector);
- for (GDataFileCollection::const_iterator iter = child_files().begin();
- iter != child_files().end(); ++iter) {
+ for (GDataFileCollection::const_iterator iter = child_files_.begin();
+ iter != child_files_.end(); ++iter) {
GDataEntryProto proto;
iter->second->ToProto(&proto);
entries->push_back(proto);
}
for (GDataDirectoryCollection::const_iterator iter =
- child_directories().begin();
- iter != child_directories().end(); ++iter) {
+ child_directories_.begin();
+ iter != child_directories_.end(); ++iter) {
GDataEntryProto proto;
// Convert to GDataEntry, as we don't want to include children in |proto|.
static_cast<const GDataEntry*>(iter->second)->ToProtoFull(&proto);

Powered by Google App Engine
This is Rietveld 408576698