Chromium Code Reviews| Index: chrome/browser/safe_browsing/safe_browsing_service.h |
| diff --git a/chrome/browser/safe_browsing/safe_browsing_service.h b/chrome/browser/safe_browsing/safe_browsing_service.h |
| index 666d7aacaeb6124b377c49efd443836bcd46832e..249b9cde37bd07d7e7273aab168c68d1c28b1450 100644 |
| --- a/chrome/browser/safe_browsing/safe_browsing_service.h |
| +++ b/chrome/browser/safe_browsing/safe_browsing_service.h |
| @@ -13,16 +13,11 @@ |
| #include <string> |
| #include "base/callback.h" |
| -#include "base/callback_list.h" |
| #include "base/files/file_path.h" |
| #include "base/macros.h" |
| -#include "base/memory/ref_counted.h" |
| -#include "base/observer_list.h" |
| #include "base/sequenced_task_runner_helpers.h" |
| #include "chrome/browser/safe_browsing/services_delegate.h" |
| -#include "components/safe_browsing_db/util.h" |
| -#include "content/public/browser/browser_thread.h" |
| -#include "content/public/browser/notification_observer.h" |
| +#include "components/safe_browsing/base_safe_browsing_service.h" |
| #include "content/public/browser/notification_registrar.h" |
| #if defined(FULL_SAFE_BROWSING) |
| @@ -63,10 +58,7 @@ struct V4ProtocolConfig; |
| // the heavylifting of safebrowsing service. Both of these managers stay |
| // alive until SafeBrowsingService is destroyed, however, they are disabled |
| // permanently when Shutdown method is called. |
| -class SafeBrowsingService : public base::RefCountedThreadSafe< |
| - SafeBrowsingService, |
| - content::BrowserThread::DeleteOnUIThread>, |
| - public content::NotificationObserver { |
| +class SafeBrowsingService : public BaseSafeBrowsingService { |
| public: |
| // Makes the passed |factory| the factory used to instanciate |
| // a SafeBrowsingService. Useful for tests. |
| @@ -82,10 +74,10 @@ class SafeBrowsingService : public base::RefCountedThreadSafe< |
| static SafeBrowsingService* CreateSafeBrowsingService(); |
| // Called on the UI thread to initialize the service. |
| - void Initialize(); |
| + void Initialize() override; |
| // Called on the main thread to let us know that the io_thread is going away. |
| - void ShutDown(); |
| + void ShutDown() override; |
| // Called on UI thread to decide if the download file's sha256 hash |
| // should be calculated for safebrowsing. |
| @@ -97,21 +89,6 @@ class SafeBrowsingService : public base::RefCountedThreadSafe< |
| // Create a v4 protocol config struct. |
| virtual V4ProtocolConfig GetV4ProtocolConfig() const; |
| - // Returns the client_name field for both V3 and V4 protocol manager configs. |
| - std::string GetProtocolConfigClientName() const; |
| - |
| - // Get current enabled status. Must be called on IO thread. |
| - bool enabled() const { |
| - DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
| - return enabled_; |
| - } |
| - |
| - // Whether the service is enabled by the current set of profiles. |
| - bool enabled_by_prefs() const { |
| - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |
| - return enabled_by_prefs_; |
| - } |
| - |
| ClientSideDetectionService* safe_browsing_detection_service() const { |
| return services_delegate_->GetCsdService(); |
| } |
| @@ -122,13 +99,14 @@ class SafeBrowsingService : public base::RefCountedThreadSafe< |
| return services_delegate_->GetDownloadService(); |
| } |
| - scoped_refptr<net::URLRequestContextGetter> url_request_context(); |
| + scoped_refptr<net::URLRequestContextGetter> url_request_context() override; |
| const scoped_refptr<SafeBrowsingUIManager>& ui_manager() const; |
| // This returns either the v3 or the v4 database manager, depending on |
| // the experiment settings. |
| - const scoped_refptr<SafeBrowsingDatabaseManager>& database_manager() const; |
| + const scoped_refptr<SafeBrowsingDatabaseManager>& database_manager() |
| + const override; |
| scoped_refptr<SafeBrowsingNavigationObserverManager> |
| navigation_observer_manager(); |
| @@ -186,7 +164,7 @@ class SafeBrowsingService : public base::RefCountedThreadSafe< |
| ~SafeBrowsingService() override; |
| - virtual SafeBrowsingDatabaseManager* CreateDatabaseManager(); |
| + SafeBrowsingDatabaseManager* CreateDatabaseManager() override; |
| virtual SafeBrowsingUIManager* CreateUIManager(); |
| @@ -199,37 +177,26 @@ class SafeBrowsingService : public base::RefCountedThreadSafe< |
| std::unique_ptr<ServicesDelegate> services_delegate_; |
| - private: |
| - friend class SafeBrowsingServiceFactoryImpl; |
| - friend struct content::BrowserThread::DeleteOnThread< |
| - content::BrowserThread::UI>; |
| - friend class base::DeleteHelper<SafeBrowsingService>; |
| - friend class SafeBrowsingServerTest; |
| - friend class SafeBrowsingServiceTest; |
| - friend class SafeBrowsingURLRequestContextGetter; |
| - friend class TestSafeBrowsingService; |
| - friend class TestSafeBrowsingServiceFactory; |
| - |
| // Called to initialize objects that are used on the io_thread. This may be |
| // called multiple times during the life of the SafeBrowsingService. |
| void StartOnIOThread( |
| - net::URLRequestContextGetter* url_request_context_getter); |
| + net::URLRequestContextGetter* url_request_context_getter) override; |
|
Jialiu Lin
2016/12/29 17:41:37
Any particular reason for making StartOnIOThread(.
Nate Fischer
2017/01/03 22:39:52
I originally moved them to protected so that the s
|
| // Called to stop or shutdown operations on the io_thread. This may be called |
| // multiple times to stop during the life of the SafeBrowsingService. If |
| // shutdown is true, then the operations on the io thread are shutdown |
| // permanently and cannot be restarted. |
| - void StopOnIOThread(bool shutdown); |
| + void StopOnIOThread(bool shutdown) override; |
| // Start up SafeBrowsing objects. This can be called at browser start, or when |
| // the user checks the "Enable SafeBrowsing" option in the Advanced options |
| // UI. |
| - void Start(); |
| + void Start() override; |
| // Stops the SafeBrowsingService. This can be called when the safe browsing |
| // preference is disabled. When shutdown is true, operation is permanently |
| // shutdown and cannot be restarted. |
| - void Stop(bool shutdown); |
| + void Stop(bool shutdown) override; |
| // content::NotificationObserver override |
| void Observe(int type, |
| @@ -244,7 +211,16 @@ class SafeBrowsingService : public base::RefCountedThreadSafe< |
| // Checks if any profile is currently using the safe browsing service, and |
| // starts or stops the service accordingly. |
| - void RefreshState(); |
| + void RefreshState() override; |
| + |
| + private: |
| + friend class SafeBrowsingServiceFactoryImpl; |
| + friend class base::DeleteHelper<SafeBrowsingService>; |
| + friend class SafeBrowsingServerTest; |
| + friend class SafeBrowsingServiceTest; |
| + friend class SafeBrowsingURLRequestContextGetter; |
| + friend class TestSafeBrowsingService; |
| + friend class TestSafeBrowsingServiceFactory; |
| void OnSendSerializedDownloadReport(const std::string& report); |
| @@ -269,18 +245,6 @@ class SafeBrowsingService : public base::RefCountedThreadSafe< |
| // Provides phishing and malware statistics. Accessed on IO thread. |
| std::unique_ptr<SafeBrowsingPingManager> ping_manager_; |
| - // Whether the service is running. 'enabled_' is used by SafeBrowsingService |
| - // on the IO thread during normal operations. |
| - bool enabled_; |
| - |
| - // Whether SafeBrowsing is enabled by the current set of profiles. |
| - // Accessed on UI thread. |
| - bool enabled_by_prefs_; |
| - |
| - // Whether SafeBrowsing needs to be enabled in V4Only mode. In this mode, all |
| - // SafeBrowsing decisions are made using the PVer4 implementation. |
| - bool enabled_v4_only_; |
|
Jialiu Lin
2016/12/29 17:41:37
It probably makes more sense to keep enabled_v4_on
Nate Fischer
2017/01/03 22:39:52
Sounds good to me. I also moved enabled_by_prefs_,
|
| - |
| // Tracks existing PrefServices, and the safe browsing preference on each. |
| // This is used to determine if any profile is currently using the safe |
| // browsing service, and to start it up or shut it down accordingly. |