summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-12 02:10:12 +0000
committerhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-01-12 02:10:12 +0000
commitd57ecffa058b2af3b0678c43dce75f731550bbce (patch)
treebad84a96f02091efc64adcda08e59ec01d59ba97
parent70c908cadedbf286a352085620e6ed33883af539 (diff)
downloadchromium_src-d57ecffa058b2af3b0678c43dce75f731550bbce.zip
chromium_src-d57ecffa058b2af3b0678c43dce75f731550bbce.tar.gz
chromium_src-d57ecffa058b2af3b0678c43dce75f731550bbce.tar.bz2
drive: Stop calling OnChangeListLoadComplete() if DirectoryFetchInfo is not empty
Call LoadAfterLoadDirectory() instead. BUG=333164 TEST=unit_tests Review URL: https://codereview.chromium.org/132503004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244406 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/chromeos/drive/change_list_loader.cc28
1 files changed, 16 insertions, 12 deletions
diff --git a/chrome/browser/chromeos/drive/change_list_loader.cc b/chrome/browser/chromeos/drive/change_list_loader.cc
index cdd8a97..48253ac 100644
--- a/chrome/browser/chromeos/drive/change_list_loader.cc
+++ b/chrome/browser/chromeos/drive/change_list_loader.cc
@@ -574,26 +574,30 @@ void ChangeListLoader::LoadAfterGetAboutResource(
FileError error = GDataToFileError(status);
if (error != FILE_ERROR_OK) {
- OnChangeListLoadComplete(error);
+ if (directory_fetch_info.empty() || is_initial_load)
+ OnChangeListLoadComplete(error);
+ else
+ OnDirectoryLoadComplete(directory_fetch_info, error);
return;
}
DCHECK(about_resource);
int64 remote_changestamp = about_resource->largest_change_id();
- if (local_changestamp >= remote_changestamp) {
- if (local_changestamp > remote_changestamp) {
- LOG(WARNING) << "Local resource metadata is fresher than server, local = "
- << local_changestamp << ", server = " << remote_changestamp;
- }
-
- // No changes detected, tell the client that the loading was successful.
- OnChangeListLoadComplete(FILE_ERROR_OK);
- return;
- }
-
int64 start_changestamp = local_changestamp > 0 ? local_changestamp + 1 : 0;
if (directory_fetch_info.empty()) {
+ if (local_changestamp >= remote_changestamp) {
+ if (local_changestamp > remote_changestamp) {
+ LOG(WARNING) << "Local resource metadata is fresher than server, "
+ << "local = " << local_changestamp
+ << ", server = " << remote_changestamp;
+ }
+
+ // No changes detected, tell the client that the loading was successful.
+ OnChangeListLoadComplete(FILE_ERROR_OK);
+ return;
+ }
+
// If the caller is not interested in a particular directory, just start
// loading the change list.
LoadChangeListFromServer(start_changestamp);