Index: chrome/browser/subresource_filter/navigation_throttle_util.cc |
diff --git a/chrome/browser/subresource_filter/navigation_throttle_util.cc b/chrome/browser/subresource_filter/navigation_throttle_util.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..0225e4bb763009d4a80d79b8b91dd7bc9a138ece |
--- /dev/null |
+++ b/chrome/browser/subresource_filter/navigation_throttle_util.cc |
@@ -0,0 +1,29 @@ |
+// Copyright (c) 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/browser/subresource_filter/navigation_throttle_util.h" |
+ |
+#include "chrome/browser/safe_browsing/safe_browsing_service.h" |
+#include "components/safe_browsing_db/database_manager.h" |
+#include "components/safe_browsing_db/v4_feature_list.h" |
+#include "components/subresource_filter/content/browser/subresource_filter_safe_browsing_activation_throttle.h" |
+#include "components/subresource_filter/core/browser/subresource_filter_features.h" |
+#include "content/public/browser/navigation_handle.h" |
+ |
+content::NavigationThrottle* MaybeCreateSubresourceFilterNavigationThrottle( |
+ content::NavigationHandle* navigation_handle, |
+ safe_browsing::SafeBrowsingService* safe_browsing_service) { |
+ bool feature_enabled = base::FeatureList::IsEnabled( |
+ subresource_filter::kSubresourceFilterSafeBrowsingActivationThrottle); |
+ if (feature_enabled && navigation_handle->IsInMainFrame() && |
+ safe_browsing_service && |
+ safe_browsing_service->database_manager()->IsSupported() && |
+ safe_browsing::V4FeatureList::GetV4UsageStatus() == |
+ safe_browsing::V4FeatureList::V4UsageStatus::V4_ONLY) { |
+ return new subresource_filter:: |
+ SubresourceFilterSafeBrowsingActivationThrottle( |
+ navigation_handle, safe_browsing_service->database_manager()); |
+ } |
+ return nullptr; |
+} |