Index: chrome/browser/sync_file_system/sync_file_system_service.cc |
diff --git a/chrome/browser/sync_file_system/sync_file_system_service.cc b/chrome/browser/sync_file_system/sync_file_system_service.cc |
index 9f19c7e7a415bf882bbf793ae13024a68d977825..e9f33d1f2fd88f28d7d10ae18b993705ed1ab12c 100644 |
--- a/chrome/browser/sync_file_system/sync_file_system_service.cc |
+++ b/chrome/browser/sync_file_system/sync_file_system_service.cc |
@@ -513,8 +513,20 @@ void SyncFileSystemService::DidInitializeFileSystemForDump( |
return; |
} |
- base::ListValue* files = |
- GetRemoteService(origin)->DumpFiles(origin).release(); |
+ GetRemoteService(origin)->DumpFiles( |
+ origin, |
+ base::Bind( |
+ &SyncFileSystemService::DidDumpFiles, |
+ AsWeakPtr(), |
+ origin, |
+ callback)); |
+} |
+ |
+void SyncFileSystemService::DidDumpFiles( |
+ const GURL& origin, |
+ const DumpFilesCallback& callback, |
+ scoped_ptr<base::ListValue> dump_files) { |
+ base::ListValue* files = dump_files.release(); |
if (!files) { |
callback.Run(new base::ListValue); |
return; |