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

Side by Side Diff: chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.h

Issue 891793002: Take a Profile when adding an incident to the incident reporting service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comment and formatting Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_INCIDENT_REPORTING_SERVI CE_H_ 5 #ifndef CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_INCIDENT_REPORTING_SERVI CE_H_
6 #define CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_INCIDENT_REPORTING_SERVI CE_H_ 6 #define CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_INCIDENT_REPORTING_SERVI CE_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 public: 71 public:
72 IncidentReportingService(SafeBrowsingService* safe_browsing_service, 72 IncidentReportingService(SafeBrowsingService* safe_browsing_service,
73 const scoped_refptr<net::URLRequestContextGetter>& 73 const scoped_refptr<net::URLRequestContextGetter>&
74 request_context_getter); 74 request_context_getter);
75 75
76 // All incident collection, data collection, and uploads in progress are 76 // All incident collection, data collection, and uploads in progress are
77 // dropped at destruction. 77 // dropped at destruction.
78 ~IncidentReportingService() override; 78 ~IncidentReportingService() override;
79 79
80 // Returns a callback by which external components can add an incident to the 80 // Returns a callback by which external components can add an incident to the
81 // service on behalf of |profile|. The callback may outlive the service, but 81 // service. The callback may outlive the service, but will no longer have any
82 // will no longer have any effect after the service is deleted. The callback 82 // effect after the service is deleted.
83 // must not be run after |profile| has been destroyed. 83 AddIncidentCallback GetAddIncidentCallback();
84 AddIncidentCallback GetAddIncidentCallback(Profile* profile);
85 84
86 // Returns a preference validation delegate that adds incidents to the service 85 // Returns a preference validation delegate that adds incidents to the service
87 // for validation failures in |profile|. The delegate may outlive the service, 86 // for validation failures in |profile|. The delegate may outlive the service,
88 // but incidents reported by it will no longer have any effect after the 87 // but incidents reported by it will no longer have any effect after the
89 // service is deleted. The lifetime of the delegate should not extend beyond 88 // service is deleted.
90 // that of the profile it services.
91 scoped_ptr<TrackedPreferenceValidationDelegate> 89 scoped_ptr<TrackedPreferenceValidationDelegate>
92 CreatePreferenceValidationDelegate(Profile* profile); 90 CreatePreferenceValidationDelegate(Profile* profile);
93 91
94 // Registers |callback| to be run after some delay following process launch. 92 // Registers |callback| to be run after some delay following process launch.
95 void RegisterDelayedAnalysisCallback(const DelayedAnalysisCallback& callback); 93 void RegisterDelayedAnalysisCallback(const DelayedAnalysisCallback& callback);
96 94
97 // Adds |download_manager| to the set monitored for client download request 95 // Adds |download_manager| to the set monitored for client download request
98 // storage. 96 // storage.
99 void AddDownloadManager(content::DownloadManager* download_manager); 97 void AddDownloadManager(content::DownloadManager* download_manager);
100 98
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 ProfileContext* GetProfileContext(Profile* profile); 152 ProfileContext* GetProfileContext(Profile* profile);
155 153
156 // Handles the destruction of a profile. Incidents reported for the profile 154 // Handles the destruction of a profile. Incidents reported for the profile
157 // but not yet uploaded are dropped. 155 // but not yet uploaded are dropped.
158 void OnProfileDestroyed(Profile* profile); 156 void OnProfileDestroyed(Profile* profile);
159 157
160 // Returns an initialized profile that participates in safe browsing. Profiles 158 // Returns an initialized profile that participates in safe browsing. Profiles
161 // participating in extended safe browsing are preferred. 159 // participating in extended safe browsing are preferred.
162 Profile* FindEligibleProfile() const; 160 Profile* FindEligibleProfile() const;
163 161
164 // Adds |incident_data| to the service. The incident_time_msec field is 162 // Adds |incident_data| relating to the optional |profile| to the service.
165 // populated with the current time if the caller has not already done so.
166 void AddIncident(Profile* profile, scoped_ptr<Incident> incident); 163 void AddIncident(Profile* profile, scoped_ptr<Incident> incident);
167 164
168 // Begins processing a report. If processing is already underway, ensures that 165 // Begins processing a report. If processing is already underway, ensures that
169 // collection tasks have completed or are running. 166 // collection tasks have completed or are running.
170 void BeginReportProcessing(); 167 void BeginReportProcessing();
171 168
172 // Begins the process of collating incidents by waiting for incidents to 169 // Begins the process of collating incidents by waiting for incidents to
173 // arrive. This function is idempotent. 170 // arrive. This function is idempotent.
174 void BeginIncidentCollation(); 171 void BeginIncidentCollation();
175 172
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 // that are posted during normal processing (e.g., environment collection, 325 // that are posted during normal processing (e.g., environment collection,
329 // safe browsing database checks, and report uploads). 326 // safe browsing database checks, and report uploads).
330 base::WeakPtrFactory<IncidentReportingService> weak_ptr_factory_; 327 base::WeakPtrFactory<IncidentReportingService> weak_ptr_factory_;
331 328
332 DISALLOW_COPY_AND_ASSIGN(IncidentReportingService); 329 DISALLOW_COPY_AND_ASSIGN(IncidentReportingService);
333 }; 330 };
334 331
335 } // namespace safe_browsing 332 } // namespace safe_browsing
336 333
337 #endif // CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_INCIDENT_REPORTING_SE RVICE_H_ 334 #endif // CHROME_BROWSER_SAFE_BROWSING_INCIDENT_REPORTING_INCIDENT_REPORTING_SE RVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698