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 8fccf4b69c4e8e2b48cc580cdb8751c89e2cab7b..7b61854bfc50a720d561980f2de1fbcbbf075683 100644 |
| --- a/chrome/browser/loader/safe_browsing_resource_throttle.cc |
| +++ b/chrome/browser/loader/safe_browsing_resource_throttle.cc |
| @@ -238,9 +238,10 @@ void SafeBrowsingResourceThrottle::OnCheckBrowseUrlResult( |
| CHECK(url.is_valid()); |
| CHECK(url_being_checked_.is_valid()); |
| if (url != url_being_checked_) { |
| - char buf[2000]; |
| - snprintf(buf, sizeof(buf), "sbtr::ocbur:%s -- %s\n", url.spec().c_str(), |
| - url_being_checked_.spec().c_str()); |
| + bool url_had_timed_out = base::ContainsValue(timed_out_urls_, url); |
| + char buf[1000]; |
| + snprintf(buf, sizeof(buf), "sbtr::ocbur:%d:%s -- %s\n", url_had_timed_out, |
| + url.spec().c_str(), url_being_checked_.spec().c_str()); |
| base::debug::Alias(buf); |
| CHECK(false) << "buf: " << buf; |
| } |
| @@ -398,11 +399,16 @@ bool SafeBrowsingResourceThrottle::CheckUrl(const GURL& url) { |
| BeginNetLogEvent(NetLogEventType::SAFE_BROWSING_CHECKING_URL, url, nullptr, |
| nullptr); |
| + // If the URL had timed out earlier but is being retried, remove it from the |
| + // list of URLs that timed out. |
| + auto iter = std::find(timed_out_urls_.begin(), timed_out_urls_.end(), url); |
| + if (iter != timed_out_urls_.end()) { |
|
Nathan Parker
2017/01/06 01:41:01
same comment I had before: I don't think a URL can
vakh (use Gerrit instead)
2017/01/06 02:15:08
There you go! I agree that caring for SB check tim
|
| + timed_out_urls_.erase(iter); |
| + } |
| // Start a timer to abort the check if it takes too long. |
| // TODO(nparker): Set this only when we defer, based on remaining time, |
| // so we don't cancel earlier than necessary. |
| - timer_.Start(FROM_HERE, |
| - base::TimeDelta::FromMilliseconds(kCheckUrlTimeoutMs), |
| + timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(kCheckUrlTimeoutMs), |
| this, &SafeBrowsingResourceThrottle::OnCheckUrlTimeout); |
| return false; |
| @@ -415,6 +421,7 @@ void SafeBrowsingResourceThrottle::OnCheckUrlTimeout() { |
| OnCheckBrowseUrlResult(url_being_checked_, safe_browsing::SB_THREAT_TYPE_SAFE, |
| safe_browsing::ThreatMetadata()); |
| + timed_out_urls_.push_back(url_being_checked_); |
| } |
| void SafeBrowsingResourceThrottle::ResumeRequest() { |