Enable device disabling during normal operation
commit9ce0dc311ee3397218bd1b45f94e481f0b7b1ecd
authorbartfab <bartfab@chromium.org>
Fri, 7 Nov 2014 16:28:12 +0000 (7 08:28 -0800)
committerCommit bot <commit-bot@chromium.org>
Fri, 7 Nov 2014 16:28:31 +0000 (7 16:28 +0000)
tree3cffa7880628133fec014d2bbcbfe5e630caf6a3
parentffec256edbd65acaf4cfc572edbd8bcc60c5ba0d
Enable device disabling during normal operation

This CL enables device disabling during normal operation: The
management server can disable a device by sending the device disabled
flag with the next device policy update. The server can re-enable the
device by clearing the flag with a future policy update.

The flag is persisted along with the entire device policy blob on the
device. As long as the flag is set, the device will prevent logins and
will show a device disabled screen instead. When the flag first
becomes set, the device terminates the current session (if any) and
switches to the device disabled screen immediately.

BUG=425574
TEST=New unit and browser tests

Review URL: https://codereview.chromium.org/711433002

Cr-Commit-Position: refs/heads/master@{#303241}
19 files changed:
chrome/browser/browser_process_platform_part_chromeos.cc
chrome/browser/browser_process_platform_part_chromeos.h
chrome/browser/chromeos/chrome_browser_main_chromeos.cc
chrome/browser/chromeos/login/existing_user_controller.cc
chrome/browser/chromeos/login/screens/device_disabled_screen.cc
chrome/browser/chromeos/login/screens/device_disabled_screen.h
chrome/browser/chromeos/login/screens/device_disabled_screen_actor.h
chrome/browser/chromeos/login/screens/mock_device_disabled_screen_actor.h
chrome/browser/chromeos/login/wizard_controller.cc
chrome/browser/chromeos/system/device_disabling_browsertest.cc [new file with mode: 0644]
chrome/browser/chromeos/system/device_disabling_manager.cc
chrome/browser/chromeos/system/device_disabling_manager.h
chrome/browser/chromeos/system/device_disabling_manager_default_delegate.cc [new file with mode: 0644]
chrome/browser/chromeos/system/device_disabling_manager_default_delegate.h [new file with mode: 0644]
chrome/browser/chromeos/system/device_disabling_manager_unittest.cc
chrome/browser/ui/webui/chromeos/login/device_disabled_screen_handler.cc
chrome/browser/ui/webui/chromeos/login/device_disabled_screen_handler.h
chrome/chrome_browser_chromeos.gypi
chrome/chrome_tests.gypi