| Index: chrome/browser/chromeos/drive/change_list_processor.cc
|
| diff --git a/chrome/browser/chromeos/drive/change_list_processor.cc b/chrome/browser/chromeos/drive/change_list_processor.cc
|
| index 310b3b21b669f68ab38dd3b9c08313c3d6236a94..40c2ea1019dc36a1ab26df0f4192b20a3456e0ff 100644
|
| --- a/chrome/browser/chromeos/drive/change_list_processor.cc
|
| +++ b/chrome/browser/chromeos/drive/change_list_processor.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/metrics/histogram.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "chrome/browser/chromeos/drive/drive.pb.h"
|
| +#include "chrome/browser/chromeos/drive/file_change.h"
|
| #include "chrome/browser/chromeos/drive/file_system_util.h"
|
| #include "chrome/browser/chromeos/drive/resource_entry_conversion.h"
|
| #include "chrome/browser/chromeos/drive/resource_metadata.h"
|
| @@ -113,7 +114,7 @@ ChangeList::ChangeList(const google_apis::FileList& file_list)
|
| ChangeList::~ChangeList() {}
|
|
|
| ChangeListProcessor::ChangeListProcessor(ResourceMetadata* resource_metadata)
|
| - : resource_metadata_(resource_metadata) {
|
| + : resource_metadata_(resource_metadata), changed_files_(new FileChange) {
|
| }
|
|
|
| ChangeListProcessor::~ChangeListProcessor() {
|
| @@ -480,21 +481,9 @@ void ChangeListProcessor::UpdateChangedDirs(const ResourceEntry& entry) {
|
| resource_metadata_->GetFilePath(local_id, &file_path);
|
|
|
| if (!file_path.empty()) {
|
| - // Notify parent.
|
| - changed_dirs_.insert(file_path.DirName());
|
| -
|
| - if (entry.file_info().is_directory()) {
|
| - // Notify self if entry is a directory.
|
| - changed_dirs_.insert(file_path);
|
| -
|
| - // Notify all descendants if it is a directory deletion.
|
| - if (entry.deleted()) {
|
| - std::set<base::FilePath> sub_directories;
|
| - resource_metadata_->GetSubDirectoriesRecursively(local_id,
|
| - &sub_directories);
|
| - changed_dirs_.insert(sub_directories.begin(), sub_directories.end());
|
| - }
|
| - }
|
| + FileChange::ChangeType type =
|
| + entry.deleted() ? FileChange::DELETE : FileChange::ADD_OR_UPDATE;
|
| + changed_files_->Update(file_path, entry, type);
|
| }
|
| }
|
|
|
|
|