summaryrefslogtreecommitdiffstats
path: root/chrome/browser/download_tab_view.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/download_tab_view.cc')
-rw-r--r--chrome/browser/download_tab_view.cc21
1 files changed, 5 insertions, 16 deletions
diff --git a/chrome/browser/download_tab_view.cc b/chrome/browser/download_tab_view.cc
index ee74590..56b7c3e 100644
--- a/chrome/browser/download_tab_view.cc
+++ b/chrome/browser/download_tab_view.cc
@@ -663,8 +663,6 @@ void DownloadItemTabView::LinkActivated(ChromeViews::Link* source,
DownloadTabView::DownloadTabView(DownloadManager* model)
: model_(model),
- progress_timer_(NULL),
- progress_task_(NULL),
start_angle_(download_util::kStartAngleDegrees),
scroll_helper_(kSpacer, kProgressIconSize + kSpacer),
selected_index_(-1) {
@@ -688,25 +686,16 @@ void DownloadTabView::Initialize() {
// Start progress animation timers when we get our first (in-progress) download.
void DownloadTabView::StartDownloadProgress() {
- if (progress_task_ || progress_timer_)
+ if (progress_timer_.IsRunning())
return;
- progress_task_ =
- new download_util::DownloadProgressTask<DownloadTabView>(this);
- progress_timer_ =
- MessageLoop::current()->timer_manager()->
- StartTimer(download_util::kProgressRateMs, progress_task_, true);
+ progress_timer_.Start(
+ TimeDelta::FromMilliseconds(download_util::kProgressRateMs), this,
+ &DownloadTabView::UpdateDownloadProgress);
}
// Stop progress animation when there are no more in-progress downloads.
void DownloadTabView::StopDownloadProgress() {
- if (progress_timer_) {
- DCHECK(progress_task_);
- MessageLoop::current()->timer_manager()->StopTimer(progress_timer_);
- delete progress_timer_;
- progress_timer_ = NULL;
- delete progress_task_;
- progress_task_ = NULL;
- }
+ progress_timer_.Stop();
}
// Update our animations.