Chromium Code Reviews| Index: chrome/browser/chromeos/customization_wallpaper_downloader.cc |
| diff --git a/chrome/browser/chromeos/customization_wallpaper_downloader.cc b/chrome/browser/chromeos/customization_wallpaper_downloader.cc |
| index d672945a980ec125c459404408148e79889ae701..9cc851228df6dfa15aaead99cc4bc93104a85280 100644 |
| --- a/chrome/browser/chromeos/customization_wallpaper_downloader.cc |
| +++ b/chrome/browser/chromeos/customization_wallpaper_downloader.cc |
| @@ -72,6 +72,8 @@ CustomizationWallpaperDownloader::CustomizationWallpaperDownloader( |
| wallpaper_temporary_file_(wallpaper_downloaded_file.value() + |
| kTemporarySuffix), |
| retries_(0), |
| + retry_delay_(base::TimeDelta::FromSeconds(kRetrySleepSeconds)), |
| + retry_current_delay_(base::TimeDelta::FromSeconds(0)), |
|
Daniel Erat
2014/05/07 00:10:33
don't need to initialize this; a 0-second delay is
Alexander Alekseev
2014/05/07 00:26:08
Done.
|
| on_wallpaper_fetch_completed_(on_wallpaper_fetch_completed), |
| weak_factory_(this) { |
| DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
| @@ -105,14 +107,14 @@ void CustomizationWallpaperDownloader::Retry() { |
| DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
| ++retries_; |
| - const double delay_seconds = |
| - std::min(kMaxRetrySleepSeconds, |
| - static_cast<double>(retries_) * retries_ * kRetrySleepSeconds); |
| - const base::TimeDelta delay = |
| - base::TimeDelta::FromSeconds(lround(delay_seconds)); |
| + const double delay_seconds = std::min( |
| + kMaxRetrySleepSeconds, |
| + static_cast<double>(retries_) * retries_ * retry_delay_.InSecondsF()); |
| + const base::TimeDelta delay = base::TimeDelta::FromSecondsD(delay_seconds); |
| VLOG(1) << "Schedule Customized Wallpaper download in " << delay.InSecondsF() |
| << " seconds (retry = " << retries_ << ")."; |
| + retry_current_delay_ = delay; |
| request_scheduled_.Start( |
| FROM_HERE, delay, this, &CustomizationWallpaperDownloader::StartRequest); |
| } |