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

Unified Diff: chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc

Issue 1643573002: Add a ModuleLoadAnalyzer which checks modules against a whitelist (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update safe_browsing_db unit test and minor cleanups Created 4 years, 10 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/incident_reporting/incident_reporting_service.cc
diff --git a/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc b/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
index 5878376b182a80665758be80b75b39912bb9a254..edefa8f054f459eae80dd7ecff97fad2622818d5 100644
--- a/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
+++ b/chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc
@@ -320,6 +320,11 @@ IncidentReportingService::IncidentReportingService(
content::BrowserThread::GetBlockingPool()
->GetTaskRunnerWithShutdownBehavior(
base::SequencedWorkerPool::SKIP_ON_SHUTDOWN)),
+ extended_reporting_only_delayed_analysis_callbacks_(
+ base::TimeDelta::FromMilliseconds(kDefaultCallbackIntervalMs),
+ content::BrowserThread::GetBlockingPool()
+ ->GetTaskRunnerWithShutdownBehavior(
+ base::SequencedWorkerPool::SKIP_ON_SHUTDOWN)),
download_metadata_manager_(content::BrowserThread::GetBlockingPool()),
receiver_weak_ptr_factory_(this),
weak_ptr_factory_(this) {
@@ -387,6 +392,26 @@ void IncidentReportingService::RegisterDelayedAnalysisCallback(
delayed_analysis_callbacks_.Start();
}
+void IncidentReportingService::
+ RegisterExtendedReportingOnlyDelayedAnalysisCallback(
+ const DelayedAnalysisCallback& callback) {
+ DCHECK(thread_checker_.CalledOnValidThread());
+
+ // |callback| will be run on the blocking pool. The receiver will bounce back
+ // to the origin thread if needed.
+ extended_reporting_only_delayed_analysis_callbacks_.RegisterCallback(
+ base::Bind(callback, base::Passed(GetIncidentReceiver())));
+
+ // Start running the callbacks if any profiles have opted into Safebrowsing
+ // extended reporting. If none are now, running will commence if/when such a
+ // profile is added.
+ Profile* profile = FindEligibleProfile();
+ if (profile &&
+ profile->GetPrefs()->GetBoolean(
+ prefs::kSafeBrowsingExtendedReportingEnabled))
veranika 2016/02/05 22:15:10 Wouldn't it be better to use IncidentReportingServ
proberge 2016/02/05 22:26:10 isEnabledForProfile can return true for a profile
+ extended_reporting_only_delayed_analysis_callbacks_.Start();
+}
+
void IncidentReportingService::AddDownloadManager(
content::DownloadManager* download_manager) {
download_metadata_manager_.AddDownloadManager(download_manager);
@@ -413,6 +438,8 @@ IncidentReportingService::IncidentReportingService(
this,
&IncidentReportingService::OnCollationTimeout),
delayed_analysis_callbacks_(delayed_task_interval, delayed_task_runner),
+ extended_reporting_only_delayed_analysis_callbacks_(delayed_task_interval,
+ delayed_task_runner),
download_metadata_manager_(content::BrowserThread::GetBlockingPool()),
receiver_weak_ptr_factory_(this),
weak_ptr_factory_(this) {
@@ -472,6 +499,12 @@ void IncidentReportingService::OnProfileAdded(Profile* profile) {
// if they're already running.
delayed_analysis_callbacks_.Start();
+ if (profile &&
+ profile->GetPrefs()->GetBoolean(
+ prefs::kSafeBrowsingExtendedReportingEnabled)) {
veranika 2016/02/05 22:15:10 Same here.
proberge 2016/02/05 22:26:10 Acknowledged.
+ extended_reporting_only_delayed_analysis_callbacks_.Start();
+ }
+
// Start a new report if there are process-wide incidents, or incidents for
// this profile.
if ((GetProfileContext(nullptr) &&

Powered by Google App Engine
This is Rietveld 408576698