| Index: chrome/browser/managed_mode/managed_mode.cc
|
| diff --git a/chrome/browser/managed_mode/managed_mode.cc b/chrome/browser/managed_mode/managed_mode.cc
|
| index df06143d263ce97945dbab6da4b6d54c3586283b..7585bcd5bb3ce3a2d1ba7b452e418fe60d2f3a7d 100644
|
| --- a/chrome/browser/managed_mode/managed_mode.cc
|
| +++ b/chrome/browser/managed_mode/managed_mode.cc
|
| @@ -117,6 +117,12 @@ void ManagedMode::RegisterUserPrefs(PrefServiceSyncable* prefs) {
|
| PrefServiceSyncable::UNSYNCABLE_PREF);
|
| prefs->RegisterListPref(prefs::kManagedModeBlacklist,
|
| PrefServiceSyncable::UNSYNCABLE_PREF);
|
| + prefs->RegisterStringPref(prefs::kManagedModeLocalPassphrase,
|
| + "",
|
| + PrefServiceSyncable::UNSYNCABLE_PREF);
|
| + prefs->RegisterStringPref(prefs::kManagedModeLocalSalt,
|
| + "",
|
| + PrefServiceSyncable::UNSYNCABLE_PREF);
|
| }
|
|
|
| // static
|
| @@ -144,6 +150,21 @@ bool ManagedMode::IsInManagedMode() {
|
| return GetInstance()->IsInManagedModeImpl();
|
| }
|
|
|
| +// static
|
| +bool ManagedMode::IsCustodianAuthenticated() {
|
| + if (GetInstance()->managed_profile_) {
|
| + PrefService* pref_service = GetInstance()->managed_profile_->GetPrefs();
|
| + if (pref_service->GetString(prefs::kManagedModeLocalPassphrase).empty())
|
| + return true;
|
| + }
|
| + return GetInstance()->is_custodian_authenticated_;
|
| +}
|
| +
|
| +// static
|
| +void ManagedMode::SetCustodianAuthenticated(bool isAuthenticated) {
|
| + GetInstance()->is_custodian_authenticated_ = isAuthenticated;
|
| +}
|
| +
|
| bool ManagedMode::IsInManagedModeImpl() const {
|
| // |g_browser_process| can be NULL during startup.
|
| if (!g_browser_process)
|
| @@ -384,6 +405,7 @@ void ManagedMode::OnBrowserRemoved(Browser* browser) {
|
|
|
| ManagedMode::ManagedMode()
|
| : managed_profile_(NULL),
|
| + is_custodian_authenticated_(false),
|
| io_url_filter_context_(
|
| new URLFilterContext(
|
| BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO))),
|
|
|