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

Unified Diff: chrome/browser/chromeos/gdata/gdata_file_system.cc

Issue 10634020: [FileManager] Do drive search incrementally (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years, 5 months 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/gdata/gdata_file_system.cc
diff --git a/chrome/browser/chromeos/gdata/gdata_file_system.cc b/chrome/browser/chromeos/gdata/gdata_file_system.cc
index d7bbff261be721fc90a728422c649620c757d9fd..669cfc0f5cc672c3c84f380e8c4b39d1ea87d9cb 100644
--- a/chrome/browser/chromeos/gdata/gdata_file_system.cc
+++ b/chrome/browser/chromeos/gdata/gdata_file_system.cc
@@ -441,6 +441,7 @@ void AddEntryToSearchResults(
const SearchCallback& callback,
GDataFileError error,
bool run_callback,
+ const GURL& next_feed,
GDataEntry* entry) {
// If a result is not present in our local file system snapshot, ignore it.
// For example, this may happen if the entry has recently been added to the
@@ -453,7 +454,7 @@ void AddEntryToSearchResults(
if (run_callback) {
scoped_ptr<std::vector<SearchResultInfo> > result_vec(results);
if (!callback.is_null())
- callback.Run(error, result_vec.Pass());
+ callback.Run(error, next_feed, result_vec.Pass());
}
}
@@ -974,6 +975,7 @@ void GDataFileSystem::OnGetAccountMetadata(
true, /* should_fetch_multiple_feeds */
search_file_path,
std::string() /* no search query */,
+ GURL(),
satorux1 2012/07/20 17:13:04 please add some comment
tbarzic 2012/07/20 17:51:43 Done.
std::string() /* no directory resource ID */,
callback,
base::Bind(&GDataFileSystem::OnFeedFromServerLoaded,
@@ -1003,6 +1005,7 @@ void GDataFileSystem::OnGetAccountMetadata(
true, /* should_fetch_multiple_feeds */
search_file_path,
std::string() /* no search query */,
+ GURL(),
satorux1 2012/07/20 17:13:04 ditto
tbarzic 2012/07/20 17:51:43 Done.
std::string() /* no directory resource ID */,
callback,
base::Bind(&GDataFileSystem::OnFeedFromServerLoaded,
@@ -1038,6 +1041,7 @@ void GDataFileSystem::OnGetAccountMetadata(
true, /* should_fetch_multiple_feeds */
search_file_path,
std::string() /* no search query */,
+ GURL(),
satorux1 2012/07/20 17:13:04 ditto
tbarzic 2012/07/20 17:51:43 Done.
std::string() /* no directory resource ID */,
callback,
base::Bind(&GDataFileSystem::OnFeedFromServerLoaded,
@@ -1051,6 +1055,7 @@ void GDataFileSystem::LoadFeedFromServer(
bool should_fetch_multiple_feeds,
const FilePath& search_file_path,
const std::string& search_query,
+ const GURL& feed_to_load,
const std::string& directory_resource_id,
const FindEntryCallback& entry_found_callback,
const LoadDocumentFeedCallback& feed_load_callback) {
@@ -1062,7 +1067,7 @@ void GDataFileSystem::LoadFeedFromServer(
new std::vector<DocumentFeed*>);
const base::TimeTicks start_time = base::TimeTicks::Now();
documents_service_->GetDocuments(
- GURL(), // root feed start.
+ feed_to_load,
start_changestamp,
search_query,
directory_resource_id,
@@ -2346,6 +2351,7 @@ void GDataFileSystem::RequestDirectoryRefreshOnUIThreadAfterGetEntryInfo(
true, // multiple feeds
file_path,
std::string(), // No search query
+ GURL(),
satorux1 2012/07/20 17:13:04 ditto.
tbarzic 2012/07/20 17:51:43 Done.
entry_proto->resource_id(),
FindEntryCallback(), // Not used.
base::Bind(&GDataFileSystem::OnRequestDirectoryRefresh,
@@ -2638,7 +2644,7 @@ void GDataFileSystem::OnSearch(const SearchCallback& callback,
if (error != GDATA_FILE_OK) {
if (!callback.is_null())
- callback.Run(error, scoped_ptr<std::vector<SearchResultInfo> >());
+ callback.Run(error, GURL(), scoped_ptr<std::vector<SearchResultInfo> >());
return;
}
@@ -2650,10 +2656,13 @@ void GDataFileSystem::OnSearch(const SearchCallback& callback,
DCHECK_EQ(1u, params->feed_list->size());
DocumentFeed* feed = params->feed_list->at(0);
+ GURL next_feed;
+ feed->GetNextFeedURL(&next_feed);
satorux1 2012/07/20 17:13:04 are we going to fetch all the search results? What
tbarzic 2012/07/20 17:51:43 Yeah, we should probably stop at certain number, b
satorux1 2012/07/20 17:55:56 I think having a hard limit here would be safer.
tbarzic 2012/07/20 18:32:19 yep, that was the number I had in mind to limit nu
+
if (feed->entries().empty()) {
scoped_ptr<std::vector<SearchResultInfo> > result_vec(results);
if (!callback.is_null())
- callback.Run(error, result_vec.Pass());
+ callback.Run(error, next_feed, result_vec.Pass());
return;
}
@@ -2689,22 +2698,26 @@ void GDataFileSystem::OnSearch(const SearchCallback& callback,
results,
callback,
error,
- i+1 == feed->entries().size()));
+ i+1 == feed->entries().size(),
+ next_feed));
}
}
void GDataFileSystem::Search(const std::string& search_query,
+ const GURL& next_feed,
const SearchCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) ||
BrowserThread::CurrentlyOn(BrowserThread::IO));
RunTaskOnUIThread(base::Bind(&GDataFileSystem::SearchAsyncOnUIThread,
ui_weak_ptr_,
search_query,
+ next_feed,
CreateRelayCallback(callback)));
}
void GDataFileSystem::SearchAsyncOnUIThread(
const std::string& search_query,
+ const GURL& next_feed,
const SearchCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
scoped_ptr<std::vector<DocumentFeed*> > feed_list(
@@ -2719,6 +2732,7 @@ void GDataFileSystem::SearchAsyncOnUIThread(
// results (especially since we don't cache them).
FilePath(), // Not used.
search_query,
+ next_feed,
std::string(), // No directory resource ID.
FindEntryCallback(), // Not used.
base::Bind(&GDataFileSystem::OnSearch,

Powered by Google App Engine
This is Rietveld 408576698