Commit 2bd10665 authored by Tina Wang's avatar Tina Wang Committed by Commit Bot

[iOS Enterprise] Add PasswordManagerEnabled policy

- add PasswordManagerEnabled entry to policy map
- add unit test

Change-Id: I7991646ccff8fe9cca7ee579140ed9bc31591d34
Bug: 1065143
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2119310
Commit-Queue: Tina Wang <tinazwang@chromium.org>
Reviewed-by: default avatarRohit Rao <rohitrao@chromium.org>
Reviewed-by: default avatarGuillaume Jenkins <gujen@google.com>
Reviewed-by: default avatarsebsg <sebsg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#753822}
parent 5d234387
...@@ -20,6 +20,7 @@ source_set("policy") { ...@@ -20,6 +20,7 @@ source_set("policy") {
deps = [ deps = [
"//base", "//base",
"//components/password_manager/core/common",
"//components/policy:generated", "//components/policy:generated",
"//components/policy/core/common", "//components/policy/core/common",
"//ios/chrome/browser", "//ios/chrome/browser",
...@@ -74,6 +75,7 @@ source_set("unit_tests") { ...@@ -74,6 +75,7 @@ source_set("unit_tests") {
":test_support", ":test_support",
"//base", "//base",
"//base/test:test_support", "//base/test:test_support",
"//components/password_manager/core/common",
"//components/pref_registry", "//components/pref_registry",
"//components/prefs", "//components/prefs",
"//components/sync_preferences", "//components/sync_preferences",
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/logging.h" #include "base/logging.h"
#include "components/password_manager/core/common/password_manager_pref_names.h"
#include "components/policy/core/browser/configuration_policy_handler.h" #include "components/policy/core/browser/configuration_policy_handler.h"
#include "components/policy/core/browser/configuration_policy_handler_list.h" #include "components/policy/core/browser/configuration_policy_handler_list.h"
#include "components/policy/core/browser/configuration_policy_handler_parameters.h" #include "components/policy/core/browser/configuration_policy_handler_parameters.h"
...@@ -23,8 +24,12 @@ using policy::SimplePolicyHandler; ...@@ -23,8 +24,12 @@ using policy::SimplePolicyHandler;
namespace { namespace {
const PolicyToPreferenceMapEntry kSimplePolicyMap[] = { const PolicyToPreferenceMapEntry kSimplePolicyMap[] = {
{policy::key::kPasswordManagerEnabled,
password_manager::prefs::kCredentialsEnableService,
base::Value::Type::BOOLEAN},
{policy::key::kSearchSuggestEnabled, prefs::kSearchSuggestEnabled, {policy::key::kSearchSuggestEnabled, prefs::kSearchSuggestEnabled,
base::Value::Type::BOOLEAN}}; base::Value::Type::BOOLEAN},
};
void PopulatePolicyHandlerParameters( void PopulatePolicyHandlerParameters(
policy::PolicyHandlerParameters* parameters) {} policy::PolicyHandlerParameters* parameters) {}
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/test/task_environment.h" #include "base/test/task_environment.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "components/password_manager/core/common/password_manager_pref_names.h"
#include "components/policy/core/common/mock_configuration_policy_provider.h" #include "components/policy/core/common/mock_configuration_policy_provider.h"
#include "components/policy/core/common/policy_map.h" #include "components/policy/core/common/policy_map.h"
#include "components/policy/core/common/policy_types.h" #include "components/policy/core/common/policy_types.h"
...@@ -131,3 +132,33 @@ TEST_F(PolicyTest, TestSearchSuggestEnabled) { ...@@ -131,3 +132,33 @@ TEST_F(PolicyTest, TestSearchSuggestEnabled) {
EXPECT_TRUE(pref_service_->IsManagedPreference(prefs::kSearchSuggestEnabled)); EXPECT_TRUE(pref_service_->IsManagedPreference(prefs::kSearchSuggestEnabled));
EXPECT_FALSE(pref_service_->GetBoolean(prefs::kSearchSuggestEnabled)); EXPECT_FALSE(pref_service_->GetBoolean(prefs::kSearchSuggestEnabled));
} }
// Tests that the PasswordManagerEnabled preference is correctly managed by
// policy.
TEST_F(PolicyTest, TestPasswordManagerEnabled) {
EXPECT_FALSE(pref_service_->IsManagedPreference(
password_manager::prefs::kCredentialsEnableService));
policy::PolicyMap values;
// Setting the policy to true should set the pref to true.
values.Set(policy::key::kPasswordManagerEnabled,
policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_MACHINE,
policy::POLICY_SOURCE_PLATFORM,
std::make_unique<base::Value>(true), nullptr);
policy_provider_.UpdateChromePolicy(values);
EXPECT_TRUE(pref_service_->IsManagedPreference(
password_manager::prefs::kCredentialsEnableService));
EXPECT_TRUE(pref_service_->GetBoolean(
password_manager::prefs::kCredentialsEnableService));
// Setting the policy to false should set the pref to false.
values.Set(policy::key::kPasswordManagerEnabled,
policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_MACHINE,
policy::POLICY_SOURCE_PLATFORM,
std::make_unique<base::Value>(false), nullptr);
policy_provider_.UpdateChromePolicy(values);
EXPECT_TRUE(pref_service_->IsManagedPreference(
password_manager::prefs::kCredentialsEnableService));
EXPECT_FALSE(pref_service_->GetBoolean(
password_manager::prefs::kCredentialsEnableService));
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment