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))), |