Commit 9988a1bb authored by Pavol Marko's avatar Pavol Marko Committed by Commit Bot

Treat empty login_screen_input_methods policy as no-op

If an empty login_screen_input_methods policy is sent from the client,
treat it as if the policy was not present. Don't restrict input methods
in this case.

BUG=750572
TEST=browser_tests --gtest_filter=LoginScreenPolicyTest.*

Change-Id: I83109bb5c7648ac6a7f81da414879745bf905abb
Reviewed-on: https://chromium-review.googlesource.com/589436Reviewed-by: default avatarAlexander Alekseev <alemate@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491380}
parent 449c66e1
......@@ -96,7 +96,9 @@ void EnforcePolicyInputMethods(std::string user_input_method) {
chromeos::CrosSettings* cros_settings = chromeos::CrosSettings::Get();
const base::ListValue* login_screen_input_methods = nullptr;
if (!cros_settings->GetList(chromeos::kDeviceLoginScreenInputMethods,
&login_screen_input_methods)) {
&login_screen_input_methods) ||
login_screen_input_methods->empty()) {
StopEnforcingPolicyInputMethods();
return;
}
......
......@@ -105,6 +105,29 @@ IN_PROC_BROWSER_TEST_F(LoginScreenPolicyTest, RestrictInputMethods) {
ASSERT_EQ(0U, imm->GetActiveIMEState()->GetAllowedInputMethods().size());
}
IN_PROC_BROWSER_TEST_F(LoginScreenPolicyTest, PolicyInputMethodsListEmpty) {
content::WindowedNotificationObserver(
chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE,
content::NotificationService::AllSources())
.Wait();
input_method::InputMethodManager* imm =
input_method::InputMethodManager::Get();
ASSERT_TRUE(imm);
ASSERT_EQ(0U, imm->GetActiveIMEState()->GetAllowedInputMethods().size());
em::ChromeDeviceSettingsProto& proto(device_policy()->payload());
proto.mutable_login_screen_input_methods()->Clear();
EXPECT_TRUE(proto.has_login_screen_input_methods());
EXPECT_EQ(
0, proto.login_screen_input_methods().login_screen_input_methods_size());
RefreshDevicePolicyAndWaitForSettingChange(
chromeos::kDeviceLoginScreenInputMethods);
ASSERT_EQ(0U, imm->GetActiveIMEState()->GetAllowedInputMethods().size());
}
class LoginScreenLocalePolicyTest : public LoginScreenPolicyTest {
protected:
LoginScreenLocalePolicyTest() {}
......
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