OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |