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

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

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

Powered by Google App Engine
This is Rietveld 408576698