OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // The Safe Browsing service is responsible for downloading anti-phishing and | 5 // The Safe Browsing service is responsible for downloading anti-phishing and |
6 // anti-malware tables and checking urls against them. | 6 // anti-malware tables and checking urls against them. |
7 | 7 |
8 #ifndef CHROME_BROWSER_SAFE_BROWSING_DATABASE_MANAGER_H_ | 8 #ifndef CHROME_BROWSER_SAFE_BROWSING_DATABASE_MANAGER_H_ |
9 #define CHROME_BROWSER_SAFE_BROWSING_DATABASE_MANAGER_H_ | 9 #define CHROME_BROWSER_SAFE_BROWSING_DATABASE_MANAGER_H_ |
10 | 10 |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 | 172 |
173 // Check if the CSD malware IP matching kill switch is turned on. | 173 // Check if the CSD malware IP matching kill switch is turned on. |
174 virtual bool IsMalwareKillSwitchOn(); | 174 virtual bool IsMalwareKillSwitchOn(); |
175 | 175 |
176 // Called on the IO thread to cancel a pending check if the result is no | 176 // Called on the IO thread to cancel a pending check if the result is no |
177 // longer needed. | 177 // longer needed. |
178 void CancelCheck(Client* client); | 178 void CancelCheck(Client* client); |
179 | 179 |
180 // Called on the IO thread when the SafeBrowsingProtocolManager has received | 180 // Called on the IO thread when the SafeBrowsingProtocolManager has received |
181 // the full hash results for prefix hits detected in the database. | 181 // the full hash results for prefix hits detected in the database. |
182 void HandleGetHashResults( | 182 void HandleGetHashResults(SafeBrowsingCheck* check, |
183 SafeBrowsingCheck* check, | 183 const std::vector<SBFullHashResult>& full_hashes, |
184 const std::vector<SBFullHashResult>& full_hashes, | 184 const base::TimeDelta& cache_lifetime); |
185 bool can_cache); | |
186 | 185 |
187 // Log the user perceived delay caused by SafeBrowsing. This delay is the time | 186 // Log the user perceived delay caused by SafeBrowsing. This delay is the time |
188 // delta starting from when we would have started reading data from the | 187 // delta starting from when we would have started reading data from the |
189 // network, and ending when the SafeBrowsing check completes indicating that | 188 // network, and ending when the SafeBrowsing check completes indicating that |
190 // the current page is 'safe'. | 189 // the current page is 'safe'. |
191 void LogPauseDelay(base::TimeDelta time); | 190 void LogPauseDelay(base::TimeDelta time); |
192 | 191 |
193 // Called to initialize objects that are used on the io_thread. This may be | 192 // Called to initialize objects that are used on the io_thread. This may be |
194 // called multiple times during the life of the DatabaseManager. Should be | 193 // called multiple times during the life of the DatabaseManager. Should be |
195 // called on IO thread. | 194 // called on IO thread. |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 | 280 |
282 void DatabaseUpdateFinished(bool update_succeeded); | 281 void DatabaseUpdateFinished(bool update_succeeded); |
283 | 282 |
284 // Called on the db thread to close the database. See CloseDatabase(). | 283 // Called on the db thread to close the database. See CloseDatabase(). |
285 void OnCloseDatabase(); | 284 void OnCloseDatabase(); |
286 | 285 |
287 // Runs on the db thread to reset the database. We assume that resetting the | 286 // Runs on the db thread to reset the database. We assume that resetting the |
288 // database is a synchronous operation. | 287 // database is a synchronous operation. |
289 void OnResetDatabase(); | 288 void OnResetDatabase(); |
290 | 289 |
291 // Store in-memory the GetHash response. Runs on the database thread. | |
292 void CacheHashResults(const std::vector<SBPrefix>& prefixes, | |
293 const std::vector<SBFullHashResult>& full_hashes); | |
294 | |
295 // Internal worker function for processing full hashes. | 290 // Internal worker function for processing full hashes. |
296 void OnHandleGetHashResults(SafeBrowsingCheck* check, | 291 void OnHandleGetHashResults(SafeBrowsingCheck* check, |
297 const std::vector<SBFullHashResult>& full_hashes); | 292 const std::vector<SBFullHashResult>& full_hashes); |
298 | 293 |
299 // Run one check against |full_hashes|. Returns |true| if the check | 294 // Run one check against |full_hashes|. Returns |true| if the check |
300 // finds a match in |full_hashes|. | 295 // finds a match in |full_hashes|. |
301 bool HandleOneCheck(SafeBrowsingCheck* check, | 296 bool HandleOneCheck(SafeBrowsingCheck* check, |
302 const std::vector<SBFullHashResult>& full_hashes); | 297 const std::vector<SBFullHashResult>& full_hashes); |
303 | 298 |
304 // Invoked by CheckDownloadUrl. It checks the download URL on | 299 // Invoked by CheckDownloadUrl. It checks the download URL on |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 | 387 |
393 std::deque<QueuedCheck> queued_checks_; | 388 std::deque<QueuedCheck> queued_checks_; |
394 | 389 |
395 // Timeout to use for safe browsing checks. | 390 // Timeout to use for safe browsing checks. |
396 base::TimeDelta check_timeout_; | 391 base::TimeDelta check_timeout_; |
397 | 392 |
398 DISALLOW_COPY_AND_ASSIGN(SafeBrowsingDatabaseManager); | 393 DISALLOW_COPY_AND_ASSIGN(SafeBrowsingDatabaseManager); |
399 }; | 394 }; |
400 | 395 |
401 #endif // CHROME_BROWSER_SAFE_BROWSING_DATABASE_MANAGER_H_ | 396 #endif // CHROME_BROWSER_SAFE_BROWSING_DATABASE_MANAGER_H_ |
OLD | NEW |