| Index: net/url_request/url_request_throttler_entry.cc
|
| diff --git a/net/url_request/url_request_throttler_entry.cc b/net/url_request/url_request_throttler_entry.cc
|
| index 3ef2db0a1d685348099fc5c8f831f16624568feb..3154f9c04d58e812c578a3483f4f6c79b2de58d8 100644
|
| --- a/net/url_request/url_request_throttler_entry.cc
|
| +++ b/net/url_request/url_request_throttler_entry.cc
|
| @@ -44,7 +44,6 @@ const double URLRequestThrottlerEntry::kDefaultMultiplyFactor = 1.4;
|
| const double URLRequestThrottlerEntry::kDefaultJitterFactor = 0.4;
|
| const int URLRequestThrottlerEntry::kDefaultMaximumBackoffMs = 15 * 60 * 1000;
|
| const int URLRequestThrottlerEntry::kDefaultEntryLifetimeMs = 2 * 60 * 1000;
|
| -const char URLRequestThrottlerEntry::kRetryHeaderName[] = "X-Retry-After";
|
| const char URLRequestThrottlerEntry::kExponentialThrottlingHeader[] =
|
| "X-Chrome-Exponential-Throttling";
|
| const char URLRequestThrottlerEntry::kExponentialThrottlingDisableValue[] =
|
| @@ -75,27 +74,6 @@ class RejectedRequestParameters : public NetLog::EventParameters {
|
| int release_after_ms_;
|
| };
|
|
|
| -// NetLog parameters when a response contains an X-Retry-After header.
|
| -class RetryAfterParameters : public NetLog::EventParameters {
|
| - public:
|
| - RetryAfterParameters(const std::string& url_id,
|
| - int retry_after_ms)
|
| - : url_id_(url_id),
|
| - retry_after_ms_(retry_after_ms) {
|
| - }
|
| -
|
| - virtual Value* ToValue() const {
|
| - DictionaryValue* dict = new DictionaryValue();
|
| - dict->SetString("url", url_id_);
|
| - dict->SetInteger("retry_after_ms", retry_after_ms_);
|
| - return dict;
|
| - }
|
| -
|
| - private:
|
| - std::string url_id_;
|
| - int retry_after_ms_;
|
| -};
|
| -
|
| URLRequestThrottlerEntry::URLRequestThrottlerEntry(
|
| URLRequestThrottlerManager* manager,
|
| const std::string& url_id)
|
| @@ -264,10 +242,6 @@ void URLRequestThrottlerEntry::UpdateWithResponse(
|
| } else {
|
| GetBackoffEntry()->InformOfRequest(true);
|
|
|
| - std::string retry_header = response->GetNormalizedValue(kRetryHeaderName);
|
| - if (!retry_header.empty())
|
| - HandleCustomRetryAfter(retry_header);
|
| -
|
| std::string throttling_header = response->GetNormalizedValue(
|
| kExponentialThrottlingHeader);
|
| if (!throttling_header.empty())
|
| @@ -337,36 +311,6 @@ base::TimeTicks URLRequestThrottlerEntry::ImplGetTimeNow() const {
|
| return base::TimeTicks::Now();
|
| }
|
|
|
| -void URLRequestThrottlerEntry::HandleCustomRetryAfter(
|
| - const std::string& header_value) {
|
| - // Input parameter is the number of seconds to wait in a floating point value.
|
| - double time_in_sec = 0;
|
| - bool conversion_is_ok = base::StringToDouble(header_value, &time_in_sec);
|
| -
|
| - // Conversion of custom retry-after header value failed.
|
| - if (!conversion_is_ok)
|
| - return;
|
| -
|
| - // We must use an int value later so we transform this in milliseconds.
|
| - int64 value_ms = static_cast<int64>(0.5 + time_in_sec * 1000);
|
| -
|
| - // We do not check for an upper bound; the server can set any Retry-After it
|
| - // desires. Recovery from error would involve restarting the browser.
|
| - if (value_ms < 0)
|
| - return;
|
| -
|
| - net_log_.AddEvent(
|
| - NetLog::TYPE_THROTTLING_GOT_CUSTOM_RETRY_AFTER,
|
| - make_scoped_refptr(new RetryAfterParameters(url_id_, value_ms)));
|
| -
|
| - base::TimeDelta value = base::TimeDelta::FromMilliseconds(value_ms);
|
| - GetBackoffEntry()->SetCustomReleaseTime(ImplGetTimeNow() + value);
|
| -
|
| - UMA_HISTOGRAM_CUSTOM_TIMES(
|
| - "Throttling.CustomRetryAfterMs", value,
|
| - base::TimeDelta::FromSeconds(1), base::TimeDelta::FromHours(12), 50);
|
| -}
|
| -
|
| void URLRequestThrottlerEntry::HandleThrottlingHeader(
|
| const std::string& header_value,
|
| const std::string& host) {
|
|
|