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
3 // found in the LICENSE file.
5 #include "chrome/browser/renderer_host/safe_browsing_resource_throttle_factory.h"
7 #include "content/public/browser/resource_context.h"
9 // Compiling this file only makes sense if SAFE_BROWSING_SERVICE is enabled.
10 // If the build is breaking here, it probably means that a gyp or gn file has
11 // been modified to build this file with safe_browsing=0 (gn
12 // safe_browsing_mode=0).
13 #if !defined(SAFE_BROWSING_SERVICE)
14 #error Need to define safe_browsing mode.
17 #if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE)
18 #include "chrome/browser/renderer_host/safe_browsing_resource_throttle.h"
21 using content::ResourceThrottle
;
24 SafeBrowsingResourceThrottleFactory
*
25 SafeBrowsingResourceThrottleFactory::factory_
= NULL
;
28 void SafeBrowsingResourceThrottleFactory::RegisterFactory(
29 SafeBrowsingResourceThrottleFactory
* factory
) {
34 ResourceThrottle
* SafeBrowsingResourceThrottleFactory::Create(
35 net::URLRequest
* request
,
36 content::ResourceContext
* resource_context
,
37 content::ResourceType resource_type
,
38 SafeBrowsingService
* service
) {
40 return factory_
->CreateResourceThrottle(
41 request
, resource_context
, resource_type
, service
);
43 #if defined(SAFE_BROWSING_DB_LOCAL) || defined(SAFE_BROWSING_DB_REMOTE)
44 // Throttle consults a local or remote database before proceeding.
45 return new SafeBrowsingResourceThrottle(request
, resource_type
, service
);