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 #ifndef CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_ | 5 #ifndef CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_ |
6 #define CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_ | 6 #define CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_ |
7 | 7 |
8 // A class that implements Chrome's interface with the SafeBrowsing protocol. | 8 // A class that implements Chrome's interface with the SafeBrowsing protocol. |
9 // See https://developers.google.com/safe-browsing/developers_guide_v2 for | 9 // See https://developers.google.com/safe-browsing/developers_guide_v2 for |
10 // protocol details. | 10 // protocol details. |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 class SBProtocolManagerFactory; | 52 class SBProtocolManagerFactory; |
53 class SafeBrowsingProtocolManagerDelegate; | 53 class SafeBrowsingProtocolManagerDelegate; |
54 | 54 |
55 class SafeBrowsingProtocolManager : public net::URLFetcherDelegate, | 55 class SafeBrowsingProtocolManager : public net::URLFetcherDelegate, |
56 public base::NonThreadSafe { | 56 public base::NonThreadSafe { |
57 public: | 57 public: |
58 // FullHashCallback is invoked when GetFullHash completes. | 58 // FullHashCallback is invoked when GetFullHash completes. |
59 // Parameters: | 59 // Parameters: |
60 // - The vector of full hash results. If empty, indicates that there | 60 // - The vector of full hash results. If empty, indicates that there |
61 // were no matches, and that the resource is safe. | 61 // were no matches, and that the resource is safe. |
62 // - Whether the result can be cached. This may not be the case when | 62 // - The cache lifetime of the result. A lifetime of 0 indicates the results |
63 // the result did not come from the SB server, for example. | 63 // should not be cached. |
64 typedef base::Callback<void(const std::vector<SBFullHashResult>&, | 64 typedef base::Callback<void(const std::vector<SBFullHashResult>&, |
65 bool)> FullHashCallback; | 65 const base::TimeDelta&)> FullHashCallback; |
66 | 66 |
67 virtual ~SafeBrowsingProtocolManager(); | 67 virtual ~SafeBrowsingProtocolManager(); |
68 | 68 |
69 // Makes the passed |factory| the factory used to instantiate | 69 // Makes the passed |factory| the factory used to instantiate |
70 // a SafeBrowsingService. Useful for tests. | 70 // a SafeBrowsingService. Useful for tests. |
71 static void RegisterFactory(SBProtocolManagerFactory* factory) { | 71 static void RegisterFactory(SBProtocolManagerFactory* factory) { |
72 factory_ = factory; | 72 factory_ = factory; |
73 } | 73 } |
74 | 74 |
75 // Create an instance of the safe browsing protocol manager. | 75 // Create an instance of the safe browsing protocol manager. |
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 // call at a later time. | 434 // call at a later time. |
435 virtual void AddChunks(const std::string& list, SBChunkList* chunks, | 435 virtual void AddChunks(const std::string& list, SBChunkList* chunks, |
436 AddChunksCallback callback) = 0; | 436 AddChunksCallback callback) = 0; |
437 | 437 |
438 // Delete chunks from the database. | 438 // Delete chunks from the database. |
439 virtual void DeleteChunks( | 439 virtual void DeleteChunks( |
440 std::vector<SBChunkDelete>* delete_chunks) = 0; | 440 std::vector<SBChunkDelete>* delete_chunks) = 0; |
441 }; | 441 }; |
442 | 442 |
443 #endif // CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_ | 443 #endif // CHROME_BROWSER_SAFE_BROWSING_PROTOCOL_MANAGER_H_ |
OLD | NEW |