| Index: chrome/browser/ui/search_engines/keyword_editor_controller_unittest.cc | 
| diff --git a/chrome/browser/ui/search_engines/keyword_editor_controller_unittest.cc b/chrome/browser/ui/search_engines/keyword_editor_controller_unittest.cc | 
| index f13247e7527459c2e2072ac0272bb61b626c874d..658ee230c2bb20ec8ef7f823e61e5e3a4325d1f9 100644 | 
| --- a/chrome/browser/ui/search_engines/keyword_editor_controller_unittest.cc | 
| +++ b/chrome/browser/ui/search_engines/keyword_editor_controller_unittest.cc | 
| @@ -5,8 +5,10 @@ | 
| #include "base/message_loop/message_loop.h" | 
| #include "base/strings/string16.h" | 
| #include "base/strings/utf_string_conversions.h" | 
| +#include "base/values.h" | 
| #include "chrome/browser/chrome_notification_types.h" | 
| #include "chrome/browser/profiles/profile.h" | 
| +#include "chrome/browser/search_engines/default_search_manager.h" | 
| #include "chrome/browser/search_engines/template_url.h" | 
| #include "chrome/browser/search_engines/template_url_service.h" | 
| #include "chrome/browser/search_engines/template_url_service_factory.h" | 
| @@ -71,22 +73,16 @@ class KeywordEditorControllerTest : public testing::Test, | 
| void SimulateDefaultSearchIsManaged(const std::string& url) { | 
| ASSERT_FALSE(url.empty()); | 
| TestingPrefServiceSyncable* service = profile_->GetTestingPrefService(); | 
| -    service->SetManagedPref(prefs::kDefaultSearchProviderEnabled, | 
| -                            new base::FundamentalValue(true)); | 
| -    service->SetManagedPref(prefs::kDefaultSearchProviderSearchURL, | 
| -                            new base::StringValue(url)); | 
| -    service->SetManagedPref(prefs::kDefaultSearchProviderName, | 
| -                            new base::StringValue("managed")); | 
| -    service->SetManagedPref(prefs::kDefaultSearchProviderKeyword, | 
| -                            new base::StringValue("managed")); | 
| -    // Clear the IDs that are not specified via policy. | 
| -    service->SetManagedPref(prefs::kDefaultSearchProviderID, | 
| -                            new base::StringValue(std::string())); | 
| -    service->SetManagedPref(prefs::kDefaultSearchProviderPrepopulateID, | 
| -                            new base::StringValue(std::string())); | 
| -    model_->Observe(chrome::NOTIFICATION_DEFAULT_SEARCH_POLICY_CHANGED, | 
| -                    content::NotificationService::AllSources(), | 
| -                    content::NotificationService::NoDetails()); | 
| +    scoped_ptr<base::DictionaryValue> value(new base::DictionaryValue); | 
| +    value->Set(DefaultSearchManager::kShortName, | 
| +               base::Value::CreateStringValue("managed")); | 
| +    value->Set(DefaultSearchManager::kKeyword, | 
| +               base::Value::CreateStringValue("managed")); | 
| +    value->Set(DefaultSearchManager::kURL, | 
| +               base::Value::CreateStringValue(url)); | 
| +    service->SetManagedPref( | 
| +        DefaultSearchManager::kDefaultSearchProviderDataPrefName, | 
| +        value.release()); | 
| } | 
|  | 
| TemplateURLTableModel* table_model() const { | 
| @@ -125,6 +121,7 @@ void KeywordEditorControllerTest::Init(bool simulate_load_failure) { | 
|  | 
| // Tests adding a TemplateURL. | 
| TEST_F(KeywordEditorControllerTest, Add) { | 
| +  int original_row_count = table_model()->RowCount(); | 
| controller_->AddTemplateURL(kA, kB, "http://c"); | 
|  | 
| // Verify the observer was notified. | 
| @@ -133,13 +130,11 @@ TEST_F(KeywordEditorControllerTest, Add) { | 
| return; | 
|  | 
| // Verify the TableModel has the new data. | 
| -  ASSERT_EQ(1, table_model()->RowCount()); | 
| +  ASSERT_EQ(original_row_count + 1, table_model()->RowCount()); | 
|  | 
| -  // Verify the TemplateURLService has the new entry. | 
| -  ASSERT_EQ(1U, model_->GetTemplateURLs().size()); | 
| - | 
| -  // Verify the entry is what we added. | 
| -  const TemplateURL* turl = model_->GetTemplateURLs()[0]; | 
| +  // Verify the TemplateURLService has the new data. | 
| +  const TemplateURL* turl = model_->GetTemplateURLForKeyword(kB); | 
| +  ASSERT_TRUE(turl); | 
| EXPECT_EQ(ASCIIToUTF16("a"), turl->short_name()); | 
| EXPECT_EQ(ASCIIToUTF16("b"), turl->keyword()); | 
| EXPECT_EQ("http://c", turl->url()); | 
| @@ -163,12 +158,12 @@ TEST_F(KeywordEditorControllerTest, Modify) { | 
|  | 
| // Tests making a TemplateURL the default search provider. | 
| TEST_F(KeywordEditorControllerTest, MakeDefault) { | 
| -  controller_->AddTemplateURL(kA, kB, "http://c{searchTerms}"); | 
| +  int index = controller_->AddTemplateURL(kA, kB, "http://c{searchTerms}"); | 
| ClearChangeCount(); | 
|  | 
| -  const TemplateURL* turl = model_->GetTemplateURLs()[0]; | 
| -  int new_default = controller_->MakeDefaultTemplateURL(0); | 
| -  EXPECT_EQ(0, new_default); | 
| +  const TemplateURL* turl = model_->GetTemplateURLForKeyword(kB); | 
| +  int new_default = controller_->MakeDefaultTemplateURL(index); | 
| +  EXPECT_EQ(index, new_default); | 
| // Making an item the default sends a handful of changes. Which are sent isn't | 
| // important, what is important is 'something' is sent. | 
| ASSERT_TRUE(items_changed_count_ > 0 || added_count_ > 0 || | 
| @@ -176,7 +171,7 @@ TEST_F(KeywordEditorControllerTest, MakeDefault) { | 
| ASSERT_TRUE(model_->GetDefaultSearchProvider() == turl); | 
|  | 
| // Making it default a second time should fail. | 
| -  new_default = controller_->MakeDefaultTemplateURL(0); | 
| +  new_default = controller_->MakeDefaultTemplateURL(index); | 
| EXPECT_EQ(-1, new_default); | 
| } | 
|  | 
| @@ -234,17 +229,19 @@ TEST_F(KeywordEditorControllerTest, MakeDefaultNoWebData) { | 
| // Simulate a failure to load Web Data. | 
| Init(true); | 
|  | 
| -  controller_->AddTemplateURL(kA, kB, "http://c{searchTerms}"); | 
| +  int index = controller_->AddTemplateURL(kA, kB, "http://c{searchTerms}"); | 
| ClearChangeCount(); | 
|  | 
| // This should not result in a crash. | 
| -  int new_default = controller_->MakeDefaultTemplateURL(0); | 
| -  EXPECT_EQ(0, new_default); | 
| +  int new_default = controller_->MakeDefaultTemplateURL(index); | 
| +  EXPECT_EQ(index, new_default); | 
| } | 
|  | 
| // Mutates the TemplateURLService and make sure table model is updating | 
| // appropriately. | 
| TEST_F(KeywordEditorControllerTest, MutateTemplateURLService) { | 
| +  int original_row_count = table_model()->RowCount(); | 
| + | 
| TemplateURLData data; | 
| data.short_name = ASCIIToUTF16("b"); | 
| data.SetKeyword(ASCIIToUTF16("a")); | 
| @@ -255,6 +252,6 @@ TEST_F(KeywordEditorControllerTest, MutateTemplateURLService) { | 
| VerifyChangeCount(1, 0, 0, 0); | 
|  | 
| // And should contain the newly added TemplateURL. | 
| -  ASSERT_EQ(1, table_model()->RowCount()); | 
| -  ASSERT_EQ(0, table_model()->IndexOfTemplateURL(turl)); | 
| +  ASSERT_EQ(original_row_count + 1, table_model()->RowCount()); | 
| +  ASSERT_GE(table_model()->IndexOfTemplateURL(turl), 0); | 
| } | 
|  |