blob: df53469b1415d4c8202622a19a79bf17c5ce0ba6 [file] [log] [blame]
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/safety_check/safety_check.h"
#include "components/safe_browsing/core/common/safe_browsing_prefs.h"
namespace safety_check {
SafeBrowsingStatus CheckSafeBrowsing(PrefService* pref_service) {
const PrefService::Preference* enabled_pref =
pref_service->FindPreference(prefs::kSafeBrowsingEnabled);
bool is_sb_enabled = pref_service->GetBoolean(prefs::kSafeBrowsingEnabled);
bool is_sb_managed = enabled_pref->IsManaged();
if (is_sb_enabled && pref_service->GetBoolean(prefs::kSafeBrowsingEnhanced))
return SafeBrowsingStatus::kEnabledEnhanced;
if (is_sb_enabled && is_sb_managed)
return SafeBrowsingStatus::kEnabledStandard;
if (is_sb_enabled && !is_sb_managed)
return SafeBrowsingStatus::kEnabledStandardAvailableEnhanced;
if (is_sb_managed)
return SafeBrowsingStatus::kDisabledByAdmin;
if (enabled_pref->IsExtensionControlled())
return SafeBrowsingStatus::kDisabledByExtension;
return SafeBrowsingStatus::kDisabled;
}
} // namespace safety_check