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

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

Issue 10829276: Get web application list using Drive V2 API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unittest compile. 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 78718fdee09d1e41a3ce392f57db6072901cc5ec..3461bc0166f891fbb96ec09f26118eb129d36f09 100644
--- a/chrome/browser/chromeos/gdata/gdata_wapi_feed_loader.cc
+++ b/chrome/browser/chromeos/gdata/gdata_wapi_feed_loader.cc
@@ -239,6 +239,12 @@ void GDataWapiFeedLoader::ReloadFromServerIfNeeded(
local_changestamp,
search_file_path,
callback));
+ // Drive v2 needs a separate application list fetch operation.
+ // TODO(kochi): Application list rarely changes and do not necessarily
+ // refresed as often as files.
+ documents_service_->GetApplicationList(
+ base::Bind(&GDataWapiFeedLoader::OnGetApplicationList,
+ weak_ptr_factory_.GetWeakPtr()));
return;
}
@@ -430,6 +436,24 @@ void GDataWapiFeedLoader::OnGetAboutResource(
weak_ptr_factory_.GetWeakPtr()));
}
+void GDataWapiFeedLoader::OnGetApplicationList(
+ GDataErrorCode status,
+ scoped_ptr<base::Value> json) {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+
+ GDataFileError error = util::GDataToGDataFileError(status);
+ if (error != GDATA_FILE_OK)
+ return;
+
+ if (json.get()) {
+ scoped_ptr<AppList> applist(AppList::CreateFrom(*json));
+ if (applist.get()) {
+ VLOG(1) << "applist get success";
+ webapps_registry_->UpdateFromApplicationList(applist.get());
+ }
+ }
+}
+
// TODO(kochi): Fix too many parameters. http://crbug.com/141359
void GDataWapiFeedLoader::LoadFromServer(
ContentOrigin initial_origin,

Powered by Google App Engine
This is Rietveld 408576698