Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Unified Diff: chrome/browser/safe_browsing/safe_browsing_service.cc

Issue 2647323009: Add extended reporting level in the update request (Closed)
Patch Set: rebase Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/safe_browsing/safe_browsing_service.cc
diff --git a/chrome/browser/safe_browsing/safe_browsing_service.cc b/chrome/browser/safe_browsing/safe_browsing_service.cc
index 3071414c2277369dda797e2d03ec740e66339d7e..3893070f32c5208fd01be705bce9efc040237188 100644
--- a/chrome/browser/safe_browsing/safe_browsing_service.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_service.cc
@@ -299,6 +299,8 @@ SafeBrowsingService::SafeBrowsingService()
: services_delegate_(ServicesDelegate::Create(this)),
enabled_(false),
enabled_by_prefs_(false),
+ maybe_enabled_extended_reporting_by_prefs_(false),
+ maybe_enabled_scout_reporting_by_prefs_(false),
enabled_v4_only_(safe_browsing::V4FeatureList::IsV4OnlyEnabled()) {}
SafeBrowsingService::~SafeBrowsingService() {
@@ -671,9 +673,9 @@ void SafeBrowsingService::AddPrefService(PrefService* pref_service) {
std::unique_ptr<PrefChangeRegistrar> registrar =
base::MakeUnique<PrefChangeRegistrar>();
registrar->Init(pref_service);
- registrar->Add(prefs::kSafeBrowsingEnabled,
- base::Bind(&SafeBrowsingService::RefreshState,
- base::Unretained(this)));
+ registrar->Add(
+ prefs::kSafeBrowsingEnabled,
+ base::Bind(&SafeBrowsingService::RefreshState, base::Unretained(this)));
// ClientSideDetectionService will need to be refresh the models
// renderers have if extended-reporting changes.
registrar->Add(
@@ -721,24 +723,30 @@ SafeBrowsingService::RegisterShutdownCallback(
void SafeBrowsingService::RefreshState() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
// Check if any profile requires the service to be active.
- bool enable = false;
+ enabled_by_prefs_ = false;
+ maybe_enabled_extended_reporting_by_prefs_ = false;
lpz 2017/01/25 16:24:47 have you considered storing one field with the Ext
vakh (use Gerrit instead) 2017/01/25 22:35:30 Done.
+ maybe_enabled_scout_reporting_by_prefs_ = false;
for (const auto& pref : prefs_map_) {
if (pref.first->GetBoolean(prefs::kSafeBrowsingEnabled)) {
- enable = true;
- break;
+ enabled_by_prefs_ = true;
+ if (pref.first->GetBoolean(
+ prefs::kSafeBrowsingExtendedReportingEnabled)) {
+ maybe_enabled_extended_reporting_by_prefs_ = true;
+ }
+ if (pref.first->GetBoolean(prefs::kSafeBrowsingScoutReportingEnabled)) {
+ maybe_enabled_scout_reporting_by_prefs_ = true;
+ }
}
}
- enabled_by_prefs_ = enable;
-
- if (enable)
+ if (enabled_by_prefs_)
Start();
else
Stop(false);
state_callback_list_.Notify();
- services_delegate_->RefreshState(enable);
+ services_delegate_->RefreshState(enabled_by_prefs_);
}
void SafeBrowsingService::SendSerializedDownloadReport(
« no previous file with comments | « chrome/browser/safe_browsing/safe_browsing_service.h ('k') | chrome/browser/safe_browsing/services_delegate_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698