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

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

Issue 10824303: gdata: Remove FindEntryByPathAndRunSync() from GDataWapiFeedLoader. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments Created 8 years, 4 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_wapi_feed_loader.cc
diff --git a/chrome/browser/chromeos/gdata/gdata_wapi_feed_loader.cc b/chrome/browser/chromeos/gdata/gdata_wapi_feed_loader.cc
index 569c081de340a15781def5bd99eddd7ec5b971fb..9616efa68aaf2603f7d82186198cb9f6f0f96ebe 100644
--- a/chrome/browser/chromeos/gdata/gdata_wapi_feed_loader.cc
+++ b/chrome/browser/chromeos/gdata/gdata_wapi_feed_loader.cc
@@ -139,11 +139,9 @@ bool UseLevelDB() {
} // namespace
LoadRootFeedParams::LoadRootFeedParams(
- FilePath search_file_path,
bool should_load_from_server,
- const FindEntryCallback& callback)
- : search_file_path(search_file_path),
- should_load_from_server(should_load_from_server),
+ const FileOperationCallback& callback)
+ : should_load_from_server(should_load_from_server),
load_error(GDATA_FILE_OK),
load_start_time(base::Time::Now()),
callback(callback) {
@@ -157,16 +155,14 @@ GetDocumentsParams::GetDocumentsParams(
int64 root_feed_changestamp,
std::vector<DocumentFeed*>* feed_list,
bool should_fetch_multiple_feeds,
- const FilePath& search_file_path,
const std::string& search_query,
const std::string& directory_resource_id,
- const FindEntryCallback& callback,
+ const FileOperationCallback& callback,
GetDocumentsUiState* ui_state)
: start_changestamp(start_changestamp),
root_feed_changestamp(root_feed_changestamp),
feed_list(feed_list),
should_fetch_multiple_feeds(should_fetch_multiple_feeds),
- search_file_path(search_file_path),
search_query(search_query),
directory_resource_id(directory_resource_id),
callback(callback),
@@ -237,8 +233,7 @@ void GDataWapiFeedLoader::RemoveObserver(Observer* observer) {
void GDataWapiFeedLoader::ReloadFromServerIfNeeded(
ContentOrigin initial_origin,
int64 local_changestamp,
- const FilePath& search_file_path,
- const FindEntryCallback& callback) {
+ const FileOperationCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
DVLOG(1) << "ReloadFeedFromServerIfNeeded local_changestamp="
@@ -252,7 +247,6 @@ void GDataWapiFeedLoader::ReloadFromServerIfNeeded(
weak_ptr_factory_.GetWeakPtr(),
initial_origin,
local_changestamp,
- search_file_path,
callback));
return;
}
@@ -262,15 +256,13 @@ void GDataWapiFeedLoader::ReloadFromServerIfNeeded(
weak_ptr_factory_.GetWeakPtr(),
initial_origin,
local_changestamp,
- search_file_path,
callback));
}
void GDataWapiFeedLoader::OnGetAccountMetadata(
ContentOrigin initial_origin,
int64 local_changestamp,
- const FilePath& search_file_path,
- const FindEntryCallback& callback,
+ const FileOperationCallback& callback,
GDataErrorCode status,
scoped_ptr<base::Value> feed_data) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
@@ -281,7 +273,6 @@ void GDataWapiFeedLoader::OnGetAccountMetadata(
LoadFromServer(initial_origin,
local_changestamp + 1, 0,
true, /* should_fetch_multiple_feeds */
- search_file_path,
std::string() /* no search query */,
GURL(), /* feed not explicitly set */
std::string() /* no directory resource ID */,
@@ -311,7 +302,6 @@ void GDataWapiFeedLoader::OnGetAccountMetadata(
LoadFromServer(initial_origin,
local_changestamp + 1, 0,
true, /* should_fetch_multiple_feeds */
- search_file_path,
std::string() /* no search query */,
GURL(), /* feed not explicitly set */
std::string() /* no directory resource ID */,
@@ -338,12 +328,10 @@ void GDataWapiFeedLoader::OnGetAccountMetadata(
changes_detected = false;
}
- // No changes detected, continue with search as planned.
+ // No changes detected, tell the client that the loading was successful.
if (!changes_detected) {
- if (!callback.is_null()) {
- directory_service_->FindEntryByPathAndRunSync(search_file_path,
- callback);
- }
+ if (!callback.is_null())
+ callback.Run(GDATA_FILE_OK);
return;
}
@@ -352,7 +340,6 @@ void GDataWapiFeedLoader::OnGetAccountMetadata(
local_changestamp > 0 ? local_changestamp + 1 : 0,
account_metadata->largest_changestamp(),
true, /* should_fetch_multiple_feeds */
- search_file_path,
std::string() /* no search query */,
GURL(), /* feed not explicitly set */
std::string() /* no directory resource ID */,
@@ -364,8 +351,7 @@ void GDataWapiFeedLoader::OnGetAccountMetadata(
void GDataWapiFeedLoader::OnGetAboutResource(
ContentOrigin initial_origin,
int64 local_changestamp,
- const FilePath& search_file_path,
- const FindEntryCallback& callback,
+ const FileOperationCallback& callback,
GDataErrorCode status,
scoped_ptr<base::Value> feed_data) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
@@ -376,7 +362,6 @@ void GDataWapiFeedLoader::OnGetAboutResource(
LoadFromServer(initial_origin,
local_changestamp + 1, 0,
true, /* should_fetch_multiple_feeds */
- search_file_path,
std::string() /* no search query */,
GURL(), /* feed not explicitly set */
std::string() /* no directory resource ID */,
@@ -394,7 +379,6 @@ void GDataWapiFeedLoader::OnGetAboutResource(
LoadFromServer(initial_origin,
local_changestamp + 1, 0,
true, /* should_fetch_multiple_feeds */
- search_file_path,
std::string() /* no search query */,
GURL(), /* feed not explicitly set */
std::string() /* no directory resource ID */,
@@ -422,12 +406,10 @@ void GDataWapiFeedLoader::OnGetAboutResource(
changes_detected = false;
}
- // No changes detected, continue with search as planned.
+ // No changes detected, tell the client that the loading was successful.
if (!changes_detected) {
- if (!callback.is_null()) {
- directory_service_->FindEntryByPathAndRunSync(search_file_path,
- callback);
- }
+ if (!callback.is_null())
+ callback.Run(GDATA_FILE_OK);
return;
}
@@ -436,7 +418,6 @@ void GDataWapiFeedLoader::OnGetAboutResource(
local_changestamp > 0 ? local_changestamp + 1 : 0,
largest_changestamp,
true, /* should_fetch_multiple_feeds */
- search_file_path,
std::string() /* no search query */,
GURL(), /* feed not explicitly set */
std::string() /* no directory resource ID */,
@@ -451,13 +432,13 @@ void GDataWapiFeedLoader::LoadFromServer(
int64 start_changestamp,
int64 root_feed_changestamp,
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 FileOperationCallback& load_finished_callback,
const LoadDocumentFeedCallback& feed_load_callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(!feed_load_callback.is_null());
// |feed_list| will contain the list of all collected feed updates that
// we will receive through calls of DocumentsService::GetDocuments().
@@ -478,10 +459,9 @@ void GDataWapiFeedLoader::LoadFromServer(
root_feed_changestamp,
feed_list.release(),
should_fetch_multiple_feeds,
- search_file_path,
search_query,
directory_resource_id,
- entry_found_callback,
+ load_finished_callback,
NULL)),
start_time));
return;
@@ -500,10 +480,9 @@ void GDataWapiFeedLoader::LoadFromServer(
root_feed_changestamp,
feed_list.release(),
should_fetch_multiple_feeds,
- search_file_path,
search_query,
directory_resource_id,
- entry_found_callback,
+ load_finished_callback,
NULL)),
start_time));
}
@@ -514,7 +493,7 @@ void GDataWapiFeedLoader::OnFeedFromServerLoaded(GetDocumentsParams* params,
if (error != GDATA_FILE_OK) {
if (!params->callback.is_null())
- params->callback.Run(error, NULL);
+ params->callback.Run(error);
return;
}
@@ -524,7 +503,7 @@ void GDataWapiFeedLoader::OnFeedFromServerLoaded(GetDocumentsParams* params,
if (error != GDATA_FILE_OK) {
if (!params->callback.is_null())
- params->callback.Run(error, NULL);
+ params->callback.Run(error);
return;
}
@@ -532,11 +511,9 @@ void GDataWapiFeedLoader::OnFeedFromServerLoaded(GetDocumentsParams* params,
// Save file system metadata to disk.
SaveFileSystem();
- // If we had someone to report this too, then this retrieval was done in a
- // context of search... so continue search.
+ // Tell the client that the loading was successful.
if (!params->callback.is_null()) {
- directory_service_->FindEntryByPathAndRunSync(params->search_file_path,
- params->callback);
+ params->callback.Run(GDATA_FILE_OK);
}
FOR_EACH_OBSERVER(Observer, observers_, OnFeedFromServerLoaded());
@@ -550,6 +527,7 @@ void GDataWapiFeedLoader::OnGetDocuments(
GDataErrorCode status,
scoped_ptr<base::Value> data) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(!callback.is_null());
if (params->feed_list->empty()) {
UMA_HISTOGRAM_TIMES("Gdata.InitialFeedLoadTime",
@@ -564,19 +542,14 @@ void GDataWapiFeedLoader::OnGetDocuments(
if (error != GDATA_FILE_OK) {
directory_service_->set_origin(initial_origin);
-
- if (!callback.is_null())
- callback.Run(params, error);
-
+ callback.Run(params, error);
return;
}
GURL next_feed_url;
scoped_ptr<DocumentFeed> current_feed(DocumentFeed::ExtractAndParse(*data));
if (!current_feed.get()) {
- if (!callback.is_null()) {
- callback.Run(params, GDATA_FILE_ERROR_FAILED);
- }
+ callback.Run(params, GDATA_FILE_ERROR_FAILED);
return;
}
const bool has_next_feed_url = current_feed->GetNextFeedURL(&next_feed_url);
@@ -642,7 +615,6 @@ void GDataWapiFeedLoader::OnGetDocuments(
params->root_feed_changestamp,
params->feed_list.release(),
params->should_fetch_multiple_feeds,
- params->search_file_path,
params->search_query,
params->directory_resource_id,
params->callback,
@@ -651,15 +623,15 @@ void GDataWapiFeedLoader::OnGetDocuments(
return;
}
- // Notify the observers that a document feed is fetched.
+ // Notify the observers that all document feeds are fetched.
FOR_EACH_OBSERVER(Observer, observers_,
OnDocumentFeedFetched(num_accumulated_entries));
UMA_HISTOGRAM_TIMES("Gdata.EntireFeedLoadTime",
base::TimeTicks::Now() - start_time);
- if (!callback.is_null())
- callback.Run(params, error);
+ // Run the callback so the client can process the retrieved feeds.
+ callback.Run(params, error);
}
void GDataWapiFeedLoader::OnGetChangelist(
@@ -670,6 +642,7 @@ void GDataWapiFeedLoader::OnGetChangelist(
GDataErrorCode status,
scoped_ptr<base::Value> data) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(!callback.is_null());
if (params->feed_list->empty()) {
UMA_HISTOGRAM_TIMES("Drive.InitialFeedLoadTime",
@@ -684,19 +657,14 @@ void GDataWapiFeedLoader::OnGetChangelist(
if (error != GDATA_FILE_OK) {
directory_service_->set_origin(initial_origin);
-
- if (!callback.is_null())
- callback.Run(params, error);
-
+ callback.Run(params, error);
return;
}
GURL next_feed_url;
scoped_ptr<ChangeList> current_feed(ChangeList::CreateFrom(*data));
if (!current_feed.get()) {
- if (!callback.is_null()) {
- callback.Run(params, GDATA_FILE_ERROR_FAILED);
- }
+ callback.Run(params, GDATA_FILE_ERROR_FAILED);
return;
}
const bool has_next_feed = !current_feed->next_page_token().empty();
@@ -762,7 +730,6 @@ void GDataWapiFeedLoader::OnGetChangelist(
params->root_feed_changestamp,
params->feed_list.release(),
params->should_fetch_multiple_feeds,
- params->search_file_path,
params->search_query,
params->directory_resource_id,
params->callback,
@@ -771,15 +738,15 @@ void GDataWapiFeedLoader::OnGetChangelist(
return;
}
- // Notify the observers that a document feed is fetched.
+ // Notify the observers that all document feeds are fetched.
FOR_EACH_OBSERVER(Observer, observers_,
OnDocumentFeedFetched(num_accumulated_entries));
UMA_HISTOGRAM_TIMES("Drive.EntireFeedLoadTime",
base::TimeTicks::Now() - start_time);
- if (!callback.is_null())
- callback.Run(params, error);
+ // Run the callback so the client can process the retrieved feeds.
+ callback.Run(params, error);
}
void GDataWapiFeedLoader::OnNotifyDocumentFeedFetched(
@@ -821,12 +788,10 @@ void GDataWapiFeedLoader::OnNotifyDocumentFeedFetched(
void GDataWapiFeedLoader::LoadFromCache(
bool should_load_from_server,
- const FilePath& search_file_path,
- const FindEntryCallback& callback) {
+ const FileOperationCallback& callback) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
- LoadRootFeedParams* params = new LoadRootFeedParams(search_file_path,
- should_load_from_server,
+ LoadRootFeedParams* params = new LoadRootFeedParams(should_load_from_server,
callback);
FilePath path = cache_->GetCacheDirectoryPath(GDataCache::CACHE_TYPE_META);
if (UseLevelDB()) {
@@ -878,13 +843,13 @@ void GDataWapiFeedLoader::ContinueWithInitializedDirectoryService(
<< (base::Time::Now() - params->load_start_time).InMilliseconds()
<< " milliseconds";
- FindEntryCallback callback = params->callback;
- // If we got feed content from cache, try search over it.
+ FileOperationCallback callback = params->callback;
+ // If we got feed content from cache, tell the client that the loading was
+ // successful.
if (error == GDATA_FILE_OK && !callback.is_null()) {
- // Continue file content search operation if the delegate hasn't terminated
- // this search branch already.
- directory_service_->FindEntryByPathAndRunSync(params->search_file_path,
- callback);
+ callback.Run(GDATA_FILE_OK);
+ // Reset the callback so we don't run the same callback once
+ // ReloadFeedFromServerIfNeeded() is complete.
callback.Reset();
}
@@ -909,7 +874,6 @@ void GDataWapiFeedLoader::ContinueWithInitializedDirectoryService(
// content without continuing search upon operation completion.
ReloadFromServerIfNeeded(initial_origin,
directory_service_->largest_changestamp(),
- params->search_file_path,
callback);
}

Powered by Google App Engine
This is Rietveld 408576698