oobe: show adb sideloading screen when requested
After the primary user requested to enable adb sideloading on the
device, reboot will be necessary to enable the decision is made in fully
trusted environment.
This change adds an OOBE screen for this purpuse. Upon confirmation, a
DBus message is sent to cryptohome (as a proxy) to enable the flag in
boot lockbox.
Note: Strings are not final and images are placeholder.
/home/chronos/Local\ State; start ui
=> see confirmation dialog
=> `bootlockboxtool --action=read --key=arc_sideloading_allowed` prints 1
=> `bootlockboxtool --action=read --key=arc_sideloading_allowed` prints 0
=> looks correct. Clicking "OK" brings us to normal login screen.
dialog
=> Confirm or cancel doesn't really matter as already enabled.
Test: stop ui; add "EnableAdbSideloadingRequested":true to
Test: click "Enable" brings us to login screen (warning will be added later)
Test: click "Cancel" brings us to login screen (warning will be added later)
Test: Force error state by `$('oobe-adb-sideloading-dialog').uiState_ = 'error'`
Test: (edge case) Enable the feature forcely then show the confirmation
Test: browser_tests --gtest_filter=WizardController*.*
Cq-Depend: chromium:1765656
Bug: chromium:893332
Change-Id: I1135d9e89c37215f0f23dbcdf6244a06c9967f98
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1804495
Reviewed-by: Theresa <[email protected]>
Reviewed-by: Roman Sorokin [CET] <[email protected]>
Commit-Queue: Victor Hsieh <[email protected]>
Auto-Submit: Victor Hsieh <[email protected]>
Cr-Commit-Position: refs/heads/master@{#710018}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 666ecf9d..de4ea0f 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -264,6 +264,7 @@
#include "chrome/browser/chromeos/login/quick_unlock/pin_storage_prefs.h"
#include "chrome/browser/chromeos/login/quick_unlock/quick_unlock_utils.h"
#include "chrome/browser/chromeos/login/saml/saml_profile_prefs.h"
+#include "chrome/browser/chromeos/login/screens/enable_adb_sideloading_screen.h"
#include "chrome/browser/chromeos/login/screens/reset_screen.h"
#include "chrome/browser/chromeos/login/session/user_session_manager.h"
#include "chrome/browser/chromeos/login/startup_utils.h"
@@ -685,6 +686,7 @@
chromeos::DeviceOAuth2TokenService::RegisterPrefs(registry);
chromeos::device_settings_cache::RegisterPrefs(registry);
chromeos::echo_offer::RegisterPrefs(registry);
+ chromeos::EnableAdbSideloadingScreen::RegisterPrefs(registry);
chromeos::EnableDebuggingScreenHandler::RegisterPrefs(registry);
chromeos::FastTransitionObserver::RegisterPrefs(registry);
chromeos::HIDDetectionScreenHandler::RegisterPrefs(registry);