blob: 5c6103b0ebff065b3fc52d96acee2735fd857b54 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/signin/signin_util.h"
#include "chrome/browser/browser_process.h"
#include "chrome/common/pref_names.h"
#include "components/prefs/pref_service.h"
namespace signin_util {
namespace {
enum ForceSigninPolicyCache {
NOT_CACHED = 0,
ENABLE,
DISABLE
} g_is_force_signin_enabled_cache = NOT_CACHED;
void SetForceSigninPolicy(bool enable) {
g_is_force_signin_enabled_cache = enable ? ENABLE : DISABLE;
}
} // namespace
bool IsForceSigninEnabled() {
if (g_is_force_signin_enabled_cache == NOT_CACHED) {
PrefService* prefs = g_browser_process->local_state();
if (prefs)
SetForceSigninPolicy(prefs->GetBoolean(prefs::kForceBrowserSignin));
else
return false;
}
return (g_is_force_signin_enabled_cache == ENABLE);
}
void SetForceSigninForTesting(bool enable) {
SetForceSigninPolicy(enable);
}
void ResetForceSigninForTesting() {
g_is_force_signin_enabled_cache = NOT_CACHED;
}
} // namespace signin_util