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

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

Issue 1348903007: Revert of Add source column to chrome://policy showing the origins of policies. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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
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 "ash/display/display_manager.h" 9 #include "ash/display/display_manager.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 #include "components/omnibox/browser/autocomplete_controller.h" 93 #include "components/omnibox/browser/autocomplete_controller.h"
94 #include "components/omnibox/browser/omnibox_edit_model.h" 94 #include "components/omnibox/browser/omnibox_edit_model.h"
95 #include "components/omnibox/browser/omnibox_view.h" 95 #include "components/omnibox/browser/omnibox_view.h"
96 #include "components/policy/core/browser/browser_policy_connector.h" 96 #include "components/policy/core/browser/browser_policy_connector.h"
97 #include "components/policy/core/common/external_data_fetcher.h" 97 #include "components/policy/core/common/external_data_fetcher.h"
98 #include "components/policy/core/common/mock_configuration_policy_provider.h" 98 #include "components/policy/core/common/mock_configuration_policy_provider.h"
99 #include "components/policy/core/common/policy_map.h" 99 #include "components/policy/core/common/policy_map.h"
100 #include "components/policy/core/common/policy_pref_names.h" 100 #include "components/policy/core/common/policy_pref_names.h"
101 #include "components/policy/core/common/policy_service.h" 101 #include "components/policy/core/common/policy_service.h"
102 #include "components/policy/core/common/policy_service_impl.h" 102 #include "components/policy/core/common/policy_service_impl.h"
103 #include "components/policy/core/common/policy_types.h"
104 #include "components/search/search.h" 103 #include "components/search/search.h"
105 #include "components/search_engines/template_url.h" 104 #include "components/search_engines/template_url.h"
106 #include "components/search_engines/template_url_service.h" 105 #include "components/search_engines/template_url_service.h"
107 #include "components/translate/core/browser/language_state.h" 106 #include "components/translate/core/browser/language_state.h"
108 #include "components/translate/core/browser/translate_infobar_delegate.h" 107 #include "components/translate/core/browser/translate_infobar_delegate.h"
109 #include "components/variations/service/variations_service.h" 108 #include "components/variations/service/variations_service.h"
110 #include "components/version_info/version_info.h" 109 #include "components/version_info/version_info.h"
111 #include "content/public/browser/browser_child_process_host_iterator.h" 110 #include "content/public/browser/browser_child_process_host_iterator.h"
112 #include "content/public/browser/browser_context.h" 111 #include "content/public/browser/browser_context.h"
113 #include "content/public/browser/browser_thread.h" 112 #include "content/public/browser/browser_thread.h"
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 make_scoped_refptr(BrowserThread::GetBlockingPool())), 667 make_scoped_refptr(BrowserThread::GetBlockingPool())),
669 base::MessageLoop::current()->QuitWhenIdleClosure()); 668 base::MessageLoop::current()->QuitWhenIdleClosure());
670 content::RunMessageLoop(); 669 content::RunMessageLoop();
671 } 670 }
672 671
673 void SetScreenshotPolicy(bool enabled) { 672 void SetScreenshotPolicy(bool enabled) {
674 PolicyMap policies; 673 PolicyMap policies;
675 policies.Set(key::kDisableScreenshots, 674 policies.Set(key::kDisableScreenshots,
676 POLICY_LEVEL_MANDATORY, 675 POLICY_LEVEL_MANDATORY,
677 POLICY_SCOPE_USER, 676 POLICY_SCOPE_USER,
678 POLICY_SOURCE_CLOUD,
679 new base::FundamentalValue(!enabled), 677 new base::FundamentalValue(!enabled),
680 NULL); 678 NULL);
681 UpdateProviderPolicy(policies); 679 UpdateProviderPolicy(policies);
682 } 680 }
683 681
684 #if defined(OS_CHROMEOS) 682 #if defined(OS_CHROMEOS)
685 class QuitMessageLoopAfterScreenshot : public ui::ScreenshotGrabberObserver { 683 class QuitMessageLoopAfterScreenshot : public ui::ScreenshotGrabberObserver {
686 public: 684 public:
687 void OnScreenshotCompleted( 685 void OnScreenshotCompleted(
688 ScreenshotGrabberObserver::Result screenshot_result, 686 ScreenshotGrabberObserver::Result screenshot_result,
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 contents->GetRenderViewHost()->ForwardMouseEvent(click_event); 815 contents->GetRenderViewHost()->ForwardMouseEvent(click_event);
818 click_event.type = blink::WebInputEvent::MouseUp; 816 click_event.type = blink::WebInputEvent::MouseUp;
819 contents->GetRenderViewHost()->ForwardMouseEvent(click_event); 817 contents->GetRenderViewHost()->ForwardMouseEvent(click_event);
820 } 818 }
821 819
822 void SetPolicy(PolicyMap* policies, const char* key, base::Value* value) { 820 void SetPolicy(PolicyMap* policies, const char* key, base::Value* value) {
823 if (value) { 821 if (value) {
824 policies->Set(key, 822 policies->Set(key,
825 POLICY_LEVEL_MANDATORY, 823 POLICY_LEVEL_MANDATORY,
826 POLICY_SCOPE_USER, 824 POLICY_SCOPE_USER,
827 POLICY_SOURCE_CLOUD,
828 value, 825 value,
829 nullptr); 826 nullptr);
830 } else { 827 } else {
831 policies->Erase(key); 828 policies->Erase(key);
832 } 829 }
833 } 830 }
834 831
835 void ApplySafeSearchPolicy(base::FundamentalValue* legacy_safe_search, 832 void ApplySafeSearchPolicy(base::FundamentalValue* legacy_safe_search,
836 base::FundamentalValue* google_safe_search, 833 base::FundamentalValue* google_safe_search,
837 base::FundamentalValue* youtube_safety_mode) { 834 base::FundamentalValue* youtube_safety_mode) {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
876 public: 873 public:
877 LocalePolicyTest() {} 874 LocalePolicyTest() {}
878 ~LocalePolicyTest() override {} 875 ~LocalePolicyTest() override {}
879 876
880 void SetUpInProcessBrowserTestFixture() override { 877 void SetUpInProcessBrowserTestFixture() override {
881 PolicyTest::SetUpInProcessBrowserTestFixture(); 878 PolicyTest::SetUpInProcessBrowserTestFixture();
882 PolicyMap policies; 879 PolicyMap policies;
883 policies.Set(key::kApplicationLocaleValue, 880 policies.Set(key::kApplicationLocaleValue,
884 POLICY_LEVEL_MANDATORY, 881 POLICY_LEVEL_MANDATORY,
885 POLICY_SCOPE_USER, 882 POLICY_SCOPE_USER,
886 POLICY_SOURCE_CLOUD,
887 new base::StringValue("fr"), 883 new base::StringValue("fr"),
888 NULL); 884 NULL);
889 provider_.UpdateChromePolicy(policies); 885 provider_.UpdateChromePolicy(policies);
890 // The "en-US" ResourceBundle is always loaded before this step for tests, 886 // The "en-US" ResourceBundle is always loaded before this step for tests,
891 // but in this test we want the browser to load the bundle as it 887 // but in this test we want the browser to load the bundle as it
892 // normally would. 888 // normally would.
893 ResourceBundle::CleanupSharedInstance(); 889 ResourceBundle::CleanupSharedInstance();
894 } 890 }
895 }; 891 };
896 892
(...skipping 28 matching lines...) Expand all
925 // Test starts in about:blank. 921 // Test starts in about:blank.
926 PrefService* prefs = browser()->profile()->GetPrefs(); 922 PrefService* prefs = browser()->profile()->GetPrefs();
927 EXPECT_FALSE(prefs->IsManagedPreference(bookmarks::prefs::kShowBookmarkBar)); 923 EXPECT_FALSE(prefs->IsManagedPreference(bookmarks::prefs::kShowBookmarkBar));
928 EXPECT_FALSE(prefs->GetBoolean(bookmarks::prefs::kShowBookmarkBar)); 924 EXPECT_FALSE(prefs->GetBoolean(bookmarks::prefs::kShowBookmarkBar));
929 EXPECT_EQ(BookmarkBar::HIDDEN, browser()->bookmark_bar_state()); 925 EXPECT_EQ(BookmarkBar::HIDDEN, browser()->bookmark_bar_state());
930 926
931 PolicyMap policies; 927 PolicyMap policies;
932 policies.Set(key::kBookmarkBarEnabled, 928 policies.Set(key::kBookmarkBarEnabled,
933 POLICY_LEVEL_MANDATORY, 929 POLICY_LEVEL_MANDATORY,
934 POLICY_SCOPE_USER, 930 POLICY_SCOPE_USER,
935 POLICY_SOURCE_CLOUD,
936 new base::FundamentalValue(true), 931 new base::FundamentalValue(true),
937 NULL); 932 NULL);
938 UpdateProviderPolicy(policies); 933 UpdateProviderPolicy(policies);
939 EXPECT_TRUE(prefs->IsManagedPreference(bookmarks::prefs::kShowBookmarkBar)); 934 EXPECT_TRUE(prefs->IsManagedPreference(bookmarks::prefs::kShowBookmarkBar));
940 EXPECT_TRUE(prefs->GetBoolean(bookmarks::prefs::kShowBookmarkBar)); 935 EXPECT_TRUE(prefs->GetBoolean(bookmarks::prefs::kShowBookmarkBar));
941 EXPECT_EQ(BookmarkBar::SHOW, browser()->bookmark_bar_state()); 936 EXPECT_EQ(BookmarkBar::SHOW, browser()->bookmark_bar_state());
942 937
943 // The NTP has special handling of the bookmark bar. 938 // The NTP has special handling of the bookmark bar.
944 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUINewTabURL)); 939 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUINewTabURL));
945 EXPECT_EQ(BookmarkBar::SHOW, browser()->bookmark_bar_state()); 940 EXPECT_EQ(BookmarkBar::SHOW, browser()->bookmark_bar_state());
946 941
947 policies.Set(key::kBookmarkBarEnabled, 942 policies.Set(key::kBookmarkBarEnabled,
948 POLICY_LEVEL_MANDATORY, 943 POLICY_LEVEL_MANDATORY,
949 POLICY_SCOPE_USER, 944 POLICY_SCOPE_USER,
950 POLICY_SOURCE_CLOUD,
951 new base::FundamentalValue(false), 945 new base::FundamentalValue(false),
952 NULL); 946 NULL);
953 UpdateProviderPolicy(policies); 947 UpdateProviderPolicy(policies);
954 EXPECT_TRUE(prefs->IsManagedPreference(bookmarks::prefs::kShowBookmarkBar)); 948 EXPECT_TRUE(prefs->IsManagedPreference(bookmarks::prefs::kShowBookmarkBar));
955 EXPECT_FALSE(prefs->GetBoolean(bookmarks::prefs::kShowBookmarkBar)); 949 EXPECT_FALSE(prefs->GetBoolean(bookmarks::prefs::kShowBookmarkBar));
956 // The bookmark bar is hidden in the NTP when disabled by policy. 950 // The bookmark bar is hidden in the NTP when disabled by policy.
957 EXPECT_EQ(BookmarkBar::HIDDEN, browser()->bookmark_bar_state()); 951 EXPECT_EQ(BookmarkBar::HIDDEN, browser()->bookmark_bar_state());
958 952
959 policies.Clear(); 953 policies.Clear();
960 UpdateProviderPolicy(policies); 954 UpdateProviderPolicy(policies);
(...skipping 19 matching lines...) Expand all
980 } 974 }
981 975
982 IN_PROC_BROWSER_TEST_F(PolicyTest, PRE_DefaultCookiesSetting) { 976 IN_PROC_BROWSER_TEST_F(PolicyTest, PRE_DefaultCookiesSetting) {
983 // Verify that the cookie persists across restarts. 977 // Verify that the cookie persists across restarts.
984 EXPECT_EQ(kCookieValue, GetCookies(browser()->profile(), GURL(kURL))); 978 EXPECT_EQ(kCookieValue, GetCookies(browser()->profile(), GURL(kURL)));
985 // Now set the policy and the cookie should be gone after another restart. 979 // Now set the policy and the cookie should be gone after another restart.
986 PolicyMap policies; 980 PolicyMap policies;
987 policies.Set(key::kDefaultCookiesSetting, 981 policies.Set(key::kDefaultCookiesSetting,
988 POLICY_LEVEL_MANDATORY, 982 POLICY_LEVEL_MANDATORY,
989 POLICY_SCOPE_USER, 983 POLICY_SCOPE_USER,
990 POLICY_SOURCE_CLOUD,
991 new base::FundamentalValue(4), 984 new base::FundamentalValue(4),
992 NULL); 985 NULL);
993 UpdateProviderPolicy(policies); 986 UpdateProviderPolicy(policies);
994 } 987 }
995 988
996 IN_PROC_BROWSER_TEST_F(PolicyTest, DefaultCookiesSetting) { 989 IN_PROC_BROWSER_TEST_F(PolicyTest, DefaultCookiesSetting) {
997 // Verify that the cookie is gone. 990 // Verify that the cookie is gone.
998 EXPECT_TRUE(GetCookies(browser()->profile(), GURL(kURL)).empty()); 991 EXPECT_TRUE(GetCookies(browser()->profile(), GURL(kURL)).empty());
999 } 992 }
1000 993
(...skipping 28 matching lines...) Expand all
1029 kSearchTermsReplacementKey && 1022 kSearchTermsReplacementKey &&
1030 default_search->image_url() == kImageURL && 1023 default_search->image_url() == kImageURL &&
1031 default_search->image_url_post_params() == kImageURLPostParams && 1024 default_search->image_url_post_params() == kImageURLPostParams &&
1032 default_search->new_tab_url() == kNewTabURL); 1025 default_search->new_tab_url() == kNewTabURL);
1033 1026
1034 // Override the default search provider using policies. 1027 // Override the default search provider using policies.
1035 PolicyMap policies; 1028 PolicyMap policies;
1036 policies.Set(key::kDefaultSearchProviderEnabled, 1029 policies.Set(key::kDefaultSearchProviderEnabled,
1037 POLICY_LEVEL_MANDATORY, 1030 POLICY_LEVEL_MANDATORY,
1038 POLICY_SCOPE_USER, 1031 POLICY_SCOPE_USER,
1039 POLICY_SOURCE_CLOUD,
1040 new base::FundamentalValue(true), 1032 new base::FundamentalValue(true),
1041 NULL); 1033 NULL);
1042 policies.Set(key::kDefaultSearchProviderKeyword, 1034 policies.Set(key::kDefaultSearchProviderKeyword,
1043 POLICY_LEVEL_MANDATORY, 1035 POLICY_LEVEL_MANDATORY,
1044 POLICY_SCOPE_USER, 1036 POLICY_SCOPE_USER,
1045 POLICY_SOURCE_CLOUD,
1046 new base::StringValue(kKeyword), 1037 new base::StringValue(kKeyword),
1047 NULL); 1038 NULL);
1048 policies.Set(key::kDefaultSearchProviderSearchURL, 1039 policies.Set(key::kDefaultSearchProviderSearchURL,
1049 POLICY_LEVEL_MANDATORY, 1040 POLICY_LEVEL_MANDATORY,
1050 POLICY_SCOPE_USER, 1041 POLICY_SCOPE_USER,
1051 POLICY_SOURCE_CLOUD,
1052 new base::StringValue(kSearchURL), 1042 new base::StringValue(kSearchURL),
1053 NULL); 1043 NULL);
1054 base::ListValue* alternate_urls = new base::ListValue(); 1044 base::ListValue* alternate_urls = new base::ListValue();
1055 alternate_urls->AppendString(kAlternateURL0); 1045 alternate_urls->AppendString(kAlternateURL0);
1056 alternate_urls->AppendString(kAlternateURL1); 1046 alternate_urls->AppendString(kAlternateURL1);
1057 policies.Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY, 1047 policies.Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY,
1058 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, alternate_urls, nullptr); 1048 POLICY_SCOPE_USER, alternate_urls, NULL);
1059 policies.Set(key::kDefaultSearchProviderSearchTermsReplacementKey, 1049 policies.Set(key::kDefaultSearchProviderSearchTermsReplacementKey,
1060 POLICY_LEVEL_MANDATORY, 1050 POLICY_LEVEL_MANDATORY,
1061 POLICY_SCOPE_USER, 1051 POLICY_SCOPE_USER,
1062 POLICY_SOURCE_CLOUD,
1063 new base::StringValue(kSearchTermsReplacementKey), 1052 new base::StringValue(kSearchTermsReplacementKey),
1064 NULL); 1053 NULL);
1065 policies.Set(key::kDefaultSearchProviderImageURL, 1054 policies.Set(key::kDefaultSearchProviderImageURL,
1066 POLICY_LEVEL_MANDATORY, 1055 POLICY_LEVEL_MANDATORY,
1067 POLICY_SCOPE_USER, 1056 POLICY_SCOPE_USER,
1068 POLICY_SOURCE_CLOUD,
1069 new base::StringValue(kImageURL), 1057 new base::StringValue(kImageURL),
1070 NULL); 1058 NULL);
1071 policies.Set(key::kDefaultSearchProviderImageURLPostParams, 1059 policies.Set(key::kDefaultSearchProviderImageURLPostParams,
1072 POLICY_LEVEL_MANDATORY, 1060 POLICY_LEVEL_MANDATORY,
1073 POLICY_SCOPE_USER, 1061 POLICY_SCOPE_USER,
1074 POLICY_SOURCE_CLOUD,
1075 new base::StringValue(kImageURLPostParams), 1062 new base::StringValue(kImageURLPostParams),
1076 NULL); 1063 NULL);
1077 policies.Set(key::kDefaultSearchProviderNewTabURL, 1064 policies.Set(key::kDefaultSearchProviderNewTabURL,
1078 POLICY_LEVEL_MANDATORY, 1065 POLICY_LEVEL_MANDATORY,
1079 POLICY_SCOPE_USER, 1066 POLICY_SCOPE_USER,
1080 POLICY_SOURCE_CLOUD,
1081 new base::StringValue(kNewTabURL), 1067 new base::StringValue(kNewTabURL),
1082 NULL); 1068 NULL);
1083 UpdateProviderPolicy(policies); 1069 UpdateProviderPolicy(policies);
1084 default_search = service->GetDefaultSearchProvider(); 1070 default_search = service->GetDefaultSearchProvider();
1085 ASSERT_TRUE(default_search); 1071 ASSERT_TRUE(default_search);
1086 EXPECT_EQ(kKeyword, default_search->keyword()); 1072 EXPECT_EQ(kKeyword, default_search->keyword());
1087 EXPECT_EQ(kSearchURL, default_search->url()); 1073 EXPECT_EQ(kSearchURL, default_search->url());
1088 EXPECT_EQ(2U, default_search->alternate_urls().size()); 1074 EXPECT_EQ(2U, default_search->alternate_urls().size());
1089 EXPECT_EQ(kAlternateURL0, default_search->alternate_urls()[0]); 1075 EXPECT_EQ(kAlternateURL0, default_search->alternate_urls()[0]);
1090 EXPECT_EQ(kAlternateURL1, default_search->alternate_urls()[1]); 1076 EXPECT_EQ(kAlternateURL1, default_search->alternate_urls()[1]);
(...skipping 12 matching lines...) Expand all
1103 content::WebContents* web_contents = 1089 content::WebContents* web_contents =
1104 browser()->tab_strip_model()->GetActiveWebContents(); 1090 browser()->tab_strip_model()->GetActiveWebContents();
1105 GURL expected("http://search.example/search?q=stuff+to+search+for"); 1091 GURL expected("http://search.example/search?q=stuff+to+search+for");
1106 EXPECT_EQ(expected, web_contents->GetURL()); 1092 EXPECT_EQ(expected, web_contents->GetURL());
1107 1093
1108 // Verify that searching from the omnibox can be disabled. 1094 // Verify that searching from the omnibox can be disabled.
1109 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); 1095 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL));
1110 policies.Set(key::kDefaultSearchProviderEnabled, 1096 policies.Set(key::kDefaultSearchProviderEnabled,
1111 POLICY_LEVEL_MANDATORY, 1097 POLICY_LEVEL_MANDATORY,
1112 POLICY_SCOPE_USER, 1098 POLICY_SCOPE_USER,
1113 POLICY_SOURCE_CLOUD,
1114 new base::FundamentalValue(false), 1099 new base::FundamentalValue(false),
1115 NULL); 1100 NULL);
1116 EXPECT_TRUE(service->GetDefaultSearchProvider()); 1101 EXPECT_TRUE(service->GetDefaultSearchProvider());
1117 UpdateProviderPolicy(policies); 1102 UpdateProviderPolicy(policies);
1118 EXPECT_FALSE(service->GetDefaultSearchProvider()); 1103 EXPECT_FALSE(service->GetDefaultSearchProvider());
1119 ui_test_utils::SendToOmniboxAndSubmit(location_bar, "should not work"); 1104 ui_test_utils::SendToOmniboxAndSubmit(location_bar, "should not work");
1120 // This means that submitting won't trigger any action. 1105 // This means that submitting won't trigger any action.
1121 EXPECT_FALSE(model->CurrentMatch(NULL).destination_url.is_valid()); 1106 EXPECT_FALSE(model->CurrentMatch(NULL).destination_url.is_valid());
1122 EXPECT_EQ(GURL(url::kAboutBlankURL), web_contents->GetURL()); 1107 EXPECT_EQ(GURL(url::kAboutBlankURL), web_contents->GetURL());
1123 } 1108 }
1124 1109
1125 IN_PROC_BROWSER_TEST_F(PolicyTest, PolicyPreprocessing) { 1110 IN_PROC_BROWSER_TEST_F(PolicyTest, PolicyPreprocessing) {
1126 // Add an individual proxy policy value. 1111 // Add an individual proxy policy value.
1127 PolicyMap policies; 1112 PolicyMap policies;
1128 policies.Set(key::kProxyServerMode, 1113 policies.Set(key::kProxyServerMode,
1129 POLICY_LEVEL_MANDATORY, 1114 POLICY_LEVEL_MANDATORY,
1130 POLICY_SCOPE_USER, 1115 POLICY_SCOPE_USER,
1131 POLICY_SOURCE_CLOUD,
1132 new base::FundamentalValue(3), 1116 new base::FundamentalValue(3),
1133 NULL); 1117 NULL);
1134 UpdateProviderPolicy(policies); 1118 UpdateProviderPolicy(policies);
1135 1119
1136 // It should be removed and replaced with a dictionary. 1120 // It should be removed and replaced with a dictionary.
1137 PolicyMap expected; 1121 PolicyMap expected;
1138 scoped_ptr<base::DictionaryValue> expected_value(new base::DictionaryValue); 1122 scoped_ptr<base::DictionaryValue> expected_value(new base::DictionaryValue);
1139 expected_value->SetInteger(key::kProxyServerMode, 3); 1123 expected_value->SetInteger(key::kProxyServerMode, 3);
1140 expected.Set(key::kProxySettings, 1124 expected.Set(key::kProxySettings,
1141 POLICY_LEVEL_MANDATORY, 1125 POLICY_LEVEL_MANDATORY,
1142 POLICY_SCOPE_USER, 1126 POLICY_SCOPE_USER,
1143 POLICY_SOURCE_CLOUD,
1144 expected_value.release(), 1127 expected_value.release(),
1145 NULL); 1128 NULL);
1146 1129
1147 // Check both the browser and the profile. 1130 // Check both the browser and the profile.
1148 const PolicyMap& actual_from_browser = 1131 const PolicyMap& actual_from_browser =
1149 g_browser_process->browser_policy_connector() 1132 g_browser_process->browser_policy_connector()
1150 ->GetPolicyService() 1133 ->GetPolicyService()
1151 ->GetPolicies(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string())); 1134 ->GetPolicies(PolicyNamespace(POLICY_DOMAIN_CHROME, std::string()));
1152 EXPECT_TRUE(expected.Equals(actual_from_browser)); 1135 EXPECT_TRUE(expected.Equals(actual_from_browser));
1153 const PolicyMap& actual_from_profile = 1136 const PolicyMap& actual_from_profile =
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1226 EXPECT_FALSE( 1209 EXPECT_FALSE(
1227 default_search->alternate_urls().size() == 2 && 1210 default_search->alternate_urls().size() == 2 &&
1228 default_search->alternate_urls()[0] == kAlternateURL0 && 1211 default_search->alternate_urls()[0] == kAlternateURL0 &&
1229 default_search->alternate_urls()[1] == kAlternateURL1); 1212 default_search->alternate_urls()[1] == kAlternateURL1);
1230 1213
1231 // Override the default search provider using policies. 1214 // Override the default search provider using policies.
1232 PolicyMap policies; 1215 PolicyMap policies;
1233 policies.Set(key::kDefaultSearchProviderEnabled, 1216 policies.Set(key::kDefaultSearchProviderEnabled,
1234 POLICY_LEVEL_MANDATORY, 1217 POLICY_LEVEL_MANDATORY,
1235 POLICY_SCOPE_USER, 1218 POLICY_SCOPE_USER,
1236 POLICY_SOURCE_CLOUD,
1237 new base::FundamentalValue(true), 1219 new base::FundamentalValue(true),
1238 NULL); 1220 NULL);
1239 policies.Set(key::kDefaultSearchProviderKeyword, 1221 policies.Set(key::kDefaultSearchProviderKeyword,
1240 POLICY_LEVEL_MANDATORY, 1222 POLICY_LEVEL_MANDATORY,
1241 POLICY_SCOPE_USER, 1223 POLICY_SCOPE_USER,
1242 POLICY_SOURCE_CLOUD,
1243 new base::StringValue(kKeyword), 1224 new base::StringValue(kKeyword),
1244 NULL); 1225 NULL);
1245 policies.Set(key::kDefaultSearchProviderSearchURL, 1226 policies.Set(key::kDefaultSearchProviderSearchURL,
1246 POLICY_LEVEL_MANDATORY, 1227 POLICY_LEVEL_MANDATORY,
1247 POLICY_SCOPE_USER, 1228 POLICY_SCOPE_USER,
1248 POLICY_SOURCE_CLOUD,
1249 new base::StringValue(kSearchURL), 1229 new base::StringValue(kSearchURL),
1250 NULL); 1230 NULL);
1251 policies.Set(key::kDefaultSearchProviderInstantURL, 1231 policies.Set(key::kDefaultSearchProviderInstantURL,
1252 POLICY_LEVEL_MANDATORY, 1232 POLICY_LEVEL_MANDATORY,
1253 POLICY_SCOPE_USER, 1233 POLICY_SCOPE_USER,
1254 POLICY_SOURCE_CLOUD,
1255 new base::StringValue(kInstantURL), 1234 new base::StringValue(kInstantURL),
1256 NULL); 1235 NULL);
1257 base::ListValue* alternate_urls = new base::ListValue(); 1236 base::ListValue* alternate_urls = new base::ListValue();
1258 alternate_urls->AppendString(kAlternateURL0); 1237 alternate_urls->AppendString(kAlternateURL0);
1259 alternate_urls->AppendString(kAlternateURL1); 1238 alternate_urls->AppendString(kAlternateURL1);
1260 policies.Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY, 1239 policies.Set(key::kDefaultSearchProviderAlternateURLs, POLICY_LEVEL_MANDATORY,
1261 POLICY_SCOPE_USER, 1240 POLICY_SCOPE_USER, alternate_urls, NULL);
1262 POLICY_SOURCE_CLOUD, alternate_urls, nullptr);
1263 policies.Set(key::kDefaultSearchProviderSearchTermsReplacementKey, 1241 policies.Set(key::kDefaultSearchProviderSearchTermsReplacementKey,
1264 POLICY_LEVEL_MANDATORY, 1242 POLICY_LEVEL_MANDATORY,
1265 POLICY_SCOPE_USER, 1243 POLICY_SCOPE_USER,
1266 POLICY_SOURCE_CLOUD,
1267 new base::StringValue(kSearchTermsReplacementKey), 1244 new base::StringValue(kSearchTermsReplacementKey),
1268 NULL); 1245 NULL);
1269 UpdateProviderPolicy(policies); 1246 UpdateProviderPolicy(policies);
1270 default_search = service->GetDefaultSearchProvider(); 1247 default_search = service->GetDefaultSearchProvider();
1271 ASSERT_TRUE(default_search); 1248 ASSERT_TRUE(default_search);
1272 EXPECT_EQ(kKeyword, default_search->keyword()); 1249 EXPECT_EQ(kKeyword, default_search->keyword());
1273 EXPECT_EQ(kSearchURL, default_search->url()); 1250 EXPECT_EQ(kSearchURL, default_search->url());
1274 EXPECT_EQ(kInstantURL, default_search->instant_url()); 1251 EXPECT_EQ(kInstantURL, default_search->instant_url());
1275 EXPECT_EQ(2U, default_search->alternate_urls().size()); 1252 EXPECT_EQ(2U, default_search->alternate_urls().size());
1276 EXPECT_EQ(kAlternateURL0, default_search->alternate_urls()[0]); 1253 EXPECT_EQ(kAlternateURL0, default_search->alternate_urls()[0]);
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1338 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); 1315 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL));
1339 // WebGL is enabled by default. 1316 // WebGL is enabled by default.
1340 content::WebContents* contents = 1317 content::WebContents* contents =
1341 browser()->tab_strip_model()->GetActiveWebContents(); 1318 browser()->tab_strip_model()->GetActiveWebContents();
1342 EXPECT_TRUE(IsWebGLEnabled(contents)); 1319 EXPECT_TRUE(IsWebGLEnabled(contents));
1343 // Disable with a policy. 1320 // Disable with a policy.
1344 PolicyMap policies; 1321 PolicyMap policies;
1345 policies.Set(key::kDisable3DAPIs, 1322 policies.Set(key::kDisable3DAPIs,
1346 POLICY_LEVEL_MANDATORY, 1323 POLICY_LEVEL_MANDATORY,
1347 POLICY_SCOPE_USER, 1324 POLICY_SCOPE_USER,
1348 POLICY_SOURCE_CLOUD,
1349 new base::FundamentalValue(true), 1325 new base::FundamentalValue(true),
1350 NULL); 1326 NULL);
1351 UpdateProviderPolicy(policies); 1327 UpdateProviderPolicy(policies);
1352 // Crash and reload the tab to get a new renderer. 1328 // Crash and reload the tab to get a new renderer.
1353 content::CrashTab(contents); 1329 content::CrashTab(contents);
1354 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_RELOAD)); 1330 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_RELOAD));
1355 EXPECT_FALSE(IsWebGLEnabled(contents)); 1331 EXPECT_FALSE(IsWebGLEnabled(contents));
1356 // Enable with a policy. 1332 // Enable with a policy.
1357 policies.Set(key::kDisable3DAPIs, 1333 policies.Set(key::kDisable3DAPIs,
1358 POLICY_LEVEL_MANDATORY, 1334 POLICY_LEVEL_MANDATORY,
1359 POLICY_SCOPE_USER, 1335 POLICY_SCOPE_USER,
1360 POLICY_SOURCE_CLOUD,
1361 new base::FundamentalValue(false), 1336 new base::FundamentalValue(false),
1362 NULL); 1337 NULL);
1363 UpdateProviderPolicy(policies); 1338 UpdateProviderPolicy(policies);
1364 content::CrashTab(contents); 1339 content::CrashTab(contents);
1365 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_RELOAD)); 1340 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_RELOAD));
1366 EXPECT_TRUE(IsWebGLEnabled(contents)); 1341 EXPECT_TRUE(IsWebGLEnabled(contents));
1367 } 1342 }
1368 1343
1369 IN_PROC_BROWSER_TEST_F(PolicyTest, DisableSpdy) { 1344 IN_PROC_BROWSER_TEST_F(PolicyTest, DisableSpdy) {
1370 // Verifies that SPDY can be disable by policy. 1345 // Verifies that SPDY can be disable by policy.
1371 EXPECT_TRUE(net::HttpStreamFactory::spdy_enabled()); 1346 EXPECT_TRUE(net::HttpStreamFactory::spdy_enabled());
1372 PolicyMap policies; 1347 PolicyMap policies;
1373 policies.Set(key::kDisableSpdy, 1348 policies.Set(key::kDisableSpdy,
1374 POLICY_LEVEL_MANDATORY, 1349 POLICY_LEVEL_MANDATORY,
1375 POLICY_SCOPE_USER, 1350 POLICY_SCOPE_USER,
1376 POLICY_SOURCE_CLOUD,
1377 new base::FundamentalValue(true), 1351 new base::FundamentalValue(true),
1378 NULL); 1352 NULL);
1379 UpdateProviderPolicy(policies); 1353 UpdateProviderPolicy(policies);
1380 content::RunAllPendingInMessageLoop(); 1354 content::RunAllPendingInMessageLoop();
1381 EXPECT_FALSE(net::HttpStreamFactory::spdy_enabled()); 1355 EXPECT_FALSE(net::HttpStreamFactory::spdy_enabled());
1382 // Verify that it can be force-enabled too. 1356 // Verify that it can be force-enabled too.
1383 browser()->profile()->GetPrefs()->SetBoolean(prefs::kDisableSpdy, true); 1357 browser()->profile()->GetPrefs()->SetBoolean(prefs::kDisableSpdy, true);
1384 policies.Set(key::kDisableSpdy, 1358 policies.Set(key::kDisableSpdy,
1385 POLICY_LEVEL_MANDATORY, 1359 POLICY_LEVEL_MANDATORY,
1386 POLICY_SCOPE_USER, 1360 POLICY_SCOPE_USER,
1387 POLICY_SOURCE_CLOUD,
1388 new base::FundamentalValue(false), 1361 new base::FundamentalValue(false),
1389 NULL); 1362 NULL);
1390 UpdateProviderPolicy(policies); 1363 UpdateProviderPolicy(policies);
1391 content::RunAllPendingInMessageLoop(); 1364 content::RunAllPendingInMessageLoop();
1392 EXPECT_TRUE(net::HttpStreamFactory::spdy_enabled()); 1365 EXPECT_TRUE(net::HttpStreamFactory::spdy_enabled());
1393 } 1366 }
1394 1367
1395 IN_PROC_BROWSER_TEST_F(PolicyTest, DisabledPlugins) { 1368 IN_PROC_BROWSER_TEST_F(PolicyTest, DisabledPlugins) {
1396 // Verifies that plugins can be forced to be disabled by policy. 1369 // Verifies that plugins can be forced to be disabled by policy.
1397 1370
1398 // Verify that the Flash plugin exists and that it can be enabled and disabled 1371 // Verify that the Flash plugin exists and that it can be enabled and disabled
1399 // by the user. 1372 // by the user.
1400 std::vector<content::WebPluginInfo> plugins; 1373 std::vector<content::WebPluginInfo> plugins;
1401 GetPluginList(&plugins); 1374 GetPluginList(&plugins);
1402 const content::WebPluginInfo* flash = GetFlashPlugin(plugins); 1375 const content::WebPluginInfo* flash = GetFlashPlugin(plugins);
1403 if (!flash) 1376 if (!flash)
1404 return; 1377 return;
1405 PluginPrefs* plugin_prefs = 1378 PluginPrefs* plugin_prefs =
1406 PluginPrefs::GetForProfile(browser()->profile()).get(); 1379 PluginPrefs::GetForProfile(browser()->profile()).get();
1407 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash)); 1380 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash));
1408 EXPECT_TRUE(SetPluginEnabled(plugin_prefs, flash, false)); 1381 EXPECT_TRUE(SetPluginEnabled(plugin_prefs, flash, false));
1409 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash)); 1382 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash));
1410 EXPECT_TRUE(SetPluginEnabled(plugin_prefs, flash, true)); 1383 EXPECT_TRUE(SetPluginEnabled(plugin_prefs, flash, true));
1411 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash)); 1384 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash));
1412 1385
1413 // Now disable it with a policy. 1386 // Now disable it with a policy.
1414 base::ListValue disabled_plugins; 1387 base::ListValue disabled_plugins;
1415 disabled_plugins.Append(new base::StringValue("*Flash*")); 1388 disabled_plugins.Append(new base::StringValue("*Flash*"));
1416 PolicyMap policies; 1389 PolicyMap policies;
1417 policies.Set(key::kDisabledPlugins, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 1390 policies.Set(key::kDisabledPlugins, POLICY_LEVEL_MANDATORY,
1418 POLICY_SOURCE_CLOUD, disabled_plugins.DeepCopy(), nullptr); 1391 POLICY_SCOPE_USER, disabled_plugins.DeepCopy(), NULL);
1419 UpdateProviderPolicy(policies); 1392 UpdateProviderPolicy(policies);
1420 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash)); 1393 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash));
1421 // The user shouldn't be able to enable it. 1394 // The user shouldn't be able to enable it.
1422 EXPECT_FALSE(SetPluginEnabled(plugin_prefs, flash, true)); 1395 EXPECT_FALSE(SetPluginEnabled(plugin_prefs, flash, true));
1423 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash)); 1396 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash));
1424 } 1397 }
1425 1398
1426 IN_PROC_BROWSER_TEST_F(PolicyTest, DisabledPluginsExceptions) { 1399 IN_PROC_BROWSER_TEST_F(PolicyTest, DisabledPluginsExceptions) {
1427 // Verifies that plugins with an exception in the blacklist can be enabled. 1400 // Verifies that plugins with an exception in the blacklist can be enabled.
1428 1401
1429 // Verify that the Flash plugin exists and that it can be enabled and disabled 1402 // Verify that the Flash plugin exists and that it can be enabled and disabled
1430 // by the user. 1403 // by the user.
1431 std::vector<content::WebPluginInfo> plugins; 1404 std::vector<content::WebPluginInfo> plugins;
1432 GetPluginList(&plugins); 1405 GetPluginList(&plugins);
1433 const content::WebPluginInfo* flash = GetFlashPlugin(plugins); 1406 const content::WebPluginInfo* flash = GetFlashPlugin(plugins);
1434 if (!flash) 1407 if (!flash)
1435 return; 1408 return;
1436 PluginPrefs* plugin_prefs = 1409 PluginPrefs* plugin_prefs =
1437 PluginPrefs::GetForProfile(browser()->profile()).get(); 1410 PluginPrefs::GetForProfile(browser()->profile()).get();
1438 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash)); 1411 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash));
1439 1412
1440 // Disable all plugins. 1413 // Disable all plugins.
1441 base::ListValue disabled_plugins; 1414 base::ListValue disabled_plugins;
1442 disabled_plugins.Append(new base::StringValue("*")); 1415 disabled_plugins.Append(new base::StringValue("*"));
1443 PolicyMap policies; 1416 PolicyMap policies;
1444 policies.Set(key::kDisabledPlugins, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 1417 policies.Set(key::kDisabledPlugins, POLICY_LEVEL_MANDATORY,
1445 POLICY_SOURCE_CLOUD, disabled_plugins.DeepCopy(), nullptr); 1418 POLICY_SCOPE_USER, disabled_plugins.DeepCopy(), NULL);
1446 UpdateProviderPolicy(policies); 1419 UpdateProviderPolicy(policies);
1447 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash)); 1420 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash));
1448 // The user shouldn't be able to enable it. 1421 // The user shouldn't be able to enable it.
1449 EXPECT_FALSE(SetPluginEnabled(plugin_prefs, flash, true)); 1422 EXPECT_FALSE(SetPluginEnabled(plugin_prefs, flash, true));
1450 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash)); 1423 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash));
1451 1424
1452 // Now open an exception for flash. 1425 // Now open an exception for flash.
1453 base::ListValue disabled_plugins_exceptions; 1426 base::ListValue disabled_plugins_exceptions;
1454 disabled_plugins_exceptions.Append(new base::StringValue("*Flash*")); 1427 disabled_plugins_exceptions.Append(new base::StringValue("*Flash*"));
1455 policies.Set(key::kDisabledPluginsExceptions, POLICY_LEVEL_MANDATORY, 1428 policies.Set(key::kDisabledPluginsExceptions, POLICY_LEVEL_MANDATORY,
1456 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, 1429 POLICY_SCOPE_USER, disabled_plugins_exceptions.DeepCopy(), NULL);
1457 disabled_plugins_exceptions.DeepCopy(), nullptr);
1458 UpdateProviderPolicy(policies); 1430 UpdateProviderPolicy(policies);
1459 // It should revert to the user's preference automatically. 1431 // It should revert to the user's preference automatically.
1460 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash)); 1432 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash));
1461 // And the user should be able to disable and enable again. 1433 // And the user should be able to disable and enable again.
1462 EXPECT_TRUE(SetPluginEnabled(plugin_prefs, flash, false)); 1434 EXPECT_TRUE(SetPluginEnabled(plugin_prefs, flash, false));
1463 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash)); 1435 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash));
1464 EXPECT_TRUE(SetPluginEnabled(plugin_prefs, flash, true)); 1436 EXPECT_TRUE(SetPluginEnabled(plugin_prefs, flash, true));
1465 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash)); 1437 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash));
1466 } 1438 }
1467 1439
1468 IN_PROC_BROWSER_TEST_F(PolicyTest, EnabledPlugins) { 1440 IN_PROC_BROWSER_TEST_F(PolicyTest, EnabledPlugins) {
1469 // Verifies that a plugin can be force-installed with a policy. 1441 // Verifies that a plugin can be force-installed with a policy.
1470 std::vector<content::WebPluginInfo> plugins; 1442 std::vector<content::WebPluginInfo> plugins;
1471 GetPluginList(&plugins); 1443 GetPluginList(&plugins);
1472 const content::WebPluginInfo* flash = GetFlashPlugin(plugins); 1444 const content::WebPluginInfo* flash = GetFlashPlugin(plugins);
1473 if (!flash) 1445 if (!flash)
1474 return; 1446 return;
1475 PluginPrefs* plugin_prefs = 1447 PluginPrefs* plugin_prefs =
1476 PluginPrefs::GetForProfile(browser()->profile()).get(); 1448 PluginPrefs::GetForProfile(browser()->profile()).get();
1477 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash)); 1449 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash));
1478 1450
1479 // The user disables it and then a policy forces it to be enabled. 1451 // The user disables it and then a policy forces it to be enabled.
1480 EXPECT_TRUE(SetPluginEnabled(plugin_prefs, flash, false)); 1452 EXPECT_TRUE(SetPluginEnabled(plugin_prefs, flash, false));
1481 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash)); 1453 EXPECT_FALSE(plugin_prefs->IsPluginEnabled(*flash));
1482 base::ListValue plugin_list; 1454 base::ListValue plugin_list;
1483 plugin_list.Append(new base::StringValue(content::kFlashPluginName)); 1455 plugin_list.Append(new base::StringValue(content::kFlashPluginName));
1484 PolicyMap policies; 1456 PolicyMap policies;
1485 policies.Set(key::kEnabledPlugins, POLICY_LEVEL_MANDATORY, 1457 policies.Set(key::kEnabledPlugins, POLICY_LEVEL_MANDATORY,
1486 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, plugin_list.DeepCopy(), 1458 POLICY_SCOPE_USER, plugin_list.DeepCopy(), NULL);
1487 nullptr);
1488 UpdateProviderPolicy(policies); 1459 UpdateProviderPolicy(policies);
1489 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash)); 1460 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash));
1490 // The user can't disable it anymore. 1461 // The user can't disable it anymore.
1491 EXPECT_FALSE(SetPluginEnabled(plugin_prefs, flash, false)); 1462 EXPECT_FALSE(SetPluginEnabled(plugin_prefs, flash, false));
1492 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash)); 1463 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash));
1493 1464
1494 // When a plugin is both enabled and disabled, the whitelist takes precedence. 1465 // When a plugin is both enabled and disabled, the whitelist takes precedence.
1495 policies.Set(key::kDisabledPlugins, POLICY_LEVEL_MANDATORY, 1466 policies.Set(key::kDisabledPlugins, POLICY_LEVEL_MANDATORY,
1496 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, plugin_list.DeepCopy(), 1467 POLICY_SCOPE_USER, plugin_list.DeepCopy(), NULL);
1497 nullptr);
1498 UpdateProviderPolicy(policies); 1468 UpdateProviderPolicy(policies);
1499 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash)); 1469 EXPECT_TRUE(plugin_prefs->IsPluginEnabled(*flash));
1500 } 1470 }
1501 1471
1502 IN_PROC_BROWSER_TEST_F(PolicyTest, AlwaysAuthorizePlugins) { 1472 IN_PROC_BROWSER_TEST_F(PolicyTest, AlwaysAuthorizePlugins) {
1503 // Verifies that dangerous plugins can be always authorized to run with 1473 // Verifies that dangerous plugins can be always authorized to run with
1504 // a policy. 1474 // a policy.
1505 1475
1506 // Verify that the test page exists. It is only present in checkouts with 1476 // Verify that the test page exists. It is only present in checkouts with
1507 // src-internal. 1477 // src-internal.
(...skipping 24 matching lines...) Expand all
1532 EXPECT_TRUE( 1502 EXPECT_TRUE(
1533 infobar_service->infobar_at(0)->delegate()->AsConfirmInfoBarDelegate()); 1503 infobar_service->infobar_at(0)->delegate()->AsConfirmInfoBarDelegate());
1534 // And the plugin isn't running. 1504 // And the plugin isn't running.
1535 EXPECT_EQ(0, CountPlugins()); 1505 EXPECT_EQ(0, CountPlugins());
1536 1506
1537 // Now set a policy to always authorize this. 1507 // Now set a policy to always authorize this.
1538 PolicyMap policies; 1508 PolicyMap policies;
1539 policies.Set(key::kAlwaysAuthorizePlugins, 1509 policies.Set(key::kAlwaysAuthorizePlugins,
1540 POLICY_LEVEL_MANDATORY, 1510 POLICY_LEVEL_MANDATORY,
1541 POLICY_SCOPE_USER, 1511 POLICY_SCOPE_USER,
1542 POLICY_SOURCE_CLOUD,
1543 new base::FundamentalValue(true), 1512 new base::FundamentalValue(true),
1544 NULL); 1513 NULL);
1545 UpdateProviderPolicy(policies); 1514 UpdateProviderPolicy(policies);
1546 // Reloading the page shouldn't trigger the infobar this time. 1515 // Reloading the page shouldn't trigger the infobar this time.
1547 ui_test_utils::NavigateToURL(browser(), url); 1516 ui_test_utils::NavigateToURL(browser(), url);
1548 EXPECT_EQ(0u, infobar_service->infobar_count()); 1517 EXPECT_EQ(0u, infobar_service->infobar_count());
1549 // And the plugin started automatically. 1518 // And the plugin started automatically.
1550 EXPECT_EQ(1, CountPlugins()); 1519 EXPECT_EQ(1, CountPlugins());
1551 } 1520 }
1552 1521
1553 IN_PROC_BROWSER_TEST_F(PolicyTest, DeveloperToolsDisabled) { 1522 IN_PROC_BROWSER_TEST_F(PolicyTest, DeveloperToolsDisabled) {
1554 // Verifies that access to the developer tools can be disabled. 1523 // Verifies that access to the developer tools can be disabled.
1555 1524
1556 // Open devtools. 1525 // Open devtools.
1557 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_DEV_TOOLS)); 1526 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_DEV_TOOLS));
1558 content::WebContents* contents = 1527 content::WebContents* contents =
1559 browser()->tab_strip_model()->GetActiveWebContents(); 1528 browser()->tab_strip_model()->GetActiveWebContents();
1560 DevToolsWindow* devtools_window = 1529 DevToolsWindow* devtools_window =
1561 DevToolsWindow::GetInstanceForInspectedWebContents(contents); 1530 DevToolsWindow::GetInstanceForInspectedWebContents(contents);
1562 EXPECT_TRUE(devtools_window); 1531 EXPECT_TRUE(devtools_window);
1563 1532
1564 // Disable devtools via policy. 1533 // Disable devtools via policy.
1565 PolicyMap policies; 1534 PolicyMap policies;
1566 policies.Set(key::kDeveloperToolsDisabled, 1535 policies.Set(key::kDeveloperToolsDisabled,
1567 POLICY_LEVEL_MANDATORY, 1536 POLICY_LEVEL_MANDATORY,
1568 POLICY_SCOPE_USER, 1537 POLICY_SCOPE_USER,
1569 POLICY_SOURCE_CLOUD,
1570 new base::FundamentalValue(true), 1538 new base::FundamentalValue(true),
1571 NULL); 1539 NULL);
1572 content::WindowedNotificationObserver close_observer( 1540 content::WindowedNotificationObserver close_observer(
1573 content::NOTIFICATION_WEB_CONTENTS_DESTROYED, 1541 content::NOTIFICATION_WEB_CONTENTS_DESTROYED,
1574 content::Source<content::WebContents>( 1542 content::Source<content::WebContents>(
1575 DevToolsWindowTesting::Get(devtools_window)->main_web_contents())); 1543 DevToolsWindowTesting::Get(devtools_window)->main_web_contents()));
1576 UpdateProviderPolicy(policies); 1544 UpdateProviderPolicy(policies);
1577 // wait for devtools close 1545 // wait for devtools close
1578 close_observer.Wait(); 1546 close_observer.Wait();
1579 // The existing devtools window should have closed. 1547 // The existing devtools window should have closed.
(...skipping 27 matching lines...) Expand all
1607 1575
1608 // The next NTP has no footer. 1576 // The next NTP has no footer.
1609 if (ContainsVisibleElement(contents, "footer")) 1577 if (ContainsVisibleElement(contents, "footer"))
1610 EXPECT_TRUE(ContainsVisibleElement(contents, "chrome-web-store-link")); 1578 EXPECT_TRUE(ContainsVisibleElement(contents, "chrome-web-store-link"));
1611 1579
1612 // Turn off the web store icons. 1580 // Turn off the web store icons.
1613 PolicyMap policies; 1581 PolicyMap policies;
1614 policies.Set(key::kHideWebStoreIcon, 1582 policies.Set(key::kHideWebStoreIcon,
1615 POLICY_LEVEL_MANDATORY, 1583 POLICY_LEVEL_MANDATORY,
1616 POLICY_SCOPE_USER, 1584 POLICY_SCOPE_USER,
1617 POLICY_SOURCE_CLOUD,
1618 new base::FundamentalValue(true), 1585 new base::FundamentalValue(true),
1619 NULL); 1586 NULL);
1620 UpdateProviderPolicy(policies); 1587 UpdateProviderPolicy(policies);
1621 1588
1622 // The web store icons should now be hidden. 1589 // The web store icons should now be hidden.
1623 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUINewTabURL)); 1590 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUINewTabURL));
1624 EXPECT_FALSE(ContainsVisibleElement(contents, 1591 EXPECT_FALSE(ContainsVisibleElement(contents,
1625 "ahfgeienlihckogmohjhadlkjgocpleb")); 1592 "ahfgeienlihckogmohjhadlkjgocpleb"));
1626 EXPECT_FALSE(ContainsVisibleElement(contents, "chrome-web-store-link")); 1593 EXPECT_FALSE(ContainsVisibleElement(contents, "chrome-web-store-link"));
1627 } 1594 }
(...skipping 15 matching lines...) Expand all
1643 DownloadAndVerifyFile(browser(), initial_dir.path(), file); 1610 DownloadAndVerifyFile(browser(), initial_dir.path(), file);
1644 base::DieFileDie(initial_dir.path().Append(file), false); 1611 base::DieFileDie(initial_dir.path().Append(file), false);
1645 1612
1646 // Override the download directory with the policy and verify a download. 1613 // Override the download directory with the policy and verify a download.
1647 base::ScopedTempDir forced_dir; 1614 base::ScopedTempDir forced_dir;
1648 ASSERT_TRUE(forced_dir.CreateUniqueTempDir()); 1615 ASSERT_TRUE(forced_dir.CreateUniqueTempDir());
1649 PolicyMap policies; 1616 PolicyMap policies;
1650 policies.Set(key::kDownloadDirectory, 1617 policies.Set(key::kDownloadDirectory,
1651 POLICY_LEVEL_MANDATORY, 1618 POLICY_LEVEL_MANDATORY,
1652 POLICY_SCOPE_USER, 1619 POLICY_SCOPE_USER,
1653 POLICY_SOURCE_CLOUD,
1654 new base::StringValue(forced_dir.path().value()), 1620 new base::StringValue(forced_dir.path().value()),
1655 NULL); 1621 NULL);
1656 UpdateProviderPolicy(policies); 1622 UpdateProviderPolicy(policies);
1657 DownloadAndVerifyFile(browser(), forced_dir.path(), file); 1623 DownloadAndVerifyFile(browser(), forced_dir.path(), file);
1658 // Verify that the first download location wasn't affected. 1624 // Verify that the first download location wasn't affected.
1659 EXPECT_FALSE(base::PathExists(initial_dir.path().Append(file))); 1625 EXPECT_FALSE(base::PathExists(initial_dir.path().Append(file)));
1660 } 1626 }
1661 1627
1662 IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallBlacklistSelective) { 1628 IN_PROC_BROWSER_TEST_F(PolicyTest, ExtensionInstallBlacklistSelective) {
1663 // Verifies that blacklisted extensions can't be installed. 1629 // Verifies that blacklisted extensions can't be installed.
1664 ExtensionService* service = extension_service(); 1630 ExtensionService* service = extension_service();
1665 ASSERT_FALSE(service->GetExtensionById(kGoodCrxId, true)); 1631 ASSERT_FALSE(service->GetExtensionById(kGoodCrxId, true));
1666 ASSERT_FALSE(service->GetExtensionById(kAdBlockCrxId, true)); 1632 ASSERT_FALSE(service->GetExtensionById(kAdBlockCrxId, true));
1667 base::ListValue blacklist; 1633 base::ListValue blacklist;
1668 blacklist.Append(new base::StringValue(kGoodCrxId)); 1634 blacklist.Append(new base::StringValue(kGoodCrxId));
1669 PolicyMap policies; 1635 PolicyMap policies;
1670 policies.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY, 1636 policies.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY,
1671 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 1637 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
1672 nullptr);
1673 UpdateProviderPolicy(policies); 1638 UpdateProviderPolicy(policies);
1674 1639
1675 // "good.crx" is blacklisted. 1640 // "good.crx" is blacklisted.
1676 EXPECT_FALSE(InstallExtension(kGoodCrxName)); 1641 EXPECT_FALSE(InstallExtension(kGoodCrxName));
1677 EXPECT_FALSE(service->GetExtensionById(kGoodCrxId, true)); 1642 EXPECT_FALSE(service->GetExtensionById(kGoodCrxId, true));
1678 1643
1679 // "adblock.crx" is not. 1644 // "adblock.crx" is not.
1680 const extensions::Extension* adblock = InstallExtension(kAdBlockCrxName); 1645 const extensions::Extension* adblock = InstallExtension(kAdBlockCrxName);
1681 ASSERT_TRUE(adblock); 1646 ASSERT_TRUE(adblock);
1682 EXPECT_EQ(kAdBlockCrxId, adblock->id()); 1647 EXPECT_EQ(kAdBlockCrxId, adblock->id());
(...skipping 10 matching lines...) Expand all
1693 IN_PROC_BROWSER_TEST_F(PolicyTest, MAYBE_ExtensionInstallBlacklistWildcard) { 1658 IN_PROC_BROWSER_TEST_F(PolicyTest, MAYBE_ExtensionInstallBlacklistWildcard) {
1694 // Verify that a wildcard blacklist takes effect. 1659 // Verify that a wildcard blacklist takes effect.
1695 EXPECT_TRUE(InstallExtension(kAdBlockCrxName)); 1660 EXPECT_TRUE(InstallExtension(kAdBlockCrxName));
1696 ExtensionService* service = extension_service(); 1661 ExtensionService* service = extension_service();
1697 ASSERT_FALSE(service->GetExtensionById(kGoodCrxId, true)); 1662 ASSERT_FALSE(service->GetExtensionById(kGoodCrxId, true));
1698 ASSERT_TRUE(service->GetExtensionById(kAdBlockCrxId, true)); 1663 ASSERT_TRUE(service->GetExtensionById(kAdBlockCrxId, true));
1699 base::ListValue blacklist; 1664 base::ListValue blacklist;
1700 blacklist.Append(new base::StringValue("*")); 1665 blacklist.Append(new base::StringValue("*"));
1701 PolicyMap policies; 1666 PolicyMap policies;
1702 policies.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY, 1667 policies.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY,
1703 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 1668 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
1704 nullptr);
1705 UpdateProviderPolicy(policies); 1669 UpdateProviderPolicy(policies);
1706 1670
1707 // AdBlock was automatically removed. 1671 // AdBlock was automatically removed.
1708 ASSERT_FALSE(service->GetExtensionById(kAdBlockCrxId, true)); 1672 ASSERT_FALSE(service->GetExtensionById(kAdBlockCrxId, true));
1709 1673
1710 // And can't be installed again, nor can good.crx. 1674 // And can't be installed again, nor can good.crx.
1711 EXPECT_FALSE(InstallExtension(kAdBlockCrxName)); 1675 EXPECT_FALSE(InstallExtension(kAdBlockCrxName));
1712 EXPECT_FALSE(service->GetExtensionById(kAdBlockCrxId, true)); 1676 EXPECT_FALSE(service->GetExtensionById(kAdBlockCrxId, true));
1713 EXPECT_FALSE(InstallExtension(kGoodCrxName)); 1677 EXPECT_FALSE(InstallExtension(kGoodCrxName));
1714 EXPECT_FALSE(service->GetExtensionById(kGoodCrxId, true)); 1678 EXPECT_FALSE(service->GetExtensionById(kGoodCrxId, true));
(...skipping 26 matching lines...) Expand all
1741 1705
1742 // Blacklist "*" but force-install the importer extension. The shared module 1706 // Blacklist "*" but force-install the importer extension. The shared module
1743 // should be automatically installed too. 1707 // should be automatically installed too.
1744 base::ListValue blacklist; 1708 base::ListValue blacklist;
1745 blacklist.AppendString("*"); 1709 blacklist.AppendString("*");
1746 base::ListValue forcelist; 1710 base::ListValue forcelist;
1747 forcelist.AppendString( 1711 forcelist.AppendString(
1748 base::StringPrintf("%s;%s", kImporterId, update_xml_url.spec().c_str())); 1712 base::StringPrintf("%s;%s", kImporterId, update_xml_url.spec().c_str()));
1749 PolicyMap policies; 1713 PolicyMap policies;
1750 policies.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY, 1714 policies.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY,
1751 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 1715 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
1752 nullptr);
1753 policies.Set(key::kExtensionInstallForcelist, POLICY_LEVEL_MANDATORY, 1716 policies.Set(key::kExtensionInstallForcelist, POLICY_LEVEL_MANDATORY,
1754 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, forcelist.DeepCopy(), 1717 POLICY_SCOPE_USER, forcelist.DeepCopy(), NULL);
1755 nullptr);
1756 1718
1757 extensions::ExtensionRegistry* registry = 1719 extensions::ExtensionRegistry* registry =
1758 extensions::ExtensionRegistry::Get(browser()->profile()); 1720 extensions::ExtensionRegistry::Get(browser()->profile());
1759 extensions::TestExtensionRegistryObserver observe_importer( 1721 extensions::TestExtensionRegistryObserver observe_importer(
1760 registry, kImporterId); 1722 registry, kImporterId);
1761 extensions::TestExtensionRegistryObserver observe_shared_module( 1723 extensions::TestExtensionRegistryObserver observe_shared_module(
1762 registry, kSharedModuleId); 1724 registry, kSharedModuleId);
1763 UpdateProviderPolicy(policies); 1725 UpdateProviderPolicy(policies);
1764 observe_importer.WaitForExtensionLoaded(); 1726 observe_importer.WaitForExtensionLoaded();
1765 observe_shared_module.WaitForExtensionLoaded(); 1727 observe_shared_module.WaitForExtensionLoaded();
(...skipping 26 matching lines...) Expand all
1792 // Verifies that the whitelist can open exceptions to the blacklist. 1754 // Verifies that the whitelist can open exceptions to the blacklist.
1793 ExtensionService* service = extension_service(); 1755 ExtensionService* service = extension_service();
1794 ASSERT_FALSE(service->GetExtensionById(kGoodCrxId, true)); 1756 ASSERT_FALSE(service->GetExtensionById(kGoodCrxId, true));
1795 ASSERT_FALSE(service->GetExtensionById(kAdBlockCrxId, true)); 1757 ASSERT_FALSE(service->GetExtensionById(kAdBlockCrxId, true));
1796 base::ListValue blacklist; 1758 base::ListValue blacklist;
1797 blacklist.Append(new base::StringValue("*")); 1759 blacklist.Append(new base::StringValue("*"));
1798 base::ListValue whitelist; 1760 base::ListValue whitelist;
1799 whitelist.Append(new base::StringValue(kGoodCrxId)); 1761 whitelist.Append(new base::StringValue(kGoodCrxId));
1800 PolicyMap policies; 1762 PolicyMap policies;
1801 policies.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY, 1763 policies.Set(key::kExtensionInstallBlacklist, POLICY_LEVEL_MANDATORY,
1802 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 1764 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
1803 nullptr);
1804 policies.Set(key::kExtensionInstallWhitelist, POLICY_LEVEL_MANDATORY, 1765 policies.Set(key::kExtensionInstallWhitelist, POLICY_LEVEL_MANDATORY,
1805 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, whitelist.DeepCopy(), 1766 POLICY_SCOPE_USER, whitelist.DeepCopy(), NULL);
1806 nullptr);
1807 UpdateProviderPolicy(policies); 1767 UpdateProviderPolicy(policies);
1808 // "adblock.crx" is blacklisted. 1768 // "adblock.crx" is blacklisted.
1809 EXPECT_FALSE(InstallExtension(kAdBlockCrxName)); 1769 EXPECT_FALSE(InstallExtension(kAdBlockCrxName));
1810 EXPECT_FALSE(service->GetExtensionById(kAdBlockCrxId, true)); 1770 EXPECT_FALSE(service->GetExtensionById(kAdBlockCrxId, true));
1811 // "good.crx" has a whitelist exception. 1771 // "good.crx" has a whitelist exception.
1812 const extensions::Extension* good = InstallExtension(kGoodCrxName); 1772 const extensions::Extension* good = InstallExtension(kGoodCrxName);
1813 ASSERT_TRUE(good); 1773 ASSERT_TRUE(good);
1814 EXPECT_EQ(kGoodCrxId, good->id()); 1774 EXPECT_EQ(kGoodCrxId, good->id());
1815 EXPECT_EQ(good, service->GetExtensionById(kGoodCrxId, true)); 1775 EXPECT_EQ(good, service->GetExtensionById(kGoodCrxId, true));
1816 // The user can also remove this extension. 1776 // The user can also remove this extension.
(...skipping 12 matching lines...) Expand all
1829 base::FilePath path = 1789 base::FilePath path =
1830 base::FilePath(kTestExtensionsDir).Append(kGoodV1CrxManifestName); 1790 base::FilePath(kTestExtensionsDir).Append(kGoodV1CrxManifestName);
1831 GURL url(URLRequestMockHTTPJob::GetMockUrl(path)); 1791 GURL url(URLRequestMockHTTPJob::GetMockUrl(path));
1832 1792
1833 // Setting the forcelist extension should install "good_v1.crx". 1793 // Setting the forcelist extension should install "good_v1.crx".
1834 base::ListValue forcelist; 1794 base::ListValue forcelist;
1835 forcelist.Append(new base::StringValue( 1795 forcelist.Append(new base::StringValue(
1836 base::StringPrintf("%s;%s", kGoodCrxId, url.spec().c_str()))); 1796 base::StringPrintf("%s;%s", kGoodCrxId, url.spec().c_str())));
1837 PolicyMap policies; 1797 PolicyMap policies;
1838 policies.Set(key::kExtensionInstallForcelist, POLICY_LEVEL_MANDATORY, 1798 policies.Set(key::kExtensionInstallForcelist, POLICY_LEVEL_MANDATORY,
1839 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, forcelist.DeepCopy(), 1799 POLICY_SCOPE_USER, forcelist.DeepCopy(), NULL);
1840 nullptr);
1841 content::WindowedNotificationObserver observer( 1800 content::WindowedNotificationObserver observer(
1842 extensions::NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED, 1801 extensions::NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED,
1843 content::NotificationService::AllSources()); 1802 content::NotificationService::AllSources());
1844 UpdateProviderPolicy(policies); 1803 UpdateProviderPolicy(policies);
1845 observer.Wait(); 1804 observer.Wait();
1846 // Note: Cannot check that the notification details match the expected 1805 // Note: Cannot check that the notification details match the expected
1847 // exception, since the details object has already been freed prior to 1806 // exception, since the details object has already been freed prior to
1848 // the completion of observer.Wait(). 1807 // the completion of observer.Wait().
1849 1808
1850 EXPECT_TRUE(service->GetExtensionById(kGoodCrxId, true)); 1809 EXPECT_TRUE(service->GetExtensionById(kGoodCrxId, true));
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
1949 dict_value.SetString(std::string(kGoodCrxId) + "." + 1908 dict_value.SetString(std::string(kGoodCrxId) + "." +
1950 extensions::schema_constants::kInstallationMode, 1909 extensions::schema_constants::kInstallationMode,
1951 extensions::schema_constants::kNormalInstalled); 1910 extensions::schema_constants::kNormalInstalled);
1952 dict_value.SetString( 1911 dict_value.SetString(
1953 std::string(kGoodCrxId) + "." + extensions::schema_constants::kUpdateUrl, 1912 std::string(kGoodCrxId) + "." + extensions::schema_constants::kUpdateUrl,
1954 url.spec()); 1913 url.spec());
1955 PolicyMap policies; 1914 PolicyMap policies;
1956 policies.Set(key::kExtensionSettings, 1915 policies.Set(key::kExtensionSettings,
1957 POLICY_LEVEL_MANDATORY, 1916 POLICY_LEVEL_MANDATORY,
1958 POLICY_SCOPE_USER, 1917 POLICY_SCOPE_USER,
1959 POLICY_SOURCE_CLOUD,
1960 dict_value.DeepCopy(), 1918 dict_value.DeepCopy(),
1961 NULL); 1919 NULL);
1962 content::WindowedNotificationObserver observer( 1920 content::WindowedNotificationObserver observer(
1963 extensions::NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED, 1921 extensions::NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED,
1964 content::NotificationService::AllSources()); 1922 content::NotificationService::AllSources());
1965 UpdateProviderPolicy(policies); 1923 UpdateProviderPolicy(policies);
1966 observer.Wait(); 1924 observer.Wait();
1967 1925
1968 EXPECT_TRUE(service->GetExtensionById(kGoodCrxId, true)); 1926 EXPECT_TRUE(service->GetExtensionById(kGoodCrxId, true));
1969 1927
(...skipping 13 matching lines...) Expand all
1983 // Verifies that extensions are blocked if policy specifies an allowed types 1941 // Verifies that extensions are blocked if policy specifies an allowed types
1984 // list and the extension's type is not on that list. 1942 // list and the extension's type is not on that list.
1985 ExtensionService* service = extension_service(); 1943 ExtensionService* service = extension_service();
1986 ASSERT_FALSE(service->GetExtensionById(kGoodCrxId, true)); 1944 ASSERT_FALSE(service->GetExtensionById(kGoodCrxId, true));
1987 ASSERT_FALSE(service->GetExtensionById(kHostedAppCrxId, true)); 1945 ASSERT_FALSE(service->GetExtensionById(kHostedAppCrxId, true));
1988 1946
1989 base::ListValue allowed_types; 1947 base::ListValue allowed_types;
1990 allowed_types.AppendString("hosted_app"); 1948 allowed_types.AppendString("hosted_app");
1991 PolicyMap policies; 1949 PolicyMap policies;
1992 policies.Set(key::kExtensionAllowedTypes, POLICY_LEVEL_MANDATORY, 1950 policies.Set(key::kExtensionAllowedTypes, POLICY_LEVEL_MANDATORY,
1993 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, allowed_types.DeepCopy(), 1951 POLICY_SCOPE_USER, allowed_types.DeepCopy(), NULL);
1994 nullptr);
1995 UpdateProviderPolicy(policies); 1952 UpdateProviderPolicy(policies);
1996 1953
1997 // "good.crx" is blocked. 1954 // "good.crx" is blocked.
1998 EXPECT_FALSE(InstallExtension(kGoodCrxName)); 1955 EXPECT_FALSE(InstallExtension(kGoodCrxName));
1999 EXPECT_FALSE(service->GetExtensionById(kGoodCrxId, true)); 1956 EXPECT_FALSE(service->GetExtensionById(kGoodCrxId, true));
2000 1957
2001 // "hosted_app.crx" is of a whitelisted type. 1958 // "hosted_app.crx" is of a whitelisted type.
2002 const extensions::Extension* hosted_app = InstallExtension(kHostedAppCrxName); 1959 const extensions::Extension* hosted_app = InstallExtension(kHostedAppCrxName);
2003 ASSERT_TRUE(hosted_app); 1960 ASSERT_TRUE(hosted_app);
2004 EXPECT_EQ(kHostedAppCrxId, hosted_app->id()); 1961 EXPECT_EQ(kHostedAppCrxId, hosted_app->id());
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2042 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY); 1999 content::DownloadTestObserver::ON_DANGEROUS_DOWNLOAD_DENY);
2043 PerformClick(0, 0); 2000 PerformClick(0, 0);
2044 download_observer.WaitForFinished(); 2001 download_observer.WaitForFinished();
2045 2002
2046 // Install the policy and trigger another download. 2003 // Install the policy and trigger another download.
2047 base::ListValue install_sources; 2004 base::ListValue install_sources;
2048 install_sources.AppendString(install_source_url.spec()); 2005 install_sources.AppendString(install_source_url.spec());
2049 install_sources.AppendString(referrer_url.spec()); 2006 install_sources.AppendString(referrer_url.spec());
2050 PolicyMap policies; 2007 PolicyMap policies;
2051 policies.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY, 2008 policies.Set(key::kExtensionInstallSources, POLICY_LEVEL_MANDATORY,
2052 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, 2009 POLICY_SCOPE_USER, install_sources.DeepCopy(), NULL);
2053 install_sources.DeepCopy(), nullptr);
2054 UpdateProviderPolicy(policies); 2010 UpdateProviderPolicy(policies);
2055 2011
2056 content::WindowedNotificationObserver observer( 2012 content::WindowedNotificationObserver observer(
2057 extensions::NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED, 2013 extensions::NOTIFICATION_EXTENSION_WILL_BE_INSTALLED_DEPRECATED,
2058 content::NotificationService::AllSources()); 2014 content::NotificationService::AllSources());
2059 PerformClick(1, 0); 2015 PerformClick(1, 0);
2060 observer.Wait(); 2016 observer.Wait();
2061 // Note: Cannot check that the notification details match the expected 2017 // Note: Cannot check that the notification details match the expected
2062 // exception, since the details object has already been freed prior to 2018 // exception, since the details object has already been freed prior to
2063 // the completion of observer.Wait(). 2019 // the completion of observer.Wait().
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
2273 browser()->tab_strip_model()->GetActiveWebContents(); 2229 browser()->tab_strip_model()->GetActiveWebContents();
2274 EXPECT_EQ(GURL(url::kAboutBlankURL), contents->GetURL()); 2230 EXPECT_EQ(GURL(url::kAboutBlankURL), contents->GetURL());
2275 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_HOME)); 2231 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_HOME));
2276 EXPECT_EQ(GURL(chrome::kChromeUIPolicyURL), contents->GetURL()); 2232 EXPECT_EQ(GURL(chrome::kChromeUIPolicyURL), contents->GetURL());
2277 2233
2278 // Now override with policy. 2234 // Now override with policy.
2279 PolicyMap policies; 2235 PolicyMap policies;
2280 policies.Set(key::kHomepageLocation, 2236 policies.Set(key::kHomepageLocation,
2281 POLICY_LEVEL_MANDATORY, 2237 POLICY_LEVEL_MANDATORY,
2282 POLICY_SCOPE_USER, 2238 POLICY_SCOPE_USER,
2283 POLICY_SOURCE_CLOUD,
2284 new base::StringValue(chrome::kChromeUICreditsURL), 2239 new base::StringValue(chrome::kChromeUICreditsURL),
2285 NULL); 2240 NULL);
2286 UpdateProviderPolicy(policies); 2241 UpdateProviderPolicy(policies);
2287 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_HOME)); 2242 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_HOME));
2288 content::WaitForLoadStop(contents); 2243 content::WaitForLoadStop(contents);
2289 EXPECT_EQ(GURL(chrome::kChromeUICreditsURL), contents->GetURL()); 2244 EXPECT_EQ(GURL(chrome::kChromeUICreditsURL), contents->GetURL());
2290 2245
2291 policies.Set(key::kHomepageIsNewTabPage, 2246 policies.Set(key::kHomepageIsNewTabPage,
2292 POLICY_LEVEL_MANDATORY, 2247 POLICY_LEVEL_MANDATORY,
2293 POLICY_SCOPE_USER, 2248 POLICY_SCOPE_USER,
2294 POLICY_SOURCE_CLOUD,
2295 new base::FundamentalValue(true), 2249 new base::FundamentalValue(true),
2296 NULL); 2250 NULL);
2297 UpdateProviderPolicy(policies); 2251 UpdateProviderPolicy(policies);
2298 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_HOME)); 2252 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_HOME));
2299 content::WaitForLoadStop(contents); 2253 content::WaitForLoadStop(contents);
2300 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), contents->GetURL()); 2254 EXPECT_EQ(GURL(chrome::kChromeUINewTabURL), contents->GetURL());
2301 } 2255 }
2302 2256
2303 IN_PROC_BROWSER_TEST_F(PolicyTest, IncognitoEnabled) { 2257 IN_PROC_BROWSER_TEST_F(PolicyTest, IncognitoEnabled) {
2304 // Verifies that incognito windows can't be opened when disabled by policy. 2258 // Verifies that incognito windows can't be opened when disabled by policy.
2305 2259
2306 const BrowserList* active_browser_list = 2260 const BrowserList* active_browser_list =
2307 BrowserList::GetInstance(chrome::GetActiveDesktop()); 2261 BrowserList::GetInstance(chrome::GetActiveDesktop());
2308 2262
2309 // Disable incognito via policy and verify that incognito windows can't be 2263 // Disable incognito via policy and verify that incognito windows can't be
2310 // opened. 2264 // opened.
2311 EXPECT_EQ(1u, active_browser_list->size()); 2265 EXPECT_EQ(1u, active_browser_list->size());
2312 EXPECT_FALSE(BrowserList::IsOffTheRecordSessionActive()); 2266 EXPECT_FALSE(BrowserList::IsOffTheRecordSessionActive());
2313 PolicyMap policies; 2267 PolicyMap policies;
2314 policies.Set(key::kIncognitoEnabled, 2268 policies.Set(key::kIncognitoEnabled,
2315 POLICY_LEVEL_MANDATORY, 2269 POLICY_LEVEL_MANDATORY,
2316 POLICY_SCOPE_USER, 2270 POLICY_SCOPE_USER,
2317 POLICY_SOURCE_CLOUD,
2318 new base::FundamentalValue(false), 2271 new base::FundamentalValue(false),
2319 NULL); 2272 NULL);
2320 UpdateProviderPolicy(policies); 2273 UpdateProviderPolicy(policies);
2321 EXPECT_FALSE(chrome::ExecuteCommand(browser(), IDC_NEW_INCOGNITO_WINDOW)); 2274 EXPECT_FALSE(chrome::ExecuteCommand(browser(), IDC_NEW_INCOGNITO_WINDOW));
2322 EXPECT_EQ(1u, active_browser_list->size()); 2275 EXPECT_EQ(1u, active_browser_list->size());
2323 EXPECT_FALSE(BrowserList::IsOffTheRecordSessionActive()); 2276 EXPECT_FALSE(BrowserList::IsOffTheRecordSessionActive());
2324 2277
2325 // Enable via policy and verify that incognito windows can be opened. 2278 // Enable via policy and verify that incognito windows can be opened.
2326 policies.Set(key::kIncognitoEnabled, 2279 policies.Set(key::kIncognitoEnabled,
2327 POLICY_LEVEL_MANDATORY, 2280 POLICY_LEVEL_MANDATORY,
2328 POLICY_SCOPE_USER, 2281 POLICY_SCOPE_USER,
2329 POLICY_SOURCE_CLOUD,
2330 new base::FundamentalValue(true), 2282 new base::FundamentalValue(true),
2331 NULL); 2283 NULL);
2332 UpdateProviderPolicy(policies); 2284 UpdateProviderPolicy(policies);
2333 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_NEW_INCOGNITO_WINDOW)); 2285 EXPECT_TRUE(chrome::ExecuteCommand(browser(), IDC_NEW_INCOGNITO_WINDOW));
2334 EXPECT_EQ(2u, active_browser_list->size()); 2286 EXPECT_EQ(2u, active_browser_list->size());
2335 EXPECT_TRUE(BrowserList::IsOffTheRecordSessionActive()); 2287 EXPECT_TRUE(BrowserList::IsOffTheRecordSessionActive());
2336 } 2288 }
2337 2289
2338 IN_PROC_BROWSER_TEST_F(PolicyTest, Javascript) { 2290 IN_PROC_BROWSER_TEST_F(PolicyTest, Javascript) {
2339 // Verifies that Javascript can be disabled. 2291 // Verifies that Javascript can be disabled.
2340 content::WebContents* contents = 2292 content::WebContents* contents =
2341 browser()->tab_strip_model()->GetActiveWebContents(); 2293 browser()->tab_strip_model()->GetActiveWebContents();
2342 EXPECT_TRUE(IsJavascriptEnabled(contents)); 2294 EXPECT_TRUE(IsJavascriptEnabled(contents));
2343 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS)); 2295 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS));
2344 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS_CONSOLE)); 2296 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS_CONSOLE));
2345 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS_DEVICES)); 2297 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS_DEVICES));
2346 2298
2347 // Disable Javascript via policy. 2299 // Disable Javascript via policy.
2348 PolicyMap policies; 2300 PolicyMap policies;
2349 policies.Set(key::kJavascriptEnabled, 2301 policies.Set(key::kJavascriptEnabled,
2350 POLICY_LEVEL_MANDATORY, 2302 POLICY_LEVEL_MANDATORY,
2351 POLICY_SCOPE_USER, 2303 POLICY_SCOPE_USER,
2352 POLICY_SOURCE_CLOUD,
2353 new base::FundamentalValue(false), 2304 new base::FundamentalValue(false),
2354 NULL); 2305 NULL);
2355 UpdateProviderPolicy(policies); 2306 UpdateProviderPolicy(policies);
2356 // Reload the page. 2307 // Reload the page.
2357 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); 2308 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL));
2358 EXPECT_FALSE(IsJavascriptEnabled(contents)); 2309 EXPECT_FALSE(IsJavascriptEnabled(contents));
2359 // Developer tools still work when javascript is disabled. 2310 // Developer tools still work when javascript is disabled.
2360 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS)); 2311 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS));
2361 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS_CONSOLE)); 2312 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS_CONSOLE));
2362 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS_DEVICES)); 2313 EXPECT_TRUE(chrome::IsCommandEnabled(browser(), IDC_DEV_TOOLS_DEVICES));
2363 // Javascript is always enabled for the internal pages. 2314 // Javascript is always enabled for the internal pages.
2364 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIAboutURL)); 2315 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIAboutURL));
2365 EXPECT_TRUE(IsJavascriptEnabled(contents)); 2316 EXPECT_TRUE(IsJavascriptEnabled(contents));
2366 2317
2367 // The javascript content setting policy overrides the javascript policy. 2318 // The javascript content setting policy overrides the javascript policy.
2368 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); 2319 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL));
2369 EXPECT_FALSE(IsJavascriptEnabled(contents)); 2320 EXPECT_FALSE(IsJavascriptEnabled(contents));
2370 policies.Set(key::kDefaultJavaScriptSetting, 2321 policies.Set(key::kDefaultJavaScriptSetting,
2371 POLICY_LEVEL_MANDATORY, 2322 POLICY_LEVEL_MANDATORY,
2372 POLICY_SCOPE_USER, 2323 POLICY_SCOPE_USER,
2373 POLICY_SOURCE_CLOUD,
2374 new base::FundamentalValue(CONTENT_SETTING_ALLOW), 2324 new base::FundamentalValue(CONTENT_SETTING_ALLOW),
2375 NULL); 2325 NULL);
2376 UpdateProviderPolicy(policies); 2326 UpdateProviderPolicy(policies);
2377 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL)); 2327 ui_test_utils::NavigateToURL(browser(), GURL(url::kAboutBlankURL));
2378 EXPECT_TRUE(IsJavascriptEnabled(contents)); 2328 EXPECT_TRUE(IsJavascriptEnabled(contents));
2379 } 2329 }
2380 2330
2381 IN_PROC_BROWSER_TEST_F(PolicyTest, NetworkPrediction) { 2331 IN_PROC_BROWSER_TEST_F(PolicyTest, NetworkPrediction) {
2382 PrefService* prefs = browser()->profile()->GetPrefs(); 2332 PrefService* prefs = browser()->profile()->GetPrefs();
2383 2333
2384 // Enabled by default. 2334 // Enabled by default.
2385 EXPECT_TRUE(IsNetworkPredictionEnabled(prefs)); 2335 EXPECT_TRUE(IsNetworkPredictionEnabled(prefs));
2386 2336
2387 // Disable by old, deprecated policy. 2337 // Disable by old, deprecated policy.
2388 PolicyMap policies; 2338 PolicyMap policies;
2389 policies.Set(key::kDnsPrefetchingEnabled, 2339 policies.Set(key::kDnsPrefetchingEnabled,
2390 POLICY_LEVEL_MANDATORY, 2340 POLICY_LEVEL_MANDATORY,
2391 POLICY_SCOPE_USER, 2341 POLICY_SCOPE_USER,
2392 POLICY_SOURCE_CLOUD,
2393 new base::FundamentalValue(false), 2342 new base::FundamentalValue(false),
2394 NULL); 2343 NULL);
2395 UpdateProviderPolicy(policies); 2344 UpdateProviderPolicy(policies);
2396 2345
2397 EXPECT_FALSE(IsNetworkPredictionEnabled(prefs)); 2346 EXPECT_FALSE(IsNetworkPredictionEnabled(prefs));
2398 2347
2399 // Enabled by new policy, this should override old one. 2348 // Enabled by new policy, this should override old one.
2400 policies.Set( 2349 policies.Set(
2401 key::kNetworkPredictionOptions, 2350 key::kNetworkPredictionOptions,
2402 POLICY_LEVEL_MANDATORY, 2351 POLICY_LEVEL_MANDATORY,
2403 POLICY_SCOPE_USER, 2352 POLICY_SCOPE_USER,
2404 POLICY_SOURCE_CLOUD,
2405 new base::FundamentalValue(chrome_browser_net::NETWORK_PREDICTION_ALWAYS), 2353 new base::FundamentalValue(chrome_browser_net::NETWORK_PREDICTION_ALWAYS),
2406 NULL); 2354 NULL);
2407 UpdateProviderPolicy(policies); 2355 UpdateProviderPolicy(policies);
2408 2356
2409 EXPECT_TRUE(IsNetworkPredictionEnabled(prefs)); 2357 EXPECT_TRUE(IsNetworkPredictionEnabled(prefs));
2410 } 2358 }
2411 2359
2412 IN_PROC_BROWSER_TEST_F(PolicyTest, SavingBrowserHistoryDisabled) { 2360 IN_PROC_BROWSER_TEST_F(PolicyTest, SavingBrowserHistoryDisabled) {
2413 // Verifies that browsing history is not saved. 2361 // Verifies that browsing history is not saved.
2414 PolicyMap policies; 2362 PolicyMap policies;
2415 policies.Set(key::kSavingBrowserHistoryDisabled, 2363 policies.Set(key::kSavingBrowserHistoryDisabled,
2416 POLICY_LEVEL_MANDATORY, 2364 POLICY_LEVEL_MANDATORY,
2417 POLICY_SCOPE_USER, 2365 POLICY_SCOPE_USER,
2418 POLICY_SOURCE_CLOUD,
2419 new base::FundamentalValue(true), 2366 new base::FundamentalValue(true),
2420 NULL); 2367 NULL);
2421 UpdateProviderPolicy(policies); 2368 UpdateProviderPolicy(policies);
2422 GURL url = ui_test_utils::GetTestUrl( 2369 GURL url = ui_test_utils::GetTestUrl(
2423 base::FilePath(base::FilePath::kCurrentDirectory), 2370 base::FilePath(base::FilePath::kCurrentDirectory),
2424 base::FilePath(FILE_PATH_LITERAL("empty.html"))); 2371 base::FilePath(FILE_PATH_LITERAL("empty.html")));
2425 ui_test_utils::NavigateToURL(browser(), url); 2372 ui_test_utils::NavigateToURL(browser(), url);
2426 // Verify that the navigation wasn't saved in the history. 2373 // Verify that the navigation wasn't saved in the history.
2427 ui_test_utils::HistoryEnumerator enumerator1(browser()->profile()); 2374 ui_test_utils::HistoryEnumerator enumerator1(browser()->profile());
2428 EXPECT_EQ(0u, enumerator1.urls().size()); 2375 EXPECT_EQ(0u, enumerator1.urls().size());
2429 2376
2430 // Now flip the policy and try again. 2377 // Now flip the policy and try again.
2431 policies.Set(key::kSavingBrowserHistoryDisabled, 2378 policies.Set(key::kSavingBrowserHistoryDisabled,
2432 POLICY_LEVEL_MANDATORY, 2379 POLICY_LEVEL_MANDATORY,
2433 POLICY_SCOPE_USER, 2380 POLICY_SCOPE_USER,
2434 POLICY_SOURCE_CLOUD,
2435 new base::FundamentalValue(false), 2381 new base::FundamentalValue(false),
2436 NULL); 2382 NULL);
2437 UpdateProviderPolicy(policies); 2383 UpdateProviderPolicy(policies);
2438 ui_test_utils::NavigateToURL(browser(), url); 2384 ui_test_utils::NavigateToURL(browser(), url);
2439 // Verify that the navigation was saved in the history. 2385 // Verify that the navigation was saved in the history.
2440 ui_test_utils::HistoryEnumerator enumerator2(browser()->profile()); 2386 ui_test_utils::HistoryEnumerator enumerator2(browser()->profile());
2441 ASSERT_EQ(1u, enumerator2.urls().size()); 2387 ASSERT_EQ(1u, enumerator2.urls().size());
2442 EXPECT_EQ(url, enumerator2.urls()[0]); 2388 EXPECT_EQ(url, enumerator2.urls()[0]);
2443 } 2389 }
2444 2390
(...skipping 15 matching lines...) Expand all
2460 ASSERT_TRUE(contents); 2406 ASSERT_TRUE(contents);
2461 InfoBarService* infobar_service = InfoBarService::FromWebContents(contents); 2407 InfoBarService* infobar_service = InfoBarService::FromWebContents(contents);
2462 ASSERT_TRUE(infobar_service); 2408 ASSERT_TRUE(infobar_service);
2463 EXPECT_EQ(0u, infobar_service->infobar_count()); 2409 EXPECT_EQ(0u, infobar_service->infobar_count());
2464 2410
2465 // Force enable the translate feature. 2411 // Force enable the translate feature.
2466 PolicyMap policies; 2412 PolicyMap policies;
2467 policies.Set(key::kTranslateEnabled, 2413 policies.Set(key::kTranslateEnabled,
2468 POLICY_LEVEL_MANDATORY, 2414 POLICY_LEVEL_MANDATORY,
2469 POLICY_SCOPE_USER, 2415 POLICY_SCOPE_USER,
2470 POLICY_SOURCE_CLOUD,
2471 new base::FundamentalValue(true), 2416 new base::FundamentalValue(true),
2472 NULL); 2417 NULL);
2473 UpdateProviderPolicy(policies); 2418 UpdateProviderPolicy(policies);
2474 // Instead of waiting for NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED, this test 2419 // Instead of waiting for NOTIFICATION_TAB_CONTENTS_INFOBAR_ADDED, this test
2475 // waits for NOTIFICATION_TAB_LANGUAGE_DETERMINED because that's what the 2420 // waits for NOTIFICATION_TAB_LANGUAGE_DETERMINED because that's what the
2476 // TranslateManager observes. This allows checking that an infobar is NOT 2421 // TranslateManager observes. This allows checking that an infobar is NOT
2477 // shown below, without polling for infobars for some indeterminate amount 2422 // shown below, without polling for infobars for some indeterminate amount
2478 // of time. 2423 // of time.
2479 GURL url = ui_test_utils::GetTestUrl( 2424 GURL url = ui_test_utils::GetTestUrl(
2480 base::FilePath(), 2425 base::FilePath(),
(...skipping 25 matching lines...) Expand all
2506 EXPECT_EQ(translate::TRANSLATE_STEP_BEFORE_TRANSLATE, 2451 EXPECT_EQ(translate::TRANSLATE_STEP_BEFORE_TRANSLATE,
2507 translate_infobar_delegate->translate_step()); 2452 translate_infobar_delegate->translate_step());
2508 EXPECT_EQ("fr", translate_infobar_delegate->original_language_code()); 2453 EXPECT_EQ("fr", translate_infobar_delegate->original_language_code());
2509 2454
2510 // Now force disable translate. 2455 // Now force disable translate.
2511 infobar_service->RemoveInfoBar(infobar); 2456 infobar_service->RemoveInfoBar(infobar);
2512 EXPECT_EQ(0u, infobar_service->infobar_count()); 2457 EXPECT_EQ(0u, infobar_service->infobar_count());
2513 policies.Set(key::kTranslateEnabled, 2458 policies.Set(key::kTranslateEnabled,
2514 POLICY_LEVEL_MANDATORY, 2459 POLICY_LEVEL_MANDATORY,
2515 POLICY_SCOPE_USER, 2460 POLICY_SCOPE_USER,
2516 POLICY_SOURCE_CLOUD,
2517 new base::FundamentalValue(false), 2461 new base::FundamentalValue(false),
2518 NULL); 2462 NULL);
2519 UpdateProviderPolicy(policies); 2463 UpdateProviderPolicy(policies);
2520 // Navigating to the same URL now doesn't trigger an infobar. 2464 // Navigating to the same URL now doesn't trigger an infobar.
2521 content::WindowedNotificationObserver language_observer2( 2465 content::WindowedNotificationObserver language_observer2(
2522 chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED, 2466 chrome::NOTIFICATION_TAB_LANGUAGE_DETERMINED,
2523 content::NotificationService::AllSources()); 2467 content::NotificationService::AllSources());
2524 ui_test_utils::NavigateToURL(browser(), url); 2468 ui_test_utils::NavigateToURL(browser(), url);
2525 language_observer2.Wait(); 2469 language_observer2.Wait();
2526 EXPECT_EQ(0u, infobar_service->infobar_count()); 2470 EXPECT_EQ(0u, infobar_service->infobar_count());
(...skipping 22 matching lines...) Expand all
2549 } 2493 }
2550 2494
2551 // Verify that "bbb.com" opens before applying the blacklist. 2495 // Verify that "bbb.com" opens before applying the blacklist.
2552 CheckCanOpenURL(browser(), kURLS[1]); 2496 CheckCanOpenURL(browser(), kURLS[1]);
2553 2497
2554 // Set a blacklist. 2498 // Set a blacklist.
2555 base::ListValue blacklist; 2499 base::ListValue blacklist;
2556 blacklist.Append(new base::StringValue("bbb.com")); 2500 blacklist.Append(new base::StringValue("bbb.com"));
2557 PolicyMap policies; 2501 PolicyMap policies;
2558 policies.Set(key::kURLBlacklist, POLICY_LEVEL_MANDATORY, 2502 policies.Set(key::kURLBlacklist, POLICY_LEVEL_MANDATORY,
2559 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 2503 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
2560 nullptr);
2561 UpdateProviderPolicy(policies); 2504 UpdateProviderPolicy(policies);
2562 FlushBlacklistPolicy(); 2505 FlushBlacklistPolicy();
2563 // All bbb.com URLs are blocked, and "aaa.com" is still unblocked. 2506 // All bbb.com URLs are blocked, and "aaa.com" is still unblocked.
2564 CheckCanOpenURL(browser(), kURLS[0]); 2507 CheckCanOpenURL(browser(), kURLS[0]);
2565 for (size_t i = 1; i < arraysize(kURLS); ++i) 2508 for (size_t i = 1; i < arraysize(kURLS); ++i)
2566 CheckURLIsBlocked(browser(), kURLS[i]); 2509 CheckURLIsBlocked(browser(), kURLS[i]);
2567 2510
2568 // Whitelist some sites of bbb.com. 2511 // Whitelist some sites of bbb.com.
2569 base::ListValue whitelist; 2512 base::ListValue whitelist;
2570 whitelist.Append(new base::StringValue("sub.bbb.com")); 2513 whitelist.Append(new base::StringValue("sub.bbb.com"));
2571 whitelist.Append(new base::StringValue("bbb.com/policy")); 2514 whitelist.Append(new base::StringValue("bbb.com/policy"));
2572 policies.Set(key::kURLWhitelist, POLICY_LEVEL_MANDATORY, 2515 policies.Set(key::kURLWhitelist, POLICY_LEVEL_MANDATORY,
2573 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, whitelist.DeepCopy(), 2516 POLICY_SCOPE_USER, whitelist.DeepCopy(), NULL);
2574 nullptr);
2575 UpdateProviderPolicy(policies); 2517 UpdateProviderPolicy(policies);
2576 FlushBlacklistPolicy(); 2518 FlushBlacklistPolicy();
2577 CheckURLIsBlocked(browser(), kURLS[1]); 2519 CheckURLIsBlocked(browser(), kURLS[1]);
2578 CheckCanOpenURL(browser(), kURLS[2]); 2520 CheckCanOpenURL(browser(), kURLS[2]);
2579 CheckCanOpenURL(browser(), kURLS[3]); 2521 CheckCanOpenURL(browser(), kURLS[3]);
2580 CheckCanOpenURL(browser(), kURLS[4]); 2522 CheckCanOpenURL(browser(), kURLS[4]);
2581 2523
2582 { 2524 {
2583 base::RunLoop loop; 2525 base::RunLoop loop;
2584 BrowserThread::PostTaskAndReply( 2526 BrowserThread::PostTaskAndReply(
(...skipping 15 matching lines...) Expand all
2600 GURL subframe_url = URLRequestMockHTTPJob::GetMockUrl( 2542 GURL subframe_url = URLRequestMockHTTPJob::GetMockUrl(
2601 base::FilePath(FILE_PATH_LITERAL("policy/blank.html"))); 2543 base::FilePath(FILE_PATH_LITERAL("policy/blank.html")));
2602 2544
2603 // Set a blacklist containing the image and the iframe which are used by the 2545 // Set a blacklist containing the image and the iframe which are used by the
2604 // main document. 2546 // main document.
2605 base::ListValue blacklist; 2547 base::ListValue blacklist;
2606 blacklist.Append(new base::StringValue(image_url.spec().c_str())); 2548 blacklist.Append(new base::StringValue(image_url.spec().c_str()));
2607 blacklist.Append(new base::StringValue(subframe_url.spec().c_str())); 2549 blacklist.Append(new base::StringValue(subframe_url.spec().c_str()));
2608 PolicyMap policies; 2550 PolicyMap policies;
2609 policies.Set(key::kURLBlacklist, POLICY_LEVEL_MANDATORY, 2551 policies.Set(key::kURLBlacklist, POLICY_LEVEL_MANDATORY,
2610 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 2552 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
2611 nullptr);
2612 UpdateProviderPolicy(policies); 2553 UpdateProviderPolicy(policies);
2613 FlushBlacklistPolicy(); 2554 FlushBlacklistPolicy();
2614 2555
2615 std::string blacklisted_image_load_result; 2556 std::string blacklisted_image_load_result;
2616 ui_test_utils::NavigateToURL(browser(), main_url); 2557 ui_test_utils::NavigateToURL(browser(), main_url);
2617 ASSERT_TRUE(content::ExecuteScriptAndExtractString( 2558 ASSERT_TRUE(content::ExecuteScriptAndExtractString(
2618 browser()->tab_strip_model()->GetActiveWebContents(), 2559 browser()->tab_strip_model()->GetActiveWebContents(),
2619 "window.domAutomationController.send(imageLoadResult)", 2560 "window.domAutomationController.send(imageLoadResult)",
2620 &blacklisted_image_load_result)); 2561 &blacklisted_image_load_result));
2621 EXPECT_EQ("success", blacklisted_image_load_result); 2562 EXPECT_EQ("success", blacklisted_image_load_result);
(...skipping 25 matching lines...) Expand all
2647 const std::string file_path2 = folder_path + "basic.html"; 2588 const std::string file_path2 = folder_path + "basic.html";
2648 2589
2649 CheckCanOpenURL(browser(), file_path1.c_str()); 2590 CheckCanOpenURL(browser(), file_path1.c_str());
2650 CheckCanOpenURL(browser(), file_path2.c_str()); 2591 CheckCanOpenURL(browser(), file_path2.c_str());
2651 2592
2652 // Set a blacklist for all the files. 2593 // Set a blacklist for all the files.
2653 base::ListValue blacklist; 2594 base::ListValue blacklist;
2654 blacklist.Append(new base::StringValue("file://*")); 2595 blacklist.Append(new base::StringValue("file://*"));
2655 PolicyMap policies; 2596 PolicyMap policies;
2656 policies.Set(key::kURLBlacklist, POLICY_LEVEL_MANDATORY, 2597 policies.Set(key::kURLBlacklist, POLICY_LEVEL_MANDATORY,
2657 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 2598 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
2658 nullptr);
2659 UpdateProviderPolicy(policies); 2599 UpdateProviderPolicy(policies);
2660 FlushBlacklistPolicy(); 2600 FlushBlacklistPolicy();
2661 2601
2662 CheckURLIsBlocked(browser(), file_path1.c_str()); 2602 CheckURLIsBlocked(browser(), file_path1.c_str());
2663 CheckURLIsBlocked(browser(), file_path2.c_str()); 2603 CheckURLIsBlocked(browser(), file_path2.c_str());
2664 2604
2665 // Replace the URLblacklist with disabling the file scheme. 2605 // Replace the URLblacklist with disabling the file scheme.
2666 blacklist.Remove(base::StringValue("file://*"), NULL); 2606 blacklist.Remove(base::StringValue("file://*"), NULL);
2667 policies.Set(key::kURLBlacklist, POLICY_LEVEL_MANDATORY, 2607 policies.Set(key::kURLBlacklist, POLICY_LEVEL_MANDATORY,
2668 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 2608 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
2669 nullptr);
2670 UpdateProviderPolicy(policies); 2609 UpdateProviderPolicy(policies);
2671 FlushBlacklistPolicy(); 2610 FlushBlacklistPolicy();
2672 2611
2673 PrefService* prefs = browser()->profile()->GetPrefs(); 2612 PrefService* prefs = browser()->profile()->GetPrefs();
2674 const base::ListValue* list_url = prefs->GetList(policy_prefs::kUrlBlacklist); 2613 const base::ListValue* list_url = prefs->GetList(policy_prefs::kUrlBlacklist);
2675 EXPECT_EQ(list_url->Find(base::StringValue("file://*")), 2614 EXPECT_EQ(list_url->Find(base::StringValue("file://*")),
2676 list_url->end()); 2615 list_url->end());
2677 2616
2678 base::ListValue disabledscheme; 2617 base::ListValue disabledscheme;
2679 disabledscheme.Append(new base::StringValue("file")); 2618 disabledscheme.Append(new base::StringValue("file"));
2680 policies.Set(key::kDisabledSchemes, POLICY_LEVEL_MANDATORY, 2619 policies.Set(key::kDisabledSchemes, POLICY_LEVEL_MANDATORY,
2681 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, 2620 POLICY_SCOPE_USER, disabledscheme.DeepCopy(), NULL);
2682 disabledscheme.DeepCopy(), nullptr);
2683 UpdateProviderPolicy(policies); 2621 UpdateProviderPolicy(policies);
2684 FlushBlacklistPolicy(); 2622 FlushBlacklistPolicy();
2685 2623
2686 list_url = prefs->GetList(policy_prefs::kUrlBlacklist); 2624 list_url = prefs->GetList(policy_prefs::kUrlBlacklist);
2687 EXPECT_NE(list_url->Find(base::StringValue("file://*")), 2625 EXPECT_NE(list_url->Find(base::StringValue("file://*")),
2688 list_url->end()); 2626 list_url->end());
2689 2627
2690 // Whitelist one folder and blacklist an another just inside. 2628 // Whitelist one folder and blacklist an another just inside.
2691 base::ListValue whitelist; 2629 base::ListValue whitelist;
2692 whitelist.Append(new base::StringValue(base_path)); 2630 whitelist.Append(new base::StringValue(base_path));
2693 policies.Set(key::kURLWhitelist, POLICY_LEVEL_MANDATORY, 2631 policies.Set(key::kURLWhitelist, POLICY_LEVEL_MANDATORY,
2694 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, whitelist.DeepCopy(), 2632 POLICY_SCOPE_USER, whitelist.DeepCopy(), NULL);
2695 nullptr);
2696 blacklist.Append(new base::StringValue(folder_path)); 2633 blacklist.Append(new base::StringValue(folder_path));
2697 policies.Set(key::kURLBlacklist, POLICY_LEVEL_MANDATORY, 2634 policies.Set(key::kURLBlacklist, POLICY_LEVEL_MANDATORY,
2698 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 2635 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
2699 nullptr);
2700 UpdateProviderPolicy(policies); 2636 UpdateProviderPolicy(policies);
2701 FlushBlacklistPolicy(); 2637 FlushBlacklistPolicy();
2702 2638
2703 CheckCanOpenURL(browser(), file_path1.c_str()); 2639 CheckCanOpenURL(browser(), file_path1.c_str());
2704 CheckURLIsBlocked(browser(), file_path2.c_str()); 2640 CheckURLIsBlocked(browser(), file_path2.c_str());
2705 } 2641 }
2706 2642
2707 namespace { 2643 namespace {
2708 2644
2709 void GetSSLVersionFallbackMinOnIOThread( 2645 void GetSSLVersionFallbackMinOnIOThread(
(...skipping 28 matching lines...) Expand all
2738 prefs->GetString(prefs::kSSLVersionFallbackMin)); 2674 prefs->GetString(prefs::kSSLVersionFallbackMin));
2739 2675
2740 EXPECT_NE(default_value, new_value); 2676 EXPECT_NE(default_value, new_value);
2741 EXPECT_NE(net::SSL_PROTOCOL_VERSION_TLS1_2, 2677 EXPECT_NE(net::SSL_PROTOCOL_VERSION_TLS1_2,
2742 GetSSLVersionFallbackMin(browser()->profile())); 2678 GetSSLVersionFallbackMin(browser()->profile()));
2743 2679
2744 PolicyMap policies; 2680 PolicyMap policies;
2745 policies.Set(key::kSSLVersionFallbackMin, 2681 policies.Set(key::kSSLVersionFallbackMin,
2746 POLICY_LEVEL_MANDATORY, 2682 POLICY_LEVEL_MANDATORY,
2747 POLICY_SCOPE_USER, 2683 POLICY_SCOPE_USER,
2748 POLICY_SOURCE_CLOUD,
2749 new base::StringValue(new_value), 2684 new base::StringValue(new_value),
2750 NULL); 2685 NULL);
2751 UpdateProviderPolicy(policies); 2686 UpdateProviderPolicy(policies);
2752 2687
2753 EXPECT_EQ(net::SSL_PROTOCOL_VERSION_TLS1_2, 2688 EXPECT_EQ(net::SSL_PROTOCOL_VERSION_TLS1_2,
2754 GetSSLVersionFallbackMin(browser()->profile())); 2689 GetSSLVersionFallbackMin(browser()->profile()));
2755 } 2690 }
2756 2691
2757 #if !defined(OS_MACOSX) 2692 #if !defined(OS_MACOSX)
2758 IN_PROC_BROWSER_TEST_F(PolicyTest, FullscreenAllowedBrowser) { 2693 IN_PROC_BROWSER_TEST_F(PolicyTest, FullscreenAllowedBrowser) {
2759 PolicyMap policies; 2694 PolicyMap policies;
2760 policies.Set(key::kFullscreenAllowed, 2695 policies.Set(key::kFullscreenAllowed,
2761 POLICY_LEVEL_MANDATORY, 2696 POLICY_LEVEL_MANDATORY,
2762 POLICY_SCOPE_USER, 2697 POLICY_SCOPE_USER,
2763 POLICY_SOURCE_CLOUD,
2764 new base::FundamentalValue(false), 2698 new base::FundamentalValue(false),
2765 NULL); 2699 NULL);
2766 UpdateProviderPolicy(policies); 2700 UpdateProviderPolicy(policies);
2767 2701
2768 BrowserWindow* browser_window = browser()->window(); 2702 BrowserWindow* browser_window = browser()->window();
2769 ASSERT_TRUE(browser_window); 2703 ASSERT_TRUE(browser_window);
2770 2704
2771 EXPECT_FALSE(browser_window->IsFullscreen()); 2705 EXPECT_FALSE(browser_window->IsFullscreen());
2772 chrome::ToggleFullscreenMode(browser()); 2706 chrome::ToggleFullscreenMode(browser());
2773 EXPECT_FALSE(browser_window->IsFullscreen()); 2707 EXPECT_FALSE(browser_window->IsFullscreen());
2774 } 2708 }
2775 2709
2776 IN_PROC_BROWSER_TEST_F(PolicyTest, FullscreenAllowedApp) { 2710 IN_PROC_BROWSER_TEST_F(PolicyTest, FullscreenAllowedApp) {
2777 PolicyMap policies; 2711 PolicyMap policies;
2778 policies.Set(key::kFullscreenAllowed, 2712 policies.Set(key::kFullscreenAllowed,
2779 POLICY_LEVEL_MANDATORY, 2713 POLICY_LEVEL_MANDATORY,
2780 POLICY_SCOPE_USER, 2714 POLICY_SCOPE_USER,
2781 POLICY_SOURCE_CLOUD,
2782 new base::FundamentalValue(false), 2715 new base::FundamentalValue(false),
2783 NULL); 2716 NULL);
2784 UpdateProviderPolicy(policies); 2717 UpdateProviderPolicy(policies);
2785 2718
2786 const extensions::Extension* extension = 2719 const extensions::Extension* extension =
2787 LoadUnpackedExtension(kUnpackedFullscreenAppName, true); 2720 LoadUnpackedExtension(kUnpackedFullscreenAppName, true);
2788 ASSERT_TRUE(extension); 2721 ASSERT_TRUE(extension);
2789 2722
2790 // Launch an app that tries to open a fullscreen window. 2723 // Launch an app that tries to open a fullscreen window.
2791 TestAddAppWindowObserver add_window_observer( 2724 TestAddAppWindowObserver add_window_observer(
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2843 bool prior_state = audio_handler->IsOutputMuted(); 2776 bool prior_state = audio_handler->IsOutputMuted();
2844 // Make sure the audio is not muted and then toggle the policy and observe 2777 // Make sure the audio is not muted and then toggle the policy and observe
2845 // if the output mute changed event is fired. 2778 // if the output mute changed event is fired.
2846 audio_handler->SetOutputMute(false); 2779 audio_handler->SetOutputMute(false);
2847 EXPECT_FALSE(audio_handler->IsOutputMuted()); 2780 EXPECT_FALSE(audio_handler->IsOutputMuted());
2848 EXPECT_EQ(1, test_observer->output_mute_changed_count()); 2781 EXPECT_EQ(1, test_observer->output_mute_changed_count());
2849 PolicyMap policies; 2782 PolicyMap policies;
2850 policies.Set(key::kAudioOutputAllowed, 2783 policies.Set(key::kAudioOutputAllowed,
2851 POLICY_LEVEL_MANDATORY, 2784 POLICY_LEVEL_MANDATORY,
2852 POLICY_SCOPE_USER, 2785 POLICY_SCOPE_USER,
2853 POLICY_SOURCE_CLOUD,
2854 new base::FundamentalValue(false), 2786 new base::FundamentalValue(false),
2855 NULL); 2787 NULL);
2856 UpdateProviderPolicy(policies); 2788 UpdateProviderPolicy(policies);
2857 EXPECT_TRUE(audio_handler->IsOutputMuted()); 2789 EXPECT_TRUE(audio_handler->IsOutputMuted());
2858 // This should not change the state now and should not trigger output mute 2790 // This should not change the state now and should not trigger output mute
2859 // changed event. 2791 // changed event.
2860 audio_handler->SetOutputMute(false); 2792 audio_handler->SetOutputMute(false);
2861 EXPECT_TRUE(audio_handler->IsOutputMuted()); 2793 EXPECT_TRUE(audio_handler->IsOutputMuted());
2862 EXPECT_EQ(1, test_observer->output_mute_changed_count()); 2794 EXPECT_EQ(1, test_observer->output_mute_changed_count());
2863 2795
2864 // Toggle back and observe if the output mute changed event is fired. 2796 // Toggle back and observe if the output mute changed event is fired.
2865 policies.Set(key::kAudioOutputAllowed, 2797 policies.Set(key::kAudioOutputAllowed,
2866 POLICY_LEVEL_MANDATORY, 2798 POLICY_LEVEL_MANDATORY,
2867 POLICY_SCOPE_USER, 2799 POLICY_SCOPE_USER,
2868 POLICY_SOURCE_CLOUD,
2869 new base::FundamentalValue(true), 2800 new base::FundamentalValue(true),
2870 NULL); 2801 NULL);
2871 UpdateProviderPolicy(policies); 2802 UpdateProviderPolicy(policies);
2872 EXPECT_FALSE(audio_handler->IsOutputMuted()); 2803 EXPECT_FALSE(audio_handler->IsOutputMuted());
2873 EXPECT_EQ(1, test_observer->output_mute_changed_count()); 2804 EXPECT_EQ(1, test_observer->output_mute_changed_count());
2874 audio_handler->SetOutputMute(true); 2805 audio_handler->SetOutputMute(true);
2875 EXPECT_TRUE(audio_handler->IsOutputMuted()); 2806 EXPECT_TRUE(audio_handler->IsOutputMuted());
2876 EXPECT_EQ(2, test_observer->output_mute_changed_count()); 2807 EXPECT_EQ(2, test_observer->output_mute_changed_count());
2877 // Revert the prior state. 2808 // Revert the prior state.
2878 audio_handler->SetOutputMute(prior_state); 2809 audio_handler->SetOutputMute(prior_state);
(...skipping 19 matching lines...) Expand all
2898 content::NotificationService::AllSources()); 2829 content::NotificationService::AllSources());
2899 2830
2900 // Set the session length limit to 3 hours. Verify that the session is not 2831 // Set the session length limit to 3 hours. Verify that the session is not
2901 // terminated. 2832 // terminated.
2902 EXPECT_CALL(observer, Observe(chrome::NOTIFICATION_APP_TERMINATING, _, _)) 2833 EXPECT_CALL(observer, Observe(chrome::NOTIFICATION_APP_TERMINATING, _, _))
2903 .Times(0); 2834 .Times(0);
2904 PolicyMap policies; 2835 PolicyMap policies;
2905 policies.Set(key::kSessionLengthLimit, 2836 policies.Set(key::kSessionLengthLimit,
2906 POLICY_LEVEL_MANDATORY, 2837 POLICY_LEVEL_MANDATORY,
2907 POLICY_SCOPE_USER, 2838 POLICY_SCOPE_USER,
2908 POLICY_SOURCE_CLOUD,
2909 new base::FundamentalValue(kThreeHoursInMs), 2839 new base::FundamentalValue(kThreeHoursInMs),
2910 NULL); 2840 NULL);
2911 UpdateProviderPolicy(policies); 2841 UpdateProviderPolicy(policies);
2912 base::RunLoop().RunUntilIdle(); 2842 base::RunLoop().RunUntilIdle();
2913 Mock::VerifyAndClearExpectations(&observer); 2843 Mock::VerifyAndClearExpectations(&observer);
2914 2844
2915 // Decrease the session length limit to 1 hour. Verify that the session is 2845 // Decrease the session length limit to 1 hour. Verify that the session is
2916 // terminated immediately. 2846 // terminated immediately.
2917 EXPECT_CALL(observer, Observe(chrome::NOTIFICATION_APP_TERMINATING, _, _)); 2847 EXPECT_CALL(observer, Observe(chrome::NOTIFICATION_APP_TERMINATING, _, _));
2918 policies.Set(key::kSessionLengthLimit, 2848 policies.Set(key::kSessionLengthLimit,
2919 POLICY_LEVEL_MANDATORY, 2849 POLICY_LEVEL_MANDATORY,
2920 POLICY_SCOPE_USER, 2850 POLICY_SCOPE_USER,
2921 POLICY_SOURCE_CLOUD,
2922 new base::FundamentalValue(kOneHourInMs), 2851 new base::FundamentalValue(kOneHourInMs),
2923 NULL); 2852 NULL);
2924 UpdateProviderPolicy(policies); 2853 UpdateProviderPolicy(policies);
2925 base::RunLoop().RunUntilIdle(); 2854 base::RunLoop().RunUntilIdle();
2926 Mock::VerifyAndClearExpectations(&observer); 2855 Mock::VerifyAndClearExpectations(&observer);
2927 } 2856 }
2928 2857
2929 // Disabled, see http://crbug.com/315308. 2858 // Disabled, see http://crbug.com/315308.
2930 IN_PROC_BROWSER_TEST_F(PolicyTest, 2859 IN_PROC_BROWSER_TEST_F(PolicyTest,
2931 DISABLED_PRE_WaitForInitialUserActivityUsatisfied) { 2860 DISABLED_PRE_WaitForInitialUserActivityUsatisfied) {
(...skipping 11 matching lines...) Expand all
2943 content::MockNotificationObserver observer; 2872 content::MockNotificationObserver observer;
2944 content::NotificationRegistrar registrar; 2873 content::NotificationRegistrar registrar;
2945 registrar.Add(&observer, 2874 registrar.Add(&observer,
2946 chrome::NOTIFICATION_APP_TERMINATING, 2875 chrome::NOTIFICATION_APP_TERMINATING,
2947 content::NotificationService::AllSources()); 2876 content::NotificationService::AllSources());
2948 2877
2949 // Require initial user activity. 2878 // Require initial user activity.
2950 PolicyMap policies; 2879 PolicyMap policies;
2951 policies.Set(key::kWaitForInitialUserActivity, POLICY_LEVEL_MANDATORY, 2880 policies.Set(key::kWaitForInitialUserActivity, POLICY_LEVEL_MANDATORY,
2952 POLICY_SCOPE_USER, 2881 POLICY_SCOPE_USER,
2953 POLICY_SOURCE_CLOUD,
2954 new base::FundamentalValue(true), 2882 new base::FundamentalValue(true),
2955 NULL); 2883 NULL);
2956 UpdateProviderPolicy(policies); 2884 UpdateProviderPolicy(policies);
2957 base::RunLoop().RunUntilIdle(); 2885 base::RunLoop().RunUntilIdle();
2958 2886
2959 // Set the session length limit to 1 hour. Verify that the session is not 2887 // Set the session length limit to 1 hour. Verify that the session is not
2960 // terminated. 2888 // terminated.
2961 EXPECT_CALL(observer, Observe(chrome::NOTIFICATION_APP_TERMINATING, _, _)) 2889 EXPECT_CALL(observer, Observe(chrome::NOTIFICATION_APP_TERMINATING, _, _))
2962 .Times(0); 2890 .Times(0);
2963 policies.Set(key::kSessionLengthLimit, 2891 policies.Set(key::kSessionLengthLimit,
2964 POLICY_LEVEL_MANDATORY, 2892 POLICY_LEVEL_MANDATORY,
2965 POLICY_SCOPE_USER, 2893 POLICY_SCOPE_USER,
2966 POLICY_SOURCE_CLOUD,
2967 new base::FundamentalValue(kOneHourInMs), 2894 new base::FundamentalValue(kOneHourInMs),
2968 NULL); 2895 NULL);
2969 UpdateProviderPolicy(policies); 2896 UpdateProviderPolicy(policies);
2970 base::RunLoop().RunUntilIdle(); 2897 base::RunLoop().RunUntilIdle();
2971 Mock::VerifyAndClearExpectations(&observer); 2898 Mock::VerifyAndClearExpectations(&observer);
2972 } 2899 }
2973 2900
2974 // Disabled, see http://crbug.com/315308. 2901 // Disabled, see http://crbug.com/315308.
2975 IN_PROC_BROWSER_TEST_F(PolicyTest, 2902 IN_PROC_BROWSER_TEST_F(PolicyTest,
2976 DISABLED_PRE_WaitForInitialUserActivitySatisfied) { 2903 DISABLED_PRE_WaitForInitialUserActivitySatisfied) {
(...skipping 16 matching lines...) Expand all
2993 chrome::NOTIFICATION_APP_TERMINATING, 2920 chrome::NOTIFICATION_APP_TERMINATING,
2994 content::NotificationService::AllSources()); 2921 content::NotificationService::AllSources());
2995 2922
2996 // Require initial user activity and set the session length limit to 3 hours. 2923 // Require initial user activity and set the session length limit to 3 hours.
2997 // Verify that the session is not terminated. 2924 // Verify that the session is not terminated.
2998 EXPECT_CALL(observer, Observe(chrome::NOTIFICATION_APP_TERMINATING, _, _)) 2925 EXPECT_CALL(observer, Observe(chrome::NOTIFICATION_APP_TERMINATING, _, _))
2999 .Times(0); 2926 .Times(0);
3000 PolicyMap policies; 2927 PolicyMap policies;
3001 policies.Set(key::kWaitForInitialUserActivity, POLICY_LEVEL_MANDATORY, 2928 policies.Set(key::kWaitForInitialUserActivity, POLICY_LEVEL_MANDATORY,
3002 POLICY_SCOPE_USER, 2929 POLICY_SCOPE_USER,
3003 POLICY_SOURCE_CLOUD,
3004 new base::FundamentalValue(true), 2930 new base::FundamentalValue(true),
3005 NULL); 2931 NULL);
3006 policies.Set(key::kSessionLengthLimit, 2932 policies.Set(key::kSessionLengthLimit,
3007 POLICY_LEVEL_MANDATORY, 2933 POLICY_LEVEL_MANDATORY,
3008 POLICY_SCOPE_USER, 2934 POLICY_SCOPE_USER,
3009 POLICY_SOURCE_CLOUD,
3010 new base::FundamentalValue(kThreeHoursInMs), 2935 new base::FundamentalValue(kThreeHoursInMs),
3011 NULL); 2936 NULL);
3012 UpdateProviderPolicy(policies); 2937 UpdateProviderPolicy(policies);
3013 base::RunLoop().RunUntilIdle(); 2938 base::RunLoop().RunUntilIdle();
3014 Mock::VerifyAndClearExpectations(&observer); 2939 Mock::VerifyAndClearExpectations(&observer);
3015 2940
3016 // Decrease the session length limit to 1 hour. Verify that the session is 2941 // Decrease the session length limit to 1 hour. Verify that the session is
3017 // terminated immediately. 2942 // terminated immediately.
3018 EXPECT_CALL(observer, Observe(chrome::NOTIFICATION_APP_TERMINATING, _, _)); 2943 EXPECT_CALL(observer, Observe(chrome::NOTIFICATION_APP_TERMINATING, _, _));
3019 policies.Set(key::kSessionLengthLimit, 2944 policies.Set(key::kSessionLengthLimit,
3020 POLICY_LEVEL_MANDATORY, 2945 POLICY_LEVEL_MANDATORY,
3021 POLICY_SCOPE_USER, 2946 POLICY_SCOPE_USER,
3022 POLICY_SOURCE_CLOUD,
3023 new base::FundamentalValue(kOneHourInMs), 2947 new base::FundamentalValue(kOneHourInMs),
3024 NULL); 2948 NULL);
3025 UpdateProviderPolicy(policies); 2949 UpdateProviderPolicy(policies);
3026 base::RunLoop().RunUntilIdle(); 2950 base::RunLoop().RunUntilIdle();
3027 Mock::VerifyAndClearExpectations(&observer); 2951 Mock::VerifyAndClearExpectations(&observer);
3028 } 2952 }
3029 2953
3030 IN_PROC_BROWSER_TEST_F(PolicyTest, LargeCursorEnabled) { 2954 IN_PROC_BROWSER_TEST_F(PolicyTest, LargeCursorEnabled) {
3031 // Verifies that the large cursor accessibility feature can be controlled 2955 // Verifies that the large cursor accessibility feature can be controlled
3032 // through policy. 2956 // through policy.
3033 chromeos::AccessibilityManager* accessibility_manager = 2957 chromeos::AccessibilityManager* accessibility_manager =
3034 chromeos::AccessibilityManager::Get(); 2958 chromeos::AccessibilityManager::Get();
3035 2959
3036 // Manually enable the large cursor. 2960 // Manually enable the large cursor.
3037 accessibility_manager->EnableLargeCursor(true); 2961 accessibility_manager->EnableLargeCursor(true);
3038 EXPECT_TRUE(accessibility_manager->IsLargeCursorEnabled()); 2962 EXPECT_TRUE(accessibility_manager->IsLargeCursorEnabled());
3039 2963
3040 // Verify that policy overrides the manual setting. 2964 // Verify that policy overrides the manual setting.
3041 PolicyMap policies; 2965 PolicyMap policies;
3042 policies.Set(key::kLargeCursorEnabled, 2966 policies.Set(key::kLargeCursorEnabled,
3043 POLICY_LEVEL_MANDATORY, 2967 POLICY_LEVEL_MANDATORY,
3044 POLICY_SCOPE_USER, 2968 POLICY_SCOPE_USER,
3045 POLICY_SOURCE_CLOUD,
3046 new base::FundamentalValue(false), 2969 new base::FundamentalValue(false),
3047 NULL); 2970 NULL);
3048 UpdateProviderPolicy(policies); 2971 UpdateProviderPolicy(policies);
3049 EXPECT_FALSE(accessibility_manager->IsLargeCursorEnabled()); 2972 EXPECT_FALSE(accessibility_manager->IsLargeCursorEnabled());
3050 2973
3051 // Verify that the large cursor cannot be enabled manually anymore. 2974 // Verify that the large cursor cannot be enabled manually anymore.
3052 accessibility_manager->EnableLargeCursor(true); 2975 accessibility_manager->EnableLargeCursor(true);
3053 EXPECT_FALSE(accessibility_manager->IsLargeCursorEnabled()); 2976 EXPECT_FALSE(accessibility_manager->IsLargeCursorEnabled());
3054 } 2977 }
3055 2978
3056 IN_PROC_BROWSER_TEST_F(PolicyTest, SpokenFeedbackEnabled) { 2979 IN_PROC_BROWSER_TEST_F(PolicyTest, SpokenFeedbackEnabled) {
3057 // Verifies that the spoken feedback accessibility feature can be controlled 2980 // Verifies that the spoken feedback accessibility feature can be controlled
3058 // through policy. 2981 // through policy.
3059 chromeos::AccessibilityManager* accessibility_manager = 2982 chromeos::AccessibilityManager* accessibility_manager =
3060 chromeos::AccessibilityManager::Get(); 2983 chromeos::AccessibilityManager::Get();
3061 2984
3062 // Manually enable spoken feedback. 2985 // Manually enable spoken feedback.
3063 accessibility_manager->EnableSpokenFeedback( 2986 accessibility_manager->EnableSpokenFeedback(
3064 true, ui::A11Y_NOTIFICATION_NONE); 2987 true, ui::A11Y_NOTIFICATION_NONE);
3065 EXPECT_TRUE(accessibility_manager->IsSpokenFeedbackEnabled()); 2988 EXPECT_TRUE(accessibility_manager->IsSpokenFeedbackEnabled());
3066 2989
3067 // Verify that policy overrides the manual setting. 2990 // Verify that policy overrides the manual setting.
3068 PolicyMap policies; 2991 PolicyMap policies;
3069 policies.Set(key::kSpokenFeedbackEnabled, 2992 policies.Set(key::kSpokenFeedbackEnabled,
3070 POLICY_LEVEL_MANDATORY, 2993 POLICY_LEVEL_MANDATORY,
3071 POLICY_SCOPE_USER, 2994 POLICY_SCOPE_USER,
3072 POLICY_SOURCE_CLOUD,
3073 new base::FundamentalValue(false), 2995 new base::FundamentalValue(false),
3074 NULL); 2996 NULL);
3075 UpdateProviderPolicy(policies); 2997 UpdateProviderPolicy(policies);
3076 EXPECT_FALSE(accessibility_manager->IsSpokenFeedbackEnabled()); 2998 EXPECT_FALSE(accessibility_manager->IsSpokenFeedbackEnabled());
3077 2999
3078 // Verify that spoken feedback cannot be enabled manually anymore. 3000 // Verify that spoken feedback cannot be enabled manually anymore.
3079 accessibility_manager->EnableSpokenFeedback( 3001 accessibility_manager->EnableSpokenFeedback(
3080 true, ui::A11Y_NOTIFICATION_NONE); 3002 true, ui::A11Y_NOTIFICATION_NONE);
3081 EXPECT_FALSE(accessibility_manager->IsSpokenFeedbackEnabled()); 3003 EXPECT_FALSE(accessibility_manager->IsSpokenFeedbackEnabled());
3082 } 3004 }
3083 3005
3084 IN_PROC_BROWSER_TEST_F(PolicyTest, HighContrastEnabled) { 3006 IN_PROC_BROWSER_TEST_F(PolicyTest, HighContrastEnabled) {
3085 // Verifies that the high contrast mode accessibility feature can be 3007 // Verifies that the high contrast mode accessibility feature can be
3086 // controlled through policy. 3008 // controlled through policy.
3087 chromeos::AccessibilityManager* accessibility_manager = 3009 chromeos::AccessibilityManager* accessibility_manager =
3088 chromeos::AccessibilityManager::Get(); 3010 chromeos::AccessibilityManager::Get();
3089 3011
3090 // Manually enable high contrast mode. 3012 // Manually enable high contrast mode.
3091 accessibility_manager->EnableHighContrast(true); 3013 accessibility_manager->EnableHighContrast(true);
3092 EXPECT_TRUE(accessibility_manager->IsHighContrastEnabled()); 3014 EXPECT_TRUE(accessibility_manager->IsHighContrastEnabled());
3093 3015
3094 // Verify that policy overrides the manual setting. 3016 // Verify that policy overrides the manual setting.
3095 PolicyMap policies; 3017 PolicyMap policies;
3096 policies.Set(key::kHighContrastEnabled, 3018 policies.Set(key::kHighContrastEnabled,
3097 POLICY_LEVEL_MANDATORY, 3019 POLICY_LEVEL_MANDATORY,
3098 POLICY_SCOPE_USER, 3020 POLICY_SCOPE_USER,
3099 POLICY_SOURCE_CLOUD,
3100 new base::FundamentalValue(false), 3021 new base::FundamentalValue(false),
3101 NULL); 3022 NULL);
3102 UpdateProviderPolicy(policies); 3023 UpdateProviderPolicy(policies);
3103 EXPECT_FALSE(accessibility_manager->IsHighContrastEnabled()); 3024 EXPECT_FALSE(accessibility_manager->IsHighContrastEnabled());
3104 3025
3105 // Verify that high contrast mode cannot be enabled manually anymore. 3026 // Verify that high contrast mode cannot be enabled manually anymore.
3106 accessibility_manager->EnableHighContrast(true); 3027 accessibility_manager->EnableHighContrast(true);
3107 EXPECT_FALSE(accessibility_manager->IsHighContrastEnabled()); 3028 EXPECT_FALSE(accessibility_manager->IsHighContrastEnabled());
3108 } 3029 }
3109 3030
3110 IN_PROC_BROWSER_TEST_F(PolicyTest, ScreenMagnifierTypeNone) { 3031 IN_PROC_BROWSER_TEST_F(PolicyTest, ScreenMagnifierTypeNone) {
3111 // Verifies that the screen magnifier can be disabled through policy. 3032 // Verifies that the screen magnifier can be disabled through policy.
3112 chromeos::MagnificationManager* magnification_manager = 3033 chromeos::MagnificationManager* magnification_manager =
3113 chromeos::MagnificationManager::Get(); 3034 chromeos::MagnificationManager::Get();
3114 3035
3115 // Manually enable the full-screen magnifier. 3036 // Manually enable the full-screen magnifier.
3116 magnification_manager->SetMagnifierType(ui::MAGNIFIER_FULL); 3037 magnification_manager->SetMagnifierType(ui::MAGNIFIER_FULL);
3117 magnification_manager->SetMagnifierEnabled(true); 3038 magnification_manager->SetMagnifierEnabled(true);
3118 EXPECT_EQ(ui::MAGNIFIER_FULL, magnification_manager->GetMagnifierType()); 3039 EXPECT_EQ(ui::MAGNIFIER_FULL, magnification_manager->GetMagnifierType());
3119 EXPECT_TRUE(magnification_manager->IsMagnifierEnabled()); 3040 EXPECT_TRUE(magnification_manager->IsMagnifierEnabled());
3120 3041
3121 // Verify that policy overrides the manual setting. 3042 // Verify that policy overrides the manual setting.
3122 PolicyMap policies; 3043 PolicyMap policies;
3123 policies.Set(key::kScreenMagnifierType, 3044 policies.Set(key::kScreenMagnifierType,
3124 POLICY_LEVEL_MANDATORY, 3045 POLICY_LEVEL_MANDATORY,
3125 POLICY_SCOPE_USER, 3046 POLICY_SCOPE_USER,
3126 POLICY_SOURCE_CLOUD,
3127 new base::FundamentalValue(0), 3047 new base::FundamentalValue(0),
3128 NULL); 3048 NULL);
3129 UpdateProviderPolicy(policies); 3049 UpdateProviderPolicy(policies);
3130 EXPECT_FALSE(magnification_manager->IsMagnifierEnabled()); 3050 EXPECT_FALSE(magnification_manager->IsMagnifierEnabled());
3131 3051
3132 // Verify that the screen magnifier cannot be enabled manually anymore. 3052 // Verify that the screen magnifier cannot be enabled manually anymore.
3133 magnification_manager->SetMagnifierEnabled(true); 3053 magnification_manager->SetMagnifierEnabled(true);
3134 EXPECT_FALSE(magnification_manager->IsMagnifierEnabled()); 3054 EXPECT_FALSE(magnification_manager->IsMagnifierEnabled());
3135 } 3055 }
3136 3056
3137 IN_PROC_BROWSER_TEST_F(PolicyTest, ScreenMagnifierTypeFull) { 3057 IN_PROC_BROWSER_TEST_F(PolicyTest, ScreenMagnifierTypeFull) {
3138 // Verifies that the full-screen magnifier can be enabled through policy. 3058 // Verifies that the full-screen magnifier can be enabled through policy.
3139 chromeos::MagnificationManager* magnification_manager = 3059 chromeos::MagnificationManager* magnification_manager =
3140 chromeos::MagnificationManager::Get(); 3060 chromeos::MagnificationManager::Get();
3141 3061
3142 // Verify that the screen magnifier is initially disabled. 3062 // Verify that the screen magnifier is initially disabled.
3143 EXPECT_FALSE(magnification_manager->IsMagnifierEnabled()); 3063 EXPECT_FALSE(magnification_manager->IsMagnifierEnabled());
3144 3064
3145 // Verify that policy can enable the full-screen magnifier. 3065 // Verify that policy can enable the full-screen magnifier.
3146 PolicyMap policies; 3066 PolicyMap policies;
3147 policies.Set(key::kScreenMagnifierType, 3067 policies.Set(key::kScreenMagnifierType,
3148 POLICY_LEVEL_MANDATORY, 3068 POLICY_LEVEL_MANDATORY,
3149 POLICY_SCOPE_USER, 3069 POLICY_SCOPE_USER,
3150 POLICY_SOURCE_CLOUD,
3151 new base::FundamentalValue(ui::MAGNIFIER_FULL), 3070 new base::FundamentalValue(ui::MAGNIFIER_FULL),
3152 NULL); 3071 NULL);
3153 UpdateProviderPolicy(policies); 3072 UpdateProviderPolicy(policies);
3154 EXPECT_EQ(ui::MAGNIFIER_FULL, magnification_manager->GetMagnifierType()); 3073 EXPECT_EQ(ui::MAGNIFIER_FULL, magnification_manager->GetMagnifierType());
3155 EXPECT_TRUE(magnification_manager->IsMagnifierEnabled()); 3074 EXPECT_TRUE(magnification_manager->IsMagnifierEnabled());
3156 3075
3157 // Verify that the screen magnifier cannot be disabled manually anymore. 3076 // Verify that the screen magnifier cannot be disabled manually anymore.
3158 magnification_manager->SetMagnifierEnabled(false); 3077 magnification_manager->SetMagnifierEnabled(false);
3159 EXPECT_TRUE(magnification_manager->IsMagnifierEnabled()); 3078 EXPECT_TRUE(magnification_manager->IsMagnifierEnabled());
3160 } 3079 }
3161 3080
3162 IN_PROC_BROWSER_TEST_F(PolicyTest, AccessibilityVirtualKeyboardEnabled) { 3081 IN_PROC_BROWSER_TEST_F(PolicyTest, AccessibilityVirtualKeyboardEnabled) {
3163 // Verifies that the on-screen keyboard accessibility feature can be 3082 // Verifies that the on-screen keyboard accessibility feature can be
3164 // controlled through policy. 3083 // controlled through policy.
3165 chromeos::AccessibilityManager* accessibility_manager = 3084 chromeos::AccessibilityManager* accessibility_manager =
3166 chromeos::AccessibilityManager::Get(); 3085 chromeos::AccessibilityManager::Get();
3167 3086
3168 // Manually enable the on-screen keyboard. 3087 // Manually enable the on-screen keyboard.
3169 accessibility_manager->EnableVirtualKeyboard(true); 3088 accessibility_manager->EnableVirtualKeyboard(true);
3170 EXPECT_TRUE(accessibility_manager->IsVirtualKeyboardEnabled()); 3089 EXPECT_TRUE(accessibility_manager->IsVirtualKeyboardEnabled());
3171 3090
3172 // Verify that policy overrides the manual setting. 3091 // Verify that policy overrides the manual setting.
3173 PolicyMap policies; 3092 PolicyMap policies;
3174 policies.Set(key::kVirtualKeyboardEnabled, 3093 policies.Set(key::kVirtualKeyboardEnabled,
3175 POLICY_LEVEL_MANDATORY, 3094 POLICY_LEVEL_MANDATORY,
3176 POLICY_SCOPE_USER, 3095 POLICY_SCOPE_USER,
3177 POLICY_SOURCE_CLOUD,
3178 new base::FundamentalValue(false), 3096 new base::FundamentalValue(false),
3179 NULL); 3097 NULL);
3180 UpdateProviderPolicy(policies); 3098 UpdateProviderPolicy(policies);
3181 EXPECT_FALSE(accessibility_manager->IsVirtualKeyboardEnabled()); 3099 EXPECT_FALSE(accessibility_manager->IsVirtualKeyboardEnabled());
3182 3100
3183 // Verify that the on-screen keyboard cannot be enabled manually anymore. 3101 // Verify that the on-screen keyboard cannot be enabled manually anymore.
3184 accessibility_manager->EnableVirtualKeyboard(true); 3102 accessibility_manager->EnableVirtualKeyboard(true);
3185 EXPECT_FALSE(accessibility_manager->IsVirtualKeyboardEnabled()); 3103 EXPECT_FALSE(accessibility_manager->IsVirtualKeyboardEnabled());
3186 } 3104 }
3187 3105
3188 IN_PROC_BROWSER_TEST_F(PolicyTest, VirtualKeyboardEnabled) { 3106 IN_PROC_BROWSER_TEST_F(PolicyTest, VirtualKeyboardEnabled) {
3189 // Verify keyboard disabled by default. 3107 // Verify keyboard disabled by default.
3190 EXPECT_FALSE(keyboard::IsKeyboardEnabled()); 3108 EXPECT_FALSE(keyboard::IsKeyboardEnabled());
3191 // Verify keyboard can be toggled by default. 3109 // Verify keyboard can be toggled by default.
3192 keyboard::SetTouchKeyboardEnabled(true); 3110 keyboard::SetTouchKeyboardEnabled(true);
3193 EXPECT_TRUE(keyboard::IsKeyboardEnabled()); 3111 EXPECT_TRUE(keyboard::IsKeyboardEnabled());
3194 keyboard::SetTouchKeyboardEnabled(false); 3112 keyboard::SetTouchKeyboardEnabled(false);
3195 EXPECT_FALSE(keyboard::IsKeyboardEnabled()); 3113 EXPECT_FALSE(keyboard::IsKeyboardEnabled());
3196 3114
3197 // Verify enabling the policy takes effect immediately and that that user 3115 // Verify enabling the policy takes effect immediately and that that user
3198 // cannot disable the keyboard.. 3116 // cannot disable the keyboard..
3199 PolicyMap policies; 3117 PolicyMap policies;
3200 policies.Set(key::kTouchVirtualKeyboardEnabled, 3118 policies.Set(key::kTouchVirtualKeyboardEnabled,
3201 POLICY_LEVEL_MANDATORY, 3119 POLICY_LEVEL_MANDATORY,
3202 POLICY_SCOPE_USER, 3120 POLICY_SCOPE_USER,
3203 POLICY_SOURCE_CLOUD,
3204 new base::FundamentalValue(true), 3121 new base::FundamentalValue(true),
3205 NULL); 3122 NULL);
3206 UpdateProviderPolicy(policies); 3123 UpdateProviderPolicy(policies);
3207 EXPECT_TRUE(keyboard::IsKeyboardEnabled()); 3124 EXPECT_TRUE(keyboard::IsKeyboardEnabled());
3208 keyboard::SetTouchKeyboardEnabled(false); 3125 keyboard::SetTouchKeyboardEnabled(false);
3209 EXPECT_TRUE(keyboard::IsKeyboardEnabled()); 3126 EXPECT_TRUE(keyboard::IsKeyboardEnabled());
3210 3127
3211 // Verify that disabling the policy takes effect immediately and that the user 3128 // Verify that disabling the policy takes effect immediately and that the user
3212 // cannot enable the keyboard. 3129 // cannot enable the keyboard.
3213 policies.Set(key::kTouchVirtualKeyboardEnabled, 3130 policies.Set(key::kTouchVirtualKeyboardEnabled,
3214 POLICY_LEVEL_MANDATORY, 3131 POLICY_LEVEL_MANDATORY,
3215 POLICY_SCOPE_USER, 3132 POLICY_SCOPE_USER,
3216 POLICY_SOURCE_CLOUD,
3217 new base::FundamentalValue(false), 3133 new base::FundamentalValue(false),
3218 NULL); 3134 NULL);
3219 UpdateProviderPolicy(policies); 3135 UpdateProviderPolicy(policies);
3220 EXPECT_FALSE(keyboard::IsKeyboardEnabled()); 3136 EXPECT_FALSE(keyboard::IsKeyboardEnabled());
3221 keyboard::SetTouchKeyboardEnabled(true); 3137 keyboard::SetTouchKeyboardEnabled(true);
3222 EXPECT_FALSE(keyboard::IsKeyboardEnabled()); 3138 EXPECT_FALSE(keyboard::IsKeyboardEnabled());
3223 } 3139 }
3224 3140
3225 #endif 3141 #endif
3226 3142
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
3281 } 3197 }
3282 3198
3283 void HomepageIsNotNTP() { 3199 void HomepageIsNotNTP() {
3284 // Verifies that policy can set the startup pages to the homepage, when 3200 // Verifies that policy can set the startup pages to the homepage, when
3285 // the homepage is not the NTP. 3201 // the homepage is not the NTP.
3286 PolicyMap policies; 3202 PolicyMap policies;
3287 policies.Set( 3203 policies.Set(
3288 key::kRestoreOnStartup, 3204 key::kRestoreOnStartup,
3289 POLICY_LEVEL_MANDATORY, 3205 POLICY_LEVEL_MANDATORY,
3290 POLICY_SCOPE_USER, 3206 POLICY_SCOPE_USER,
3291 POLICY_SOURCE_CLOUD,
3292 new base::FundamentalValue(SessionStartupPref::kPrefValueHomePage), 3207 new base::FundamentalValue(SessionStartupPref::kPrefValueHomePage),
3293 NULL); 3208 NULL);
3294 policies.Set(key::kHomepageIsNewTabPage, 3209 policies.Set(key::kHomepageIsNewTabPage,
3295 POLICY_LEVEL_MANDATORY, 3210 POLICY_LEVEL_MANDATORY,
3296 POLICY_SCOPE_USER, 3211 POLICY_SCOPE_USER,
3297 POLICY_SOURCE_CLOUD,
3298 new base::FundamentalValue(false), 3212 new base::FundamentalValue(false),
3299 NULL); 3213 NULL);
3300 policies.Set(key::kHomepageLocation, 3214 policies.Set(key::kHomepageLocation,
3301 POLICY_LEVEL_MANDATORY, 3215 POLICY_LEVEL_MANDATORY,
3302 POLICY_SCOPE_USER, 3216 POLICY_SCOPE_USER,
3303 POLICY_SOURCE_CLOUD,
3304 new base::StringValue(kRestoredURLs[1]), 3217 new base::StringValue(kRestoredURLs[1]),
3305 NULL); 3218 NULL);
3306 provider_.UpdateChromePolicy(policies); 3219 provider_.UpdateChromePolicy(policies);
3307 3220
3308 expected_urls_.push_back(GURL(kRestoredURLs[1])); 3221 expected_urls_.push_back(GURL(kRestoredURLs[1]));
3309 } 3222 }
3310 3223
3311 void HomepageIsNTP() { 3224 void HomepageIsNTP() {
3312 // Verifies that policy can set the startup pages to the homepage, when 3225 // Verifies that policy can set the startup pages to the homepage, when
3313 // the homepage is the NTP. 3226 // the homepage is the NTP.
3314 PolicyMap policies; 3227 PolicyMap policies;
3315 policies.Set( 3228 policies.Set(
3316 key::kRestoreOnStartup, 3229 key::kRestoreOnStartup,
3317 POLICY_LEVEL_MANDATORY, 3230 POLICY_LEVEL_MANDATORY,
3318 POLICY_SCOPE_USER, 3231 POLICY_SCOPE_USER,
3319 POLICY_SOURCE_CLOUD,
3320 new base::FundamentalValue(SessionStartupPref::kPrefValueHomePage), 3232 new base::FundamentalValue(SessionStartupPref::kPrefValueHomePage),
3321 NULL); 3233 NULL);
3322 policies.Set(key::kHomepageIsNewTabPage, 3234 policies.Set(key::kHomepageIsNewTabPage,
3323 POLICY_LEVEL_MANDATORY, 3235 POLICY_LEVEL_MANDATORY,
3324 POLICY_SCOPE_USER, 3236 POLICY_SCOPE_USER,
3325 POLICY_SOURCE_CLOUD,
3326 new base::FundamentalValue(true), 3237 new base::FundamentalValue(true),
3327 NULL); 3238 NULL);
3328 provider_.UpdateChromePolicy(policies); 3239 provider_.UpdateChromePolicy(policies);
3329 3240
3330 expected_urls_.push_back(GURL(chrome::kChromeUINewTabURL)); 3241 expected_urls_.push_back(GURL(chrome::kChromeUINewTabURL));
3331 } 3242 }
3332 3243
3333 void ListOfURLs() { 3244 void ListOfURLs() {
3334 // Verifies that policy can set the startup pages to a list of URLs. 3245 // Verifies that policy can set the startup pages to a list of URLs.
3335 base::ListValue urls; 3246 base::ListValue urls;
3336 for (size_t i = 0; i < arraysize(kRestoredURLs); ++i) { 3247 for (size_t i = 0; i < arraysize(kRestoredURLs); ++i) {
3337 urls.Append(new base::StringValue(kRestoredURLs[i])); 3248 urls.Append(new base::StringValue(kRestoredURLs[i]));
3338 expected_urls_.push_back(GURL(kRestoredURLs[i])); 3249 expected_urls_.push_back(GURL(kRestoredURLs[i]));
3339 } 3250 }
3340 PolicyMap policies; 3251 PolicyMap policies;
3341 policies.Set(key::kRestoreOnStartup, 3252 policies.Set(key::kRestoreOnStartup,
3342 POLICY_LEVEL_MANDATORY, 3253 POLICY_LEVEL_MANDATORY,
3343 POLICY_SCOPE_USER, 3254 POLICY_SCOPE_USER,
3344 POLICY_SOURCE_CLOUD,
3345 new base::FundamentalValue(SessionStartupPref::kPrefValueURLs), 3255 new base::FundamentalValue(SessionStartupPref::kPrefValueURLs),
3346 NULL); 3256 NULL);
3347 policies.Set( 3257 policies.Set(
3348 key::kRestoreOnStartupURLs, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 3258 key::kRestoreOnStartupURLs, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
3349 POLICY_SOURCE_CLOUD, urls.DeepCopy(), nullptr); 3259 urls.DeepCopy(), NULL);
3350 provider_.UpdateChromePolicy(policies); 3260 provider_.UpdateChromePolicy(policies);
3351 } 3261 }
3352 3262
3353 void NTP() { 3263 void NTP() {
3354 // Verifies that policy can set the startup page to the NTP. 3264 // Verifies that policy can set the startup page to the NTP.
3355 PolicyMap policies; 3265 PolicyMap policies;
3356 policies.Set( 3266 policies.Set(
3357 key::kRestoreOnStartup, 3267 key::kRestoreOnStartup,
3358 POLICY_LEVEL_MANDATORY, 3268 POLICY_LEVEL_MANDATORY,
3359 POLICY_SCOPE_USER, 3269 POLICY_SCOPE_USER,
3360 POLICY_SOURCE_CLOUD,
3361 new base::FundamentalValue(SessionStartupPref::kPrefValueNewTab), 3270 new base::FundamentalValue(SessionStartupPref::kPrefValueNewTab),
3362 NULL); 3271 NULL);
3363 provider_.UpdateChromePolicy(policies); 3272 provider_.UpdateChromePolicy(policies);
3364 expected_urls_.push_back(GURL(chrome::kChromeUINewTabURL)); 3273 expected_urls_.push_back(GURL(chrome::kChromeUINewTabURL));
3365 } 3274 }
3366 3275
3367 void Last() { 3276 void Last() {
3368 // Verifies that policy can set the startup pages to the last session. 3277 // Verifies that policy can set the startup pages to the last session.
3369 PolicyMap policies; 3278 PolicyMap policies;
3370 policies.Set(key::kRestoreOnStartup, 3279 policies.Set(key::kRestoreOnStartup,
3371 POLICY_LEVEL_MANDATORY, 3280 POLICY_LEVEL_MANDATORY,
3372 POLICY_SCOPE_USER, 3281 POLICY_SCOPE_USER,
3373 POLICY_SOURCE_CLOUD,
3374 new base::FundamentalValue(SessionStartupPref::kPrefValueLast), 3282 new base::FundamentalValue(SessionStartupPref::kPrefValueLast),
3375 NULL); 3283 NULL);
3376 provider_.UpdateChromePolicy(policies); 3284 provider_.UpdateChromePolicy(policies);
3377 // This should restore the tabs opened at PRE_RunTest below. 3285 // This should restore the tabs opened at PRE_RunTest below.
3378 for (size_t i = 0; i < arraysize(kRestoredURLs); ++i) 3286 for (size_t i = 0; i < arraysize(kRestoredURLs); ++i)
3379 expected_urls_.push_back(GURL(kRestoredURLs[i])); 3287 expected_urls_.push_back(GURL(kRestoredURLs[i]));
3380 } 3288 }
3381 3289
3382 std::vector<GURL> expected_urls_; 3290 std::vector<GURL> expected_urls_;
3383 }; 3291 };
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
3428 public: 3336 public:
3429 PolicyStatisticsCollectorTest() {} 3337 PolicyStatisticsCollectorTest() {}
3430 ~PolicyStatisticsCollectorTest() override {} 3338 ~PolicyStatisticsCollectorTest() override {}
3431 3339
3432 void SetUpInProcessBrowserTestFixture() override { 3340 void SetUpInProcessBrowserTestFixture() override {
3433 PolicyTest::SetUpInProcessBrowserTestFixture(); 3341 PolicyTest::SetUpInProcessBrowserTestFixture();
3434 PolicyMap policies; 3342 PolicyMap policies;
3435 policies.Set(key::kShowHomeButton, 3343 policies.Set(key::kShowHomeButton,
3436 POLICY_LEVEL_MANDATORY, 3344 POLICY_LEVEL_MANDATORY,
3437 POLICY_SCOPE_USER, 3345 POLICY_SCOPE_USER,
3438 POLICY_SOURCE_CLOUD,
3439 new base::FundamentalValue(true), 3346 new base::FundamentalValue(true),
3440 NULL); 3347 NULL);
3441 policies.Set(key::kBookmarkBarEnabled, 3348 policies.Set(key::kBookmarkBarEnabled,
3442 POLICY_LEVEL_MANDATORY, 3349 POLICY_LEVEL_MANDATORY,
3443 POLICY_SCOPE_USER, 3350 POLICY_SCOPE_USER,
3444 POLICY_SOURCE_CLOUD,
3445 new base::FundamentalValue(false), 3351 new base::FundamentalValue(false),
3446 NULL); 3352 NULL);
3447 policies.Set(key::kHomepageLocation, 3353 policies.Set(key::kHomepageLocation,
3448 POLICY_LEVEL_MANDATORY, 3354 POLICY_LEVEL_MANDATORY,
3449 POLICY_SCOPE_USER, 3355 POLICY_SCOPE_USER,
3450 POLICY_SOURCE_CLOUD,
3451 new base::StringValue("http://chromium.org"), 3356 new base::StringValue("http://chromium.org"),
3452 NULL); 3357 NULL);
3453 provider_.UpdateChromePolicy(policies); 3358 provider_.UpdateChromePolicy(policies);
3454 } 3359 }
3455 }; 3360 };
3456 3361
3457 IN_PROC_BROWSER_TEST_F(PolicyStatisticsCollectorTest, Startup) { 3362 IN_PROC_BROWSER_TEST_F(PolicyStatisticsCollectorTest, Startup) {
3458 // Verifies that policy usage histograms are collected at startup. 3363 // Verifies that policy usage histograms are collected at startup.
3459 3364
3460 // BrowserPolicyConnector::Init() has already been called. Make sure the 3365 // BrowserPolicyConnector::Init() has already been called. Make sure the
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
3508 // audio or video capture allow policy and must never be NULL. 3413 // audio or video capture allow policy and must never be NULL.
3509 // |whitelist_policy| and |allow_rule| are optional. If NULL, no whitelist 3414 // |whitelist_policy| and |allow_rule| are optional. If NULL, no whitelist
3510 // policy is set. If non-NULL, the whitelist policy is set to contain either 3415 // policy is set. If non-NULL, the whitelist policy is set to contain either
3511 // the |allow_rule| (if non-NULL) or an "allow all" wildcard. 3416 // the |allow_rule| (if non-NULL) or an "allow all" wildcard.
3512 void ConfigurePolicyMap(PolicyMap* policies, const char* policy_name, 3417 void ConfigurePolicyMap(PolicyMap* policies, const char* policy_name,
3513 const char* whitelist_policy, 3418 const char* whitelist_policy,
3514 const char* allow_rule) { 3419 const char* allow_rule) {
3515 policies->Set(policy_name, 3420 policies->Set(policy_name,
3516 POLICY_LEVEL_MANDATORY, 3421 POLICY_LEVEL_MANDATORY,
3517 POLICY_SCOPE_USER, 3422 POLICY_SCOPE_USER,
3518 POLICY_SOURCE_CLOUD,
3519 new base::FundamentalValue(policy_value_), 3423 new base::FundamentalValue(policy_value_),
3520 NULL); 3424 NULL);
3521 3425
3522 if (whitelist_policy) { 3426 if (whitelist_policy) {
3523 // Add an entry to the whitelist that allows the specified URL regardless 3427 // Add an entry to the whitelist that allows the specified URL regardless
3524 // of the setting of kAudioCapturedAllowed. 3428 // of the setting of kAudioCapturedAllowed.
3525 base::ListValue* list = new base::ListValue(); 3429 base::ListValue* list = new base::ListValue();
3526 if (allow_rule) { 3430 if (allow_rule) {
3527 list->AppendString(allow_rule); 3431 list->AppendString(allow_rule);
3528 request_url_allowed_via_whitelist_ = true; 3432 request_url_allowed_via_whitelist_ = true;
3529 } else { 3433 } else {
3530 list->AppendString(ContentSettingsPattern::Wildcard().ToString()); 3434 list->AppendString(ContentSettingsPattern::Wildcard().ToString());
3531 // We should ignore all wildcard entries in the whitelist, so even 3435 // We should ignore all wildcard entries in the whitelist, so even
3532 // though we've added an entry, it should be ignored and our expectation 3436 // though we've added an entry, it should be ignored and our expectation
3533 // is that the request has not been allowed via the whitelist. 3437 // is that the request has not been allowed via the whitelist.
3534 request_url_allowed_via_whitelist_ = false; 3438 request_url_allowed_via_whitelist_ = false;
3535 } 3439 }
3536 policies->Set(whitelist_policy, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, 3440 policies->Set(whitelist_policy, POLICY_LEVEL_MANDATORY,
3537 POLICY_SOURCE_CLOUD, list, nullptr); 3441 POLICY_SCOPE_USER, list, NULL);
3538 } 3442 }
3539 } 3443 }
3540 3444
3541 void Accept(const content::MediaStreamDevices& devices, 3445 void Accept(const content::MediaStreamDevices& devices,
3542 content::MediaStreamRequestResult result, 3446 content::MediaStreamRequestResult result,
3543 scoped_ptr<content::MediaStreamUI> ui) { 3447 scoped_ptr<content::MediaStreamUI> ui) {
3544 if (policy_value_ || request_url_allowed_via_whitelist_) { 3448 if (policy_value_ || request_url_allowed_via_whitelist_) {
3545 ASSERT_EQ(1U, devices.size()); 3449 ASSERT_EQ(1U, devices.size());
3546 ASSERT_EQ("fake_dev", devices[0].id); 3450 ASSERT_EQ("fake_dev", devices[0].id);
3547 } else { 3451 } else {
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
3722 net::SpawnedTestServer::SSLOptions::CERT_EXPIRED), 3626 net::SpawnedTestServer::SSLOptions::CERT_EXPIRED),
3723 base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))); 3627 base::FilePath(FILE_PATH_LITERAL("chrome/test/data")));
3724 ASSERT_TRUE(https_server_expired.Start()); 3628 ASSERT_TRUE(https_server_expired.Start());
3725 3629
3726 // Set the enterprise policy to disallow opt-in. 3630 // Set the enterprise policy to disallow opt-in.
3727 const PrefService* const prefs = browser()->profile()->GetPrefs(); 3631 const PrefService* const prefs = browser()->profile()->GetPrefs();
3728 EXPECT_TRUE( 3632 EXPECT_TRUE(
3729 prefs->GetBoolean(prefs::kSafeBrowsingExtendedReportingOptInAllowed)); 3633 prefs->GetBoolean(prefs::kSafeBrowsingExtendedReportingOptInAllowed));
3730 PolicyMap policies; 3634 PolicyMap policies;
3731 policies.Set(key::kSafeBrowsingExtendedReportingOptInAllowed, 3635 policies.Set(key::kSafeBrowsingExtendedReportingOptInAllowed,
3732 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, 3636 POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER,
3733 new base::FundamentalValue(false), nullptr); 3637 new base::FundamentalValue(false), NULL);
3734 UpdateProviderPolicy(policies); 3638 UpdateProviderPolicy(policies);
3735 EXPECT_FALSE( 3639 EXPECT_FALSE(
3736 prefs->GetBoolean(prefs::kSafeBrowsingExtendedReportingOptInAllowed)); 3640 prefs->GetBoolean(prefs::kSafeBrowsingExtendedReportingOptInAllowed));
3737 3641
3738 // Navigate to an SSL error page. 3642 // Navigate to an SSL error page.
3739 ui_test_utils::NavigateToURL(browser(), https_server_expired.GetURL("/")); 3643 ui_test_utils::NavigateToURL(browser(), https_server_expired.GetURL("/"));
3740 3644
3741 const content::InterstitialPage* const interstitial = 3645 const content::InterstitialPage* const interstitial =
3742 content::InterstitialPage::GetInterstitialPage( 3646 content::InterstitialPage::GetInterstitialPage(
3743 browser()->tab_strip_model()->GetActiveWebContents()); 3647 browser()->tab_strip_model()->GetActiveWebContents());
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
3806 net::SpawnedTestServer::SSLOptions::CERT_EXPIRED), 3710 net::SpawnedTestServer::SSLOptions::CERT_EXPIRED),
3807 base::FilePath(FILE_PATH_LITERAL("chrome/test/data"))); 3711 base::FilePath(FILE_PATH_LITERAL("chrome/test/data")));
3808 ASSERT_TRUE(https_server_expired.Start()); 3712 ASSERT_TRUE(https_server_expired.Start());
3809 3713
3810 const PrefService* const prefs = browser()->profile()->GetPrefs(); 3714 const PrefService* const prefs = browser()->profile()->GetPrefs();
3811 EXPECT_TRUE(prefs->GetBoolean(prefs::kSSLErrorOverrideAllowed)); 3715 EXPECT_TRUE(prefs->GetBoolean(prefs::kSSLErrorOverrideAllowed));
3812 3716
3813 // Disallowing the proceed link by setting the policy to |false|. 3717 // Disallowing the proceed link by setting the policy to |false|.
3814 PolicyMap policies; 3718 PolicyMap policies;
3815 policies.Set(key::kSSLErrorOverrideAllowed, POLICY_LEVEL_MANDATORY, 3719 policies.Set(key::kSSLErrorOverrideAllowed, POLICY_LEVEL_MANDATORY,
3816 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, 3720 POLICY_SCOPE_USER, new base::FundamentalValue(false), NULL);
3817 new base::FundamentalValue(false), nullptr);
3818 UpdateProviderPolicy(policies); 3721 UpdateProviderPolicy(policies);
3819 3722
3820 // Policy should not allow overriding anymore. 3723 // Policy should not allow overriding anymore.
3821 EXPECT_FALSE(prefs->GetBoolean(prefs::kSSLErrorOverrideAllowed)); 3724 EXPECT_FALSE(prefs->GetBoolean(prefs::kSSLErrorOverrideAllowed));
3822 3725
3823 // Policy disallows overriding - navigate to an SSL error page and expect no 3726 // Policy disallows overriding - navigate to an SSL error page and expect no
3824 // proceed link. 3727 // proceed link.
3825 ui_test_utils::NavigateToURL(browser(), https_server_expired.GetURL("/")); 3728 ui_test_utils::NavigateToURL(browser(), https_server_expired.GetURL("/"));
3826 const content::InterstitialPage* const interstitial = 3729 const content::InterstitialPage* const interstitial =
3827 content::InterstitialPage::GetInterstitialPage( 3730 content::InterstitialPage::GetInterstitialPage(
(...skipping 28 matching lines...) Expand all
3856 // Similar to PolicyTest but sets the proper policy before the browser is 3759 // Similar to PolicyTest but sets the proper policy before the browser is
3857 // started. 3760 // started.
3858 class PolicyVariationsServiceTest : public PolicyTest { 3761 class PolicyVariationsServiceTest : public PolicyTest {
3859 public: 3762 public:
3860 void SetUpInProcessBrowserTestFixture() override { 3763 void SetUpInProcessBrowserTestFixture() override {
3861 PolicyTest::SetUpInProcessBrowserTestFixture(); 3764 PolicyTest::SetUpInProcessBrowserTestFixture();
3862 PolicyMap policies; 3765 PolicyMap policies;
3863 policies.Set(key::kVariationsRestrictParameter, 3766 policies.Set(key::kVariationsRestrictParameter,
3864 POLICY_LEVEL_MANDATORY, 3767 POLICY_LEVEL_MANDATORY,
3865 POLICY_SCOPE_USER, 3768 POLICY_SCOPE_USER,
3866 POLICY_SOURCE_CLOUD,
3867 new base::StringValue("restricted"), 3769 new base::StringValue("restricted"),
3868 NULL); 3770 NULL);
3869 provider_.UpdateChromePolicy(policies); 3771 provider_.UpdateChromePolicy(policies);
3870 } 3772 }
3871 }; 3773 };
3872 3774
3873 IN_PROC_BROWSER_TEST_F(PolicyVariationsServiceTest, VariationsURLIsValid) { 3775 IN_PROC_BROWSER_TEST_F(PolicyVariationsServiceTest, VariationsURLIsValid) {
3874 const std::string default_variations_url = 3776 const std::string default_variations_url =
3875 variations::VariationsService::GetDefaultVariationsServerURLForTesting(); 3777 variations::VariationsService::GetDefaultVariationsServerURLForTesting();
3876 3778
(...skipping 11 matching lines...) Expand all
3888 std::string value; 3790 std::string value;
3889 EXPECT_TRUE(net::GetValueForKeyInQuery(url, "restrict", &value)); 3791 EXPECT_TRUE(net::GetValueForKeyInQuery(url, "restrict", &value));
3890 EXPECT_EQ("restricted", value); 3792 EXPECT_EQ("restricted", value);
3891 } 3793 }
3892 3794
3893 IN_PROC_BROWSER_TEST_F(PolicyTest, NativeMessagingBlacklistSelective) { 3795 IN_PROC_BROWSER_TEST_F(PolicyTest, NativeMessagingBlacklistSelective) {
3894 base::ListValue blacklist; 3796 base::ListValue blacklist;
3895 blacklist.Append(new base::StringValue("host.name")); 3797 blacklist.Append(new base::StringValue("host.name"));
3896 PolicyMap policies; 3798 PolicyMap policies;
3897 policies.Set(key::kNativeMessagingBlacklist, POLICY_LEVEL_MANDATORY, 3799 policies.Set(key::kNativeMessagingBlacklist, POLICY_LEVEL_MANDATORY,
3898 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 3800 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
3899 nullptr);
3900 UpdateProviderPolicy(policies); 3801 UpdateProviderPolicy(policies);
3901 3802
3902 PrefService* prefs = browser()->profile()->GetPrefs(); 3803 PrefService* prefs = browser()->profile()->GetPrefs();
3903 EXPECT_FALSE(extensions::MessageService::IsNativeMessagingHostAllowed( 3804 EXPECT_FALSE(extensions::MessageService::IsNativeMessagingHostAllowed(
3904 prefs, "host.name")); 3805 prefs, "host.name"));
3905 EXPECT_TRUE(extensions::MessageService::IsNativeMessagingHostAllowed( 3806 EXPECT_TRUE(extensions::MessageService::IsNativeMessagingHostAllowed(
3906 prefs, "other.host.name")); 3807 prefs, "other.host.name"));
3907 } 3808 }
3908 3809
3909 IN_PROC_BROWSER_TEST_F(PolicyTest, NativeMessagingBlacklistWildcard) { 3810 IN_PROC_BROWSER_TEST_F(PolicyTest, NativeMessagingBlacklistWildcard) {
3910 base::ListValue blacklist; 3811 base::ListValue blacklist;
3911 blacklist.Append(new base::StringValue("*")); 3812 blacklist.Append(new base::StringValue("*"));
3912 PolicyMap policies; 3813 PolicyMap policies;
3913 policies.Set(key::kNativeMessagingBlacklist, POLICY_LEVEL_MANDATORY, 3814 policies.Set(key::kNativeMessagingBlacklist, POLICY_LEVEL_MANDATORY,
3914 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 3815 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
3915 nullptr);
3916 UpdateProviderPolicy(policies); 3816 UpdateProviderPolicy(policies);
3917 3817
3918 PrefService* prefs = browser()->profile()->GetPrefs(); 3818 PrefService* prefs = browser()->profile()->GetPrefs();
3919 EXPECT_FALSE(extensions::MessageService::IsNativeMessagingHostAllowed( 3819 EXPECT_FALSE(extensions::MessageService::IsNativeMessagingHostAllowed(
3920 prefs, "host.name")); 3820 prefs, "host.name"));
3921 EXPECT_FALSE(extensions::MessageService::IsNativeMessagingHostAllowed( 3821 EXPECT_FALSE(extensions::MessageService::IsNativeMessagingHostAllowed(
3922 prefs, "other.host.name")); 3822 prefs, "other.host.name"));
3923 } 3823 }
3924 3824
3925 IN_PROC_BROWSER_TEST_F(PolicyTest, NativeMessagingWhitelist) { 3825 IN_PROC_BROWSER_TEST_F(PolicyTest, NativeMessagingWhitelist) {
3926 base::ListValue blacklist; 3826 base::ListValue blacklist;
3927 blacklist.Append(new base::StringValue("*")); 3827 blacklist.Append(new base::StringValue("*"));
3928 base::ListValue whitelist; 3828 base::ListValue whitelist;
3929 whitelist.Append(new base::StringValue("host.name")); 3829 whitelist.Append(new base::StringValue("host.name"));
3930 PolicyMap policies; 3830 PolicyMap policies;
3931 policies.Set(key::kNativeMessagingBlacklist, POLICY_LEVEL_MANDATORY, 3831 policies.Set(key::kNativeMessagingBlacklist, POLICY_LEVEL_MANDATORY,
3932 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, blacklist.DeepCopy(), 3832 POLICY_SCOPE_USER, blacklist.DeepCopy(), NULL);
3933 nullptr);
3934 policies.Set(key::kNativeMessagingWhitelist, POLICY_LEVEL_MANDATORY, 3833 policies.Set(key::kNativeMessagingWhitelist, POLICY_LEVEL_MANDATORY,
3935 POLICY_SCOPE_USER, POLICY_SOURCE_CLOUD, whitelist.DeepCopy(), 3834 POLICY_SCOPE_USER, whitelist.DeepCopy(), NULL);
3936 nullptr);
3937 UpdateProviderPolicy(policies); 3835 UpdateProviderPolicy(policies);
3938 3836
3939 PrefService* prefs = browser()->profile()->GetPrefs(); 3837 PrefService* prefs = browser()->profile()->GetPrefs();
3940 EXPECT_TRUE(extensions::MessageService::IsNativeMessagingHostAllowed( 3838 EXPECT_TRUE(extensions::MessageService::IsNativeMessagingHostAllowed(
3941 prefs, "host.name")); 3839 prefs, "host.name"));
3942 EXPECT_FALSE(extensions::MessageService::IsNativeMessagingHostAllowed( 3840 EXPECT_FALSE(extensions::MessageService::IsNativeMessagingHostAllowed(
3943 prefs, "other.host.name")); 3841 prefs, "other.host.name"));
3944 } 3842 }
3945 3843
3946 #endif // !defined(CHROME_OS) 3844 #endif // !defined(CHROME_OS)
3947 3845
3948 3846
3949 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) 3847 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID)
3950 // Sets the hardware acceleration mode policy before the browser is started. 3848 // Sets the hardware acceleration mode policy before the browser is started.
3951 class HardwareAccelerationModePolicyTest : public PolicyTest { 3849 class HardwareAccelerationModePolicyTest : public PolicyTest {
3952 public: 3850 public:
3953 HardwareAccelerationModePolicyTest() {} 3851 HardwareAccelerationModePolicyTest() {}
3954 3852
3955 void SetUpInProcessBrowserTestFixture() override { 3853 void SetUpInProcessBrowserTestFixture() override {
3956 PolicyTest::SetUpInProcessBrowserTestFixture(); 3854 PolicyTest::SetUpInProcessBrowserTestFixture();
3957 PolicyMap policies; 3855 PolicyMap policies;
3958 policies.Set(key::kHardwareAccelerationModeEnabled, 3856 policies.Set(key::kHardwareAccelerationModeEnabled,
3959 POLICY_LEVEL_MANDATORY, 3857 POLICY_LEVEL_MANDATORY,
3960 POLICY_SCOPE_USER, 3858 POLICY_SCOPE_USER,
3961 POLICY_SOURCE_CLOUD,
3962 new base::FundamentalValue(false), 3859 new base::FundamentalValue(false),
3963 NULL); 3860 NULL);
3964 provider_.UpdateChromePolicy(policies); 3861 provider_.UpdateChromePolicy(policies);
3965 } 3862 }
3966 }; 3863 };
3967 3864
3968 IN_PROC_BROWSER_TEST_F(HardwareAccelerationModePolicyTest, 3865 IN_PROC_BROWSER_TEST_F(HardwareAccelerationModePolicyTest,
3969 HardwareAccelerationDisabled) { 3866 HardwareAccelerationDisabled) {
3970 // Verifies that hardware acceleration can be disabled with policy. 3867 // Verifies that hardware acceleration can be disabled with policy.
3971 EXPECT_FALSE( 3868 EXPECT_FALSE(
(...skipping 11 matching lines...) Expand all
3983 // The policy description promises that Unified Desktop is not available 3880 // The policy description promises that Unified Desktop is not available
3984 // unless the policy is set (or a command line or an extension is used). If 3881 // unless the policy is set (or a command line or an extension is used). If
3985 // this default behaviour changes, please change the description at 3882 // this default behaviour changes, please change the description at
3986 // components/policy/resources/policy_templates.json. 3883 // components/policy/resources/policy_templates.json.
3987 EXPECT_FALSE(display_manager->unified_desktop_enabled()); 3884 EXPECT_FALSE(display_manager->unified_desktop_enabled());
3988 // Now set the policy and check that unified desktop is turned on. 3885 // Now set the policy and check that unified desktop is turned on.
3989 PolicyMap policies; 3886 PolicyMap policies;
3990 policies.Set(key::kUnifiedDesktopEnabledByDefault, 3887 policies.Set(key::kUnifiedDesktopEnabledByDefault,
3991 POLICY_LEVEL_MANDATORY, 3888 POLICY_LEVEL_MANDATORY,
3992 POLICY_SCOPE_USER, 3889 POLICY_SCOPE_USER,
3993 POLICY_SOURCE_CLOUD,
3994 new base::FundamentalValue(true), 3890 new base::FundamentalValue(true),
3995 NULL); 3891 NULL);
3996 UpdateProviderPolicy(policies); 3892 UpdateProviderPolicy(policies);
3997 EXPECT_TRUE(display_manager->unified_desktop_enabled()); 3893 EXPECT_TRUE(display_manager->unified_desktop_enabled());
3998 policies.Set(key::kUnifiedDesktopEnabledByDefault, 3894 policies.Set(key::kUnifiedDesktopEnabledByDefault,
3999 POLICY_LEVEL_MANDATORY, 3895 POLICY_LEVEL_MANDATORY,
4000 POLICY_SCOPE_USER, 3896 POLICY_SCOPE_USER,
4001 POLICY_SOURCE_CLOUD,
4002 new base::FundamentalValue(false), 3897 new base::FundamentalValue(false),
4003 NULL); 3898 NULL);
4004 UpdateProviderPolicy(policies); 3899 UpdateProviderPolicy(policies);
4005 EXPECT_FALSE(display_manager->unified_desktop_enabled()); 3900 EXPECT_FALSE(display_manager->unified_desktop_enabled());
4006 } 3901 }
4007 #endif // defined(OS_CHROMEOS) 3902 #endif // defined(OS_CHROMEOS)
4008 3903
4009 } // namespace policy 3904 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698