Chromium Code Reviews| Index: ui/views/controls/throbber.cc |
| diff --git a/ui/views/controls/throbber.cc b/ui/views/controls/throbber.cc |
| index 30cfb3b33a422df9fa9092a61cb2e304aa3e3e6b..7b513c7d404461a2c8001f61f244b7d6843aba21 100644 |
| --- a/ui/views/controls/throbber.cc |
| +++ b/ui/views/controls/throbber.cc |
| @@ -4,24 +4,18 @@ |
| #include "ui/views/controls/throbber.h" |
| -#include "base/time/time.h" |
| #include "ui/base/resource/resource_bundle.h" |
| #include "ui/gfx/canvas.h" |
| #include "ui/gfx/image/image.h" |
| #include "ui/gfx/image/image_skia.h" |
| #include "ui/resources/grit/ui_resources.h" |
| -using base::Time; |
|
tfarina
2015/04/24 23:08:19
Would you mind keep the using declarations? They d
Evan Stade
2015/04/24 23:15:32
in my experience, we don't usually use using direc
|
| -using base::TimeDelta; |
| - |
| namespace views { |
| -Throbber::Throbber(int frame_time_ms, |
| - bool paint_while_stopped) |
| - : running_(false), |
| - paint_while_stopped_(paint_while_stopped), |
| +Throbber::Throbber(int frame_time_ms, bool paint_while_stopped) |
| + : paint_while_stopped_(paint_while_stopped), |
| frames_(NULL), |
| - frame_time_(TimeDelta::FromMilliseconds(frame_time_ms)) { |
| + frame_time_(base::TimeDelta::FromMilliseconds(frame_time_ms)) { |
| SetFrames(ui::ResourceBundle::GetSharedInstance().GetImageNamed( |
| IDR_THROBBER).ToImageSkia()); |
| } |
| @@ -31,26 +25,20 @@ Throbber::~Throbber() { |
| } |
| void Throbber::Start() { |
| - if (running_) |
| + if (IsRunning()) |
| return; |
| - start_time_ = Time::Now(); |
| - |
| - timer_.Start(FROM_HERE, frame_time_ - TimeDelta::FromMilliseconds(10), |
| - this, &Throbber::Run); |
| - |
| - running_ = true; |
| - |
| + start_time_ = base::TimeTicks::Now(); |
| + timer_.Start(FROM_HERE, frame_time_ - base::TimeDelta::FromMilliseconds(10), |
| + this, &Throbber::SchedulePaint); |
| SchedulePaint(); // paint right away |
| } |
| void Throbber::Stop() { |
| - if (!running_) |
| + if (!IsRunning()) |
| return; |
| timer_.Stop(); |
| - |
| - running_ = false; |
| SchedulePaint(); // Important if we're not painting while stopped |
| } |
| @@ -62,21 +50,15 @@ void Throbber::SetFrames(const gfx::ImageSkia* frames) { |
| PreferredSizeChanged(); |
| } |
| -void Throbber::Run() { |
| - DCHECK(running_); |
| - |
| - SchedulePaint(); |
| -} |
| - |
| gfx::Size Throbber::GetPreferredSize() const { |
| return gfx::Size(frames_->height(), frames_->height()); |
| } |
| void Throbber::OnPaint(gfx::Canvas* canvas) { |
| - if (!running_ && !paint_while_stopped_) |
| + if (!IsRunning() && !paint_while_stopped_) |
| return; |
| - const TimeDelta elapsed_time = Time::Now() - start_time_; |
| + const base::TimeDelta elapsed_time = base::TimeTicks::Now() - start_time_; |
| const int current_frame = |
| static_cast<int>(elapsed_time / frame_time_) % frame_count_; |
| @@ -88,18 +70,18 @@ void Throbber::OnPaint(gfx::Canvas* canvas) { |
| false); |
| } |
| - |
| +bool Throbber::IsRunning() const { |
| + return timer_.IsRunning(); |
| +} |
| // Smoothed throbber --------------------------------------------------------- |
| - |
| // Delay after work starts before starting throbber, in milliseconds. |
| static const int kStartDelay = 200; |
| // Delay after work stops before stopping, in milliseconds. |
| static const int kStopDelay = 50; |
| - |
| SmoothedThrobber::SmoothedThrobber(int frame_time_ms) |
| : Throbber(frame_time_ms, /* paint_while_stopped= */ false), |
| start_delay_ms_(kStartDelay), |
| @@ -111,9 +93,10 @@ SmoothedThrobber::~SmoothedThrobber() {} |
| void SmoothedThrobber::Start() { |
| stop_timer_.Stop(); |
| - if (!running() && !start_timer_.IsRunning()) { |
| - start_timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(start_delay_ms_), |
| - this, &SmoothedThrobber::StartDelayOver); |
| + if (!IsRunning() && !start_timer_.IsRunning()) { |
| + start_timer_.Start(FROM_HERE, |
| + base::TimeDelta::FromMilliseconds(start_delay_ms_), this, |
| + &SmoothedThrobber::StartDelayOver); |
| } |
| } |
| @@ -122,12 +105,13 @@ void SmoothedThrobber::StartDelayOver() { |
| } |
| void SmoothedThrobber::Stop() { |
| - if (!running()) |
| + if (!IsRunning()) |
| start_timer_.Stop(); |
| stop_timer_.Stop(); |
| - stop_timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(stop_delay_ms_), |
| - this, &SmoothedThrobber::StopDelayOver); |
| + stop_timer_.Start(FROM_HERE, |
| + base::TimeDelta::FromMilliseconds(stop_delay_ms_), this, |
| + &SmoothedThrobber::StopDelayOver); |
| } |
| void SmoothedThrobber::StopDelayOver() { |
| @@ -170,7 +154,7 @@ int MaterialThrobber::GetHeightForWidth(int w) const { |
| } |
| void MaterialThrobber::OnPaint(gfx::Canvas* canvas) { |
| - if (!running()) { |
| + if (!IsRunning()) { |
| if (checked_) { |
| if (!checkmark_) { |
| checkmark_ = ui::ResourceBundle::GetSharedInstance().GetImageNamed( |
| @@ -197,7 +181,7 @@ void MaterialThrobber::OnPaint(gfx::Canvas* canvas) { |
| // (90 degrees) and rotates steadily. The start angle trails 180 degrees |
| // behind, except for the first half revolution, when it stays at 12 o'clock. |
| base::TimeDelta revolution_time = base::TimeDelta::FromMilliseconds(1320); |
| - base::TimeDelta elapsed_time = base::Time::Now() - start_time(); |
| + base::TimeDelta elapsed_time = base::TimeTicks::Now() - start_time(); |
| int64_t twelve_oclock = 90; |
| int64_t finish_angle = twelve_oclock + 360 * elapsed_time / revolution_time; |
| int64_t start_angle = std::max(finish_angle - 180, twelve_oclock); |