| 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 |