OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/macros.h" | 5 #include "base/macros.h" |
6 #include "base/run_loop.h" | 6 #include "base/run_loop.h" |
7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
9 #include "chrome/browser/extensions/extension_browsertest.h" | 9 #include "chrome/browser/extensions/extension_browsertest.h" |
10 #include "chrome/browser/prefs/session_startup_pref.h" | 10 #include "chrome/browser/prefs/session_startup_pref.h" |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 EXPECT_EQ(std::vector<GURL>(urls, urls + arraysize(urls)), startup_pref.urls); | 109 EXPECT_EQ(std::vector<GURL>(urls, urls + arraysize(urls)), startup_pref.urls); |
110 } | 110 } |
111 | 111 |
112 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, OverrideDSE) { | 112 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, OverrideDSE) { |
113 PrefService* prefs = profile()->GetPrefs(); | 113 PrefService* prefs = profile()->GetPrefs(); |
114 ASSERT_TRUE(prefs); | 114 ASSERT_TRUE(prefs); |
115 TemplateURLService* url_service = | 115 TemplateURLService* url_service = |
116 TemplateURLServiceFactory::GetForProfile(profile()); | 116 TemplateURLServiceFactory::GetForProfile(profile()); |
117 ASSERT_TRUE(url_service); | 117 ASSERT_TRUE(url_service); |
118 EXPECT_TRUE(VerifyTemplateURLServiceLoad(url_service)); | 118 EXPECT_TRUE(VerifyTemplateURLServiceLoad(url_service)); |
119 TemplateURL* default_provider = url_service->GetDefaultSearchProvider(); | 119 const TemplateURL* default_provider = url_service->GetDefaultSearchProvider(); |
120 ASSERT_TRUE(default_provider); | 120 ASSERT_TRUE(default_provider); |
121 EXPECT_EQ(TemplateURL::NORMAL, default_provider->type()); | 121 EXPECT_EQ(TemplateURL::NORMAL, default_provider->type()); |
122 | 122 |
123 const extensions::Extension* extension = LoadExtensionWithInstallParam( | 123 const extensions::Extension* extension = LoadExtensionWithInstallParam( |
124 test_data_dir_.AppendASCII("settings_override"), kFlagEnableFileAccess, | 124 test_data_dir_.AppendASCII("settings_override"), kFlagEnableFileAccess, |
125 "10"); | 125 "10"); |
126 ASSERT_TRUE(extension); | 126 ASSERT_TRUE(extension); |
127 TemplateURL* current_dse = url_service->GetDefaultSearchProvider(); | 127 const TemplateURL* current_dse = url_service->GetDefaultSearchProvider(); |
128 EXPECT_EQ(TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, current_dse->type()); | 128 EXPECT_EQ(TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, current_dse->type()); |
129 | 129 |
130 std::unique_ptr<TemplateURLData> extension_dse = | 130 std::unique_ptr<TemplateURLData> extension_dse = |
131 TestExtensionSearchEngine(prefs); | 131 TestExtensionSearchEngine(prefs); |
132 ExpectSimilar(extension_dse.get(), ¤t_dse->data()); | 132 ExpectSimilar(extension_dse.get(), ¤t_dse->data()); |
133 | 133 |
134 UnloadExtension(extension->id()); | 134 UnloadExtension(extension->id()); |
135 EXPECT_EQ(default_provider, url_service->GetDefaultSearchProvider()); | 135 EXPECT_EQ(default_provider, url_service->GetDefaultSearchProvider()); |
136 } | 136 } |
137 | 137 |
138 // Install and load extension into test profile. | 138 // Install and load extension into test profile. |
139 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, PRE_OverridenDSEPersists) { | 139 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, PRE_OverridenDSEPersists) { |
140 PrefService* prefs = profile()->GetPrefs(); | 140 PrefService* prefs = profile()->GetPrefs(); |
141 ASSERT_TRUE(prefs); | 141 ASSERT_TRUE(prefs); |
142 TemplateURLService* url_service = | 142 TemplateURLService* url_service = |
143 TemplateURLServiceFactory::GetForProfile(profile()); | 143 TemplateURLServiceFactory::GetForProfile(profile()); |
144 ASSERT_TRUE(url_service); | 144 ASSERT_TRUE(url_service); |
145 EXPECT_TRUE(VerifyTemplateURLServiceLoad(url_service)); | 145 EXPECT_TRUE(VerifyTemplateURLServiceLoad(url_service)); |
146 TemplateURL* default_provider = url_service->GetDefaultSearchProvider(); | 146 const TemplateURL* default_provider = url_service->GetDefaultSearchProvider(); |
147 ASSERT_TRUE(default_provider); | 147 ASSERT_TRUE(default_provider); |
148 // Check that default provider is normal before extension is | 148 // Check that default provider is normal before extension is |
149 // installed and loaded. | 149 // installed and loaded. |
150 EXPECT_EQ(TemplateURL::NORMAL, default_provider->type()); | 150 EXPECT_EQ(TemplateURL::NORMAL, default_provider->type()); |
151 EXPECT_NE(base::ASCIIToUTF16("name.de"), default_provider->short_name()); | 151 EXPECT_NE(base::ASCIIToUTF16("name.de"), default_provider->short_name()); |
152 EXPECT_NE(base::ASCIIToUTF16("keyword.de"), default_provider->keyword()); | 152 EXPECT_NE(base::ASCIIToUTF16("keyword.de"), default_provider->keyword()); |
153 | 153 |
154 // Install extension that overrides DSE. | 154 // Install extension that overrides DSE. |
155 const extensions::Extension* extension = LoadExtensionWithInstallParam( | 155 const extensions::Extension* extension = LoadExtensionWithInstallParam( |
156 test_data_dir_.AppendASCII("settings_override"), kFlagEnableFileAccess, | 156 test_data_dir_.AppendASCII("settings_override"), kFlagEnableFileAccess, |
(...skipping 29 matching lines...) Expand all Loading... |
186 UIThreadSearchTermsData(profile)); | 186 UIThreadSearchTermsData(profile)); |
187 | 187 |
188 EXPECT_EQ(new_tab_url_ext, search::GetNewTabPageURL(profile).spec()); | 188 EXPECT_EQ(new_tab_url_ext, search::GetNewTabPageURL(profile).spec()); |
189 | 189 |
190 // Check that after template url service is loaded, extension dse persists. | 190 // Check that after template url service is loaded, extension dse persists. |
191 TemplateURLService* url_service = | 191 TemplateURLService* url_service = |
192 TemplateURLServiceFactory::GetForProfile(profile); | 192 TemplateURLServiceFactory::GetForProfile(profile); |
193 ASSERT_TRUE(url_service); | 193 ASSERT_TRUE(url_service); |
194 EXPECT_TRUE(VerifyTemplateURLServiceLoad(url_service)); | 194 EXPECT_TRUE(VerifyTemplateURLServiceLoad(url_service)); |
195 EXPECT_TRUE(url_service->IsExtensionControlledDefaultSearch()); | 195 EXPECT_TRUE(url_service->IsExtensionControlledDefaultSearch()); |
196 TemplateURL* default_provider = url_service->GetDefaultSearchProvider(); | 196 const TemplateURL* default_provider = url_service->GetDefaultSearchProvider(); |
197 ASSERT_TRUE(default_provider); | 197 ASSERT_TRUE(default_provider); |
198 ExpectSimilar(extension_dse.get(), &default_provider->data()); | 198 ExpectSimilar(extension_dse.get(), &default_provider->data()); |
199 } | 199 } |
200 | 200 |
201 // This test checks that an extension overriding the default search engine can | 201 // This test checks that an extension overriding the default search engine can |
202 // be correctly loaded before the TemplateURLService is loaded. | 202 // be correctly loaded before the TemplateURLService is loaded. |
203 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, BeforeTemplateUrlServiceLoad) { | 203 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, BeforeTemplateUrlServiceLoad) { |
204 PrefService* prefs = profile()->GetPrefs(); | 204 PrefService* prefs = profile()->GetPrefs(); |
205 ASSERT_TRUE(prefs); | 205 ASSERT_TRUE(prefs); |
206 TemplateURLService* url_service = | 206 TemplateURLService* url_service = |
207 TemplateURLServiceFactory::GetForProfile(profile()); | 207 TemplateURLServiceFactory::GetForProfile(profile()); |
208 ASSERT_TRUE(url_service); | 208 ASSERT_TRUE(url_service); |
209 | 209 |
210 EXPECT_FALSE(url_service->IsExtensionControlledDefaultSearch()); | 210 EXPECT_FALSE(url_service->IsExtensionControlledDefaultSearch()); |
211 const extensions::Extension* extension = LoadExtensionWithInstallParam( | 211 const extensions::Extension* extension = LoadExtensionWithInstallParam( |
212 test_data_dir_.AppendASCII("settings_override"), kFlagEnableFileAccess, | 212 test_data_dir_.AppendASCII("settings_override"), kFlagEnableFileAccess, |
213 "10"); | 213 "10"); |
214 ASSERT_TRUE(extension); | 214 ASSERT_TRUE(extension); |
215 TemplateURL* current_dse = url_service->GetDefaultSearchProvider(); | 215 const TemplateURL* current_dse = url_service->GetDefaultSearchProvider(); |
216 EXPECT_EQ(TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, current_dse->type()); | 216 EXPECT_EQ(TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, current_dse->type()); |
217 EXPECT_TRUE(url_service->IsExtensionControlledDefaultSearch()); | 217 EXPECT_TRUE(url_service->IsExtensionControlledDefaultSearch()); |
218 | 218 |
219 std::unique_ptr<TemplateURLData> extension_dse = | 219 std::unique_ptr<TemplateURLData> extension_dse = |
220 TestExtensionSearchEngine(prefs); | 220 TestExtensionSearchEngine(prefs); |
221 ExpectSimilar(extension_dse.get(), ¤t_dse->data()); | 221 ExpectSimilar(extension_dse.get(), ¤t_dse->data()); |
222 | 222 |
223 UnloadExtension(extension->id()); | 223 UnloadExtension(extension->id()); |
224 EXPECT_NE(TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, | 224 EXPECT_NE(TemplateURL::NORMAL_CONTROLLED_BY_EXTENSION, |
225 url_service->GetDefaultSearchProvider()->type()); | 225 url_service->GetDefaultSearchProvider()->type()); |
226 EXPECT_FALSE(url_service->IsExtensionControlledDefaultSearch()); | 226 EXPECT_FALSE(url_service->IsExtensionControlledDefaultSearch()); |
227 } | 227 } |
228 | 228 |
229 #else | 229 #else |
230 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, SettingsOverridesDisallowed) { | 230 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, SettingsOverridesDisallowed) { |
231 const extensions::Extension* extension = | 231 const extensions::Extension* extension = |
232 LoadExtensionWithFlags(test_data_dir_.AppendASCII("settings_override"), | 232 LoadExtensionWithFlags(test_data_dir_.AppendASCII("settings_override"), |
233 kFlagIgnoreManifestWarnings); | 233 kFlagIgnoreManifestWarnings); |
234 ASSERT_TRUE(extension); | 234 ASSERT_TRUE(extension); |
235 ASSERT_EQ(1u, extension->install_warnings().size()); | 235 ASSERT_EQ(1u, extension->install_warnings().size()); |
236 EXPECT_EQ(std::string("'chrome_settings_overrides' " | 236 EXPECT_EQ(std::string("'chrome_settings_overrides' " |
237 "is not allowed for specified platform."), | 237 "is not allowed for specified platform."), |
238 extension->install_warnings().front().message); | 238 extension->install_warnings().front().message); |
239 } | 239 } |
240 #endif | 240 #endif |
241 | 241 |
242 } // namespace | 242 } // namespace |
OLD | NEW |