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 <algorithm> | 5 #include <algorithm> |
6 #include <string> | 6 #include <string> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
618 IN_PROC_BROWSER_TEST_F(PolicyTest, DefaultSearchProvider) { | 618 IN_PROC_BROWSER_TEST_F(PolicyTest, DefaultSearchProvider) { |
619 MakeRequestFail("search.example"); | 619 MakeRequestFail("search.example"); |
620 | 620 |
621 // Verifies that a default search is made using the provider configured via | 621 // Verifies that a default search is made using the provider configured via |
622 // policy. Also checks that default search can be completely disabled. | 622 // policy. Also checks that default search can be completely disabled. |
623 const string16 kKeyword(ASCIIToUTF16("testsearch")); | 623 const string16 kKeyword(ASCIIToUTF16("testsearch")); |
624 const std::string kSearchURL("http://search.example/search?q={searchTerms}"); | 624 const std::string kSearchURL("http://search.example/search?q={searchTerms}"); |
625 const std::string kAlternateURL0( | 625 const std::string kAlternateURL0( |
626 "http://search.example/search#q={searchTerms}"); | 626 "http://search.example/search#q={searchTerms}"); |
627 const std::string kAlternateURL1("http://search.example/#q={searchTerms}"); | 627 const std::string kAlternateURL1("http://search.example/#q={searchTerms}"); |
| 628 const std::string kSearchTermsReplacementKey("zekey"); |
628 | 629 |
629 TemplateURLService* service = TemplateURLServiceFactory::GetForProfile( | 630 TemplateURLService* service = TemplateURLServiceFactory::GetForProfile( |
630 browser()->profile()); | 631 browser()->profile()); |
631 ui_test_utils::WaitForTemplateURLServiceToLoad(service); | 632 ui_test_utils::WaitForTemplateURLServiceToLoad(service); |
632 TemplateURL* default_search = service->GetDefaultSearchProvider(); | 633 TemplateURL* default_search = service->GetDefaultSearchProvider(); |
633 ASSERT_TRUE(default_search); | 634 ASSERT_TRUE(default_search); |
634 EXPECT_NE(kKeyword, default_search->keyword()); | 635 EXPECT_NE(kKeyword, default_search->keyword()); |
635 EXPECT_NE(kSearchURL, default_search->url()); | 636 EXPECT_NE(kSearchURL, default_search->url()); |
636 EXPECT_FALSE( | 637 EXPECT_FALSE( |
637 default_search->alternate_urls().size() == 2 && | 638 default_search->alternate_urls().size() == 2 && |
638 default_search->alternate_urls()[0] == kAlternateURL0 && | 639 default_search->alternate_urls()[0] == kAlternateURL0 && |
639 default_search->alternate_urls()[1] == kAlternateURL1); | 640 default_search->alternate_urls()[1] == kAlternateURL1 && |
| 641 default_search->search_terms_replacement_key() == |
| 642 kSearchTermsReplacementKey); |
640 | 643 |
641 // Override the default search provider using policies. | 644 // Override the default search provider using policies. |
642 PolicyMap policies; | 645 PolicyMap policies; |
643 policies.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, | 646 policies.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, |
644 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); | 647 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); |
645 policies.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, | 648 policies.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, |
646 POLICY_SCOPE_USER, base::Value::CreateStringValue(kKeyword)); | 649 POLICY_SCOPE_USER, base::Value::CreateStringValue(kKeyword)); |
647 policies.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, | 650 policies.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, |
648 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL)); | 651 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL)); |
649 base::ListValue* alternate_urls = new base::ListValue(); | 652 base::ListValue* alternate_urls = new base::ListValue(); |
650 alternate_urls->AppendString(kAlternateURL0); | 653 alternate_urls->AppendString(kAlternateURL0); |
651 alternate_urls->AppendString(kAlternateURL1); | 654 alternate_urls->AppendString(kAlternateURL1); |
652 policies.Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY, | 655 policies.Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY, |
653 POLICY_SCOPE_USER, alternate_urls); | 656 POLICY_SCOPE_USER, alternate_urls); |
| 657 policies.Set(key::kDefaultSearchProviderSearchTermsReplacementKey, |
| 658 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
| 659 base::Value::CreateStringValue(kSearchTermsReplacementKey)); |
654 provider_.UpdateChromePolicy(policies); | 660 provider_.UpdateChromePolicy(policies); |
655 default_search = service->GetDefaultSearchProvider(); | 661 default_search = service->GetDefaultSearchProvider(); |
656 ASSERT_TRUE(default_search); | 662 ASSERT_TRUE(default_search); |
657 EXPECT_EQ(kKeyword, default_search->keyword()); | 663 EXPECT_EQ(kKeyword, default_search->keyword()); |
658 EXPECT_EQ(kSearchURL, default_search->url()); | 664 EXPECT_EQ(kSearchURL, default_search->url()); |
659 EXPECT_EQ(2U, default_search->alternate_urls().size()); | 665 EXPECT_EQ(2U, default_search->alternate_urls().size()); |
660 EXPECT_EQ(kAlternateURL0, default_search->alternate_urls()[0]); | 666 EXPECT_EQ(kAlternateURL0, default_search->alternate_urls()[0]); |
661 EXPECT_EQ(kAlternateURL1, default_search->alternate_urls()[1]); | 667 EXPECT_EQ(kAlternateURL1, default_search->alternate_urls()[1]); |
| 668 EXPECT_EQ(kSearchTermsReplacementKey, |
| 669 default_search->search_terms_replacement_key()); |
662 | 670 |
663 // Verify that searching from the omnibox uses kSearchURL. | 671 // Verify that searching from the omnibox uses kSearchURL. |
664 chrome::FocusLocationBar(browser()); | 672 chrome::FocusLocationBar(browser()); |
665 LocationBar* location_bar = browser()->window()->GetLocationBar(); | 673 LocationBar* location_bar = browser()->window()->GetLocationBar(); |
666 ui_test_utils::SendToOmniboxAndSubmit(location_bar, "stuff to search for"); | 674 ui_test_utils::SendToOmniboxAndSubmit(location_bar, "stuff to search for"); |
667 OmniboxEditModel* model = location_bar->GetLocationEntry()->model(); | 675 OmniboxEditModel* model = location_bar->GetLocationEntry()->model(); |
668 EXPECT_TRUE(model->CurrentMatch().destination_url.is_valid()); | 676 EXPECT_TRUE(model->CurrentMatch().destination_url.is_valid()); |
669 content::WebContents* web_contents = chrome::GetActiveWebContents(browser()); | 677 content::WebContents* web_contents = chrome::GetActiveWebContents(browser()); |
670 GURL expected("http://search.example/search?q=stuff+to+search+for"); | 678 GURL expected("http://search.example/search?q=stuff+to+search+for"); |
671 EXPECT_EQ(expected, web_contents->GetURL()); | 679 EXPECT_EQ(expected, web_contents->GetURL()); |
(...skipping 1026 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1698 EXPECT_EQ(kExpectedLabel, text.substr(0, kExpectedLabel.size())); | 1706 EXPECT_EQ(kExpectedLabel, text.substr(0, kExpectedLabel.size())); |
1699 // HomepageLocation has policy ID 1. | 1707 // HomepageLocation has policy ID 1. |
1700 EXPECT_NE(std::string::npos, text.find("<br>1 ---")); | 1708 EXPECT_NE(std::string::npos, text.find("<br>1 ---")); |
1701 // ShowHomeButton has policy ID 35. | 1709 // ShowHomeButton has policy ID 35. |
1702 EXPECT_NE(std::string::npos, text.find("<br>35 ---")); | 1710 EXPECT_NE(std::string::npos, text.find("<br>35 ---")); |
1703 // BookmarkBarEnabled has policy ID 82. | 1711 // BookmarkBarEnabled has policy ID 82. |
1704 EXPECT_NE(std::string::npos, text.find("<br>82 ---")); | 1712 EXPECT_NE(std::string::npos, text.find("<br>82 ---")); |
1705 } | 1713 } |
1706 | 1714 |
1707 } // namespace policy | 1715 } // namespace policy |
OLD | NEW |