| Index: chrome/browser/loader/safe_browsing_resource_throttle.cc
|
| diff --git a/chrome/browser/loader/safe_browsing_resource_throttle.cc b/chrome/browser/loader/safe_browsing_resource_throttle.cc
|
| index b8a7c538393a10609b71cf8c9f1b59991f6de7f4..1ea436b8b93f8b9b15a5db6e537651fea64e3cb0 100644
|
| --- a/chrome/browser/loader/safe_browsing_resource_throttle.cc
|
| +++ b/chrome/browser/loader/safe_browsing_resource_throttle.cc
|
| @@ -15,6 +15,8 @@
|
| #include "chrome/browser/prerender/prerender_contents.h"
|
| #include "chrome/browser/safe_browsing/safe_browsing_service.h"
|
| #include "components/safe_browsing_db/util.h"
|
| +#include "components/safe_browsing_db/v4_feature_list.h"
|
| +#include "components/safe_browsing_db/v4_local_database_manager.h"
|
| #include "components/subresource_filter/content/browser/content_subresource_filter_driver_factory.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/render_frame_host.h"
|
| @@ -96,7 +98,8 @@ SafeBrowsingResourceThrottle::SafeBrowsingResourceThrottle(
|
| resource_type_(resource_type),
|
| net_log_with_source_(
|
| net::NetLogWithSource::Make(request->net_log().net_log(),
|
| - NetLogSourceType::SAFE_BROWSING)) {}
|
| + NetLogSourceType::SAFE_BROWSING)),
|
| + v4_local_database_manager_(sb_service->v4_local_database_manager()) {}
|
|
|
| SafeBrowsingResourceThrottle::~SafeBrowsingResourceThrottle() {
|
| if (defer_state_ != DEFERRED_NONE) {
|
| @@ -105,6 +108,10 @@ SafeBrowsingResourceThrottle::~SafeBrowsingResourceThrottle() {
|
|
|
| if (state_ == STATE_CHECKING_URL) {
|
| database_manager_->CancelCheck(this);
|
| + if (safe_browsing::V4FeatureList::IsParallelCheckEnabled()) {
|
| + v4_local_database_manager_->CancelCheck(this);
|
| + }
|
| +
|
| EndNetLogEvent(NetLogEventType::SAFE_BROWSING_CHECKING_URL, "result",
|
| "request_canceled");
|
| }
|
| @@ -373,6 +380,11 @@ bool SafeBrowsingResourceThrottle::CheckUrl(const GURL& url) {
|
| UMA_HISTOGRAM_ENUMERATION("SB2.ResourceTypes2.Checked", resource_type_,
|
| content::RESOURCE_TYPE_LAST_TYPE);
|
|
|
| + if (safe_browsing::V4FeatureList::IsParallelCheckEnabled() &&
|
| + v4_local_database_manager_->CanCheckResourceType(resource_type_)) {
|
| + v4_local_database_manager_->CheckBrowseUrl(url, this);
|
| + }
|
| +
|
| if (succeeded_synchronously) {
|
| threat_type_ = safe_browsing::SB_THREAT_TYPE_SAFE;
|
| ui_manager_->LogPauseDelay(base::TimeDelta()); // No delay.
|
| @@ -398,6 +410,9 @@ void SafeBrowsingResourceThrottle::OnCheckUrlTimeout() {
|
| CHECK_EQ(state_, STATE_CHECKING_URL);
|
|
|
| database_manager_->CancelCheck(this);
|
| + if (safe_browsing::V4FeatureList::IsParallelCheckEnabled()) {
|
| + v4_local_database_manager_->CancelCheck(this);
|
| + }
|
| OnCheckBrowseUrlResult(url_being_checked_, safe_browsing::SB_THREAT_TYPE_SAFE,
|
| safe_browsing::ThreatMetadata());
|
| }
|
|
|