| Index: chrome/browser/loader/safe_browsing_resource_throttle.h | 
| diff --git a/chrome/browser/loader/safe_browsing_resource_throttle.h b/chrome/browser/loader/safe_browsing_resource_throttle.h | 
| index a85ed018bb3d4036876c943a8b61fcc106f2c82a..814cd60dfb8de0e1edf1b4f7c3ebdb4ea70fecbe 100644 | 
| --- a/chrome/browser/loader/safe_browsing_resource_throttle.h | 
| +++ b/chrome/browser/loader/safe_browsing_resource_throttle.h | 
| @@ -5,25 +5,12 @@ | 
| #ifndef CHROME_BROWSER_LOADER_SAFE_BROWSING_RESOURCE_THROTTLE_H_ | 
| #define CHROME_BROWSER_LOADER_SAFE_BROWSING_RESOURCE_THROTTLE_H_ | 
|  | 
| -#include <string> | 
| -#include <vector> | 
| +#include <memory> | 
|  | 
| -#include "base/macros.h" | 
| -#include "base/memory/ref_counted.h" | 
| -#include "base/time/time.h" | 
| -#include "base/timer/timer.h" | 
| -#include "chrome/browser/safe_browsing/safe_browsing_service.h" | 
| -#include "chrome/browser/safe_browsing/ui_manager.h" | 
| -#include "components/safe_browsing/base_resource_throttle.h" | 
| -#include "components/safe_browsing/base_ui_manager.h" | 
| -#include "components/safe_browsing_db/database_manager.h" | 
| -#include "components/security_interstitials/content/unsafe_resource.h" | 
| -#include "content/public/browser/resource_throttle.h" | 
| #include "content/public/common/resource_type.h" | 
| -#include "url/gurl.h" | 
|  | 
| namespace content { | 
| -class ResourceRequestInfo; | 
| +class ResourceThrottle; | 
| } | 
|  | 
| namespace net { | 
| @@ -31,7 +18,7 @@ class URLRequest; | 
| } | 
|  | 
| namespace safe_browsing { | 
| -class BaseUIManager; | 
| +class SafeBrowsingService; | 
| } | 
|  | 
| // SafeBrowsingResourceThrottle functions as its base class | 
| @@ -62,41 +49,11 @@ class BaseUIManager; | 
| // latency -- there no synchronous pass.  This parallelism helps | 
| // performance.  Redirects are handled the same way as desktop so they | 
| // always defer. | 
| -class SafeBrowsingResourceThrottle | 
| -    : public safe_browsing::BaseResourceThrottle { | 
| - public: | 
| -  // Will construct a SafeBrowsingResourceThrottle, or return NULL | 
| -  // if on Android and not in the field trial. | 
| -  static SafeBrowsingResourceThrottle* MaybeCreate( | 
| -      net::URLRequest* request, | 
| -      content::ResourceType resource_type, | 
| -      safe_browsing::SafeBrowsingService* sb_service); | 
|  | 
| -  const char* GetNameForLogging() const override; | 
| - | 
| - protected: | 
| -  SafeBrowsingResourceThrottle(const net::URLRequest* request, | 
| -                               content::ResourceType resource_type, | 
| -                               safe_browsing::SafeBrowsingService* sb_service); | 
| - | 
| - private: | 
| -  ~SafeBrowsingResourceThrottle() override; | 
| - | 
| -  // This posts a task to destroy prerender contents | 
| -  void MaybeDestroyPrerenderContents( | 
| -      const content::ResourceRequestInfo* info) override; | 
| - | 
| -  void StartDisplayingBlockingPageHelper( | 
| -      security_interstitials::UnsafeResource resource) override; | 
| - | 
| -  // Starts displaying the safe browsing interstitial page if it's not | 
| -  // prerendering. Called on the UI thread. | 
| -  static void StartDisplayingBlockingPage( | 
| -      const base::WeakPtr<safe_browsing::BaseResourceThrottle>& throttle, | 
| -      scoped_refptr<safe_browsing::BaseUIManager> ui_manager, | 
| -      const security_interstitials::UnsafeResource& resource); | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(SafeBrowsingResourceThrottle); | 
| -}; | 
| +extern std::unique_ptr<content::ResourceThrottle> | 
| +MaybeCreateSafeBrowsingResourceThrottle( | 
| +    net::URLRequest* request, | 
| +    content::ResourceType resource_type, | 
| +    safe_browsing::SafeBrowsingService* sb_service); | 
|  | 
| #endif  // CHROME_BROWSER_LOADER_SAFE_BROWSING_RESOURCE_THROTTLE_H_ | 
|  |