Index: views/controls/scrollbar/bitmap_scroll_bar.cc |
diff --git a/views/controls/scrollbar/bitmap_scroll_bar.cc b/views/controls/scrollbar/bitmap_scroll_bar.cc |
index beef8c4552f3fe4c71df2b9aafe1432352a46643..20a1a96502995b32a8614324fca55055d28cf80b 100644 |
--- a/views/controls/scrollbar/bitmap_scroll_bar.cc |
+++ b/views/controls/scrollbar/bitmap_scroll_bar.cc |
@@ -54,15 +54,18 @@ class AutorepeatButton : public ImageButton { |
virtual ~AutorepeatButton() {} |
protected: |
- virtual bool OnMousePressed(const MouseEvent& event) { |
+ virtual bool OnMousePressed(const MouseEvent& event) OVERRIDE { |
Button::NotifyClick(event); |
repeater_.Start(); |
return true; |
} |
- virtual void OnMouseReleased(const MouseEvent& event, bool canceled) { |
+ virtual void OnMouseReleased(const MouseEvent& event) OVERRIDE { |
+ OnMouseCaptureLost(); |
+ } |
+ |
+ virtual void OnMouseCaptureLost() OVERRIDE { |
repeater_.Stop(); |
- View::OnMouseReleased(event, canceled); |
} |
private: |
@@ -149,7 +152,7 @@ class BitmapScrollBarThumb : public View { |
} |
// View overrides: |
- virtual gfx::Size GetPreferredSize() { |
+ virtual gfx::Size GetPreferredSize() OVERRIDE { |
return gfx::Size(background_bitmap()->width(), |
start_cap_bitmap()->height() + |
end_cap_bitmap()->height() + |
@@ -158,7 +161,7 @@ class BitmapScrollBarThumb : public View { |
protected: |
// View overrides: |
- virtual void Paint(gfx::Canvas* canvas) { |
+ virtual void Paint(gfx::Canvas* canvas) OVERRIDE { |
canvas->DrawBitmapInt(*start_cap_bitmap(), 0, 0); |
int top_cap_height = start_cap_bitmap()->height(); |
int bottom_cap_height = end_cap_bitmap()->height(); |
@@ -174,22 +177,22 @@ class BitmapScrollBarThumb : public View { |
canvas->DrawBitmapInt(*grippy_bitmap(), grippy_x, grippy_y); |
} |
- virtual void OnMouseEntered(const MouseEvent& event) { |
+ virtual void OnMouseEntered(const MouseEvent& event) OVERRIDE { |
SetState(CustomButton::BS_HOT); |
} |
- virtual void OnMouseExited(const MouseEvent& event) { |
+ virtual void OnMouseExited(const MouseEvent& event) OVERRIDE { |
SetState(CustomButton::BS_NORMAL); |
} |
- virtual bool OnMousePressed(const MouseEvent& event) { |
+ virtual bool OnMousePressed(const MouseEvent& event) OVERRIDE { |
mouse_offset_ = scroll_bar_->IsHorizontal() ? event.x() : event.y(); |
drag_start_position_ = GetPosition(); |
SetState(CustomButton::BS_PUSHED); |
return true; |
} |
- virtual bool OnMouseDragged(const MouseEvent& event) { |
+ virtual bool OnMouseDragged(const MouseEvent& event) OVERRIDE { |
// If the user moves the mouse more than |kScrollThumbDragOutSnap| outside |
// the bounds of the thumb, the scrollbar will snap the scroll back to the |
// point it was at before the drag began. |
@@ -216,10 +219,12 @@ class BitmapScrollBarThumb : public View { |
return true; |
} |
- virtual void OnMouseReleased(const MouseEvent& event, |
- bool canceled) { |
+ virtual void OnMouseReleased(const MouseEvent& event) OVERRIDE { |
+ OnMouseCaptureLost(); |
+ } |
+ |
+ virtual void OnMouseCaptureLost() OVERRIDE { |
SetState(CustomButton::BS_HOT); |
- View::OnMouseReleased(event, canceled); |
} |
private: |
@@ -471,10 +476,13 @@ bool BitmapScrollBar::OnMousePressed(const MouseEvent& event) { |
return true; |
} |
-void BitmapScrollBar::OnMouseReleased(const MouseEvent& event, bool canceled) { |
+void BitmapScrollBar::OnMouseReleased(const MouseEvent& event) { |
+ OnMouseCaptureLost(); |
+} |
+ |
+void BitmapScrollBar::OnMouseCaptureLost() { |
SetThumbTrackState(CustomButton::BS_NORMAL); |
repeater_.Stop(); |
- View::OnMouseReleased(event, canceled); |
} |
bool BitmapScrollBar::OnKeyPressed(const KeyEvent& event) { |