summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsorin@chromium.org <sorin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-20 17:02:17 +0000
committersorin@chromium.org <sorin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-12-20 17:02:17 +0000
commit9267024e3c1a258ab994a198d0c786fea4f84c0a (patch)
tree8b605a96ff5ffc5c4fe2260a85166d1278349f90
parent0c8937ef09d16e5f041ddd4c695e53eaf5c78c3c (diff)
downloadchromium_src-9267024e3c1a258ab994a198d0c786fea4f84c0a.zip
chromium_src-9267024e3c1a258ab994a198d0c786fea4f84c0a.tar.gz
chromium_src-9267024e3c1a258ab994a198d0c786fea4f84c0a.tar.bz2
Reset is_completed_ before attempting a new crx component download.
When downloading a url, the state of the BackgroundDownloader must be reset. A better solution later on would be implementing a BitsFetcher that can only do one download, similar to UrlFetcher. This avoids the situation when dirty state post-download is carried over to a subsequent download. BUG=304354 Review URL: https://codereview.chromium.org/102993014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242108 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/component_updater/background_downloader_win.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/chrome/browser/component_updater/background_downloader_win.cc b/chrome/browser/component_updater/background_downloader_win.cc
index ee6508a..cb02663 100644
--- a/chrome/browser/component_updater/background_downloader_win.cc
+++ b/chrome/browser/component_updater/background_downloader_win.cc
@@ -389,6 +389,10 @@ void BackgroundDownloader::BeginDownload(const GURL& url) {
DCHECK(!timer_);
+ is_completed_ = false;
+ download_start_time_ = base::Time::Now();
+ job_stuck_begin_time_ = download_start_time_;
+
HRESULT hr = QueueBitsJob(url);
if (FAILED(hr)) {
EndDownload(hr);
@@ -402,9 +406,6 @@ void BackgroundDownloader::BeginDownload(const GURL& url) {
base::TimeDelta::FromSeconds(kJobPollingIntervalSec),
this,
&BackgroundDownloader::OnDownloading);
-
- download_start_time_ = base::Time::Now();
- job_stuck_begin_time_ = download_start_time_;
}
// Called any time the timer fires.