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

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

Issue 2367373003: [Android] Allow setting recently visited search engines as default search engine (Closed)
Patch Set: Update based on Dan's new comments. 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/template_url_service.h" 5 #include "components/search_engines/template_url_service.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 406
407 void TemplateURLService::AddMatchingDomainKeywords( 407 void TemplateURLService::AddMatchingDomainKeywords(
408 const base::string16& prefix, 408 const base::string16& prefix,
409 bool supports_replacement_only, 409 bool supports_replacement_only,
410 TURLsAndMeaningfulLengths* matches) { 410 TURLsAndMeaningfulLengths* matches) {
411 AddMatchingKeywordsHelper( 411 AddMatchingKeywordsHelper(
412 keyword_domain_to_turl_and_length_, prefix, supports_replacement_only, 412 keyword_domain_to_turl_and_length_, prefix, supports_replacement_only,
413 matches); 413 matches);
414 } 414 }
415 415
416 bool TemplateURLService::IsInDefaultList(const TemplateURL* t_url) {
417 return t_url->prepopulate_id() > 0 || t_url->created_by_policy();
418 }
419
416 TemplateURL* TemplateURLService::GetTemplateURLForKeyword( 420 TemplateURL* TemplateURLService::GetTemplateURLForKeyword(
417 const base::string16& keyword) { 421 const base::string16& keyword) {
418 KeywordToTURLAndMeaningfulLength::const_iterator elem( 422 KeywordToTURLAndMeaningfulLength::const_iterator elem(
419 keyword_to_turl_and_length_.find(keyword)); 423 keyword_to_turl_and_length_.find(keyword));
420 if (elem != keyword_to_turl_and_length_.end()) 424 if (elem != keyword_to_turl_and_length_.end())
421 return elem->second.first; 425 return elem->second.first;
422 return (!loaded_ && initial_default_search_provider_ && 426 return (!loaded_ && initial_default_search_provider_ &&
423 (initial_default_search_provider_->keyword() == keyword)) 427 (initial_default_search_provider_->keyword() == keyword))
424 ? initial_default_search_provider_.get() 428 ? initial_default_search_provider_.get()
425 : nullptr; 429 : nullptr;
(...skipping 1209 matching lines...) Expand 10 before | Expand all | Expand 10 after
1635 if (!urls) 1639 if (!urls)
1636 return true; 1640 return true;
1637 for (TemplateURLSet::const_iterator i(urls->begin()); i != urls->end(); ++i) { 1641 for (TemplateURLSet::const_iterator i(urls->begin()); i != urls->end(); ++i) {
1638 if (!(*i)->safe_for_autoreplace()) 1642 if (!(*i)->safe_for_autoreplace())
1639 return false; 1643 return false;
1640 } 1644 }
1641 return true; 1645 return true;
1642 } 1646 }
1643 1647
1644 bool TemplateURLService::CanReplace(const TemplateURL* t_url) { 1648 bool TemplateURLService::CanReplace(const TemplateURL* t_url) {
1645 return (t_url != default_search_provider_ && !t_url->show_in_default_list() && 1649 return (t_url != default_search_provider_ && !IsInDefaultList(t_url) &&
1646 t_url->safe_for_autoreplace()); 1650 t_url->safe_for_autoreplace());
1647 } 1651 }
1648 1652
1649 TemplateURL* TemplateURLService::FindNonExtensionTemplateURLForKeyword( 1653 TemplateURL* TemplateURLService::FindNonExtensionTemplateURLForKeyword(
1650 const base::string16& keyword) { 1654 const base::string16& keyword) {
1651 TemplateURL* keyword_turl = GetTemplateURLForKeyword(keyword); 1655 TemplateURL* keyword_turl = GetTemplateURLForKeyword(keyword);
1652 if (!keyword_turl || (keyword_turl->type() == TemplateURL::NORMAL)) 1656 if (!keyword_turl || (keyword_turl->type() == TemplateURL::NORMAL))
1653 return keyword_turl; 1657 return keyword_turl;
1654 // The extension keyword in the model may be hiding a replaceable 1658 // The extension keyword in the model may be hiding a replaceable
1655 // non-extension keyword. Look for it. 1659 // non-extension keyword. Look for it.
(...skipping 818 matching lines...) Expand 10 before | Expand all | Expand 10 after
2474 2478
2475 if (most_recently_intalled_default) { 2479 if (most_recently_intalled_default) {
2476 base::AutoReset<DefaultSearchChangeOrigin> change_origin( 2480 base::AutoReset<DefaultSearchChangeOrigin> change_origin(
2477 &dsp_change_origin_, DSP_CHANGE_OVERRIDE_SETTINGS_EXTENSION); 2481 &dsp_change_origin_, DSP_CHANGE_OVERRIDE_SETTINGS_EXTENSION);
2478 default_search_manager_.SetExtensionControlledDefaultSearchEngine( 2482 default_search_manager_.SetExtensionControlledDefaultSearchEngine(
2479 most_recently_intalled_default->data()); 2483 most_recently_intalled_default->data());
2480 } else { 2484 } else {
2481 default_search_manager_.ClearExtensionControlledDefaultSearchEngine(); 2485 default_search_manager_.ClearExtensionControlledDefaultSearchEngine();
2482 } 2486 }
2483 } 2487 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698