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

Unified Diff: chrome/browser/chromeos/drive/change_list_loader.h

Issue 118993002: drive: Move FileSystem::LoadDirectoryIfNeeded to ChangeListLoader (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years 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/drive/change_list_loader.h
diff --git a/chrome/browser/chromeos/drive/change_list_loader.h b/chrome/browser/chromeos/drive/change_list_loader.h
index 45b66a33a479a17025a22dc2a6ca76cfc36a08c4..620caca9504b0480ce6b7cb272be40887ee003b7 100644
--- a/chrome/browser/chromeos/drive/change_list_loader.h
+++ b/chrome/browser/chromeos/drive/change_list_loader.h
@@ -45,10 +45,6 @@ class ChangeListProcessor;
class DirectoryFetchInfo;
class ResourceMetadata;
-// Callback run as a response to SearchFromServer.
-typedef base::Callback<void(ScopedVector<ChangeList> change_lists,
- FileError error)> LoadChangeListCallback;
-
// ChangeListLoader is used to load the change list, the full resource list,
// and directory contents, from WAPI (codename for Documents List API)
// or Google Drive API. The class also updates the resource metadata with
@@ -85,19 +81,22 @@ class ChangeListLoader {
// runs, i.e. it may NOT be called if the checking is ignored.
void CheckForUpdates(const FileOperationCallback& callback);
- // Starts the change list loading first from the cache. If loading from the
- // cache is successful, runs |callback| immediately and starts checking
- // server for updates in background. If loading from the cache is
- // unsuccessful, starts loading from the server, and runs |callback| to tell
- // the result to the caller when it is finished.
+ // Starts the change list loading if needed. If the locally stored metadata is
+ // available, runs |callback| immediately and starts checking server for
+ // updates in background. If the locally stored metadata is not available,
+ // starts loading from the server, and runs |callback| to tell the result to
+ // the caller when it is finished.
//
- // If |directory_fetch_info| is not empty, the directory will be fetched
- // first from the server, so the UI can show the directory contents
- // instantly before the entire change list loading is complete.
+ // The specified directory will be fetched first from the server, so the UI
+ // can show the directory contents instantly before the entire change list
+ // loading is complete.
//
// |callback| must not be null.
- void LoadIfNeeded(const DirectoryFetchInfo& directory_fetch_info,
- const FileOperationCallback& callback);
+ void LoadDirectoryIfNeeded(const base::FilePath& directory_path,
+ const FileOperationCallback& callback);
+
+ // Calls Load() with an empty DirectoryFetchInfo(). Only for testing purposes.
+ void LoadForTesting(const FileOperationCallback& callback);
// Gets the about resource from the cache or the server. If the cache is
// availlavle, just runs |callback| with the cached about resource. If not,
@@ -105,6 +104,17 @@ class ChangeListLoader {
void GetAboutResource(const google_apis::AboutResourceCallback& callback);
private:
+ // Part of LoadDirectoryIfNeeded().
+ void LoadDirectoryIfNeededAfterGetEntry(const base::FilePath& directory_path,
+ const FileOperationCallback& callback,
+ bool should_try_loading_parent,
+ const ResourceEntry* entry,
+ FileError error);
+ void LoadDirectoryIfNeededAfterLoadParent(
+ const base::FilePath& directory_path,
+ const FileOperationCallback& callback,
+ FileError error);
+
// Starts the resource metadata loading and calls |callback| when it's
// done. |directory_fetch_info| is used for fast fetch. If there is already
// a loading job in-flight for |directory_fetch_info|, just append the

Powered by Google App Engine
This is Rietveld 408576698