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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/gdata/gdata_wapi_feed_loader.h" 5 #include "chrome/browser/chromeos/gdata/gdata_wapi_feed_loader.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/format_macros.h" 9 #include "base/format_macros.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 // First fetch the latest changestamp to see if there were any new changes 232 // First fetch the latest changestamp to see if there were any new changes
233 // there at all. 233 // there at all.
234 if (gdata::util::IsDriveV2ApiEnabled()) { 234 if (gdata::util::IsDriveV2ApiEnabled()) {
235 documents_service_->GetAboutResource( 235 documents_service_->GetAboutResource(
236 base::Bind(&GDataWapiFeedLoader::OnGetAboutResource, 236 base::Bind(&GDataWapiFeedLoader::OnGetAboutResource,
237 weak_ptr_factory_.GetWeakPtr(), 237 weak_ptr_factory_.GetWeakPtr(),
238 initial_origin, 238 initial_origin,
239 local_changestamp, 239 local_changestamp,
240 search_file_path, 240 search_file_path,
241 callback)); 241 callback));
242 // Drive v2 needs a separate application list fetch operation.
243 // TODO(kochi): Application list rarely changes and do not necessarily
244 // refresed as often as files.
245 documents_service_->GetApplicationList(
246 base::Bind(&GDataWapiFeedLoader::OnGetApplicationList,
247 weak_ptr_factory_.GetWeakPtr()));
242 return; 248 return;
243 } 249 }
244 250
245 documents_service_->GetAccountMetadata( 251 documents_service_->GetAccountMetadata(
246 base::Bind(&GDataWapiFeedLoader::OnGetAccountMetadata, 252 base::Bind(&GDataWapiFeedLoader::OnGetAccountMetadata,
247 weak_ptr_factory_.GetWeakPtr(), 253 weak_ptr_factory_.GetWeakPtr(),
248 initial_origin, 254 initial_origin,
249 local_changestamp, 255 local_changestamp,
250 search_file_path, 256 search_file_path,
251 callback)); 257 callback));
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 true, /* should_fetch_multiple_feeds */ 429 true, /* should_fetch_multiple_feeds */
424 search_file_path, 430 search_file_path,
425 std::string() /* no search query */, 431 std::string() /* no search query */,
426 GURL(), /* feed not explicitly set */ 432 GURL(), /* feed not explicitly set */
427 std::string() /* no directory resource ID */, 433 std::string() /* no directory resource ID */,
428 callback, 434 callback,
429 base::Bind(&GDataWapiFeedLoader::OnFeedFromServerLoaded, 435 base::Bind(&GDataWapiFeedLoader::OnFeedFromServerLoaded,
430 weak_ptr_factory_.GetWeakPtr())); 436 weak_ptr_factory_.GetWeakPtr()));
431 } 437 }
432 438
439 void GDataWapiFeedLoader::OnGetApplicationList(
440 GDataErrorCode status,
441 scoped_ptr<base::Value> json) {
442 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
443
444 GDataFileError error = util::GDataToGDataFileError(status);
445 if (error != GDATA_FILE_OK)
446 return;
447
448 if (json.get()) {
449 scoped_ptr<AppList> applist(AppList::CreateFrom(*json));
450 if (applist.get()) {
451 VLOG(1) << "applist get success";
452 webapps_registry_->UpdateFromApplicationList(applist.get());
453 }
454 }
455 }
456
433 // TODO(kochi): Fix too many parameters. http://crbug.com/141359 457 // TODO(kochi): Fix too many parameters. http://crbug.com/141359
434 void GDataWapiFeedLoader::LoadFromServer( 458 void GDataWapiFeedLoader::LoadFromServer(
435 ContentOrigin initial_origin, 459 ContentOrigin initial_origin,
436 int64 start_changestamp, 460 int64 start_changestamp,
437 int64 root_feed_changestamp, 461 int64 root_feed_changestamp,
438 bool should_fetch_multiple_feeds, 462 bool should_fetch_multiple_feeds,
439 const FilePath& search_file_path, 463 const FilePath& search_file_path,
440 const std::string& search_query, 464 const std::string& search_query,
441 const GURL& feed_to_load, 465 const GURL& feed_to_load,
442 const std::string& directory_resource_id, 466 const std::string& directory_resource_id,
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 dir_iter != changed_dirs.end(); ++dir_iter) { 830 dir_iter != changed_dirs.end(); ++dir_iter) {
807 FOR_EACH_OBSERVER(Observer, observers_, 831 FOR_EACH_OBSERVER(Observer, observers_,
808 OnDirectoryChanged(*dir_iter)); 832 OnDirectoryChanged(*dir_iter));
809 } 833 }
810 } 834 }
811 835
812 return error; 836 return error;
813 } 837 }
814 838
815 } // namespace gdata 839 } // namespace gdata
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698