OLD | NEW |
---|---|
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
6 | 6 |
7 #include "base/memory/weak_ptr.h" | 7 #include "base/memory/weak_ptr.h" |
8 #include "cc/layers/content_layer.h" | 8 #include "cc/layers/content_layer.h" |
9 #include "cc/layers/layer.h" | 9 #include "cc/layers/layer.h" |
10 #include "cc/layers/layer_impl.h" | 10 #include "cc/layers/layer_impl.h" |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
234 EXPECT_EQ(1, num_impl_scrolls_); | 234 EXPECT_EQ(1, num_impl_scrolls_); |
235 EXPECT_EQ(1, layer_tree_host()->source_frame_number()); | 235 EXPECT_EQ(1, layer_tree_host()->source_frame_number()); |
236 EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), | 236 EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), |
237 initial_scroll_ + impl_scroll_); | 237 initial_scroll_ + impl_scroll_); |
238 EXPECT_EQ(impl_scale_, layer_tree_host()->page_scale_factor()); | 238 EXPECT_EQ(impl_scale_, layer_tree_host()->page_scale_factor()); |
239 PostSetNeedsRedrawToMainThread(); | 239 PostSetNeedsRedrawToMainThread(); |
240 break; | 240 break; |
241 case 3: | 241 case 3: |
242 // This commit will not be aborted because of the scroll change. | 242 // This commit will not be aborted because of the scroll change. |
243 EXPECT_EQ(2, num_impl_scrolls_); | 243 EXPECT_EQ(2, num_impl_scrolls_); |
244 EXPECT_EQ(1, layer_tree_host()->source_frame_number()); | 244 // The source frame number still increases even with the abort. |
enne (OOO)
2014/05/29 19:29:58
Hey look, we already had tests, and I just had to
| |
245 EXPECT_EQ(2, layer_tree_host()->source_frame_number()); | |
245 EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), | 246 EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), |
246 initial_scroll_ + impl_scroll_ + impl_scroll_); | 247 initial_scroll_ + impl_scroll_ + impl_scroll_); |
247 EXPECT_EQ(impl_scale_ * impl_scale_, | 248 EXPECT_EQ(impl_scale_ * impl_scale_, |
248 layer_tree_host()->page_scale_factor()); | 249 layer_tree_host()->page_scale_factor()); |
249 root_scroll_layer->SetScrollOffset(root_scroll_layer->scroll_offset() + | 250 root_scroll_layer->SetScrollOffset(root_scroll_layer->scroll_offset() + |
250 second_main_scroll_); | 251 second_main_scroll_); |
251 break; | 252 break; |
252 case 4: | 253 case 4: |
253 // This commit will also be aborted. | 254 // This commit will also be aborted. |
254 EXPECT_EQ(3, num_impl_scrolls_); | 255 EXPECT_EQ(3, num_impl_scrolls_); |
255 EXPECT_EQ(2, layer_tree_host()->source_frame_number()); | 256 EXPECT_EQ(3, layer_tree_host()->source_frame_number()); |
256 EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), | 257 EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), |
257 initial_scroll_ + impl_scroll_ + impl_scroll_ + | 258 initial_scroll_ + impl_scroll_ + impl_scroll_ + |
258 impl_scroll_ + second_main_scroll_); | 259 impl_scroll_ + second_main_scroll_); |
259 // End the test by drawing to verify this commit is also aborted. | 260 // End the test by drawing to verify this commit is also aborted. |
260 PostSetNeedsRedrawToMainThread(); | 261 PostSetNeedsRedrawToMainThread(); |
261 break; | 262 break; |
262 } | 263 } |
263 } | 264 } |
264 | 265 |
265 virtual void DidBeginMainFrame() OVERRIDE { num_did_begin_main_frames_++; } | 266 virtual void DidBeginMainFrame() OVERRIDE { num_did_begin_main_frames_++; } |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
304 initial_scroll_ + impl_scroll_); | 305 initial_scroll_ + impl_scroll_); |
305 | 306 |
306 EXPECT_EQ(1.f, impl->active_tree()->page_scale_delta()); | 307 EXPECT_EQ(1.f, impl->active_tree()->page_scale_delta()); |
307 EXPECT_EQ(impl_scale_, impl->active_tree()->total_page_scale_factor()); | 308 EXPECT_EQ(impl_scale_, impl->active_tree()->total_page_scale_factor()); |
308 impl->active_tree()->SetPageScaleDelta(impl_scale_); | 309 impl->active_tree()->SetPageScaleDelta(impl_scale_); |
309 EXPECT_EQ(impl_scale_, impl->active_tree()->page_scale_delta()); | 310 EXPECT_EQ(impl_scale_, impl->active_tree()->page_scale_delta()); |
310 EXPECT_EQ(impl_scale_ * impl_scale_, | 311 EXPECT_EQ(impl_scale_ * impl_scale_, |
311 impl->active_tree()->total_page_scale_factor()); | 312 impl->active_tree()->total_page_scale_factor()); |
312 | 313 |
313 impl->SetNeedsCommit(); | 314 impl->SetNeedsCommit(); |
314 } else if (impl->active_tree()->source_frame_number() == 1 && | 315 } else if (impl->active_tree()->source_frame_number() == 1) { |
316 // Commit for source frame 1 is aborted. | |
317 NOTREACHED(); | |
318 } else if (impl->active_tree()->source_frame_number() == 2 && | |
315 impl->SourceAnimationFrameNumber() == 3) { | 319 impl->SourceAnimationFrameNumber() == 3) { |
316 // Third draw after the second full commit. | 320 // Third draw after the second full commit. |
317 EXPECT_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d()); | 321 EXPECT_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d()); |
318 root_scroll_layer->ScrollBy(impl_scroll_); | 322 root_scroll_layer->ScrollBy(impl_scroll_); |
319 impl->SetNeedsCommit(); | 323 impl->SetNeedsCommit(); |
320 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), impl_scroll_); | 324 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), impl_scroll_); |
321 EXPECT_VECTOR_EQ( | 325 EXPECT_VECTOR_EQ( |
322 root_scroll_layer->scroll_offset(), | 326 root_scroll_layer->scroll_offset(), |
323 initial_scroll_ + impl_scroll_ + impl_scroll_ + second_main_scroll_); | 327 initial_scroll_ + impl_scroll_ + impl_scroll_ + second_main_scroll_); |
324 } else if (impl->active_tree()->source_frame_number() == 1 && | 328 } else if (impl->active_tree()->source_frame_number() == 2 && |
325 impl->SourceAnimationFrameNumber() == 4) { | 329 impl->SourceAnimationFrameNumber() == 4) { |
326 // Final draw after the second aborted commit. | 330 // Final draw after the second aborted commit. |
327 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d()); | 331 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d()); |
328 EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), | 332 EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), |
329 initial_scroll_ + impl_scroll_ + impl_scroll_ + | 333 initial_scroll_ + impl_scroll_ + impl_scroll_ + |
330 impl_scroll_ + second_main_scroll_); | 334 impl_scroll_ + second_main_scroll_); |
331 EndTest(); | 335 EndTest(); |
336 } else { | |
337 // Commit for source frame 3 is aborted. | |
338 NOTREACHED(); | |
332 } | 339 } |
333 } | 340 } |
334 | 341 |
335 virtual void ApplyScrollAndScale(const gfx::Vector2d& scroll_delta, | 342 virtual void ApplyScrollAndScale(const gfx::Vector2d& scroll_delta, |
336 float scale) OVERRIDE { | 343 float scale) OVERRIDE { |
337 num_impl_scrolls_++; | 344 num_impl_scrolls_++; |
338 } | 345 } |
339 | 346 |
340 virtual void AfterTest() OVERRIDE { | 347 virtual void AfterTest() OVERRIDE { |
341 EXPECT_EQ(3, num_impl_scrolls_); | 348 EXPECT_EQ(3, num_impl_scrolls_); |
(...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1228 RunTest(true, false, false); | 1235 RunTest(true, false, false); |
1229 } | 1236 } |
1230 | 1237 |
1231 TEST_F(LayerTreeHostScrollTestLayerStructureChange, ScrollDestroyWholeTree) { | 1238 TEST_F(LayerTreeHostScrollTestLayerStructureChange, ScrollDestroyWholeTree) { |
1232 scroll_destroy_whole_tree_ = true; | 1239 scroll_destroy_whole_tree_ = true; |
1233 RunTest(true, false, false); | 1240 RunTest(true, false, false); |
1234 } | 1241 } |
1235 | 1242 |
1236 } // namespace | 1243 } // namespace |
1237 } // namespace cc | 1244 } // namespace cc |
OLD | NEW |