Chromium Code Reviews| 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 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 69 std::vector<SBThreatType> url_results; | 69 std::vector<SBThreatType> url_results; |
| 70 std::vector<SBFullHash> full_hashes; | 70 std::vector<SBFullHash> full_hashes; |
| 71 std::vector<SBThreatType> full_hash_results; | 71 std::vector<SBThreatType> full_hash_results; |
| 72 | 72 |
| 73 Client* client; | 73 Client* client; |
| 74 bool need_get_hash; | 74 bool need_get_hash; |
| 75 base::TimeTicks start; // When check was sent to SB service. | 75 base::TimeTicks start; // When check was sent to SB service. |
| 76 safe_browsing_util::ListType check_type; // See comment in constructor. | 76 safe_browsing_util::ListType check_type; // See comment in constructor. |
| 77 std::vector<SBThreatType> expected_threats; | 77 std::vector<SBThreatType> expected_threats; |
| 78 std::vector<SBPrefix> prefix_hits; | 78 std::vector<SBPrefix> prefix_hits; |
| 79 std::vector<SBFullHashResult> full_hits; | 79 std::vector<SBFullHashResult> cache_hits; |
| 80 | 80 |
| 81 // Vends weak pointers for TimeoutCallback(). If the response is | 81 // Vends weak pointers for TimeoutCallback(). If the response is |
| 82 // received before the timeout fires, factory is destructed and | 82 // received before the timeout fires, factory is destructed and |
| 83 // the timeout won't be fired. | 83 // the timeout won't be fired. |
| 84 // TODO(lzheng): We should consider to use this time out check | 84 // TODO(lzheng): We should consider to use this time out check |
| 85 // for browsing too (instead of implementin in | 85 // for browsing too (instead of implementin in |
| 86 // safe_browsing_resource_handler.cc). | 86 // safe_browsing_resource_handler.cc). |
| 87 scoped_ptr<base::WeakPtrFactory< | 87 scoped_ptr<base::WeakPtrFactory< |
| 88 SafeBrowsingDatabaseManager> > timeout_factory_; | 88 SafeBrowsingDatabaseManager> > timeout_factory_; |
| 89 | 89 |
| (...skipping 82 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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 285 | 284 |
| 286 // Called on the db thread to close the database. See CloseDatabase(). | 285 // Called on the db thread to close the database. See CloseDatabase(). |
| 287 void OnCloseDatabase(); | 286 void OnCloseDatabase(); |
| 288 | 287 |
| 289 // Runs on the db thread to reset the database. We assume that resetting the | 288 // Runs on the db thread to reset the database. We assume that resetting the |
| 290 // database is a synchronous operation. | 289 // database is a synchronous operation. |
| 291 void OnResetDatabase(); | 290 void OnResetDatabase(); |
| 292 | 291 |
| 293 // Store in-memory the GetHash response. Runs on the database thread. | 292 // Store in-memory the GetHash response. Runs on the database thread. |
| 294 void CacheHashResults(const std::vector<SBPrefix>& prefixes, | 293 void CacheHashResults(const std::vector<SBPrefix>& prefixes, |
| 295 const std::vector<SBFullHashResult>& full_hashes); | 294 const std::vector<SBFullHashResult>& full_hashes, |
| 295 const base::TimeDelta& cache_lifetime); | |
|
Scott Hess - ex-Googler
2014/04/03 21:44:03
AFAICT this function is no longer used anywhere.
mattm
2014/04/04 23:58:49
Removed.
| |
| 296 | 296 |
| 297 // Internal worker function for processing full hashes. | 297 // Internal worker function for processing full hashes. |
| 298 void OnHandleGetHashResults(SafeBrowsingCheck* check, | 298 void OnHandleGetHashResults(SafeBrowsingCheck* check, |
| 299 const std::vector<SBFullHashResult>& full_hashes); | 299 const std::vector<SBFullHashResult>& full_hashes); |
| 300 | 300 |
| 301 // Run one check against |full_hashes|. Returns |true| if the check | 301 // Run one check against |full_hashes|. Returns |true| if the check |
| 302 // finds a match in |full_hashes|. | 302 // finds a match in |full_hashes|. |
| 303 bool HandleOneCheck(SafeBrowsingCheck* check, | 303 bool HandleOneCheck(SafeBrowsingCheck* check, |
| 304 const std::vector<SBFullHashResult>& full_hashes); | 304 const std::vector<SBFullHashResult>& full_hashes); |
| 305 | 305 |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 394 | 394 |
| 395 std::deque<QueuedCheck> queued_checks_; | 395 std::deque<QueuedCheck> queued_checks_; |
| 396 | 396 |
| 397 // Timeout to use for safe browsing checks. | 397 // Timeout to use for safe browsing checks. |
| 398 base::TimeDelta check_timeout_; | 398 base::TimeDelta check_timeout_; |
| 399 | 399 |
| 400 DISALLOW_COPY_AND_ASSIGN(SafeBrowsingDatabaseManager); | 400 DISALLOW_COPY_AND_ASSIGN(SafeBrowsingDatabaseManager); |
| 401 }; | 401 }; |
| 402 | 402 |
| 403 #endif // CHROME_BROWSER_SAFE_BROWSING_DATABASE_MANAGER_H_ | 403 #endif // CHROME_BROWSER_SAFE_BROWSING_DATABASE_MANAGER_H_ |
| OLD | NEW |