| 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 backends for | 5 // Helper class which handles communication with the SafeBrowsing backends for |
| 6 // client-side phishing detection. This class is used to fetch the client-side | 6 // client-side phishing detection. This class is used to fetch the client-side |
| 7 // model and send it to all renderers. This class is also used to send a ping | 7 // model and send it to all renderers. This class is also used to send a ping |
| 8 // back to Google to verify if a particular site is really phishing or not. | 8 // back to Google to verify if a particular site is really phishing or not. |
| 9 // | 9 // |
| 10 // This class is not thread-safe and expects all calls to be made on the UI | 10 // This class is not thread-safe and expects all calls to be made on the UI |
| (...skipping 16 matching lines...) Expand all Loading... |
| 27 #include "base/memory/ref_counted.h" | 27 #include "base/memory/ref_counted.h" |
| 28 #include "base/memory/weak_ptr.h" | 28 #include "base/memory/weak_ptr.h" |
| 29 #include "base/time/time.h" | 29 #include "base/time/time.h" |
| 30 #include "chrome/browser/safe_browsing/client_side_model_loader.h" | 30 #include "chrome/browser/safe_browsing/client_side_model_loader.h" |
| 31 #include "content/public/browser/browser_thread.h" | 31 #include "content/public/browser/browser_thread.h" |
| 32 #include "content/public/browser/notification_observer.h" | 32 #include "content/public/browser/notification_observer.h" |
| 33 #include "content/public/browser/notification_registrar.h" | 33 #include "content/public/browser/notification_registrar.h" |
| 34 #include "net/url_request/url_fetcher_delegate.h" | 34 #include "net/url_request/url_fetcher_delegate.h" |
| 35 #include "url/gurl.h" | 35 #include "url/gurl.h" |
| 36 | 36 |
| 37 namespace base { | |
| 38 class TimeDelta; | |
| 39 } | |
| 40 | |
| 41 namespace content { | 37 namespace content { |
| 42 class RenderProcessHost; | 38 class RenderProcessHost; |
| 43 } | 39 } |
| 44 | 40 |
| 45 namespace net { | 41 namespace net { |
| 46 class URLFetcher; | 42 class URLFetcher; |
| 47 class URLRequestContextGetter; | 43 class URLRequestContextGetter; |
| 48 class URLRequestStatus; | 44 class URLRequestStatus; |
| 49 } // namespace net | 45 } // namespace net |
| 50 | 46 |
| 51 namespace safe_browsing { | 47 namespace safe_browsing { |
| 52 class ClientMalwareRequest; | 48 class ClientMalwareRequest; |
| 53 class ClientPhishingRequest; | 49 class ClientPhishingRequest; |
| 54 class ClientPhishingResponse; | |
| 55 class ClientSideModel; | |
| 56 | 50 |
| 57 // Main service which pushes models to the renderers, responds to classification | 51 // Main service which pushes models to the renderers, responds to classification |
| 58 // requests. This owns two ModelLoader objects. | 52 // requests. This owns two ModelLoader objects. |
| 59 class ClientSideDetectionService : public net::URLFetcherDelegate, | 53 class ClientSideDetectionService : public net::URLFetcherDelegate, |
| 60 public content::NotificationObserver { | 54 public content::NotificationObserver { |
| 61 public: | 55 public: |
| 62 // void(GURL phishing_url, bool is_phishing). | 56 // void(GURL phishing_url, bool is_phishing). |
| 63 typedef base::Callback<void(GURL, bool)> ClientReportPhishingRequestCallback; | 57 typedef base::Callback<void(GURL, bool)> ClientReportPhishingRequestCallback; |
| 64 // void(GURL original_url, GURL malware_url, bool is_malware). | 58 // void(GURL original_url, GURL malware_url, bool is_malware). |
| 65 typedef base::Callback<void(GURL, GURL, bool)> | 59 typedef base::Callback<void(GURL, GURL, bool)> |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 262 // Used to asynchronously call the callbacks for | 256 // Used to asynchronously call the callbacks for |
| 263 // SendClientReportPhishingRequest. | 257 // SendClientReportPhishingRequest. |
| 264 base::WeakPtrFactory<ClientSideDetectionService> weak_factory_; | 258 base::WeakPtrFactory<ClientSideDetectionService> weak_factory_; |
| 265 | 259 |
| 266 DISALLOW_COPY_AND_ASSIGN(ClientSideDetectionService); | 260 DISALLOW_COPY_AND_ASSIGN(ClientSideDetectionService); |
| 267 }; | 261 }; |
| 268 | 262 |
| 269 } // namespace safe_browsing | 263 } // namespace safe_browsing |
| 270 | 264 |
| 271 #endif // CHROME_BROWSER_SAFE_BROWSING_CLIENT_SIDE_DETECTION_SERVICE_H_ | 265 #endif // CHROME_BROWSER_SAFE_BROWSING_CLIENT_SIDE_DETECTION_SERVICE_H_ |
| OLD | NEW |