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 // Helper class which handles communication with the SafeBrowsing servers for | 5 // Helper class which handles communication with the SafeBrowsing servers for |
6 // improved binary download protection. | 6 // improved binary download protection. |
7 | 7 |
8 #ifndef CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_SERVICE_H_ | 8 #ifndef CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_SERVICE_H_ |
9 #define CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_SERVICE_H_ | 9 #define CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_SERVICE_H_ |
10 | 10 |
(...skipping 23 matching lines...) Expand all Loading... |
34 | 34 |
35 namespace safe_browsing { | 35 namespace safe_browsing { |
36 class DownloadFeedbackService; | 36 class DownloadFeedbackService; |
37 class BinaryFeatureExtractor; | 37 class BinaryFeatureExtractor; |
38 | 38 |
39 // This class provides an asynchronous API to check whether a particular | 39 // This class provides an asynchronous API to check whether a particular |
40 // client download is malicious or not. | 40 // client download is malicious or not. |
41 class DownloadProtectionService { | 41 class DownloadProtectionService { |
42 public: | 42 public: |
43 enum DownloadCheckResult { | 43 enum DownloadCheckResult { |
| 44 UNKNOWN, |
44 SAFE, | 45 SAFE, |
45 DANGEROUS, | 46 DANGEROUS, |
46 UNCOMMON, | 47 UNCOMMON, |
47 DANGEROUS_HOST, | 48 DANGEROUS_HOST, |
48 POTENTIALLY_UNWANTED | 49 POTENTIALLY_UNWANTED |
49 }; | 50 }; |
50 | 51 |
51 // Callback type which is invoked once the download request is done. | 52 // Callback type which is invoked once the download request is done. |
52 typedef base::Callback<void(DownloadCheckResult)> CheckDownloadCallback; | 53 typedef base::Callback<void(DownloadCheckResult)> CheckDownloadCallback; |
53 | 54 |
(...skipping 29 matching lines...) Expand all Loading... |
83 | 84 |
84 // Display more information to the user regarding the download specified by | 85 // Display more information to the user regarding the download specified by |
85 // |info|. This method is invoked when the user requests more information | 86 // |info|. This method is invoked when the user requests more information |
86 // about a download that was marked as malicious. | 87 // about a download that was marked as malicious. |
87 void ShowDetailsForDownload(const content::DownloadItem& item, | 88 void ShowDetailsForDownload(const content::DownloadItem& item, |
88 content::PageNavigator* navigator); | 89 content::PageNavigator* navigator); |
89 | 90 |
90 // Enables or disables the service. This is usually called by the | 91 // Enables or disables the service. This is usually called by the |
91 // SafeBrowsingService, which tracks whether any profile uses these services | 92 // SafeBrowsingService, which tracks whether any profile uses these services |
92 // at all. Disabling causes any pending and future requests to have their | 93 // at all. Disabling causes any pending and future requests to have their |
93 // callbacks called with "SAFE" results. | 94 // callbacks called with "UNKNOWN" results. |
94 void SetEnabled(bool enabled); | 95 void SetEnabled(bool enabled); |
95 | 96 |
96 bool enabled() const { | 97 bool enabled() const { |
97 return enabled_; | 98 return enabled_; |
98 } | 99 } |
99 | 100 |
100 // Returns the timeout that is used by CheckClientDownload(). | 101 // Returns the timeout that is used by CheckClientDownload(). |
101 int64 download_request_timeout_ms() const { | 102 int64 download_request_timeout_ms() const { |
102 return download_request_timeout_ms_; | 103 return download_request_timeout_ms_; |
103 } | 104 } |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 | 196 |
196 int64 download_request_timeout_ms_; | 197 int64 download_request_timeout_ms_; |
197 | 198 |
198 scoped_ptr<DownloadFeedbackService> feedback_service_; | 199 scoped_ptr<DownloadFeedbackService> feedback_service_; |
199 | 200 |
200 DISALLOW_COPY_AND_ASSIGN(DownloadProtectionService); | 201 DISALLOW_COPY_AND_ASSIGN(DownloadProtectionService); |
201 }; | 202 }; |
202 } // namespace safe_browsing | 203 } // namespace safe_browsing |
203 | 204 |
204 #endif // CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_SERVICE_H_ | 205 #endif // CHROME_BROWSER_SAFE_BROWSING_DOWNLOAD_PROTECTION_SERVICE_H_ |
OLD | NEW |