Chromium Code Reviews| 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()) { |
|
Nathan Parker
2016/09/28 22:25:55
Also check ve_local_database_manager is not null,
vakh (use Gerrit instead)
2016/09/28 23:00:01
That's not possible.
If IsParallelCheckEnabled() i
|
| + 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()); |
| } |