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(); |