https://docs.google.com/document/d/11lqnIZRnfENCOituke03ZxfhQzTU7n9qE0SA_Y4KzMU/edit?ts=5b2148b7
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ff7f92d7c843630dcdde104421929bdecf34f637 commit ff7f92d7c843630dcdde104421929bdecf34f637 Author: Aga Wronska <agawronska@chromium.org> Date: Wed Jul 25 21:08:39 2018 Detect that device is in demo mode based on the domain that it is enrolled to. This change will be followed with checking device install attributes as a part of demo mode detection process. Manually check different device modes. Bug: 855669 Test: Run demo_session_unittest and demo_session_browsertest. Change-Id: Ic4d65a77b4e02cf3dc4dd5955d044ade79db4032 Reviewed-on: https://chromium-review.googlesource.com/1148930 Commit-Queue: Aga Wronska <agawronska@chromium.org> Reviewed-by: Michael Giuffrida <michaelpg@chromium.org> Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org> Reviewed-by: Toni Barzic <tbarzic@chromium.org> Cr-Commit-Position: refs/heads/master@{#578063} [modify] https://crrev.com/ff7f92d7c843630dcdde104421929bdecf34f637/chrome/browser/chromeos/login/demo_mode/demo_extensions_external_loader_unittest.cc [modify] https://crrev.com/ff7f92d7c843630dcdde104421929bdecf34f637/chrome/browser/chromeos/login/demo_mode/demo_session.cc [modify] https://crrev.com/ff7f92d7c843630dcdde104421929bdecf34f637/chrome/browser/chromeos/login/demo_mode/demo_session.h [add] https://crrev.com/ff7f92d7c843630dcdde104421929bdecf34f637/chrome/browser/chromeos/login/demo_mode/demo_session_browsertest.cc [modify] https://crrev.com/ff7f92d7c843630dcdde104421929bdecf34f637/chrome/browser/chromeos/login/demo_mode/demo_session_unittest.cc [modify] https://crrev.com/ff7f92d7c843630dcdde104421929bdecf34f637/chrome/browser/chromeos/login/demo_mode/demo_setup_controller.cc [modify] https://crrev.com/ff7f92d7c843630dcdde104421929bdecf34f637/chrome/browser/chromeos/login/demo_mode/demo_setup_controller.h [modify] https://crrev.com/ff7f92d7c843630dcdde104421929bdecf34f637/chrome/browser/extensions/chrome_extensions_browser_client.cc [modify] https://crrev.com/ff7f92d7c843630dcdde104421929bdecf34f637/chrome/test/BUILD.gn
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d2535c4f1fe5bf989840c93e26cfb2a2f872339a commit d2535c4f1fe5bf989840c93e26cfb2a2f872339a Author: Aga Wronska <agawronska@chromium.org> Date: Fri Aug 24 15:56:22 2018 Check install attributes and demo mode configuration as a part of demo mode detection. Information about specific demo mode configuration (online, offline) is needed to customize demo experince. This change is a followup to initial demo mode detection: https://chromium.googlesource.com/chromium/src/+/ff7f92d7c843630dcdde104421929bdecf34f637 * Consolidate DemoSession::EnrollmentType and DemoSetupController::EnrollmentType into DemoSession::DemoModeConfig to avoid confusion between the two. * Remove EnrollmentConfig::Mode member from DemoSetupController as it is redundant to demo mode configuration. * Store demo mode configuration as a preference in the local state. * Add new device mode policy:DEVICE_MODE_DEMO to represent demo devices. New mode should be passed by DMServer during online demo setup as well as used during offline setup. The ability to manually enroll device into demo domain is preserved for now. Demo mode will be recognized if either device mode is set to demo or device domain matches demo domain. Manually do offline demo setup. Manually do online demo setup with local copy of DMServer that serves new device mode. Bug: 855669 Test: Run demo mode unit and browser tests. Change-Id: I5ce9eb2c96f0ddc7a50e7ec1665e52bb9d203704 Reviewed-on: https://chromium-review.googlesource.com/1173253 Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: Michael Giuffrida <michaelpg@chromium.org> Reviewed-by: Maksim Ivanov <emaxx@chromium.org> Reviewed-by: Toni Baržić <tbarzic@chromium.org> Commit-Queue: Aga Wronska <agawronska@chromium.org> Cr-Commit-Position: refs/heads/master@{#585858} [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/arc/auth/arc_auth_service_browsertest.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/login/demo_mode/demo_extensions_external_loader_unittest.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/login/demo_mode/demo_mode_resources_remover_unittest.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/login/demo_mode/demo_session.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/login/demo_mode/demo_session.h [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/login/demo_mode/demo_session_browsertest.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/login/demo_mode/demo_session_unittest.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/login/demo_mode/demo_setup_controller.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/login/demo_mode/demo_setup_controller.h [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/login/demo_mode/demo_setup_controller_unittest.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/login/demo_setup_browsertest.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/login/wizard_controller.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/settings/install_attributes.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/settings/install_attributes.h [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/settings/install_attributes_unittest.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/settings/stub_install_attributes.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/chromeos/settings/stub_install_attributes.h [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/browser/prefs/browser_prefs.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/common/pref_names.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/chrome/common/pref_names.h [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/components/policy/core/common/cloud/cloud_policy_client.cc [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/components/policy/core/common/cloud/cloud_policy_constants.h [modify] https://crrev.com/d2535c4f1fe5bf989840c93e26cfb2a2f872339a/components/policy/proto/device_management_backend.proto
Comment 1 by agawronska@chromium.org
, Jul 24