summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-15 18:20:23 +0000
committerjoaodasilva@chromium.org <joaodasilva@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-15 18:20:23 +0000
commitf2b010372b588e349972760985d4d6619d2b950d (patch)
tree560fd15da215af20bb556b108d71851d5f4eda2f /chrome/browser
parenta7dd461268c2d7434936b4d13d267f673b3f3557 (diff)
downloadchromium_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.cc2
-rw-r--r--chrome/browser/search_engines/template_url_service_unittest.cc19
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);
}