diff options
author | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-15 18:20:23 +0000 |
---|---|---|
committer | joaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-15 18:20:23 +0000 |
commit | f2b010372b588e349972760985d4d6619d2b950d (patch) | |
tree | 560fd15da215af20bb556b108d71851d5f4eda2f /chrome/browser | |
parent | a7dd461268c2d7434936b4d13d267f673b3f3557 (diff) | |
download | chromium_src-f2b010372b588e349972760985d4d6619d2b950d.zip chromium_src-f2b010372b588e349972760985d4d6619d2b950d.tar.gz chromium_src-f2b010372b588e349972760985d4d6619d2b950d.tar.bz2 |
Fixed bug preventing disabling the default search provider.
BUG=67180
TEST=Set the "DefaultSearchProviderEnabled" policy to false. Type keywords on the omnibox. No searches should be performed.
Review URL: http://codereview.chromium.org/7150012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@89219 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/search_engines/template_url_service.cc | 2 | ||||
-rw-r--r-- | chrome/browser/search_engines/template_url_service_unittest.cc | 19 |
2 files changed, 20 insertions, 1 deletions
diff --git a/chrome/browser/search_engines/template_url_service.cc b/chrome/browser/search_engines/template_url_service.cc index 6ee102f..3e99e85 100644 --- a/chrome/browser/search_engines/template_url_service.cc +++ b/chrome/browser/search_engines/template_url_service.cc @@ -513,8 +513,8 @@ void TemplateURLService::OnWebDataServiceRequestDone( managed_default->set_created_by_policy(true); managed_default->set_id(0); AddNoNotify(managed_default); - default_search_provider = managed_default; } + default_search_provider = managed_default; } // Note that this saves the default search provider to prefs. SetDefaultSearchProviderNoNotify(default_search_provider); diff --git a/chrome/browser/search_engines/template_url_service_unittest.cc b/chrome/browser/search_engines/template_url_service_unittest.cc index e2ffcd8..d62bb5d 100644 --- a/chrome/browser/search_engines/template_url_service_unittest.cc +++ b/chrome/browser/search_engines/template_url_service_unittest.cc @@ -1187,4 +1187,23 @@ TEST_F(TemplateURLServiceTest, TestManagedDefaultSearch) { actual_managed_default = model()->GetDefaultSearchProvider(); ExpectSimilar(actual_managed_default, expected_managed_default1.get()); EXPECT_EQ(actual_managed_default->show_in_default_list(), true); + + // Clear the model and disable the default search provider through policy. + // Verify that there is no default search provider after loading the model. + // This checks against regressions of http://crbug.com/67180 + + // First, remove the preferences, reset the model, and set a default. + RemoveManagedDefaultSearchPreferences(); + ResetModel(true); + TemplateURL* t_url = AddKeywordWithDate("key1", false, "http://foo1", + "http://sugg1", "http://icon1", "UTF-8;UTF-16", "name1", true, Time()); + model()->SetDefaultSearchProvider(t_url); + EXPECT_EQ(t_url, model()->GetDefaultSearchProvider()); + + // Now reset the model again but load it after setting the preferences. + ResetModel(false); + SetManagedDefaultSearchPreferences(false, "", "", "", "", "", ""); + VerifyLoad(); + EXPECT_TRUE(model()->is_default_search_managed()); + EXPECT_TRUE(model()->GetDefaultSearchProvider() == NULL); } |