#include "components/supervised_user/core/browser/supervised_user_service.h"
#include <memory>
#include "base/check.h"
#include "base/containers/contains.h"
#include "base/feature_list.h"
#include "base/functional/bind.h"
#include "base/logging.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/user_metrics.h"
#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/thread_pool.h"
#include "base/values.h"
#include "base/version.h"
#include "build/build_config.h"
#include "components/prefs/pref_service.h"
#include "components/signin/public/identity_manager/identity_manager.h"
#include "components/supervised_user/core/browser/kids_chrome_management_url_checker_client.h"
#include "components/supervised_user/core/browser/permission_request_creator_impl.h"
#include "components/supervised_user/core/browser/supervised_user_preferences.h"
#include "components/supervised_user/core/browser/supervised_user_service_observer.h"
#include "components/supervised_user/core/browser/supervised_user_settings_service.h"
#include "components/supervised_user/core/browser/supervised_user_url_filter.h"
#include "components/supervised_user/core/browser/supervised_user_utils.h"
#include "components/supervised_user/core/common/features.h"
#include "components/supervised_user/core/common/pref_names.h"
#include "components/supervised_user/core/common/supervised_user_constants.h"
#include "components/sync/service/sync_service.h"
#include "components/sync/service/sync_user_settings.h"
#include "ui/base/l10n/l10n_util.h"
UserMetricsAction;
namespace supervised_user {
SupervisedUserService::~SupervisedUserService() { … }
void SupervisedUserService::Init() { … }
SupervisedUserURLFilter* SupervisedUserService::GetURLFilter() const { … }
void SupervisedUserService::SetURLFilterForTesting(
std::unique_ptr<SupervisedUserURLFilter> test_filter) { … }
std::string SupervisedUserService::GetCustodianEmailAddress() const { … }
std::string SupervisedUserService::GetCustodianObfuscatedGaiaId() const { … }
std::string SupervisedUserService::GetCustodianName() const { … }
std::string SupervisedUserService::GetSecondCustodianEmailAddress() const { … }
std::string SupervisedUserService::GetSecondCustodianObfuscatedGaiaId() const { … }
std::string SupervisedUserService::GetSecondCustodianName() const { … }
bool SupervisedUserService::HasACustodian() const { … }
bool SupervisedUserService::IsBlockedURL(const GURL& url) const { … }
void SupervisedUserService::AddObserver(
SupervisedUserServiceObserver* observer) { … }
void SupervisedUserService::RemoveObserver(
SupervisedUserServiceObserver* observer) { … }
SupervisedUserService::SupervisedUserService(
signin::IdentityManager* identity_manager,
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
PrefService& user_prefs,
SupervisedUserSettingsService& settings_service,
syncer::SyncService* sync_service,
std::unique_ptr<SupervisedUserURLFilter::Delegate> url_filter_delegate,
std::unique_ptr<SupervisedUserService::PlatformDelegate> platform_delegate,
bool can_show_first_time_interstitial_banner)
: … { … }
FirstTimeInterstitialBannerState SupervisedUserService::GetUpdatedBannerState(
const FirstTimeInterstitialBannerState original_state) { … }
void SupervisedUserService::SetActive(bool active) { … }
void SupervisedUserService::OnCustodianInfoChanged() { … }
void SupervisedUserService::OnSupervisedUserIdChanged() { … }
void SupervisedUserService::OnDefaultFilteringBehaviorChanged() { … }
void SupervisedUserService::OnSafeSitesSettingChanged() { … }
void SupervisedUserService::UpdateManualHosts() { … }
void SupervisedUserService::UpdateManualURLs() { … }
void SupervisedUserService::Shutdown() { … }
void SupervisedUserService::MarkFirstTimeInterstitialBannerShown() const { … }
bool SupervisedUserService::ShouldShowFirstTimeInterstitialBanner() const { … }
}