Chromium Code Reviews| Index: chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.h |
| diff --git a/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.h b/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.h |
| index 5dfada546c763ff65cc1d1c2c95342c595885949..5a44e8dc82a06bc589f05821e6f6b64ab19d8440 100644 |
| --- a/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.h |
| +++ b/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.h |
| @@ -16,6 +16,10 @@ |
| #include "chrome/browser/chromeos/policy/auto_enrollment_client.h" |
| #include "chrome/browser/chromeos/settings/device_settings_service.h" |
| +namespace cryptohome { |
| +class BaseReply; |
| +} // namespace cryptohome |
| + |
| namespace chromeos { |
| // Drives the forced re-enrollment check (for historical reasons called |
| @@ -86,6 +90,24 @@ class AutoEnrollmentController { |
| // Sets |state_| and notifies |progress_callbacks_|. |
| void UpdateState(policy::AutoEnrollmentState state); |
| + // Makes a D-Bus call to cryptohome to remove the firmware management |
| + // parameters (FWMP) from TPM. Stops the |safeguard_timer_| and notifies the |
| + // |progress_callbacks_| after update is done if the timer is still running. |
| + // The notifications have to be sent only after the FWMP is cleared, because |
| + // the user might try to switch to devmode. In this case, if block_devmode is |
| + // in FWMP and the clear operation didn't finish, the switch would be denied. |
| + // Also the safeguard timer has to be active until the FWMP is cleared to |
| + // avoid the risk of blocked flow. |
| + void StartRemoveFirmwareManagementParameters(); |
| + |
| + // Callback for RemoveFirmwareManagementParameters(). If an error is received |
| + // here, it is logged only, without changing the flow after that, because |
| + // the FWMP is used only for newer devices. |
| + void OnFirmwareManagementParametersRemoved( |
| + chromeos::DBusMethodCallStatus call_status, |
| + bool result, |
| + const cryptohome::BaseReply& reply); |
| + |
| // Handles timeout of the safeguard timer and stops waiting for a result. |
| void Timeout(); |
| @@ -108,6 +130,7 @@ class AutoEnrollmentController { |
| FRERequirement fre_requirement_ = REQUIRED; |
| base::WeakPtrFactory<AutoEnrollmentController> client_start_weak_factory_; |
|
Thiemo Nagel
2017/03/29 15:46:20
Nit: Add TODO() to merge the two factories.
igorcov
2017/03/29 16:05:02
Done.
|
| + base::WeakPtrFactory<AutoEnrollmentController> weak_ptr_factory_; |
| DISALLOW_COPY_AND_ASSIGN(AutoEnrollmentController); |
| }; |