| 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 aacf4aff54ec37aa3912c3ce48b117a3f7a8a2f4..9cc5f463e7c45718c100eb279a2a9b19ab6bb355 100644
|
| --- a/chrome/browser/safe_browsing/safe_browsing_service.h
|
| +++ b/chrome/browser/safe_browsing/safe_browsing_service.h
|
| @@ -35,12 +35,14 @@ class PrefService;
|
| class SafeBrowsingDatabase;
|
| class SafeBrowsingProtocolManager;
|
| class SafeBrowsingServiceFactory;
|
| +class SafeBrowsingURLRequestContextGetter;
|
|
|
| namespace base {
|
| class Thread;
|
| }
|
|
|
| namespace net {
|
| +class URLRequestContext;
|
| class URLRequestContextGetter;
|
| }
|
|
|
| @@ -341,14 +343,21 @@ class SafeBrowsingService
|
| content::BrowserThread::UI>;
|
| friend class base::DeleteHelper<SafeBrowsingService>;
|
| friend class SafeBrowsingServiceTest;
|
| + friend class SafeBrowsingURLRequestContextGetter;
|
|
|
| - // Called to initialize objects that are used on the io_thread.
|
| - void OnIOInitialize(const std::string& client_key,
|
| - const std::string& wrapped_key,
|
| - net::URLRequestContextGetter* request_context_getter);
|
| + void InitURLRequestContextOnIOThread(
|
| + net::URLRequestContextGetter* system_url_request_context_getter);
|
|
|
| - // Called to shutdown operations on the io_thread.
|
| - void OnIOShutdown();
|
| + void DestroyURLRequestContextOnIOThread();
|
| +
|
| + // 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(const std::string& client_key,
|
| + const std::string& wrapped_key);
|
| +
|
| + // Called to shutdown operations on the io_thread. This may be called multiple
|
| + // times during the life of the SafeBrowsingService.
|
| + void StopOnIOThread();
|
|
|
| // Returns whether |database_| exists and is accessible.
|
| bool DatabaseAvailable() const;
|
| @@ -503,6 +512,14 @@ class SafeBrowsingService
|
| // Lock used to prevent possible data races due to compiler optimizations.
|
| mutable base::Lock database_lock_;
|
|
|
| + // The SafeBrowsingURLRequestContextGetter used to access
|
| + // |url_request_context_|.
|
| + scoped_refptr<net::URLRequestContextGetter>
|
| + url_request_context_getter_;
|
| +
|
| + // The SafeBrowsingURLRequestContext.
|
| + scoped_refptr<net::URLRequestContext> url_request_context_;
|
| +
|
| // Handles interaction with SafeBrowsing servers.
|
| SafeBrowsingProtocolManager* protocol_manager_;
|
|
|
|
|