| 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;
|
| }
|
|
|
|
|