OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include <algorithm> | 8 #include <algorithm> |
9 #include <memory> | 9 #include <memory> |
10 #include <string> | 10 #include <string> |
(...skipping 1002 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1013 EXPECT_TRUE(GetCookies(browser()->profile(), GURL(kURL)).empty()); | 1013 EXPECT_TRUE(GetCookies(browser()->profile(), GURL(kURL)).empty()); |
1014 } | 1014 } |
1015 | 1015 |
1016 IN_PROC_BROWSER_TEST_F(PolicyTest, DefaultSearchProvider) { | 1016 IN_PROC_BROWSER_TEST_F(PolicyTest, DefaultSearchProvider) { |
1017 MakeRequestFail make_request_fail("search.example"); | 1017 MakeRequestFail make_request_fail("search.example"); |
1018 | 1018 |
1019 // Verifies that a default search is made using the provider configured via | 1019 // Verifies that a default search is made using the provider configured via |
1020 // policy. Also checks that default search can be completely disabled. | 1020 // policy. Also checks that default search can be completely disabled. |
1021 const base::string16 kKeyword(base::ASCIIToUTF16("testsearch")); | 1021 const base::string16 kKeyword(base::ASCIIToUTF16("testsearch")); |
1022 const std::string kSearchURL("http://search.example/search?q={searchTerms}"); | 1022 const std::string kSearchURL("http://search.example/search?q={searchTerms}"); |
1023 const std::string kInstantURL("http://does/not/exist"); | |
1023 const std::string kAlternateURL0( | 1024 const std::string kAlternateURL0( |
1024 "http://search.example/search#q={searchTerms}"); | 1025 "http://search.example/search#q={searchTerms}"); |
1025 const std::string kAlternateURL1("http://search.example/#q={searchTerms}"); | 1026 const std::string kAlternateURL1("http://search.example/#q={searchTerms}"); |
1026 const std::string kSearchTermsReplacementKey("zekey"); | 1027 const std::string kSearchTermsReplacementKey("zekey"); |
1027 const std::string kImageURL("http://test.com/searchbyimage/upload"); | 1028 const std::string kImageURL("http://test.com/searchbyimage/upload"); |
1028 const std::string kImageURLPostParams( | 1029 const std::string kImageURLPostParams( |
1029 "image_content=content,image_url=http://test.com/test.png"); | 1030 "image_content=content,image_url=http://test.com/test.png"); |
1030 const std::string kNewTabURL("http://search.example/newtab"); | 1031 const std::string kNewTabURL("http://search.example/newtab"); |
1031 | 1032 |
1032 TemplateURLService* service = TemplateURLServiceFactory::GetForProfile( | 1033 TemplateURLService* service = TemplateURLServiceFactory::GetForProfile( |
1033 browser()->profile()); | 1034 browser()->profile()); |
1034 search_test_utils::WaitForTemplateURLServiceToLoad(service); | 1035 search_test_utils::WaitForTemplateURLServiceToLoad(service); |
1035 TemplateURL* default_search = service->GetDefaultSearchProvider(); | 1036 TemplateURL* default_search = service->GetDefaultSearchProvider(); |
1036 ASSERT_TRUE(default_search); | 1037 ASSERT_TRUE(default_search); |
1037 EXPECT_NE(kKeyword, default_search->keyword()); | 1038 EXPECT_NE(kKeyword, default_search->keyword()); |
1038 EXPECT_NE(kSearchURL, default_search->url()); | 1039 EXPECT_NE(kSearchURL, default_search->url()); |
1040 EXPECT_NE(kInstantURL, default_search->instant_url()); | |
1039 EXPECT_FALSE( | 1041 EXPECT_FALSE( |
1040 default_search->alternate_urls().size() == 2 && | 1042 default_search->alternate_urls().size() == 2 && |
1041 default_search->alternate_urls()[0] == kAlternateURL0 && | 1043 default_search->alternate_urls()[0] == kAlternateURL0 && |
1042 default_search->alternate_urls()[1] == kAlternateURL1 && | 1044 default_search->alternate_urls()[1] == kAlternateURL1 && |
1043 default_search->search_terms_replacement_key() == | 1045 default_search->search_terms_replacement_key() == |
1044 kSearchTermsReplacementKey && | 1046 kSearchTermsReplacementKey && |
1045 default_search->image_url() == kImageURL && | 1047 default_search->image_url() == kImageURL && |
1046 default_search->image_url_post_params() == kImageURLPostParams && | 1048 default_search->image_url_post_params() == kImageURLPostParams && |
1047 default_search->new_tab_url() == kNewTabURL); | 1049 default_search->new_tab_url() == kNewTabURL); |
1048 | 1050 |
1049 // Override the default search provider using policies. | 1051 // Override the default search provider using policies. |
1050 PolicyMap policies; | 1052 PolicyMap policies; |
1051 policies.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, | 1053 policies.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, |
1052 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 1054 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
1053 base::WrapUnique(new base::FundamentalValue(true)), nullptr); | 1055 base::WrapUnique(new base::FundamentalValue(true)), nullptr); |
1054 policies.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, | 1056 policies.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, |
1055 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 1057 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
1056 base::WrapUnique(new base::StringValue(kKeyword)), nullptr); | 1058 base::WrapUnique(new base::StringValue(kKeyword)), nullptr); |
1057 policies.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, | 1059 policies.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, |
1058 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 1060 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
1059 base::WrapUnique(new base::StringValue(kSearchURL)), nullptr); | 1061 base::WrapUnique(new base::StringValue(kSearchURL)), nullptr); |
1062 policies.Set(key::kDefaultSearchProviderInstantURL, POLICY_LEVEL_MANDATORY, | |
1063 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | |
1064 base::WrapUnique(new base::StringValue(kInstantURL)), nullptr); | |
1060 std::unique_ptr<base::ListValue> alternate_urls(new base::ListValue); | 1065 std::unique_ptr<base::ListValue> alternate_urls(new base::ListValue); |
1061 alternate_urls->AppendString(kAlternateURL0); | 1066 alternate_urls->AppendString(kAlternateURL0); |
1062 alternate_urls->AppendString(kAlternateURL1); | 1067 alternate_urls->AppendString(kAlternateURL1); |
1063 policies.Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY, | 1068 policies.Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY, |
1064 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 1069 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
1065 std::move(alternate_urls), nullptr); | 1070 std::move(alternate_urls), nullptr); |
1066 policies.Set( | 1071 policies.Set( |
1067 key::kDefaultSearchProviderSearchTermsReplacementKey, | 1072 key::kDefaultSearchProviderSearchTermsReplacementKey, |
1068 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 1073 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
1069 base::WrapUnique(new base::StringValue(kSearchTermsReplacementKey)), | 1074 base::WrapUnique(new base::StringValue(kSearchTermsReplacementKey)), |
1070 nullptr); | 1075 nullptr); |
1071 policies.Set(key::kDefaultSearchProviderImageURL, POLICY_LEVEL_MANDATORY, | 1076 policies.Set(key::kDefaultSearchProviderImageURL, POLICY_LEVEL_MANDATORY, |
1072 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 1077 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
1073 base::WrapUnique(new base::StringValue(kImageURL)), nullptr); | 1078 base::WrapUnique(new base::StringValue(kImageURL)), nullptr); |
1074 policies.Set(key::kDefaultSearchProviderImageURLPostParams, | 1079 policies.Set(key::kDefaultSearchProviderImageURLPostParams, |
1075 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 1080 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
1076 base::WrapUnique(new base::StringValue(kImageURLPostParams)), | 1081 base::WrapUnique(new base::StringValue(kImageURLPostParams)), |
1077 nullptr); | 1082 nullptr); |
1078 policies.Set(key::kDefaultSearchProviderNewTabURL, POLICY_LEVEL_MANDATORY, | 1083 policies.Set(key::kDefaultSearchProviderNewTabURL, POLICY_LEVEL_MANDATORY, |
1079 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | 1084 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, |
1080 base::WrapUnique(new base::StringValue(kNewTabURL)), nullptr); | 1085 base::WrapUnique(new base::StringValue(kNewTabURL)), nullptr); |
1081 UpdateProviderPolicy(policies); | 1086 UpdateProviderPolicy(policies); |
1082 default_search = service->GetDefaultSearchProvider(); | 1087 default_search = service->GetDefaultSearchProvider(); |
1083 ASSERT_TRUE(default_search); | 1088 ASSERT_TRUE(default_search); |
1084 EXPECT_EQ(kKeyword, default_search->keyword()); | 1089 EXPECT_EQ(kKeyword, default_search->keyword()); |
1085 EXPECT_EQ(kSearchURL, default_search->url()); | 1090 EXPECT_EQ(kSearchURL, default_search->url()); |
1091 EXPECT_EQ(kInstantURL, default_search->instant_url()); | |
1086 EXPECT_EQ(2U, default_search->alternate_urls().size()); | 1092 EXPECT_EQ(2U, default_search->alternate_urls().size()); |
1087 EXPECT_EQ(kAlternateURL0, default_search->alternate_urls()[0]); | 1093 EXPECT_EQ(kAlternateURL0, default_search->alternate_urls()[0]); |
1088 EXPECT_EQ(kAlternateURL1, default_search->alternate_urls()[1]); | 1094 EXPECT_EQ(kAlternateURL1, default_search->alternate_urls()[1]); |
1089 EXPECT_EQ(kSearchTermsReplacementKey, | 1095 EXPECT_EQ(kSearchTermsReplacementKey, |
1090 default_search->search_terms_replacement_key()); | 1096 default_search->search_terms_replacement_key()); |
1091 EXPECT_EQ(kImageURL, default_search->image_url()); | 1097 EXPECT_EQ(kImageURL, default_search->image_url()); |
1092 EXPECT_EQ(kImageURLPostParams, default_search->image_url_post_params()); | 1098 EXPECT_EQ(kImageURLPostParams, default_search->image_url_post_params()); |
1093 EXPECT_EQ(kNewTabURL, default_search->new_tab_url()); | 1099 EXPECT_EQ(kNewTabURL, default_search->new_tab_url()); |
1094 | 1100 |
1095 // Verify that searching from the omnibox uses kSearchURL. | 1101 // Verify that searching from the omnibox uses kSearchURL. |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1184 | 1190 |
1185 EXPECT_EQ(youtube != 0 || legacy_in_effect, | 1191 EXPECT_EQ(youtube != 0 || legacy_in_effect, |
1186 prefs->IsManagedPreference(prefs::kForceYouTubeSafetyMode)); | 1192 prefs->IsManagedPreference(prefs::kForceYouTubeSafetyMode)); |
1187 EXPECT_EQ(youtube == 1 || legacy_enabled, | 1193 EXPECT_EQ(youtube == 1 || legacy_enabled, |
1188 prefs->GetBoolean(prefs::kForceYouTubeSafetyMode)); | 1194 prefs->GetBoolean(prefs::kForceYouTubeSafetyMode)); |
1189 | 1195 |
1190 CheckSafeSearch(google == 1 || legacy_enabled); | 1196 CheckSafeSearch(google == 1 || legacy_enabled); |
1191 } | 1197 } |
1192 } | 1198 } |
1193 | 1199 |
1194 IN_PROC_BROWSER_TEST_F(PolicyTest, ReplaceSearchTerms) { | |
Marc Treib
2016/08/11 11:42:30
This (mostly) tested a feature that was never laun
| |
1195 MakeRequestFail make_request_fail("search.example"); | |
1196 | |
1197 search::EnableQueryExtractionForTesting(); | |
1198 | |
1199 // Verifies that a default search is made using the provider configured via | |
1200 // policy. Also checks that default search can be completely disabled. | |
1201 const base::string16 kKeyword(base::ASCIIToUTF16("testsearch")); | |
1202 const std::string kSearchURL("https://www.google.com/search?q={searchTerms}"); | |
1203 const std::string kInstantURL("http://does/not/exist"); | |
1204 const std::string kAlternateURL0( | |
1205 "https://www.google.com/search#q={searchTerms}"); | |
1206 const std::string kAlternateURL1("https://www.google.com/#q={searchTerms}"); | |
1207 const std::string kSearchTermsReplacementKey( | |
1208 "{google:instantExtendedEnabledKey}"); | |
1209 | |
1210 TemplateURLService* service = TemplateURLServiceFactory::GetForProfile( | |
1211 browser()->profile()); | |
1212 search_test_utils::WaitForTemplateURLServiceToLoad(service); | |
1213 TemplateURL* default_search = service->GetDefaultSearchProvider(); | |
1214 ASSERT_TRUE(default_search); | |
1215 EXPECT_NE(kKeyword, default_search->keyword()); | |
1216 EXPECT_NE(kSearchURL, default_search->url()); | |
1217 EXPECT_NE(kInstantURL, default_search->instant_url()); | |
1218 EXPECT_FALSE( | |
1219 default_search->alternate_urls().size() == 2 && | |
1220 default_search->alternate_urls()[0] == kAlternateURL0 && | |
1221 default_search->alternate_urls()[1] == kAlternateURL1); | |
1222 | |
1223 // Override the default search provider using policies. | |
1224 PolicyMap policies; | |
1225 policies.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, | |
1226 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | |
1227 base::WrapUnique(new base::FundamentalValue(true)), nullptr); | |
1228 policies.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, | |
1229 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | |
1230 base::WrapUnique(new base::StringValue(kKeyword)), nullptr); | |
1231 policies.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, | |
1232 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | |
1233 base::WrapUnique(new base::StringValue(kSearchURL)), nullptr); | |
1234 policies.Set(key::kDefaultSearchProviderInstantURL, POLICY_LEVEL_MANDATORY, | |
1235 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | |
1236 base::WrapUnique(new base::StringValue(kInstantURL)), nullptr); | |
1237 std::unique_ptr<base::ListValue> alternate_urls(new base::ListValue); | |
1238 alternate_urls->AppendString(kAlternateURL0); | |
1239 alternate_urls->AppendString(kAlternateURL1); | |
1240 policies.Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY, | |
1241 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | |
1242 std::move(alternate_urls), nullptr); | |
1243 policies.Set( | |
1244 key::kDefaultSearchProviderSearchTermsReplacementKey, | |
1245 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, | |
1246 base::WrapUnique(new base::StringValue(kSearchTermsReplacementKey)), | |
1247 nullptr); | |
1248 UpdateProviderPolicy(policies); | |
1249 default_search = service->GetDefaultSearchProvider(); | |
1250 ASSERT_TRUE(default_search); | |
1251 EXPECT_EQ(kKeyword, default_search->keyword()); | |
1252 EXPECT_EQ(kSearchURL, default_search->url()); | |
1253 EXPECT_EQ(kInstantURL, default_search->instant_url()); | |
1254 EXPECT_EQ(2U, default_search->alternate_urls().size()); | |
1255 EXPECT_EQ(kAlternateURL0, default_search->alternate_urls()[0]); | |
1256 EXPECT_EQ(kAlternateURL1, default_search->alternate_urls()[1]); | |
1257 | |
1258 // Query terms replacement requires that the renderer process be a recognized | |
1259 // Instant renderer. Fake it. | |
1260 InstantService* instant_service = | |
1261 InstantServiceFactory::GetForProfile(browser()->profile()); | |
1262 instant_service->AddInstantProcess(browser()->tab_strip_model()-> | |
1263 GetActiveWebContents()->GetRenderProcessHost()->GetID()); | |
1264 | |
1265 // Verify that searching from the omnibox does search term replacement with | |
1266 // first URL pattern. | |
1267 chrome::FocusLocationBar(browser()); | |
1268 LocationBar* location_bar = browser()->window()->GetLocationBar(); | |
1269 OmniboxView* omnibox_view = location_bar->GetOmniboxView(); | |
1270 ui_test_utils::SendToOmniboxAndSubmit(location_bar, | |
1271 "https://www.google.com/?espv=1#q=foobar"); | |
1272 EXPECT_TRUE( | |
1273 browser()->toolbar_model()->WouldPerformSearchTermReplacement(false)); | |
1274 EXPECT_EQ(base::ASCIIToUTF16("foobar"), omnibox_view->GetText()); | |
1275 | |
1276 // Verify that not using espv=1 does not do search term replacement. | |
1277 chrome::FocusLocationBar(browser()); | |
1278 ui_test_utils::SendToOmniboxAndSubmit(location_bar, | |
1279 "https://www.google.com/?q=foobar"); | |
1280 EXPECT_FALSE( | |
1281 browser()->toolbar_model()->WouldPerformSearchTermReplacement(false)); | |
1282 EXPECT_EQ(base::ASCIIToUTF16("https://www.google.com/?q=foobar"), | |
1283 omnibox_view->GetText()); | |
1284 | |
1285 // Verify that searching from the omnibox does search term replacement with | |
1286 // second URL pattern. | |
1287 chrome::FocusLocationBar(browser()); | |
1288 ui_test_utils::SendToOmniboxAndSubmit(location_bar, | |
1289 "https://www.google.com/search?espv=1#q=banana"); | |
1290 EXPECT_TRUE( | |
1291 browser()->toolbar_model()->WouldPerformSearchTermReplacement(false)); | |
1292 EXPECT_EQ(base::ASCIIToUTF16("banana"), omnibox_view->GetText()); | |
1293 | |
1294 // Verify that searching from the omnibox does search term replacement with | |
1295 // standard search URL pattern. | |
1296 chrome::FocusLocationBar(browser()); | |
1297 ui_test_utils::SendToOmniboxAndSubmit(location_bar, | |
1298 "https://www.google.com/search?q=tractor+parts&espv=1"); | |
1299 EXPECT_TRUE( | |
1300 browser()->toolbar_model()->WouldPerformSearchTermReplacement(false)); | |
1301 EXPECT_EQ(base::ASCIIToUTF16("tractor parts"), omnibox_view->GetText()); | |
1302 | |
1303 // Verify that searching from the omnibox prioritizes hash over query. | |
1304 chrome::FocusLocationBar(browser()); | |
1305 ui_test_utils::SendToOmniboxAndSubmit(location_bar, | |
1306 "https://www.google.com/search?q=tractor+parts&espv=1#q=foobar"); | |
1307 EXPECT_TRUE( | |
1308 browser()->toolbar_model()->WouldPerformSearchTermReplacement(false)); | |
1309 EXPECT_EQ(base::ASCIIToUTF16("foobar"), omnibox_view->GetText()); | |
1310 } | |
1311 | |
1312 IN_PROC_BROWSER_TEST_F(PolicyTest, Disable3DAPIs) { | 1200 IN_PROC_BROWSER_TEST_F(PolicyTest, Disable3DAPIs) { |
1313 // This test assumes Gpu access. | 1201 // This test assumes Gpu access. |
1314 if (!content::GpuDataManager::GetInstance()->GpuAccessAllowed(NULL)) | 1202 if (!content::GpuDataManager::GetInstance()->GpuAccessAllowed(NULL)) |
1315 return; | 1203 return; |
1316 | 1204 |
1317 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); | 1205 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); |
1318 // WebGL is enabled by default. | 1206 // WebGL is enabled by default. |
1319 content::WebContents* contents = | 1207 content::WebContents* contents = |
1320 browser()->tab_strip_model()->GetActiveWebContents(); | 1208 browser()->tab_strip_model()->GetActiveWebContents(); |
1321 EXPECT_TRUE(IsWebGLEnabled(contents)); | 1209 EXPECT_TRUE(IsWebGLEnabled(contents)); |
(...skipping 2801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4123 | 4011 |
4124 SetEmptyPolicy(); | 4012 SetEmptyPolicy(); |
4125 // Policy not set. | 4013 // Policy not set. |
4126 CheckSystemTimezoneAutomaticDetectionPolicyUnset(); | 4014 CheckSystemTimezoneAutomaticDetectionPolicyUnset(); |
4127 EXPECT_TRUE(CheckResolveTimezoneByGeolocation(true, false)); | 4015 EXPECT_TRUE(CheckResolveTimezoneByGeolocation(true, false)); |
4128 EXPECT_TRUE(manager->TimeZoneResolverShouldBeRunningForTests()); | 4016 EXPECT_TRUE(manager->TimeZoneResolverShouldBeRunningForTests()); |
4129 } | 4017 } |
4130 #endif // defined(OS_CHROMEOS) | 4018 #endif // defined(OS_CHROMEOS) |
4131 | 4019 |
4132 } // namespace policy | 4020 } // namespace policy |
OLD | NEW |