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

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

Issue 2479113002: Make extensions DSE persistent in browser prefs (Closed)
Patch Set: 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/util.h" 5 #include "components/search_engines/util.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>
11 #include <map> 11 #include <map>
12 #include <set> 12 #include <set>
13 #include <string> 13 #include <string>
14 #include <vector> 14 #include <vector>
15 15
16 #include "base/logging.h" 16 #include "base/logging.h"
17 #include "base/memory/ptr_util.h" 17 #include "base/memory/ptr_util.h"
18 #include "base/strings/string_number_conversions.h"
18 #include "base/time/time.h" 19 #include "base/time/time.h"
19 #include "components/prefs/pref_service.h" 20 #include "components/prefs/pref_service.h"
20 #include "components/search_engines/template_url.h" 21 #include "components/search_engines/template_url.h"
21 #include "components/search_engines/template_url_prepopulate_data.h" 22 #include "components/search_engines/template_url_prepopulate_data.h"
22 #include "components/search_engines/template_url_service.h" 23 #include "components/search_engines/template_url_service.h"
23 24
24 base::string16 GetDefaultSearchEngineName(TemplateURLService* service) { 25 base::string16 GetDefaultSearchEngineName(TemplateURLService* service) {
25 DCHECK(service); 26 DCHECK(service);
26 const TemplateURL* const default_provider = 27 const TemplateURL* const default_provider =
27 service->GetDefaultSearchProvider(); 28 service->GetDefaultSearchProvider();
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 } 370 }
370 371
371 TemplateURLService::OwnedTemplateURLVector::iterator FindTemplateURL( 372 TemplateURLService::OwnedTemplateURLVector::iterator FindTemplateURL(
372 TemplateURLService::OwnedTemplateURLVector* urls, 373 TemplateURLService::OwnedTemplateURLVector* urls,
373 const TemplateURL* url) { 374 const TemplateURL* url) {
374 return std::find_if(urls->begin(), urls->end(), 375 return std::find_if(urls->begin(), urls->end(),
375 [url](const std::unique_ptr<TemplateURL>& ptr) { 376 [url](const std::unique_ptr<TemplateURL>& ptr) {
376 return ptr.get() == url; 377 return ptr.get() == url;
377 }); 378 });
378 } 379 }
380
381 std::unique_ptr<TemplateURLData> TemplateUrlDataFromDictionary(
382 const base::DictionaryValue& dict) {
383 std::unique_ptr<TemplateURLData> result(base::MakeUnique<TemplateURLData>());
384
385 std::string search_url;
386 base::string16 keyword;
387 dict.GetString(DefaultSearchManager::kURL, &search_url);
388 dict.GetString(DefaultSearchManager::kKeyword, &keyword);
389
390 result->SetKeyword(keyword);
391 result->SetURL(search_url);
392
393 std::string id;
394 dict.GetString(DefaultSearchManager::kID, &id);
395 base::StringToInt64(id, &result->id);
396 base::string16 short_name;
397 dict.GetString(DefaultSearchManager::kShortName, &short_name);
398 result->SetShortName(short_name);
399 dict.GetInteger(DefaultSearchManager::kPrepopulateID,
400 &result->prepopulate_id);
401 dict.GetString(DefaultSearchManager::kSyncGUID,
402 &result->sync_guid);
403 dict.GetString(DefaultSearchManager::kSuggestionsURL,
404 &result->suggestions_url);
405 dict.GetString(DefaultSearchManager::kInstantURL,
406 &result->instant_url);
407 dict.GetString(DefaultSearchManager::kImageURL, &result->image_url);
408 dict.GetString(DefaultSearchManager::kNewTabURL, &result->new_tab_url);
409
410 std::string favicon_url;
411 std::string originating_url;
412 dict.GetString(DefaultSearchManager::kFaviconURL, &favicon_url);
413 dict.GetString(DefaultSearchManager::kOriginatingURL, &originating_url);
414 result->favicon_url = GURL(favicon_url);
415 result->originating_url = GURL(originating_url);
416
417 dict.GetString(DefaultSearchManager::kSearchURLPostParams,
418 &result->search_url_post_params);
419 dict.GetString(DefaultSearchManager::kSuggestionsURLPostParams,
420 &result->suggestions_url_post_params);
421 dict.GetString(DefaultSearchManager::kInstantURLPostParams,
422 &result->instant_url_post_params);
423 dict.GetString(DefaultSearchManager::kImageURLPostParams,
424 &result->image_url_post_params);
425 dict.GetBoolean(DefaultSearchManager::kSafeForAutoReplace,
426 &result->safe_for_autoreplace);
427
428 std::string date_created_str;
429 std::string last_modified_str;
430 dict.GetString(DefaultSearchManager::kDateCreated, &date_created_str);
431 dict.GetString(DefaultSearchManager::kLastModified, &last_modified_str);
432
433 int64_t date_created = 0;
434 if (base::StringToInt64(date_created_str, &date_created)) {
435 result->date_created = base::Time::FromInternalValue(date_created);
436 }
437
438 int64_t last_modified = 0;
439 if (base::StringToInt64(date_created_str, &last_modified)) {
440 result->last_modified = base::Time::FromInternalValue(last_modified);
441 }
442
443 dict.GetInteger(DefaultSearchManager::kUsageCount, &result->usage_count);
444
445 const base::ListValue* alternate_urls = NULL;
446 if (dict.GetList(DefaultSearchManager::kAlternateURLs, &alternate_urls)) {
447 for (const auto& it : *alternate_urls) {
448 std::string alternate_url;
449 if (it->GetAsString(&alternate_url))
450 result->alternate_urls.push_back(alternate_url);
451 }
452 }
453
454 const base::ListValue* encodings = NULL;
455 if (dict.GetList(DefaultSearchManager::kInputEncodings, &encodings)) {
456 for (const auto& it : *encodings) {
457 std::string encoding;
458 if (it->GetAsString(&encoding))
459 result->input_encodings.push_back(encoding);
460 }
461 }
462
463 dict.GetString(DefaultSearchManager::kSearchTermsReplacementKey,
464 &result->search_terms_replacement_key);
465 dict.GetBoolean(DefaultSearchManager::kCreatedByPolicy,
466 &result->created_by_policy);
467
468 result->show_in_default_list = true;
469 return result;
470 }
471
472 std::unique_ptr<base::DictionaryValue> TemplateUrlDataToDictionary(
473 const TemplateURLData& data) {
474 std::unique_ptr<base::DictionaryValue> url_dict(
475 base::MakeUnique<base::DictionaryValue>());
476
477 url_dict->SetString(DefaultSearchManager::kID, base::Int64ToString(data.id));
478 url_dict->SetString(DefaultSearchManager::kShortName, data.short_name());
479 url_dict->SetString(DefaultSearchManager::kKeyword, data.keyword());
480 url_dict->SetInteger(DefaultSearchManager::kPrepopulateID,
481 data.prepopulate_id);
482 url_dict->SetString(DefaultSearchManager::kSyncGUID, data.sync_guid);
483
484 url_dict->SetString(DefaultSearchManager::kURL, data.url());
485 url_dict->SetString(DefaultSearchManager::kSuggestionsURL,
486 data.suggestions_url);
487 url_dict->SetString(DefaultSearchManager::kInstantURL, data.instant_url);
488 url_dict->SetString(DefaultSearchManager::kImageURL, data.image_url);
489 url_dict->SetString(DefaultSearchManager::kNewTabURL, data.new_tab_url);
490 url_dict->SetString(DefaultSearchManager::kFaviconURL,
491 data.favicon_url.spec());
492 url_dict->SetString(DefaultSearchManager::kOriginatingURL,
493 data.originating_url.spec());
494
495 url_dict->SetString(DefaultSearchManager::kSearchURLPostParams,
496 data.search_url_post_params);
497 url_dict->SetString(DefaultSearchManager::kSuggestionsURLPostParams,
498 data.suggestions_url_post_params);
499 url_dict->SetString(DefaultSearchManager::kInstantURLPostParams,
500 data.instant_url_post_params);
501 url_dict->SetString(DefaultSearchManager::kImageURLPostParams,
502 data.image_url_post_params);
503
504 url_dict->SetBoolean(DefaultSearchManager::kSafeForAutoReplace,
505 data.safe_for_autoreplace);
506
507 url_dict->SetString(DefaultSearchManager::kDateCreated,
508 base::Int64ToString(data.date_created.ToInternalValue()));
509 url_dict->SetString(DefaultSearchManager::kLastModified,
510 base::Int64ToString(data.last_modified.ToInternalValue()));
511 url_dict->SetInteger(DefaultSearchManager::kUsageCount, data.usage_count);
512
513 std::unique_ptr<base::ListValue> alternate_urls(new base::ListValue);
514 for (std::vector<std::string>::const_iterator it =
515 data.alternate_urls.begin();
516 it != data.alternate_urls.end(); ++it) {
517 alternate_urls->AppendString(*it);
518 }
519 url_dict->Set(DefaultSearchManager::kAlternateURLs, alternate_urls.release());
520
521 std::unique_ptr<base::ListValue> encodings(new base::ListValue);
522 for (std::vector<std::string>::const_iterator it =
523 data.input_encodings.begin();
524 it != data.input_encodings.end(); ++it) {
525 encodings->AppendString(*it);
526 }
527 url_dict->Set(DefaultSearchManager::kInputEncodings, encodings.release());
528
529 url_dict->SetString(DefaultSearchManager::kSearchTermsReplacementKey,
530 data.search_terms_replacement_key);
531
532 url_dict->SetBoolean(DefaultSearchManager::kCreatedByPolicy,
533 data.created_by_policy);
534 return url_dict;
535 }
OLDNEW
« components/search_engines/default_search_manager.cc ('K') | « components/search_engines/util.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698