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

Unified Diff: chrome/browser/ui/ash/session_controller_client.cc

Issue 2873453003: cros: Update ash when prefs related to lock are changed (Closed)
Patch Set: fix nits Created 3 years, 7 months 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/ui/ash/session_controller_client.cc
diff --git a/chrome/browser/ui/ash/session_controller_client.cc b/chrome/browser/ui/ash/session_controller_client.cc
index 6d15a762aa9f7a48b0bfe57ccdcb3f0207930ba6..96b2ab5ed037968162f884f0c96ee81aa8912970 100644
--- a/chrome/browser/ui/ash/session_controller_client.cc
+++ b/chrome/browser/ui/ash/session_controller_client.cc
@@ -26,6 +26,7 @@
#include "chrome/grit/theme_resources.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "chromeos/dbus/session_manager_client.h"
+#include "components/prefs/pref_change_registrar.h"
#include "components/prefs/pref_service.h"
#include "components/session_manager/core/session_manager.h"
#include "content/public/browser/notification_service.h"
@@ -377,6 +378,18 @@ void SessionControllerClient::OnLoginUserProfilePrepared(Profile* profile) {
->AddObserver(this);
}
+ base::Closure session_info_changed_closure =
+ base::Bind(&SessionControllerClient::SendSessionInfoIfChanged,
+ weak_ptr_factory_.GetWeakPtr());
+ std::unique_ptr<PrefChangeRegistrar> pref_change_registrar =
+ base::MakeUnique<PrefChangeRegistrar>();
+ pref_change_registrar->Init(profile->GetPrefs());
+ pref_change_registrar->Add(prefs::kAllowScreenLock,
+ session_info_changed_closure);
+ pref_change_registrar->Add(prefs::kEnableAutoScreenLock,
+ session_info_changed_closure);
+ pref_change_registrars_.push_back(std::move(pref_change_registrar));
+
// Needed because the user-to-profile mapping isn't available until later,
// which is needed in UserToUserSession().
base::ThreadTaskRunnerHandle::Get()->PostTask(
« no previous file with comments | « chrome/browser/ui/ash/session_controller_client.h ('k') | chrome/browser/ui/ash/session_controller_client_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698