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

Side by Side Diff: cc/top_controls_manager_unittest.cc

Issue 12774006: cc: Chromify Layer and LayerImpl classes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: MoreAndroidCompilings Created 7 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 | Annotate | Revision Log
« no previous file with comments | « cc/tiled_layer_unittest.cc ('k') | cc/tree_synchronizer.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/top_controls_manager.h" 5 #include "cc/top_controls_manager.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/time.h" 8 #include "base/time.h"
9 #include "cc/layer_impl.h" 9 #include "cc/layer_impl.h"
10 #include "cc/layer_tree_impl.h" 10 #include "cc/layer_tree_impl.h"
(...skipping 11 matching lines...) Expand all
22 class MockTopControlsManagerClient : public TopControlsManagerClient { 22 class MockTopControlsManagerClient : public TopControlsManagerClient {
23 public: 23 public:
24 MockTopControlsManagerClient(float top_controls_show_threshold, 24 MockTopControlsManagerClient(float top_controls_show_threshold,
25 float top_controls_hide_threshold) 25 float top_controls_hide_threshold)
26 : host_impl_(&proxy_), 26 : host_impl_(&proxy_),
27 redraw_needed_(false), 27 redraw_needed_(false),
28 update_draw_properties_needed_(false), 28 update_draw_properties_needed_(false),
29 top_controls_show_threshold_(top_controls_show_threshold), 29 top_controls_show_threshold_(top_controls_show_threshold),
30 top_controls_hide_threshold_(top_controls_hide_threshold) { 30 top_controls_hide_threshold_(top_controls_hide_threshold) {
31 active_tree_ = LayerTreeImpl::create(&host_impl_); 31 active_tree_ = LayerTreeImpl::create(&host_impl_);
32 root_scroll_layer_ = LayerImpl::create(active_tree_.get(), 1); 32 root_scroll_layer_ = LayerImpl::Create(active_tree_.get(), 1);
33 } 33 }
34 34
35 virtual ~MockTopControlsManagerClient() {} 35 virtual ~MockTopControlsManagerClient() {}
36 36
37 virtual void setNeedsRedraw() OVERRIDE { 37 virtual void setNeedsRedraw() OVERRIDE {
38 redraw_needed_ = true; 38 redraw_needed_ = true;
39 } 39 }
40 40
41 virtual void setActiveTreeNeedsUpdateDrawProperties() OVERRIDE { 41 virtual void setActiveTreeNeedsUpdateDrawProperties() OVERRIDE {
42 update_draw_properties_needed_ = true; 42 update_draw_properties_needed_ = true;
43 } 43 }
44 44
45 virtual bool haveRootScrollLayer() const OVERRIDE { 45 virtual bool haveRootScrollLayer() const OVERRIDE {
46 return true; 46 return true;
47 } 47 }
48 48
49 virtual float rootScrollLayerTotalScrollY() const OVERRIDE { 49 virtual float rootScrollLayerTotalScrollY() const OVERRIDE {
50 return root_scroll_layer_->scrollOffset().y() + 50 return root_scroll_layer_->scroll_offset().y() +
51 root_scroll_layer_->scrollDelta().y(); 51 root_scroll_layer_->scroll_delta().y();
52 } 52 }
53 53
54 LayerImpl* rootScrollLayer() { 54 LayerImpl* rootScrollLayer() {
55 return root_scroll_layer_.get(); 55 return root_scroll_layer_.get();
56 } 56 }
57 57
58 TopControlsManager* manager() { 58 TopControlsManager* manager() {
59 if (!manager_) { 59 if (!manager_) {
60 manager_ = TopControlsManager::Create(this, 60 manager_ = TopControlsManager::Create(this,
61 kTopControlsHeight, 61 kTopControlsHeight,
(...skipping 12 matching lines...) Expand all
74 bool redraw_needed_; 74 bool redraw_needed_;
75 bool update_draw_properties_needed_; 75 bool update_draw_properties_needed_;
76 76
77 float top_controls_show_threshold_; 77 float top_controls_show_threshold_;
78 float top_controls_hide_threshold_; 78 float top_controls_hide_threshold_;
79 }; 79 };
80 80
81 TEST(TopControlsManagerTest, overlayModeDetection) { 81 TEST(TopControlsManagerTest, overlayModeDetection) {
82 MockTopControlsManagerClient client(0.5f, 0.5f); 82 MockTopControlsManagerClient client(0.5f, 0.5f);
83 TopControlsManager* manager = client.manager(); 83 TopControlsManager* manager = client.manager();
84 client.rootScrollLayer()->setScrollDelta(gfx::Vector2dF(0.f, 0.f)); 84 client.rootScrollLayer()->SetScrollDelta(gfx::Vector2dF(0.f, 0.f));
85 85
86 manager->ScrollBegin(); 86 manager->ScrollBegin();
87 87
88 gfx::Vector2dF remaining_scroll = manager->ScrollBy( 88 gfx::Vector2dF remaining_scroll = manager->ScrollBy(
89 gfx::Vector2dF(0.f, 30.f)); 89 gfx::Vector2dF(0.f, 30.f));
90 EXPECT_EQ(0.f, remaining_scroll.y()); 90 EXPECT_EQ(0.f, remaining_scroll.y());
91 EXPECT_EQ(-30.f, manager->controls_top_offset()); 91 EXPECT_EQ(-30.f, manager->controls_top_offset());
92 EXPECT_EQ(70.f, manager->content_top_offset()); 92 EXPECT_EQ(70.f, manager->content_top_offset());
93 client.rootScrollLayer()->setScrollDelta( 93 client.rootScrollLayer()->SetScrollDelta(
94 client.rootScrollLayer()->scrollDelta() + remaining_scroll); 94 client.rootScrollLayer()->scroll_delta() + remaining_scroll);
95 95
96 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, 69.f)); 96 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, 69.f));
97 EXPECT_EQ(0.f, remaining_scroll.y()); 97 EXPECT_EQ(0.f, remaining_scroll.y());
98 EXPECT_EQ(-99.f, manager->controls_top_offset()); 98 EXPECT_EQ(-99.f, manager->controls_top_offset());
99 EXPECT_EQ(1.f, manager->content_top_offset()); 99 EXPECT_EQ(1.f, manager->content_top_offset());
100 client.rootScrollLayer()->setScrollDelta( 100 client.rootScrollLayer()->SetScrollDelta(
101 client.rootScrollLayer()->scrollDelta() + remaining_scroll); 101 client.rootScrollLayer()->scroll_delta() + remaining_scroll);
102 102
103 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, -20.f)); 103 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, -20.f));
104 EXPECT_EQ(0.f, remaining_scroll.y()); 104 EXPECT_EQ(0.f, remaining_scroll.y());
105 EXPECT_EQ(-79.f, manager->controls_top_offset()); 105 EXPECT_EQ(-79.f, manager->controls_top_offset());
106 EXPECT_EQ(21.f, manager->content_top_offset()); 106 EXPECT_EQ(21.f, manager->content_top_offset());
107 client.rootScrollLayer()->setScrollDelta( 107 client.rootScrollLayer()->SetScrollDelta(
108 client.rootScrollLayer()->scrollDelta() + remaining_scroll); 108 client.rootScrollLayer()->scroll_delta() + remaining_scroll);
109 109
110 // Scroll to the toggle point 110 // Scroll to the toggle point
111 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, 21.f)); 111 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, 21.f));
112 EXPECT_EQ(0.f, remaining_scroll.y()); 112 EXPECT_EQ(0.f, remaining_scroll.y());
113 EXPECT_EQ(-100.f, manager->controls_top_offset()); 113 EXPECT_EQ(-100.f, manager->controls_top_offset());
114 EXPECT_EQ(0.f, manager->content_top_offset()); 114 EXPECT_EQ(0.f, manager->content_top_offset());
115 client.rootScrollLayer()->setScrollDelta( 115 client.rootScrollLayer()->SetScrollDelta(
116 client.rootScrollLayer()->scrollDelta() + remaining_scroll); 116 client.rootScrollLayer()->scroll_delta() + remaining_scroll);
117 117
118 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, 1.f)); 118 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, 1.f));
119 EXPECT_EQ(1.f, remaining_scroll.y()); 119 EXPECT_EQ(1.f, remaining_scroll.y());
120 EXPECT_EQ(-100.f, manager->controls_top_offset()); 120 EXPECT_EQ(-100.f, manager->controls_top_offset());
121 EXPECT_EQ(0.f, manager->content_top_offset()); 121 EXPECT_EQ(0.f, manager->content_top_offset());
122 client.rootScrollLayer()->setScrollDelta( 122 client.rootScrollLayer()->SetScrollDelta(
123 client.rootScrollLayer()->scrollDelta() + remaining_scroll); 123 client.rootScrollLayer()->scroll_delta() + remaining_scroll);
124 124
125 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, -1.f)); 125 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, -1.f));
126 EXPECT_EQ(-1.f, remaining_scroll.y()); 126 EXPECT_EQ(-1.f, remaining_scroll.y());
127 EXPECT_EQ(-99.f, manager->controls_top_offset()); 127 EXPECT_EQ(-99.f, manager->controls_top_offset());
128 EXPECT_EQ(0.f, manager->content_top_offset()); 128 EXPECT_EQ(0.f, manager->content_top_offset());
129 client.rootScrollLayer()->setScrollDelta( 129 client.rootScrollLayer()->SetScrollDelta(
130 client.rootScrollLayer()->scrollDelta() + remaining_scroll); 130 client.rootScrollLayer()->scroll_delta() + remaining_scroll);
131 131
132 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, -50.f)); 132 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, -50.f));
133 EXPECT_EQ(0.f, remaining_scroll.y()); 133 EXPECT_EQ(0.f, remaining_scroll.y());
134 EXPECT_EQ(-49.f, manager->controls_top_offset()); 134 EXPECT_EQ(-49.f, manager->controls_top_offset());
135 EXPECT_EQ(50.f, manager->content_top_offset()); 135 EXPECT_EQ(50.f, manager->content_top_offset());
136 client.rootScrollLayer()->setScrollDelta( 136 client.rootScrollLayer()->SetScrollDelta(
137 client.rootScrollLayer()->scrollDelta() + remaining_scroll); 137 client.rootScrollLayer()->scroll_delta() + remaining_scroll);
138 138
139 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, -50.f)); 139 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, -50.f));
140 EXPECT_EQ(0.f, manager->controls_top_offset()); 140 EXPECT_EQ(0.f, manager->controls_top_offset());
141 EXPECT_EQ(100.f, manager->content_top_offset()); 141 EXPECT_EQ(100.f, manager->content_top_offset());
142 client.rootScrollLayer()->setScrollDelta( 142 client.rootScrollLayer()->SetScrollDelta(
143 client.rootScrollLayer()->scrollDelta() + remaining_scroll); 143 client.rootScrollLayer()->scroll_delta() + remaining_scroll);
144 } 144 }
145 145
146 TEST(TopControlsManagerTest, ensureScrollThresholdApplied) { 146 TEST(TopControlsManagerTest, ensureScrollThresholdApplied) {
147 MockTopControlsManagerClient client(0.5f, 0.5f); 147 MockTopControlsManagerClient client(0.5f, 0.5f);
148 TopControlsManager* manager = client.manager(); 148 TopControlsManager* manager = client.manager();
149 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 200)); 149 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 200));
150 150
151 manager->ScrollBegin(); 151 manager->ScrollBegin();
152 152
153 // Scroll down to hide the controls entirely. 153 // Scroll down to hide the controls entirely.
154 manager->ScrollBy(gfx::Vector2dF(0.f, 30.f)); 154 manager->ScrollBy(gfx::Vector2dF(0.f, 30.f));
155 EXPECT_EQ(-30.f, manager->controls_top_offset()); 155 EXPECT_EQ(-30.f, manager->controls_top_offset());
156 EXPECT_EQ(70.f, manager->content_top_offset()); 156 EXPECT_EQ(70.f, manager->content_top_offset());
157 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 230)); 157 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 230));
158 158
159 manager->ScrollBy(gfx::Vector2dF(0.f, 30.f)); 159 manager->ScrollBy(gfx::Vector2dF(0.f, 30.f));
160 EXPECT_EQ(-60.f, manager->controls_top_offset()); 160 EXPECT_EQ(-60.f, manager->controls_top_offset());
161 EXPECT_EQ(40.f, manager->content_top_offset()); 161 EXPECT_EQ(40.f, manager->content_top_offset());
162 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 260)); 162 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 260));
163 163
164 manager->ScrollBy(gfx::Vector2dF(0.f, 100.f)); 164 manager->ScrollBy(gfx::Vector2dF(0.f, 100.f));
165 EXPECT_EQ(-100.f, manager->controls_top_offset()); 165 EXPECT_EQ(-100.f, manager->controls_top_offset());
166 EXPECT_EQ(0.f, manager->content_top_offset()); 166 EXPECT_EQ(0.f, manager->content_top_offset());
167 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 360)); 167 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 360));
168 168
169 // Scroll back up a bit and ensure the controls don't move until we cross 169 // Scroll back up a bit and ensure the controls don't move until we cross
170 // the threshold. 170 // the threshold.
171 manager->ScrollBy(gfx::Vector2dF(0.f, -10.f)); 171 manager->ScrollBy(gfx::Vector2dF(0.f, -10.f));
172 EXPECT_EQ(-100.f, manager->controls_top_offset()); 172 EXPECT_EQ(-100.f, manager->controls_top_offset());
173 EXPECT_EQ(0.f, manager->content_top_offset()); 173 EXPECT_EQ(0.f, manager->content_top_offset());
174 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 350)); 174 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 350));
175 175
176 manager->ScrollBy(gfx::Vector2dF(0.f, -50.f)); 176 manager->ScrollBy(gfx::Vector2dF(0.f, -50.f));
177 EXPECT_EQ(-100.f, manager->controls_top_offset()); 177 EXPECT_EQ(-100.f, manager->controls_top_offset());
178 EXPECT_EQ(0.f, manager->content_top_offset()); 178 EXPECT_EQ(0.f, manager->content_top_offset());
179 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 300)); 179 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 300));
180 180
181 // After hitting the threshold, further scrolling up should result in the top 181 // After hitting the threshold, further scrolling up should result in the top
182 // controls showing. 182 // controls showing.
183 manager->ScrollBy(gfx::Vector2dF(0.f, -10.f)); 183 manager->ScrollBy(gfx::Vector2dF(0.f, -10.f));
184 EXPECT_EQ(-90.f, manager->controls_top_offset()); 184 EXPECT_EQ(-90.f, manager->controls_top_offset());
185 EXPECT_EQ(0.f, manager->content_top_offset()); 185 EXPECT_EQ(0.f, manager->content_top_offset());
186 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 290)); 186 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 290));
187 187
188 manager->ScrollBy(gfx::Vector2dF(0.f, -50.f)); 188 manager->ScrollBy(gfx::Vector2dF(0.f, -50.f));
189 EXPECT_EQ(-40.f, manager->controls_top_offset()); 189 EXPECT_EQ(-40.f, manager->controls_top_offset());
190 EXPECT_EQ(0.f, manager->content_top_offset()); 190 EXPECT_EQ(0.f, manager->content_top_offset());
191 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 240)); 191 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 240));
192 192
193 // Reset the scroll threshold by going further up the page than the initial 193 // Reset the scroll threshold by going further up the page than the initial
194 // threshold. 194 // threshold.
195 manager->ScrollBy(gfx::Vector2dF(0.f, -100.f)); 195 manager->ScrollBy(gfx::Vector2dF(0.f, -100.f));
196 EXPECT_EQ(0.f, manager->controls_top_offset()); 196 EXPECT_EQ(0.f, manager->controls_top_offset());
197 EXPECT_EQ(0.f, manager->content_top_offset()); 197 EXPECT_EQ(0.f, manager->content_top_offset());
198 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 140)); 198 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 140));
199 199
200 // See that scrolling down the page now will result in the controls hiding. 200 // See that scrolling down the page now will result in the controls hiding.
201 manager->ScrollBy(gfx::Vector2dF(0.f, 20.f)); 201 manager->ScrollBy(gfx::Vector2dF(0.f, 20.f));
202 EXPECT_EQ(-20.f, manager->controls_top_offset()); 202 EXPECT_EQ(-20.f, manager->controls_top_offset());
203 EXPECT_EQ(0.f, manager->content_top_offset()); 203 EXPECT_EQ(0.f, manager->content_top_offset());
204 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 160)); 204 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 160));
205 205
206 manager->ScrollEnd(); 206 manager->ScrollEnd();
207 } 207 }
208 208
209 TEST(TopControlsManagerTest, partialShownHideAnimation) { 209 TEST(TopControlsManagerTest, partialShownHideAnimation) {
210 MockTopControlsManagerClient client(0.5f, 0.5f); 210 MockTopControlsManagerClient client(0.5f, 0.5f);
211 TopControlsManager* manager = client.manager(); 211 TopControlsManager* manager = client.manager();
212 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 300)); 212 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 300));
213 manager->ScrollBy(gfx::Vector2dF(0.f, 300.f)); 213 manager->ScrollBy(gfx::Vector2dF(0.f, 300.f));
214 EXPECT_EQ(-100.f, manager->controls_top_offset()); 214 EXPECT_EQ(-100.f, manager->controls_top_offset());
215 EXPECT_EQ(0.f, manager->content_top_offset()); 215 EXPECT_EQ(0.f, manager->content_top_offset());
216 216
217 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 270)); 217 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 270));
218 manager->ScrollBy(gfx::Vector2dF(0.f, -15.f)); 218 manager->ScrollBy(gfx::Vector2dF(0.f, -15.f));
219 EXPECT_EQ(-85.f, manager->controls_top_offset()); 219 EXPECT_EQ(-85.f, manager->controls_top_offset());
220 EXPECT_EQ(0.f, manager->content_top_offset()); 220 EXPECT_EQ(0.f, manager->content_top_offset());
221 221
222 manager->ScrollEnd(); 222 manager->ScrollEnd();
223 EXPECT_TRUE(manager->animation()); 223 EXPECT_TRUE(manager->animation());
224 224
225 base::TimeTicks time = base::TimeTicks::Now(); 225 base::TimeTicks time = base::TimeTicks::Now();
226 float previous_offset = manager->controls_top_offset(); 226 float previous_offset = manager->controls_top_offset();
227 while(manager->animation()) { 227 while(manager->animation()) {
228 time = base::TimeDelta::FromMicroseconds(100) + time; 228 time = base::TimeDelta::FromMicroseconds(100) + time;
229 manager->Animate(time); 229 manager->Animate(time);
230 EXPECT_LT(manager->controls_top_offset(), previous_offset); 230 EXPECT_LT(manager->controls_top_offset(), previous_offset);
231 previous_offset = manager->controls_top_offset(); 231 previous_offset = manager->controls_top_offset();
232 } 232 }
233 EXPECT_FALSE(manager->animation()); 233 EXPECT_FALSE(manager->animation());
234 EXPECT_EQ(-100.f, manager->controls_top_offset()); 234 EXPECT_EQ(-100.f, manager->controls_top_offset());
235 EXPECT_EQ(0.f, manager->content_top_offset()); 235 EXPECT_EQ(0.f, manager->content_top_offset());
236 } 236 }
237 237
238 TEST(TopControlsManagerTest, partialShownShowAnimation) { 238 TEST(TopControlsManagerTest, partialShownShowAnimation) {
239 MockTopControlsManagerClient client(0.5f, 0.5f); 239 MockTopControlsManagerClient client(0.5f, 0.5f);
240 TopControlsManager* manager = client.manager(); 240 TopControlsManager* manager = client.manager();
241 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 300)); 241 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 300));
242 manager->ScrollBy(gfx::Vector2dF(0.f, 300.f)); 242 manager->ScrollBy(gfx::Vector2dF(0.f, 300.f));
243 EXPECT_EQ(-100.f, manager->controls_top_offset()); 243 EXPECT_EQ(-100.f, manager->controls_top_offset());
244 EXPECT_EQ(0.f, manager->content_top_offset()); 244 EXPECT_EQ(0.f, manager->content_top_offset());
245 245
246 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 230)); 246 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 230));
247 manager->ScrollBy(gfx::Vector2dF(0.f, -70.f)); 247 manager->ScrollBy(gfx::Vector2dF(0.f, -70.f));
248 EXPECT_EQ(-30.f, manager->controls_top_offset()); 248 EXPECT_EQ(-30.f, manager->controls_top_offset());
249 EXPECT_EQ(0.f, manager->content_top_offset()); 249 EXPECT_EQ(0.f, manager->content_top_offset());
250 250
251 manager->ScrollEnd(); 251 manager->ScrollEnd();
252 EXPECT_TRUE(manager->animation()); 252 EXPECT_TRUE(manager->animation());
253 253
254 base::TimeTicks time = base::TimeTicks::Now(); 254 base::TimeTicks time = base::TimeTicks::Now();
255 float previous_offset = manager->controls_top_offset(); 255 float previous_offset = manager->controls_top_offset();
256 while(manager->animation()) { 256 while(manager->animation()) {
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 previous_offset = manager->controls_top_offset(); 312 previous_offset = manager->controls_top_offset();
313 } 313 }
314 EXPECT_FALSE(manager->animation()); 314 EXPECT_FALSE(manager->animation());
315 EXPECT_EQ(-100.f, manager->controls_top_offset()); 315 EXPECT_EQ(-100.f, manager->controls_top_offset());
316 EXPECT_EQ(0.f, manager->content_top_offset()); 316 EXPECT_EQ(0.f, manager->content_top_offset());
317 } 317 }
318 318
319 TEST(TopControlsManagerTest, partialShownWithAmbiguousThresholdHides) { 319 TEST(TopControlsManagerTest, partialShownWithAmbiguousThresholdHides) {
320 MockTopControlsManagerClient client(0.25f, 0.25f); 320 MockTopControlsManagerClient client(0.25f, 0.25f);
321 TopControlsManager* manager = client.manager(); 321 TopControlsManager* manager = client.manager();
322 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 300)); 322 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 300));
323 323
324 manager->ScrollBy(gfx::Vector2dF(0.f, 200.f)); 324 manager->ScrollBy(gfx::Vector2dF(0.f, 200.f));
325 EXPECT_EQ(-100.f, manager->controls_top_offset()); 325 EXPECT_EQ(-100.f, manager->controls_top_offset());
326 EXPECT_EQ(0.f, manager->content_top_offset()); 326 EXPECT_EQ(0.f, manager->content_top_offset());
327 327
328 manager->ScrollBegin(); 328 manager->ScrollBegin();
329 329
330 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 180)); 330 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 180));
331 manager->ScrollBy(gfx::Vector2dF(0.f, -20.f)); 331 manager->ScrollBy(gfx::Vector2dF(0.f, -20.f));
332 EXPECT_EQ(-80.f, manager->controls_top_offset()); 332 EXPECT_EQ(-80.f, manager->controls_top_offset());
333 EXPECT_EQ(0.f, manager->content_top_offset()); 333 EXPECT_EQ(0.f, manager->content_top_offset());
334 334
335 manager->ScrollEnd(); 335 manager->ScrollEnd();
336 EXPECT_TRUE(manager->animation()); 336 EXPECT_TRUE(manager->animation());
337 337
338 base::TimeTicks time = base::TimeTicks::Now(); 338 base::TimeTicks time = base::TimeTicks::Now();
339 float previous_offset = manager->controls_top_offset(); 339 float previous_offset = manager->controls_top_offset();
340 while(manager->animation()) { 340 while(manager->animation()) {
341 time = base::TimeDelta::FromMicroseconds(100) + time; 341 time = base::TimeDelta::FromMicroseconds(100) + time;
342 manager->Animate(time); 342 manager->Animate(time);
343 EXPECT_LT(manager->controls_top_offset(), previous_offset); 343 EXPECT_LT(manager->controls_top_offset(), previous_offset);
344 previous_offset = manager->controls_top_offset(); 344 previous_offset = manager->controls_top_offset();
345 } 345 }
346 EXPECT_FALSE(manager->animation()); 346 EXPECT_FALSE(manager->animation());
347 EXPECT_EQ(-100.f, manager->controls_top_offset()); 347 EXPECT_EQ(-100.f, manager->controls_top_offset());
348 EXPECT_EQ(0.f, manager->content_top_offset()); 348 EXPECT_EQ(0.f, manager->content_top_offset());
349 } 349 }
350 350
351 TEST(TopControlsManagerTest, partialShownWithAmbiguousThresholdShows) { 351 TEST(TopControlsManagerTest, partialShownWithAmbiguousThresholdShows) {
352 MockTopControlsManagerClient client(0.25f, 0.25f); 352 MockTopControlsManagerClient client(0.25f, 0.25f);
353 TopControlsManager* manager = client.manager(); 353 TopControlsManager* manager = client.manager();
354 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 300)); 354 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 300));
355 355
356 manager->ScrollBy(gfx::Vector2dF(0.f, 200.f)); 356 manager->ScrollBy(gfx::Vector2dF(0.f, 200.f));
357 EXPECT_EQ(-100.f, manager->controls_top_offset()); 357 EXPECT_EQ(-100.f, manager->controls_top_offset());
358 EXPECT_EQ(0.f, manager->content_top_offset()); 358 EXPECT_EQ(0.f, manager->content_top_offset());
359 359
360 manager->ScrollBegin(); 360 manager->ScrollBegin();
361 361
362 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 70)); 362 client.rootScrollLayer()->SetScrollOffset(gfx::Vector2d(0, 70));
363 manager->ScrollBy(gfx::Vector2dF(0.f, -30.f)); 363 manager->ScrollBy(gfx::Vector2dF(0.f, -30.f));
364 EXPECT_EQ(-70.f, manager->controls_top_offset()); 364 EXPECT_EQ(-70.f, manager->controls_top_offset());
365 EXPECT_EQ(0.f, manager->content_top_offset()); 365 EXPECT_EQ(0.f, manager->content_top_offset());
366 366
367 manager->ScrollEnd(); 367 manager->ScrollEnd();
368 EXPECT_TRUE(manager->animation()); 368 EXPECT_TRUE(manager->animation());
369 369
370 base::TimeTicks time = base::TimeTicks::Now(); 370 base::TimeTicks time = base::TimeTicks::Now();
371 float previous_offset = manager->controls_top_offset(); 371 float previous_offset = manager->controls_top_offset();
372 while(manager->animation()) { 372 while(manager->animation()) {
373 time = base::TimeDelta::FromMicroseconds(100) + time; 373 time = base::TimeDelta::FromMicroseconds(100) + time;
374 manager->Animate(time); 374 manager->Animate(time);
375 EXPECT_GT(manager->controls_top_offset(), previous_offset); 375 EXPECT_GT(manager->controls_top_offset(), previous_offset);
376 previous_offset = manager->controls_top_offset(); 376 previous_offset = manager->controls_top_offset();
377 } 377 }
378 EXPECT_FALSE(manager->animation()); 378 EXPECT_FALSE(manager->animation());
379 EXPECT_EQ(0.f, manager->controls_top_offset()); 379 EXPECT_EQ(0.f, manager->controls_top_offset());
380 EXPECT_EQ(0.f, manager->content_top_offset()); 380 EXPECT_EQ(0.f, manager->content_top_offset());
381 } 381 }
382 382
383 } // namespace 383 } // namespace
384 } // namespace cc 384 } // namespace cc
OLDNEW
« no previous file with comments | « cc/tiled_layer_unittest.cc ('k') | cc/tree_synchronizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698