Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(288)

Side by Side Diff: cc/input/top_controls_manager.cc

Issue 961023002: (Reland) Always create top controls manager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixing bad patch (Patches since "rebase" were from wrong branch) Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/base/switches.cc ('k') | cc/input/top_controls_manager_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/input/top_controls_manager.h" 5 #include "cc/input/top_controls_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "cc/animation/keyframed_animation_curve.h" 10 #include "cc/animation/keyframed_animation_curve.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 } 94 }
95 95
96 void TopControlsManager::ScrollBegin() { 96 void TopControlsManager::ScrollBegin() {
97 DCHECK(!pinch_gesture_active_); 97 DCHECK(!pinch_gesture_active_);
98 ResetAnimations(); 98 ResetAnimations();
99 ResetBaseline(); 99 ResetBaseline();
100 } 100 }
101 101
102 gfx::Vector2dF TopControlsManager::ScrollBy( 102 gfx::Vector2dF TopControlsManager::ScrollBy(
103 const gfx::Vector2dF& pending_delta) { 103 const gfx::Vector2dF& pending_delta) {
104 if (!TopControlsHeight())
105 return pending_delta;
106
104 if (pinch_gesture_active_) 107 if (pinch_gesture_active_)
105 return pending_delta; 108 return pending_delta;
106 109
107 if (!TopControlsHeight()) 110 if (!TopControlsHeight())
108 return pending_delta; 111 return pending_delta;
109 112
110 if (permitted_state_ == SHOWN && pending_delta.y() > 0) 113 if (permitted_state_ == SHOWN && pending_delta.y() > 0)
111 return pending_delta; 114 return pending_delta;
112 else if (permitted_state_ == HIDDEN && pending_delta.y() < 0) 115 else if (permitted_state_ == HIDDEN && pending_delta.y() < 0)
113 return pending_delta; 116 return pending_delta;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 } 179 }
177 180
178 void TopControlsManager::SetupAnimation(AnimationDirection direction) { 181 void TopControlsManager::SetupAnimation(AnimationDirection direction) {
179 DCHECK_NE(NO_ANIMATION, direction); 182 DCHECK_NE(NO_ANIMATION, direction);
180 DCHECK_IMPLIES(direction == HIDING_CONTROLS, TopControlsShownRatio() > 0.f); 183 DCHECK_IMPLIES(direction == HIDING_CONTROLS, TopControlsShownRatio() > 0.f);
181 DCHECK_IMPLIES(direction == SHOWING_CONTROLS, TopControlsShownRatio() < 1.f); 184 DCHECK_IMPLIES(direction == SHOWING_CONTROLS, TopControlsShownRatio() < 1.f);
182 185
183 if (top_controls_animation_ && animation_direction_ == direction) 186 if (top_controls_animation_ && animation_direction_ == direction)
184 return; 187 return;
185 188
189 if (!TopControlsHeight()) {
190 client_->SetCurrentTopControlsShownRatio(
191 direction == HIDING_CONTROLS ? 0.f : 1.f);
192 return;
193 }
194
186 top_controls_animation_ = KeyframedFloatAnimationCurve::Create(); 195 top_controls_animation_ = KeyframedFloatAnimationCurve::Create();
187 base::TimeDelta start_time = gfx::FrameTime::Now() - base::TimeTicks(); 196 base::TimeDelta start_time = gfx::FrameTime::Now() - base::TimeTicks();
188 top_controls_animation_->AddKeyframe( 197 top_controls_animation_->AddKeyframe(
189 FloatKeyframe::Create(start_time, TopControlsShownRatio(), nullptr)); 198 FloatKeyframe::Create(start_time, TopControlsShownRatio(), nullptr));
190 float max_ending_ratio = (direction == SHOWING_CONTROLS ? 1 : -1); 199 float max_ending_ratio = (direction == SHOWING_CONTROLS ? 1 : -1);
191 top_controls_animation_->AddKeyframe(FloatKeyframe::Create( 200 top_controls_animation_->AddKeyframe(FloatKeyframe::Create(
192 start_time + base::TimeDelta::FromMilliseconds(kShowHideMaxDurationMs), 201 start_time + base::TimeDelta::FromMilliseconds(kShowHideMaxDurationMs),
193 TopControlsShownRatio() + max_ending_ratio, 202 TopControlsShownRatio() + max_ending_ratio,
194 EaseTimingFunction::Create())); 203 EaseTimingFunction::Create()));
195 animation_direction_ = direction; 204 animation_direction_ = direction;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 } 237 }
229 return false; 238 return false;
230 } 239 }
231 240
232 void TopControlsManager::ResetBaseline() { 241 void TopControlsManager::ResetBaseline() {
233 accumulated_scroll_delta_ = 0.f; 242 accumulated_scroll_delta_ = 0.f;
234 baseline_content_offset_ = ContentTopOffset(); 243 baseline_content_offset_ = ContentTopOffset();
235 } 244 }
236 245
237 } // namespace cc 246 } // namespace cc
OLDNEW
« no previous file with comments | « cc/base/switches.cc ('k') | cc/input/top_controls_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698