OLD | NEW |
---|---|
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 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
134 client.rootScrollLayer()->scrollDelta() + remaining_scroll); | 134 client.rootScrollLayer()->scrollDelta() + remaining_scroll); |
135 | 135 |
136 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, -50.f)); | 136 remaining_scroll = manager->ScrollBy(gfx::Vector2dF(0.f, -50.f)); |
137 EXPECT_EQ(0.f, manager->controls_top_offset()); | 137 EXPECT_EQ(0.f, manager->controls_top_offset()); |
138 EXPECT_EQ(100.f, manager->content_top_offset()); | 138 EXPECT_EQ(100.f, manager->content_top_offset()); |
139 EXPECT_FALSE(manager->is_overlay_mode()); | 139 EXPECT_FALSE(manager->is_overlay_mode()); |
140 client.rootScrollLayer()->setScrollDelta( | 140 client.rootScrollLayer()->setScrollDelta( |
141 client.rootScrollLayer()->scrollDelta() + remaining_scroll); | 141 client.rootScrollLayer()->scrollDelta() + remaining_scroll); |
142 } | 142 } |
143 | 143 |
144 TEST(TopControlsManagerTest, enssureScrollThresholdApplied) { | |
jamesr
2013/01/24 22:05:29
typo "enssure" -> "ensure"
Ted C
2013/01/24 23:56:01
Done.
| |
145 MockTopControlsManagerClient client; | |
146 TopControlsManager* manager = client.manager(); | |
147 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 200)); | |
148 | |
149 manager->ScrollBegin(); | |
150 | |
151 // Scroll down to hide the controls entirely. | |
152 manager->ScrollBy(gfx::Vector2dF(0.f, 30.f)); | |
153 EXPECT_EQ(-30.f, manager->controls_top_offset()); | |
154 EXPECT_EQ(70.f, manager->content_top_offset()); | |
155 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 230)); | |
156 | |
157 manager->ScrollBy(gfx::Vector2dF(0.f, 30.f)); | |
158 EXPECT_EQ(-60.f, manager->controls_top_offset()); | |
159 EXPECT_EQ(40.f, manager->content_top_offset()); | |
160 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 260)); | |
161 | |
162 manager->ScrollBy(gfx::Vector2dF(0.f, 100.f)); | |
163 EXPECT_EQ(-100.f, manager->controls_top_offset()); | |
164 EXPECT_EQ(0.f, manager->content_top_offset()); | |
165 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 360)); | |
166 | |
167 // Scroll back up a bit and ensure the controls don't move until we cross | |
168 // the threshold. | |
169 manager->ScrollBy(gfx::Vector2dF(0.f, -10.f)); | |
170 EXPECT_EQ(-100.f, manager->controls_top_offset()); | |
171 EXPECT_EQ(0.f, manager->content_top_offset()); | |
172 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 350)); | |
173 | |
174 manager->ScrollBy(gfx::Vector2dF(0.f, -50.f)); | |
175 EXPECT_EQ(-100.f, manager->controls_top_offset()); | |
176 EXPECT_EQ(0.f, manager->content_top_offset()); | |
177 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 300)); | |
178 | |
179 // After hitting the threshold, further scrolling up should result in the top | |
180 // controls showing. | |
181 manager->ScrollBy(gfx::Vector2dF(0.f, -10.f)); | |
182 EXPECT_EQ(-90.f, manager->controls_top_offset()); | |
183 EXPECT_EQ(0.f, manager->content_top_offset()); | |
184 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 290)); | |
185 | |
186 manager->ScrollBy(gfx::Vector2dF(0.f, -50.f)); | |
187 EXPECT_EQ(-40.f, manager->controls_top_offset()); | |
188 EXPECT_EQ(0.f, manager->content_top_offset()); | |
189 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 240)); | |
190 | |
191 manager->ScrollEnd(); | |
192 } | |
193 | |
144 TEST(TopControlsManagerTest, partialShownHideAnimation) { | 194 TEST(TopControlsManagerTest, partialShownHideAnimation) { |
145 MockTopControlsManagerClient client; | 195 MockTopControlsManagerClient client; |
146 TopControlsManager* manager = client.manager(); | 196 TopControlsManager* manager = client.manager(); |
147 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 300)); | 197 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 300)); |
148 manager->ScrollBy(gfx::Vector2dF(0.f, 300.f)); | 198 manager->ScrollBy(gfx::Vector2dF(0.f, 300.f)); |
149 EXPECT_EQ(-100.f, manager->controls_top_offset()); | 199 EXPECT_EQ(-100.f, manager->controls_top_offset()); |
150 EXPECT_EQ(0.f, manager->content_top_offset()); | 200 EXPECT_EQ(0.f, manager->content_top_offset()); |
151 EXPECT_TRUE(manager->is_overlay_mode()); | 201 EXPECT_TRUE(manager->is_overlay_mode()); |
152 | 202 |
153 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 270)); | 203 client.rootScrollLayer()->setScrollOffset(gfx::Vector2d(0, 270)); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
200 previous_offset = manager->controls_top_offset(); | 250 previous_offset = manager->controls_top_offset(); |
201 } | 251 } |
202 EXPECT_FALSE(manager->animation()); | 252 EXPECT_FALSE(manager->animation()); |
203 EXPECT_EQ(0.f, manager->controls_top_offset()); | 253 EXPECT_EQ(0.f, manager->controls_top_offset()); |
204 EXPECT_EQ(0.f, manager->content_top_offset()); | 254 EXPECT_EQ(0.f, manager->content_top_offset()); |
205 EXPECT_TRUE(manager->is_overlay_mode()); | 255 EXPECT_TRUE(manager->is_overlay_mode()); |
206 } | 256 } |
207 | 257 |
208 } // namespace | 258 } // namespace |
209 } // namespace cc | 259 } // namespace cc |
OLD | NEW |