| Index: chrome/browser/ui/app_list/search/people/people_provider.cc
|
| diff --git a/chrome/browser/ui/app_list/search/people/people_provider.cc b/chrome/browser/ui/app_list/search/people/people_provider.cc
|
| index 4a9f668345c07abde716d126166b82fe6e87eb46..b999034e7df1c64563433ab072f5b87caab305a0 100644
|
| --- a/chrome/browser/ui/app_list/search/people/people_provider.cc
|
| +++ b/chrome/browser/ui/app_list/search/people/people_provider.cc
|
| @@ -58,14 +58,17 @@ void PeopleProvider::Start(const base::string16& query) {
|
| }
|
|
|
| query_ = UTF16ToUTF8(query);
|
| - const base::DictionaryValue* cached_result = cache_.Get(query_);
|
| - if (cached_result) {
|
| - ProcessPeopleSearchResults(cached_result);
|
| +
|
| + const CacheResult result = cache_->Get(WebserviceCache::PEOPLE, query_);
|
| + if (result.second) {
|
| + ProcessPeopleSearchResults(result.second);
|
| if (!people_search_fetched_callback_.is_null())
|
| people_search_fetched_callback_.Run();
|
| - return;
|
| + if (result.first == FRESH)
|
| + return;
|
| }
|
|
|
| +
|
| if (!people_search_) {
|
| people_search_.reset(new JSONResponseFetcher(
|
| base::Bind(&PeopleProvider::OnPeopleSearchFetched,
|
| @@ -143,7 +146,7 @@ void PeopleProvider::StartQuery() {
|
| void PeopleProvider::OnPeopleSearchFetched(
|
| scoped_ptr<base::DictionaryValue> json) {
|
| ProcessPeopleSearchResults(json.get());
|
| - cache_.Put(query_, json.Pass());
|
| + cache_->Put(WebserviceCache::PEOPLE, query_, json.Pass());
|
|
|
| if (!people_search_fetched_callback_.is_null())
|
| people_search_fetched_callback_.Run();
|
|
|