Index: ui/android/overscroll_refresh.cc |
diff --git a/ui/android/overscroll_refresh.cc b/ui/android/overscroll_refresh.cc |
index 2f2af62d8cd56abe468ecb688e0675fa140b8ccc..e42d6aebfbac330491b06904f3973320ac942058 100644 |
--- a/ui/android/overscroll_refresh.cc |
+++ b/ui/android/overscroll_refresh.cc |
@@ -20,15 +20,14 @@ OverscrollRefresh::OverscrollRefresh(OverscrollRefreshHandler* handler) |
: scrolled_to_top_(true), |
overflow_y_hidden_(false), |
scroll_consumption_state_(DISABLED), |
- handler_(handler) { |
- DCHECK(handler); |
-} |
+ handler_(handler) {} |
OverscrollRefresh::~OverscrollRefresh() { |
} |
void OverscrollRefresh::Reset() { |
scroll_consumption_state_ = DISABLED; |
+ DCHECK(handler_); |
handler_->PullReset(); |
} |
@@ -43,15 +42,16 @@ void OverscrollRefresh::OnScrollEnd(const gfx::Vector2dF& scroll_velocity) { |
Release(allow_activation); |
} |
-void OverscrollRefresh::OnScrollUpdateAck(bool was_consumed) { |
+void OverscrollRefresh::OnOverscrolled(bool can_navigate) { |
if (scroll_consumption_state_ != AWAITING_SCROLL_UPDATE_ACK) |
return; |
- if (was_consumed) { |
+ if (!can_navigate) { |
scroll_consumption_state_ = DISABLED; |
return; |
} |
+ DCHECK(handler_); |
scroll_consumption_state_ = handler_->PullStart() ? ENABLED : DISABLED; |
} |
@@ -68,6 +68,7 @@ bool OverscrollRefresh::WillHandleScrollUpdate( |
return false; |
case ENABLED: |
+ DCHECK(handler_); |
handler_->PullUpdate(scroll_delta.y()); |
return true; |
} |
@@ -97,8 +98,10 @@ void OverscrollRefresh::OnFrameUpdated( |
} |
void OverscrollRefresh::Release(bool allow_refresh) { |
- if (scroll_consumption_state_ == ENABLED) |
+ if (scroll_consumption_state_ == ENABLED) { |
+ DCHECK(handler_); |
handler_->PullRelease(allow_refresh); |
+ } |
scroll_consumption_state_ = DISABLED; |
} |