Index: chrome/browser/chromeos/drive/job_scheduler.cc |
diff --git a/chrome/browser/chromeos/drive/job_scheduler.cc b/chrome/browser/chromeos/drive/job_scheduler.cc |
index 615178e3fc578340d044aa2ce2c9bcd58022aafb..9ad788682264a4ff6f6a033a18ea9ac0b9a1bff4 100644 |
--- a/chrome/browser/chromeos/drive/job_scheduler.cc |
+++ b/chrome/browser/chromeos/drive/job_scheduler.cc |
@@ -10,6 +10,7 @@ |
#include "base/strings/string_number_conversions.h" |
#include "base/strings/stringprintf.h" |
#include "chrome/browser/chromeos/drive/file_system_util.h" |
+#include "chrome/browser/drive/drive_api_util.h" |
#include "chrome/browser/drive/event_logger.h" |
#include "chrome/common/pref_names.h" |
#include "content/public/browser/browser_thread.h" |
@@ -334,7 +335,7 @@ void JobScheduler::GetChangeList( |
&DriveServiceInterface::GetChangeList, |
base::Unretained(drive_service_), |
start_changestamp, |
- base::Bind(&JobScheduler::OnGetResourceListJobDone, |
+ base::Bind(&JobScheduler::OnGetChangeListJobDone, |
weak_ptr_factory_.GetWeakPtr(), |
new_job->job_info.job_id, |
callback)); |
@@ -353,7 +354,7 @@ void JobScheduler::GetRemainingChangeList( |
&DriveServiceInterface::GetRemainingChangeList, |
base::Unretained(drive_service_), |
next_link, |
- base::Bind(&JobScheduler::OnGetResourceListJobDone, |
+ base::Bind(&JobScheduler::OnGetChangeListJobDone, |
weak_ptr_factory_.GetWeakPtr(), |
new_job->job_info.job_id, |
callback)); |
@@ -898,6 +899,22 @@ bool JobScheduler::OnJobDone(JobID job_id, google_apis::GDataErrorCode error) { |
return !should_retry; |
} |
+void JobScheduler::OnGetChangeListJobDone( |
+ JobID job_id, |
+ const google_apis::GetResourceListCallback& callback, |
+ google_apis::GDataErrorCode error, |
+ scoped_ptr<google_apis::ChangeList> change_list) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ DCHECK(!callback.is_null()); |
+ |
+ if (OnJobDone(job_id, error)) { |
+ callback.Run(error, change_list ? |
+ util::ConvertChangeListToResourceList(*change_list) : |
+ scoped_ptr<google_apis::ResourceList>()); |
+ |
+ } |
+} |
+ |
void JobScheduler::OnGetResourceListJobDone( |
JobID job_id, |
const google_apis::GetResourceListCallback& callback, |