Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(929)

Unified Diff: chrome/browser/chromeos/settings/shutdown_policy_handler.cc

Issue 2492063002: chromeos: Simplify ShutdownPolicyHandler
Patch Set: rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/settings/shutdown_policy_handler.cc
diff --git a/chrome/browser/chromeos/settings/shutdown_policy_handler.cc b/chrome/browser/chromeos/settings/shutdown_policy_handler.cc
index 095a9868d84cce4f332619a9c3e8a951f020e7cf..0dc0d7963092b2f29e1db4b455df5c364e9f7bf8 100644
--- a/chrome/browser/chromeos/settings/shutdown_policy_handler.cc
+++ b/chrome/browser/chromeos/settings/shutdown_policy_handler.cc
@@ -14,44 +14,30 @@ namespace chromeos {
ShutdownPolicyHandler::ShutdownPolicyHandler(CrosSettings* cros_settings,
Delegate* delegate)
: cros_settings_(cros_settings), delegate_(delegate), weak_factory_(this) {
- if (delegate_) {
- shutdown_policy_subscription_ = cros_settings_->AddSettingsObserver(
- kRebootOnShutdown,
- base::Bind(&ShutdownPolicyHandler::OnShutdownPolicyChanged,
- weak_factory_.GetWeakPtr()));
- }
+ DCHECK(cros_settings_);
+ DCHECK(delegate_);
+ // Notify the delegate if the setting changes.
+ shutdown_policy_subscription_ = cros_settings_->AddSettingsObserver(
+ kRebootOnShutdown,
+ base::Bind(&ShutdownPolicyHandler::CheckIfRebootOnShutdown,
+ weak_factory_.GetWeakPtr()));
}
ShutdownPolicyHandler::~ShutdownPolicyHandler() {}
-void ShutdownPolicyHandler::Shutdown() {
- shutdown_policy_subscription_.reset();
- delegate_ = nullptr;
-}
-
-void ShutdownPolicyHandler::CallDelegate(bool reboot_on_shutdown) {
- if (delegate_)
- delegate_->OnShutdownPolicyChanged(reboot_on_shutdown);
-}
-
-void ShutdownPolicyHandler::OnShutdownPolicyChanged() {
- CheckIfRebootOnShutdown(base::Bind(&ShutdownPolicyHandler::CallDelegate,
- weak_factory_.GetWeakPtr()));
-}
-
-void ShutdownPolicyHandler::CheckIfRebootOnShutdown(
- const RebootOnShutdownCallback& callback) {
+void ShutdownPolicyHandler::CheckIfRebootOnShutdown() {
+ // Only notify the delegate after trusted settings are loaded.
CrosSettingsProvider::TrustedStatus status =
cros_settings_->PrepareTrustedValues(
base::Bind(&ShutdownPolicyHandler::CheckIfRebootOnShutdown,
- weak_factory_.GetWeakPtr(), callback));
+ weak_factory_.GetWeakPtr()));
if (status != CrosSettingsProvider::TRUSTED)
return;
// Get the updated policy.
bool reboot_on_shutdown = false;
cros_settings_->GetBoolean(kRebootOnShutdown, &reboot_on_shutdown);
- callback.Run(reboot_on_shutdown);
+ delegate_->OnShutdownPolicyChanged(reboot_on_shutdown);
}
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698