OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/policy/javascript_policy_handler.h" | 5 #include "chrome/browser/policy/javascript_policy_handler.h" |
6 | 6 |
7 #include "base/memory/ptr_util.h" | 7 #include "base/memory/ptr_util.h" |
8 #include "components/content_settings/core/common/content_settings.h" | 8 #include "components/content_settings/core/common/content_settings.h" |
9 #include "components/content_settings/core/common/pref_names.h" | 9 #include "components/content_settings/core/common/pref_names.h" |
10 #include "components/policy/core/browser/configuration_policy_pref_store.h" | 10 #include "components/policy/core/browser/configuration_policy_pref_store.h" |
11 #include "components/policy/core/browser/configuration_policy_pref_store_test.h" | 11 #include "components/policy/core/browser/configuration_policy_pref_store_test.h" |
12 #include "components/policy/core/browser/policy_error_map.h" | 12 #include "components/policy/core/browser/policy_error_map.h" |
13 #include "components/policy/core/common/policy_map.h" | 13 #include "components/policy/core/common/policy_map.h" |
14 #include "components/policy/core/common/policy_types.h" | 14 #include "components/policy/core/common/policy_types.h" |
15 #include "policy/policy_constants.h" | 15 #include "policy/policy_constants.h" |
16 | 16 |
17 namespace policy { | 17 namespace policy { |
18 | 18 |
19 class JavascriptPolicyHandlerTest : public ConfigurationPolicyPrefStoreTest { | 19 class JavascriptPolicyHandlerTest : public ConfigurationPolicyPrefStoreTest { |
20 void SetUp() override { | 20 void SetUp() override { |
21 handler_list_.AddHandler(base::WrapUnique<ConfigurationPolicyHandler>( | 21 handler_list_.AddHandler(base::WrapUnique<ConfigurationPolicyHandler>( |
22 new JavascriptPolicyHandler)); | 22 new JavascriptPolicyHandler)); |
23 } | 23 } |
24 }; | 24 }; |
25 | 25 |
26 TEST_F(JavascriptPolicyHandlerTest, JavascriptEnabled) { | 26 TEST_F(JavascriptPolicyHandlerTest, JavascriptEnabled) { |
27 // This is a boolean policy, but affects an integer preference. | 27 // This is a boolean policy, but affects an integer preference. |
28 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 28 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
29 PolicyMap policy; | 29 PolicyMap policy; |
30 policy.Set(key::kJavascriptEnabled, | 30 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
31 POLICY_LEVEL_MANDATORY, | |
32 POLICY_SCOPE_USER, | |
33 POLICY_SOURCE_CLOUD, | 31 POLICY_SOURCE_CLOUD, |
34 new base::FundamentalValue(true), | 32 base::WrapUnique(new base::FundamentalValue(true)), nullptr); |
35 NULL); | |
36 UpdateProviderPolicy(policy); | 33 UpdateProviderPolicy(policy); |
37 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 34 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
38 policy.Set(key::kJavascriptEnabled, | 35 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
39 POLICY_LEVEL_MANDATORY, | |
40 POLICY_SCOPE_USER, | |
41 POLICY_SOURCE_CLOUD, | 36 POLICY_SOURCE_CLOUD, |
42 new base::FundamentalValue(false), | 37 base::WrapUnique(new base::FundamentalValue(false)), nullptr); |
43 NULL); | |
44 UpdateProviderPolicy(policy); | 38 UpdateProviderPolicy(policy); |
45 const base::Value* value = NULL; | 39 const base::Value* value = NULL; |
46 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, | 40 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, |
47 &value)); | 41 &value)); |
48 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 42 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
49 } | 43 } |
50 | 44 |
51 TEST_F(JavascriptPolicyHandlerTest, JavascriptEnabledOverridden) { | 45 TEST_F(JavascriptPolicyHandlerTest, JavascriptEnabledOverridden) { |
52 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); | 46 EXPECT_FALSE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, NULL)); |
53 PolicyMap policy; | 47 PolicyMap policy; |
54 policy.Set(key::kJavascriptEnabled, | 48 policy.Set(key::kJavascriptEnabled, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
55 POLICY_LEVEL_MANDATORY, | |
56 POLICY_SCOPE_USER, | |
57 POLICY_SOURCE_CLOUD, | 49 POLICY_SOURCE_CLOUD, |
58 new base::FundamentalValue(false), | 50 base::WrapUnique(new base::FundamentalValue(false)), nullptr); |
59 NULL); | |
60 UpdateProviderPolicy(policy); | 51 UpdateProviderPolicy(policy); |
61 const base::Value* value = NULL; | 52 const base::Value* value = NULL; |
62 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, | 53 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, |
63 &value)); | 54 &value)); |
64 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); | 55 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_BLOCK).Equals(value)); |
65 // DefaultJavaScriptSetting overrides JavascriptEnabled. | 56 // DefaultJavaScriptSetting overrides JavascriptEnabled. |
66 policy.Set(key::kDefaultJavaScriptSetting, | 57 policy.Set( |
67 POLICY_LEVEL_MANDATORY, | 58 key::kDefaultJavaScriptSetting, POLICY_LEVEL_MANDATORY, POLICY_SCOPE_USER, |
68 POLICY_SCOPE_USER, | 59 POLICY_SOURCE_CLOUD, |
69 POLICY_SOURCE_CLOUD, | 60 base::WrapUnique(new base::FundamentalValue(CONTENT_SETTING_ALLOW)), |
70 new base::FundamentalValue(CONTENT_SETTING_ALLOW), | 61 nullptr); |
71 NULL); | |
72 UpdateProviderPolicy(policy); | 62 UpdateProviderPolicy(policy); |
73 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, | 63 EXPECT_TRUE(store_->GetValue(prefs::kManagedDefaultJavaScriptSetting, |
74 &value)); | 64 &value)); |
75 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); | 65 EXPECT_TRUE(base::FundamentalValue(CONTENT_SETTING_ALLOW).Equals(value)); |
76 } | 66 } |
77 | 67 |
78 } // namespace policy | 68 } // namespace policy |
OLD | NEW |