Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(285)

Side by Side Diff: chrome/browser/policy/policy_browsertest.cc

Issue 12250033: Consolidate search terms extraction and Instant process determination. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Style nit Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 13 matching lines...) Expand all
24 #include "chrome/app/chrome_command_ids.h" 24 #include "chrome/app/chrome_command_ids.h"
25 #include "chrome/browser/api/infobars/infobar_service.h" 25 #include "chrome/browser/api/infobars/infobar_service.h"
26 #include "chrome/browser/autocomplete/autocomplete_controller.h" 26 #include "chrome/browser/autocomplete/autocomplete_controller.h"
27 #include "chrome/browser/browser_process.h" 27 #include "chrome/browser/browser_process.h"
28 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 28 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
29 #include "chrome/browser/devtools/devtools_window.h" 29 #include "chrome/browser/devtools/devtools_window.h"
30 #include "chrome/browser/download/download_prefs.h" 30 #include "chrome/browser/download/download_prefs.h"
31 #include "chrome/browser/extensions/crx_installer.h" 31 #include "chrome/browser/extensions/crx_installer.h"
32 #include "chrome/browser/extensions/extension_service.h" 32 #include "chrome/browser/extensions/extension_service.h"
33 #include "chrome/browser/extensions/extension_system.h" 33 #include "chrome/browser/extensions/extension_system.h"
34 #include "chrome/browser/instant/instant_service.h"
35 #include "chrome/browser/instant/instant_service_factory.h"
34 #include "chrome/browser/media/media_capture_devices_dispatcher.h" 36 #include "chrome/browser/media/media_capture_devices_dispatcher.h"
35 #include "chrome/browser/media/media_stream_devices_controller.h" 37 #include "chrome/browser/media/media_stream_devices_controller.h"
36 #include "chrome/browser/net/url_request_mock_util.h" 38 #include "chrome/browser/net/url_request_mock_util.h"
37 #include "chrome/browser/plugins/plugin_prefs.h" 39 #include "chrome/browser/plugins/plugin_prefs.h"
38 #include "chrome/browser/policy/browser_policy_connector.h" 40 #include "chrome/browser/policy/browser_policy_connector.h"
39 #include "chrome/browser/policy/mock_configuration_policy_provider.h" 41 #include "chrome/browser/policy/mock_configuration_policy_provider.h"
40 #include "chrome/browser/policy/policy_map.h" 42 #include "chrome/browser/policy/policy_map.h"
41 #include "chrome/browser/prefs/session_startup_pref.h" 43 #include "chrome/browser/prefs/session_startup_pref.h"
42 #include "chrome/browser/profiles/profile.h" 44 #include "chrome/browser/profiles/profile.h"
43 #include "chrome/browser/search_engines/template_url.h" 45 #include "chrome/browser/search_engines/template_url.h"
(...skipping 25 matching lines...) Expand all
69 #include "content/public/browser/browser_child_process_host_iterator.h" 71 #include "content/public/browser/browser_child_process_host_iterator.h"
70 #include "content/public/browser/browser_context.h" 72 #include "content/public/browser/browser_context.h"
71 #include "content/public/browser/browser_thread.h" 73 #include "content/public/browser/browser_thread.h"
72 #include "content/public/browser/child_process_data.h" 74 #include "content/public/browser/child_process_data.h"
73 #include "content/public/browser/download_item.h" 75 #include "content/public/browser/download_item.h"
74 #include "content/public/browser/download_manager.h" 76 #include "content/public/browser/download_manager.h"
75 #include "content/public/browser/notification_service.h" 77 #include "content/public/browser/notification_service.h"
76 #include "content/public/browser/notification_source.h" 78 #include "content/public/browser/notification_source.h"
77 #include "content/public/browser/notification_types.h" 79 #include "content/public/browser/notification_types.h"
78 #include "content/public/browser/plugin_service.h" 80 #include "content/public/browser/plugin_service.h"
81 #include "content/public/browser/render_process_host.h"
79 #include "content/public/browser/render_view_host.h" 82 #include "content/public/browser/render_view_host.h"
80 #include "content/public/browser/web_contents.h" 83 #include "content/public/browser/web_contents.h"
81 #include "content/public/common/content_paths.h" 84 #include "content/public/common/content_paths.h"
82 #include "content/public/common/page_transition_types.h" 85 #include "content/public/common/page_transition_types.h"
83 #include "content/public/common/process_type.h" 86 #include "content/public/common/process_type.h"
84 #include "content/public/common/url_constants.h" 87 #include "content/public/common/url_constants.h"
85 #include "content/public/test/browser_test_utils.h" 88 #include "content/public/test/browser_test_utils.h"
86 #include "content/public/test/download_test_observer.h" 89 #include "content/public/test/download_test_observer.h"
87 #include "content/public/test/test_navigation_observer.h" 90 #include "content/public/test/test_navigation_observer.h"
88 #include "content/public/test/test_utils.h" 91 #include "content/public/test/test_utils.h"
(...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after
784 std::string expected_url("http://google.com/?"); 787 std::string expected_url("http://google.com/?");
785 expected_url += std::string(chrome::kSafeSearchSafeParameter) + "&" + 788 expected_url += std::string(chrome::kSafeSearchSafeParameter) + "&" +
786 chrome::kSafeSearchSsuiParameter; 789 chrome::kSafeSearchSsuiParameter;
787 GURL expected_with_parameters(expected_url); 790 GURL expected_with_parameters(expected_url);
788 EXPECT_EQ(expected_with_parameters, web_contents->GetURL()); 791 EXPECT_EQ(expected_with_parameters, web_contents->GetURL());
789 } 792 }
790 793
791 IN_PROC_BROWSER_TEST_F(PolicyTest, ReplaceSearchTerms) { 794 IN_PROC_BROWSER_TEST_F(PolicyTest, ReplaceSearchTerms) {
792 MakeRequestFail make_request_fail("search.example"); 795 MakeRequestFail make_request_fail("search.example");
793 796
794 chrome::search::EnableInstantExtendedAPIForTesting(); 797 chrome::search::EnableQueryExtractionForTesting();
795 798
796 // Verifies that a default search is made using the provider configured via 799 // Verifies that a default search is made using the provider configured via
797 // policy. Also checks that default search can be completely disabled. 800 // policy. Also checks that default search can be completely disabled.
798 const string16 kKeyword(ASCIIToUTF16("testsearch")); 801 const string16 kKeyword(ASCIIToUTF16("testsearch"));
799 const std::string kSearchURL("https://www.google.com/search?q={searchTerms}"); 802 const std::string kSearchURL("https://www.google.com/search?q={searchTerms}");
803 const std::string kInstantURL("http://does/not/exist");
800 const std::string kAlternateURL0( 804 const std::string kAlternateURL0(
801 "https://www.google.com/search#q={searchTerms}"); 805 "https://www.google.com/search#q={searchTerms}");
802 const std::string kAlternateURL1("https://www.google.com/#q={searchTerms}"); 806 const std::string kAlternateURL1("https://www.google.com/#q={searchTerms}");
803 const std::string kSearchTermsReplacementKey( 807 const std::string kSearchTermsReplacementKey(
804 "{google:instantExtendedEnabledKey}"); 808 "{google:instantExtendedEnabledKey}");
805 809
806 TemplateURLService* service = TemplateURLServiceFactory::GetForProfile( 810 TemplateURLService* service = TemplateURLServiceFactory::GetForProfile(
807 browser()->profile()); 811 browser()->profile());
808 ui_test_utils::WaitForTemplateURLServiceToLoad(service); 812 ui_test_utils::WaitForTemplateURLServiceToLoad(service);
809 TemplateURL* default_search = service->GetDefaultSearchProvider(); 813 TemplateURL* default_search = service->GetDefaultSearchProvider();
810 ASSERT_TRUE(default_search); 814 ASSERT_TRUE(default_search);
811 EXPECT_NE(kKeyword, default_search->keyword()); 815 EXPECT_NE(kKeyword, default_search->keyword());
812 EXPECT_NE(kSearchURL, default_search->url()); 816 EXPECT_NE(kSearchURL, default_search->url());
817 EXPECT_NE(kInstantURL, default_search->instant_url());
813 EXPECT_FALSE( 818 EXPECT_FALSE(
814 default_search->alternate_urls().size() == 2 && 819 default_search->alternate_urls().size() == 2 &&
815 default_search->alternate_urls()[0] == kAlternateURL0 && 820 default_search->alternate_urls()[0] == kAlternateURL0 &&
816 default_search->alternate_urls()[1] == kAlternateURL1); 821 default_search->alternate_urls()[1] == kAlternateURL1);
817 822
818 // Override the default search provider using policies. 823 // Override the default search provider using policies.
819 PolicyMap policies; 824 PolicyMap policies;
820 policies.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY, 825 policies.Set(key::kDefaultSearchProviderEnabled, POLICY_LEVEL_MANDATORY,
821 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true)); 826 POLICY_SCOPE_USER, base::Value::CreateBooleanValue(true));
822 policies.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY, 827 policies.Set(key::kDefaultSearchProviderKeyword, POLICY_LEVEL_MANDATORY,
823 POLICY_SCOPE_USER, base::Value::CreateStringValue(kKeyword)); 828 POLICY_SCOPE_USER, base::Value::CreateStringValue(kKeyword));
824 policies.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY, 829 policies.Set(key::kDefaultSearchProviderSearchURL, POLICY_LEVEL_MANDATORY,
825 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL)); 830 POLICY_SCOPE_USER, base::Value::CreateStringValue(kSearchURL));
831 policies.Set(key::kDefaultSearchProviderInstantURL, POLICY_LEVEL_MANDATORY,
832 POLICY_SCOPE_USER, base::Value::CreateStringValue(kInstantURL));
826 base::ListValue* alternate_urls = new base::ListValue(); 833 base::ListValue* alternate_urls = new base::ListValue();
827 alternate_urls->AppendString(kAlternateURL0); 834 alternate_urls->AppendString(kAlternateURL0);
828 alternate_urls->AppendString(kAlternateURL1); 835 alternate_urls->AppendString(kAlternateURL1);
829 policies.Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY, 836 policies.Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY,
830 POLICY_SCOPE_USER, alternate_urls); 837 POLICY_SCOPE_USER, alternate_urls);
831 policies.Set(key::kDefaultSearchProviderSearchTermsReplacementKey, 838 policies.Set(key::kDefaultSearchProviderSearchTermsReplacementKey,
832 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 839 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
833 base::Value::CreateStringValue(kSearchTermsReplacementKey)); 840 base::Value::CreateStringValue(kSearchTermsReplacementKey));
834 UpdateProviderPolicy(policies); 841 UpdateProviderPolicy(policies);
835 default_search = service->GetDefaultSearchProvider(); 842 default_search = service->GetDefaultSearchProvider();
836 ASSERT_TRUE(default_search); 843 ASSERT_TRUE(default_search);
837 EXPECT_EQ(kKeyword, default_search->keyword()); 844 EXPECT_EQ(kKeyword, default_search->keyword());
838 EXPECT_EQ(kSearchURL, default_search->url()); 845 EXPECT_EQ(kSearchURL, default_search->url());
846 EXPECT_EQ(kInstantURL, default_search->instant_url());
839 EXPECT_EQ(2U, default_search->alternate_urls().size()); 847 EXPECT_EQ(2U, default_search->alternate_urls().size());
840 EXPECT_EQ(kAlternateURL0, default_search->alternate_urls()[0]); 848 EXPECT_EQ(kAlternateURL0, default_search->alternate_urls()[0]);
841 EXPECT_EQ(kAlternateURL1, default_search->alternate_urls()[1]); 849 EXPECT_EQ(kAlternateURL1, default_search->alternate_urls()[1]);
842 850
851 // Query terms replacement requires that the renderer process be a recognized
852 // Instant renderer. Fake it.
853 InstantService* instant_service =
854 InstantServiceFactory::GetForProfile(browser()->profile());
855 instant_service->AddInstantProcess(browser()->tab_strip_model()->
856 GetActiveWebContents()->GetRenderProcessHost()->GetID());
857
843 // Verify that searching from the omnibox does search term replacement with 858 // Verify that searching from the omnibox does search term replacement with
844 // first URL pattern. 859 // first URL pattern.
845 chrome::FocusLocationBar(browser()); 860 chrome::FocusLocationBar(browser());
846 LocationBar* location_bar = browser()->window()->GetLocationBar(); 861 LocationBar* location_bar = browser()->window()->GetLocationBar();
847 ui_test_utils::SendToOmniboxAndSubmit(location_bar, 862 ui_test_utils::SendToOmniboxAndSubmit(location_bar,
848 "https://www.google.com/?espv=1#q=foobar"); 863 "https://www.google.com/?espv=1#q=foobar");
849 OmniboxEditModel* model = location_bar->GetLocationEntry()->model(); 864 OmniboxEditModel* model = location_bar->GetLocationEntry()->model();
850 EXPECT_TRUE(model->CurrentMatch().destination_url.is_valid()); 865 EXPECT_TRUE(model->CurrentMatch().destination_url.is_valid());
851 EXPECT_EQ(ASCIIToUTF16("foobar"), model->CurrentMatch().contents); 866 EXPECT_EQ(ASCIIToUTF16("foobar"), model->CurrentMatch().contents);
852 867
(...skipping 1033 matching lines...) Expand 10 before | Expand all | Expand 10 after
1886 this)); 1901 this));
1887 1902
1888 MessageLoop::current()->Run(); 1903 MessageLoop::current()->Run();
1889 } 1904 }
1890 1905
1891 INSTANTIATE_TEST_CASE_P(MediaStreamDevicesControllerBrowserTestInstance, 1906 INSTANTIATE_TEST_CASE_P(MediaStreamDevicesControllerBrowserTestInstance,
1892 MediaStreamDevicesControllerBrowserTest, 1907 MediaStreamDevicesControllerBrowserTest,
1893 testing::Bool()); 1908 testing::Bool());
1894 1909
1895 } // namespace policy 1910 } // namespace policy
OLDNEW
« no previous file with comments | « chrome/browser/instant/instant_test_utils.cc ('k') | chrome/browser/search_engines/template_url.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698