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

Side by Side Diff: athena/home/home_card_impl.cc

Issue 498823002: Adds tests of home card state transition upon gestures. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | athena/home/home_card_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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "athena/home/public/home_card.h" 5 #include "athena/home/public/home_card.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <limits> 8 #include <limits>
9 9
10 #include "athena/common/container_priorities.h" 10 #include "athena/common/container_priorities.h"
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 } 178 }
179 break; 179 break;
180 } 180 }
181 default: 181 default:
182 // do nothing. 182 // do nothing.
183 break; 183 break;
184 } 184 }
185 } 185 }
186 186
187 private: 187 private:
188 HomeCard::State GetClosestState() { 188 HomeCard::State GetClosestState() {
oshima 2014/08/24 02:22:45 can this be const? and document this method.
Jun Mukai 2014/08/24 02:27:31 actually I have another CL https://codereview.chro
189 // The top position of the bounds for one smaller state than the current 189 // The top position of the bounds for one smaller state than the current
190 // one. 190 // one.
191 int smaller_top = -1; 191 int smaller_top = -1;
192 for (int i = HomeCard::VISIBLE_MINIMIZED; 192 for (int i = HomeCard::VISIBLE_MINIMIZED;
193 i >= HomeCard::VISIBLE_CENTERED; --i) { 193 i >= HomeCard::VISIBLE_CENTERED; --i) {
194 HomeCard::State state = static_cast<HomeCard::State>(i); 194 HomeCard::State state = static_cast<HomeCard::State>(i);
195 int top = GetBoundsForState(screen_bounds_, state).y(); 195 int top = GetBoundsForState(screen_bounds_, state).y();
196 if (last_estimated_top_ == top) { 196 if (last_estimated_top_ == top) {
197 return state; 197 return state;
198 } else if (last_estimated_top_ > top) { 198 } else if (last_estimated_top_ > top) {
199 if (smaller_top < 0) 199 if (smaller_top < 0)
200 return state; 200 return state;
201 201
202 if (smaller_top - last_estimated_top_ > (smaller_top - top) / 5) { 202 if (smaller_top - last_estimated_top_ > (smaller_top - top) / 5) {
203 return state; 203 return state;
204 } else { 204 } else {
205 return static_cast<HomeCard::State>(i + 1); 205 return static_cast<HomeCard::State>(i + 1);
206 } 206 }
207 } 207 }
208 smaller_top = top; 208 smaller_top = top;
209 } 209 }
210 210
211 NOTREACHED();
212 return last_state_; 211 return last_state_;
213 } 212 }
214 213
215 void UpdateScrollState(const ui::GestureEvent& event) { 214 void UpdateScrollState(const ui::GestureEvent& event) {
216 last_estimated_top_ = event.root_location().y() - y_offset_; 215 last_estimated_top_ = event.root_location().y() - y_offset_;
217 216
218 // The bounds which is at one smaller state than the current one. 217 // The bounds which is at one smaller state than the current one.
219 gfx::Rect smaller_bounds; 218 gfx::Rect smaller_bounds;
220 219
221 for (int i = HomeCard::VISIBLE_MINIMIZED; 220 for (int i = HomeCard::VISIBLE_MINIMIZED;
(...skipping 21 matching lines...) Expand all
243 last_state_ = static_cast<HomeCard::State>(last_state_ + 1); 242 last_state_ = static_cast<HomeCard::State>(last_state_ + 1);
244 } 243 }
245 } 244 }
246 delegate_->OnGestureProgressed(last_state_, state, progress); 245 delegate_->OnGestureProgressed(last_state_, state, progress);
247 } 246 }
248 last_state_ = state; 247 last_state_ = state;
249 return; 248 return;
250 } 249 }
251 smaller_bounds = bounds; 250 smaller_bounds = bounds;
252 } 251 }
253 NOTREACHED();
254 } 252 }
255 253
256 Delegate* delegate_; 254 Delegate* delegate_;
257 HomeCard::State last_state_; 255 HomeCard::State last_state_;
258 256
259 // The offset from the top edge of the home card and the initial position of 257 // The offset from the top edge of the home card and the initial position of
260 // gesture. 258 // gesture.
261 int y_offset_; 259 int y_offset_;
262 260
263 // The estimated top edge of the home card after the last touch event. 261 // The estimated top edge of the home card after the last touch event.
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 instance = NULL; 657 instance = NULL;
660 } 658 }
661 659
662 // static 660 // static
663 HomeCard* HomeCard::Get() { 661 HomeCard* HomeCard::Get() {
664 DCHECK(instance); 662 DCHECK(instance);
665 return instance; 663 return instance;
666 } 664 }
667 665
668 } // namespace athena 666 } // namespace athena
OLDNEW
« no previous file with comments | « no previous file | athena/home/home_card_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698