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); |
}; |