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

Side by Side Diff: components/search_engines/default_search_manager.cc

Issue 2498053002: Add field to monitor last visited time for each search engine (Closed)
Patch Set: Add unit test for last_visited field. Created 4 years, 1 month 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/search_engines/default_search_manager.h" 5 #include "components/search_engines/default_search_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 const char DefaultSearchManager::kInstantURLPostParams[] = 60 const char DefaultSearchManager::kInstantURLPostParams[] =
61 "instant_url_post_params"; 61 "instant_url_post_params";
62 const char DefaultSearchManager::kImageURLPostParams[] = 62 const char DefaultSearchManager::kImageURLPostParams[] =
63 "image_url_post_params"; 63 "image_url_post_params";
64 64
65 const char DefaultSearchManager::kSafeForAutoReplace[] = "safe_for_autoreplace"; 65 const char DefaultSearchManager::kSafeForAutoReplace[] = "safe_for_autoreplace";
66 const char DefaultSearchManager::kInputEncodings[] = "input_encodings"; 66 const char DefaultSearchManager::kInputEncodings[] = "input_encodings";
67 67
68 const char DefaultSearchManager::kDateCreated[] = "date_created"; 68 const char DefaultSearchManager::kDateCreated[] = "date_created";
69 const char DefaultSearchManager::kLastModified[] = "last_modified"; 69 const char DefaultSearchManager::kLastModified[] = "last_modified";
70 const char DefaultSearchManager::kLastVisited[] = "last_visited";
70 71
71 const char DefaultSearchManager::kUsageCount[] = "usage_count"; 72 const char DefaultSearchManager::kUsageCount[] = "usage_count";
72 const char DefaultSearchManager::kAlternateURLs[] = "alternate_urls"; 73 const char DefaultSearchManager::kAlternateURLs[] = "alternate_urls";
73 const char DefaultSearchManager::kSearchTermsReplacementKey[] = 74 const char DefaultSearchManager::kSearchTermsReplacementKey[] =
74 "search_terms_replacement_key"; 75 "search_terms_replacement_key";
75 const char DefaultSearchManager::kCreatedByPolicy[] = "created_by_policy"; 76 const char DefaultSearchManager::kCreatedByPolicy[] = "created_by_policy";
76 const char DefaultSearchManager::kDisabledByPolicy[] = "disabled_by_policy"; 77 const char DefaultSearchManager::kDisabledByPolicy[] = "disabled_by_policy";
77 78
78 DefaultSearchManager::DefaultSearchManager( 79 DefaultSearchManager::DefaultSearchManager(
79 PrefService* pref_service, 80 PrefService* pref_service,
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 data.suggestions_url_post_params); 180 data.suggestions_url_post_params);
180 url_dict.SetString(kInstantURLPostParams, data.instant_url_post_params); 181 url_dict.SetString(kInstantURLPostParams, data.instant_url_post_params);
181 url_dict.SetString(kImageURLPostParams, data.image_url_post_params); 182 url_dict.SetString(kImageURLPostParams, data.image_url_post_params);
182 183
183 url_dict.SetBoolean(kSafeForAutoReplace, data.safe_for_autoreplace); 184 url_dict.SetBoolean(kSafeForAutoReplace, data.safe_for_autoreplace);
184 185
185 url_dict.SetString(kDateCreated, 186 url_dict.SetString(kDateCreated,
186 base::Int64ToString(data.date_created.ToInternalValue())); 187 base::Int64ToString(data.date_created.ToInternalValue()));
187 url_dict.SetString(kLastModified, 188 url_dict.SetString(kLastModified,
188 base::Int64ToString(data.last_modified.ToInternalValue())); 189 base::Int64ToString(data.last_modified.ToInternalValue()));
190 url_dict.SetString(kLastVisited,
191 base::Int64ToString(data.last_visited.ToInternalValue()));
189 url_dict.SetInteger(kUsageCount, data.usage_count); 192 url_dict.SetInteger(kUsageCount, data.usage_count);
190 193
191 std::unique_ptr<base::ListValue> alternate_urls(new base::ListValue); 194 std::unique_ptr<base::ListValue> alternate_urls(new base::ListValue);
192 for (std::vector<std::string>::const_iterator it = 195 for (std::vector<std::string>::const_iterator it =
193 data.alternate_urls.begin(); 196 data.alternate_urls.begin();
194 it != data.alternate_urls.end(); ++it) { 197 it != data.alternate_urls.end(); ++it) {
195 alternate_urls->AppendString(*it); 198 alternate_urls->AppendString(*it);
196 } 199 }
197 url_dict.Set(kAlternateURLs, alternate_urls.release()); 200 url_dict.Set(kAlternateURLs, alternate_urls.release());
198 201
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 275
273 if (!prefs_default_search_->safe_for_autoreplace) { 276 if (!prefs_default_search_->safe_for_autoreplace) {
274 engine->safe_for_autoreplace = false; 277 engine->safe_for_autoreplace = false;
275 engine->SetKeyword(prefs_default_search_->keyword()); 278 engine->SetKeyword(prefs_default_search_->keyword());
276 engine->SetShortName(prefs_default_search_->short_name()); 279 engine->SetShortName(prefs_default_search_->short_name());
277 } 280 }
278 engine->id = prefs_default_search_->id; 281 engine->id = prefs_default_search_->id;
279 engine->sync_guid = prefs_default_search_->sync_guid; 282 engine->sync_guid = prefs_default_search_->sync_guid;
280 engine->date_created = prefs_default_search_->date_created; 283 engine->date_created = prefs_default_search_->date_created;
281 engine->last_modified = prefs_default_search_->last_modified; 284 engine->last_modified = prefs_default_search_->last_modified;
285 engine->last_visited = prefs_default_search_->last_visited;
282 286
283 prefs_default_search_ = std::move(engine); 287 prefs_default_search_ = std::move(engine);
284 return; 288 return;
285 } 289 }
286 } 290 }
287 291
288 void DefaultSearchManager::LoadDefaultSearchEngineFromPrefs() { 292 void DefaultSearchManager::LoadDefaultSearchEngineFromPrefs() {
289 if (!pref_service_) 293 if (!pref_service_)
290 return; 294 return;
291 295
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 url_dict->GetString(kInstantURLPostParams, 350 url_dict->GetString(kInstantURLPostParams,
347 &prefs_default_search_->instant_url_post_params); 351 &prefs_default_search_->instant_url_post_params);
348 url_dict->GetString(kImageURLPostParams, 352 url_dict->GetString(kImageURLPostParams,
349 &prefs_default_search_->image_url_post_params); 353 &prefs_default_search_->image_url_post_params);
350 354
351 url_dict->GetBoolean(kSafeForAutoReplace, 355 url_dict->GetBoolean(kSafeForAutoReplace,
352 &prefs_default_search_->safe_for_autoreplace); 356 &prefs_default_search_->safe_for_autoreplace);
353 357
354 std::string date_created_str; 358 std::string date_created_str;
355 std::string last_modified_str; 359 std::string last_modified_str;
360 std::string last_visited_str;
356 url_dict->GetString(kDateCreated, &date_created_str); 361 url_dict->GetString(kDateCreated, &date_created_str);
357 url_dict->GetString(kLastModified, &last_modified_str); 362 url_dict->GetString(kLastModified, &last_modified_str);
363 url_dict->GetString(kLastVisited, &last_visited_str);
358 364
359 int64_t date_created = 0; 365 int64_t date_created = 0;
360 if (base::StringToInt64(date_created_str, &date_created)) { 366 if (base::StringToInt64(date_created_str, &date_created)) {
361 prefs_default_search_->date_created = 367 prefs_default_search_->date_created =
362 base::Time::FromInternalValue(date_created); 368 base::Time::FromInternalValue(date_created);
363 } 369 }
364 370
365 int64_t last_modified = 0; 371 int64_t last_modified = 0;
366 if (base::StringToInt64(date_created_str, &last_modified)) { 372 if (base::StringToInt64(last_modified_str, &last_modified)) {
367 prefs_default_search_->last_modified = 373 prefs_default_search_->last_modified =
368 base::Time::FromInternalValue(last_modified); 374 base::Time::FromInternalValue(last_modified);
369 } 375 }
370 376
377 int64_t last_visited = 0;
378 if (base::StringToInt64(last_visited_str, &last_visited)) {
379 prefs_default_search_->last_visited =
380 base::Time::FromInternalValue(last_visited);
381 }
382
371 url_dict->GetInteger(kUsageCount, &prefs_default_search_->usage_count); 383 url_dict->GetInteger(kUsageCount, &prefs_default_search_->usage_count);
372 384
373 const base::ListValue* alternate_urls = NULL; 385 const base::ListValue* alternate_urls = NULL;
374 if (url_dict->GetList(kAlternateURLs, &alternate_urls)) { 386 if (url_dict->GetList(kAlternateURLs, &alternate_urls)) {
375 for (base::ListValue::const_iterator it = alternate_urls->begin(); 387 for (base::ListValue::const_iterator it = alternate_urls->begin();
376 it != alternate_urls->end(); 388 it != alternate_urls->end();
377 ++it) { 389 ++it) {
378 std::string alternate_url; 390 std::string alternate_url;
379 if ((*it)->GetAsString(&alternate_url)) 391 if ((*it)->GetAsString(&alternate_url))
380 prefs_default_search_->alternate_urls.push_back(alternate_url); 392 prefs_default_search_->alternate_urls.push_back(alternate_url);
(...skipping 27 matching lines...) Expand all
408 MergePrefsDataWithPrepopulated(); 420 MergePrefsDataWithPrepopulated();
409 } 421 }
410 422
411 void DefaultSearchManager::NotifyObserver() { 423 void DefaultSearchManager::NotifyObserver() {
412 if (!change_observer_.is_null()) { 424 if (!change_observer_.is_null()) {
413 Source source = FROM_FALLBACK; 425 Source source = FROM_FALLBACK;
414 TemplateURLData* data = GetDefaultSearchEngine(&source); 426 TemplateURLData* data = GetDefaultSearchEngine(&source);
415 change_observer_.Run(data, source); 427 change_observer_.Run(data, source);
416 } 428 }
417 } 429 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698