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/location.h" | 7 #include "base/location.h" |
8 #include "base/memory/weak_ptr.h" | 8 #include "base/memory/weak_ptr.h" |
9 #include "base/single_thread_task_runner.h" | 9 #include "base/single_thread_task_runner.h" |
10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 layer_tree()->outer_viewport_scroll_layer()->SetScrollOffset( | 96 layer_tree()->outer_viewport_scroll_layer()->SetScrollOffset( |
97 initial_scroll_); | 97 initial_scroll_); |
98 layer_tree()->outer_viewport_scroll_layer()->set_did_scroll_callback( | 98 layer_tree()->outer_viewport_scroll_layer()->set_did_scroll_callback( |
99 base::Bind(&LayerTreeHostScrollTestScrollSimple::DidScrollOuterViewport, | 99 base::Bind(&LayerTreeHostScrollTestScrollSimple::DidScrollOuterViewport, |
100 base::Unretained(this))); | 100 base::Unretained(this))); |
101 PostSetNeedsCommitToMainThread(); | 101 PostSetNeedsCommitToMainThread(); |
102 } | 102 } |
103 | 103 |
104 void UpdateLayerTreeHost() override { | 104 void UpdateLayerTreeHost() override { |
105 Layer* scroll_layer = layer_tree()->outer_viewport_scroll_layer(); | 105 Layer* scroll_layer = layer_tree()->outer_viewport_scroll_layer(); |
106 if (!layer_tree_host()->source_frame_number()) { | 106 if (!layer_tree_host()->SourceFrameNumber()) { |
107 EXPECT_VECTOR_EQ(initial_scroll_, scroll_layer->scroll_offset()); | 107 EXPECT_VECTOR_EQ(initial_scroll_, scroll_layer->scroll_offset()); |
108 } else { | 108 } else { |
109 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(initial_scroll_, | 109 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(initial_scroll_, |
110 scroll_amount_), | 110 scroll_amount_), |
111 scroll_layer->scroll_offset()); | 111 scroll_layer->scroll_offset()); |
112 | 112 |
113 // Pretend like Javascript updated the scroll position itself. | 113 // Pretend like Javascript updated the scroll position itself. |
114 scroll_layer->SetScrollOffset(second_scroll_); | 114 scroll_layer->SetScrollOffset(second_scroll_); |
115 } | 115 } |
116 } | 116 } |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 void BeginTest() override { | 166 void BeginTest() override { |
167 scroll_layer_ = layer_tree()->outer_viewport_scroll_layer(); | 167 scroll_layer_ = layer_tree()->outer_viewport_scroll_layer(); |
168 scroll_layer_->SetScrollOffset(initial_scroll_); | 168 scroll_layer_->SetScrollOffset(initial_scroll_); |
169 scroll_layer_->set_did_scroll_callback(base::Bind( | 169 scroll_layer_->set_did_scroll_callback(base::Bind( |
170 &LayerTreeHostScrollTestScrollMultipleRedraw::DidScrollOuterViewport, | 170 &LayerTreeHostScrollTestScrollMultipleRedraw::DidScrollOuterViewport, |
171 base::Unretained(this))); | 171 base::Unretained(this))); |
172 PostSetNeedsCommitToMainThread(); | 172 PostSetNeedsCommitToMainThread(); |
173 } | 173 } |
174 | 174 |
175 void BeginCommitOnThread(LayerTreeHostImpl* impl) override { | 175 void BeginCommitOnThread(LayerTreeHostImpl* impl) override { |
176 switch (layer_tree_host()->source_frame_number()) { | 176 switch (layer_tree_host()->SourceFrameNumber()) { |
177 case 0: | 177 case 0: |
178 EXPECT_VECTOR_EQ(initial_scroll_, scroll_layer_->scroll_offset()); | 178 EXPECT_VECTOR_EQ(initial_scroll_, scroll_layer_->scroll_offset()); |
179 break; | 179 break; |
180 case 1: | 180 case 1: |
181 EXPECT_VECTOR_EQ( | 181 EXPECT_VECTOR_EQ( |
182 gfx::ScrollOffsetWithDelta(initial_scroll_, | 182 gfx::ScrollOffsetWithDelta(initial_scroll_, |
183 scroll_amount_ + scroll_amount_), | 183 scroll_amount_ + scroll_amount_), |
184 scroll_layer_->scroll_offset()); | 184 scroll_layer_->scroll_offset()); |
185 case 2: | 185 case 2: |
186 EXPECT_VECTOR_EQ( | 186 EXPECT_VECTOR_EQ( |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 layer_tree()->SetPageScaleFactorAndLimits(1.f, 0.01f, 100.f); | 272 layer_tree()->SetPageScaleFactorAndLimits(1.f, 0.01f, 100.f); |
273 } | 273 } |
274 | 274 |
275 void WillBeginMainFrame() override { | 275 void WillBeginMainFrame() override { |
276 num_will_begin_main_frames_++; | 276 num_will_begin_main_frames_++; |
277 Layer* root_scroll_layer = layer_tree()->outer_viewport_scroll_layer(); | 277 Layer* root_scroll_layer = layer_tree()->outer_viewport_scroll_layer(); |
278 switch (num_will_begin_main_frames_) { | 278 switch (num_will_begin_main_frames_) { |
279 case 1: | 279 case 1: |
280 // This will not be aborted because of the initial prop changes. | 280 // This will not be aborted because of the initial prop changes. |
281 EXPECT_EQ(0, num_impl_scrolls_); | 281 EXPECT_EQ(0, num_impl_scrolls_); |
282 EXPECT_EQ(0, layer_tree_host()->source_frame_number()); | 282 EXPECT_EQ(0, layer_tree_host()->SourceFrameNumber()); |
283 EXPECT_VECTOR_EQ(initial_scroll_, root_scroll_layer->scroll_offset()); | 283 EXPECT_VECTOR_EQ(initial_scroll_, root_scroll_layer->scroll_offset()); |
284 EXPECT_EQ(1.f, layer_tree()->page_scale_factor()); | 284 EXPECT_EQ(1.f, layer_tree()->page_scale_factor()); |
285 break; | 285 break; |
286 case 2: | 286 case 2: |
287 // This commit will be aborted, and another commit will be | 287 // This commit will be aborted, and another commit will be |
288 // initiated from the redraw. | 288 // initiated from the redraw. |
289 EXPECT_EQ(1, num_impl_scrolls_); | 289 EXPECT_EQ(1, num_impl_scrolls_); |
290 EXPECT_EQ(1, layer_tree_host()->source_frame_number()); | 290 EXPECT_EQ(1, layer_tree_host()->SourceFrameNumber()); |
291 EXPECT_VECTOR_EQ( | 291 EXPECT_VECTOR_EQ( |
292 gfx::ScrollOffsetWithDelta(initial_scroll_, impl_scroll_), | 292 gfx::ScrollOffsetWithDelta(initial_scroll_, impl_scroll_), |
293 root_scroll_layer->scroll_offset()); | 293 root_scroll_layer->scroll_offset()); |
294 EXPECT_EQ(impl_scale_, layer_tree()->page_scale_factor()); | 294 EXPECT_EQ(impl_scale_, layer_tree()->page_scale_factor()); |
295 PostSetNeedsRedrawToMainThread(); | 295 PostSetNeedsRedrawToMainThread(); |
296 break; | 296 break; |
297 case 3: | 297 case 3: |
298 // This commit will not be aborted because of the scroll change. | 298 // This commit will not be aborted because of the scroll change. |
299 EXPECT_EQ(2, num_impl_scrolls_); | 299 EXPECT_EQ(2, num_impl_scrolls_); |
300 // The source frame number still increases even with the abort. | 300 // The source frame number still increases even with the abort. |
301 EXPECT_EQ(2, layer_tree_host()->source_frame_number()); | 301 EXPECT_EQ(2, layer_tree_host()->SourceFrameNumber()); |
302 EXPECT_VECTOR_EQ( | 302 EXPECT_VECTOR_EQ( |
303 gfx::ScrollOffsetWithDelta(initial_scroll_, | 303 gfx::ScrollOffsetWithDelta(initial_scroll_, |
304 impl_scroll_ + impl_scroll_), | 304 impl_scroll_ + impl_scroll_), |
305 root_scroll_layer->scroll_offset()); | 305 root_scroll_layer->scroll_offset()); |
306 EXPECT_EQ(impl_scale_ * impl_scale_, layer_tree()->page_scale_factor()); | 306 EXPECT_EQ(impl_scale_ * impl_scale_, layer_tree()->page_scale_factor()); |
307 root_scroll_layer->SetScrollOffset(gfx::ScrollOffsetWithDelta( | 307 root_scroll_layer->SetScrollOffset(gfx::ScrollOffsetWithDelta( |
308 root_scroll_layer->scroll_offset(), second_main_scroll_)); | 308 root_scroll_layer->scroll_offset(), second_main_scroll_)); |
309 break; | 309 break; |
310 case 4: | 310 case 4: |
311 // This commit will also be aborted. | 311 // This commit will also be aborted. |
312 EXPECT_EQ(3, num_impl_scrolls_); | 312 EXPECT_EQ(3, num_impl_scrolls_); |
313 EXPECT_EQ(3, layer_tree_host()->source_frame_number()); | 313 EXPECT_EQ(3, layer_tree_host()->SourceFrameNumber()); |
314 gfx::Vector2dF delta = | 314 gfx::Vector2dF delta = |
315 impl_scroll_ + impl_scroll_ + impl_scroll_ + second_main_scroll_; | 315 impl_scroll_ + impl_scroll_ + impl_scroll_ + second_main_scroll_; |
316 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(initial_scroll_, delta), | 316 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(initial_scroll_, delta), |
317 root_scroll_layer->scroll_offset()); | 317 root_scroll_layer->scroll_offset()); |
318 | 318 |
319 // End the test by drawing to verify this commit is also aborted. | 319 // End the test by drawing to verify this commit is also aborted. |
320 PostSetNeedsRedrawToMainThread(); | 320 PostSetNeedsRedrawToMainThread(); |
321 break; | 321 break; |
322 } | 322 } |
323 } | 323 } |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
612 base::Bind( | 612 base::Bind( |
613 &LayerTreeHostScrollTestCaseWithChild::DidScrollOuterViewport, | 613 &LayerTreeHostScrollTestCaseWithChild::DidScrollOuterViewport, |
614 base::Unretained(this))); | 614 base::Unretained(this))); |
615 } | 615 } |
616 | 616 |
617 void BeginTest() override { PostSetNeedsCommitToMainThread(); } | 617 void BeginTest() override { PostSetNeedsCommitToMainThread(); } |
618 | 618 |
619 void WillCommit() override { | 619 void WillCommit() override { |
620 // Keep the test committing (otherwise the early out for no update | 620 // Keep the test committing (otherwise the early out for no update |
621 // will stall the test). | 621 // will stall the test). |
622 if (layer_tree_host()->source_frame_number() < 2) { | 622 if (layer_tree_host()->SourceFrameNumber() < 2) { |
623 layer_tree_host()->SetNeedsCommit(); | 623 layer_tree_host()->SetNeedsCommit(); |
624 } | 624 } |
625 } | 625 } |
626 | 626 |
627 void DidScroll() { | 627 void DidScroll() { |
628 final_scroll_offset_ = expected_scroll_layer_->scroll_offset(); | 628 final_scroll_offset_ = expected_scroll_layer_->scroll_offset(); |
629 } | 629 } |
630 | 630 |
631 void DidScrollOuterViewport() { num_scrolls_++; } | 631 void DidScrollOuterViewport() { num_scrolls_++; } |
632 | 632 |
633 void UpdateLayerTreeHost() override { | 633 void UpdateLayerTreeHost() override { |
634 EXPECT_VECTOR_EQ(gfx::Vector2d(), | 634 EXPECT_VECTOR_EQ(gfx::Vector2d(), |
635 expected_no_scroll_layer_->scroll_offset()); | 635 expected_no_scroll_layer_->scroll_offset()); |
636 | 636 |
637 switch (layer_tree_host()->source_frame_number()) { | 637 switch (layer_tree_host()->SourceFrameNumber()) { |
638 case 0: | 638 case 0: |
639 EXPECT_VECTOR_EQ(initial_offset_, | 639 EXPECT_VECTOR_EQ(initial_offset_, |
640 expected_scroll_layer_->scroll_offset()); | 640 expected_scroll_layer_->scroll_offset()); |
641 break; | 641 break; |
642 case 1: | 642 case 1: |
643 EXPECT_VECTOR_EQ( | 643 EXPECT_VECTOR_EQ( |
644 gfx::ScrollOffsetWithDelta(initial_offset_, scroll_amount_), | 644 gfx::ScrollOffsetWithDelta(initial_offset_, scroll_amount_), |
645 expected_scroll_layer_->scroll_offset()); | 645 expected_scroll_layer_->scroll_offset()); |
646 | 646 |
647 // Pretend like Javascript updated the scroll position itself. | 647 // Pretend like Javascript updated the scroll position itself. |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
829 layer_tree()->outer_viewport_scroll_layer()->SetScrollOffset( | 829 layer_tree()->outer_viewport_scroll_layer()->SetScrollOffset( |
830 initial_scroll_); | 830 initial_scroll_); |
831 layer_tree()->outer_viewport_scroll_layer()->set_did_scroll_callback( | 831 layer_tree()->outer_viewport_scroll_layer()->set_did_scroll_callback( |
832 base::Bind(&LayerTreeHostScrollTestSimple::DidScrollOuterViewport, | 832 base::Bind(&LayerTreeHostScrollTestSimple::DidScrollOuterViewport, |
833 base::Unretained(this))); | 833 base::Unretained(this))); |
834 PostSetNeedsCommitToMainThread(); | 834 PostSetNeedsCommitToMainThread(); |
835 } | 835 } |
836 | 836 |
837 void UpdateLayerTreeHost() override { | 837 void UpdateLayerTreeHost() override { |
838 Layer* scroll_layer = layer_tree()->outer_viewport_scroll_layer(); | 838 Layer* scroll_layer = layer_tree()->outer_viewport_scroll_layer(); |
839 if (!layer_tree_host()->source_frame_number()) { | 839 if (!layer_tree_host()->SourceFrameNumber()) { |
840 EXPECT_VECTOR_EQ(initial_scroll_, scroll_layer->scroll_offset()); | 840 EXPECT_VECTOR_EQ(initial_scroll_, scroll_layer->scroll_offset()); |
841 } else { | 841 } else { |
842 EXPECT_VECTOR_EQ( | 842 EXPECT_VECTOR_EQ( |
843 scroll_layer->scroll_offset(), | 843 scroll_layer->scroll_offset(), |
844 gfx::ScrollOffsetWithDelta(initial_scroll_, impl_thread_scroll1_)); | 844 gfx::ScrollOffsetWithDelta(initial_scroll_, impl_thread_scroll1_)); |
845 | 845 |
846 // Pretend like Javascript updated the scroll position itself with a | 846 // Pretend like Javascript updated the scroll position itself with a |
847 // change of main_thread_scroll. | 847 // change of main_thread_scroll. |
848 scroll_layer->SetScrollOffset( | 848 scroll_layer->SetScrollOffset( |
849 gfx::ScrollOffsetWithDelta( | 849 gfx::ScrollOffsetWithDelta( |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
948 } | 948 } |
949 | 949 |
950 void BeginTest() override { | 950 void BeginTest() override { |
951 layer_tree()->outer_viewport_scroll_layer()->SetScrollOffset( | 951 layer_tree()->outer_viewport_scroll_layer()->SetScrollOffset( |
952 initial_scroll_); | 952 initial_scroll_); |
953 PostSetNeedsCommitToMainThread(); | 953 PostSetNeedsCommitToMainThread(); |
954 } | 954 } |
955 | 955 |
956 void WillCommit() override { | 956 void WillCommit() override { |
957 Layer* scroll_layer = layer_tree()->outer_viewport_scroll_layer(); | 957 Layer* scroll_layer = layer_tree()->outer_viewport_scroll_layer(); |
958 switch (layer_tree_host()->source_frame_number()) { | 958 switch (layer_tree_host()->SourceFrameNumber()) { |
959 case 0: | 959 case 0: |
960 EXPECT_TRUE( | 960 EXPECT_TRUE( |
961 scroll_layer->GetLayerTree()->LayerNeedsPushPropertiesForTesting( | 961 scroll_layer->GetLayerTree()->LayerNeedsPushPropertiesForTesting( |
962 scroll_layer)); | 962 scroll_layer)); |
963 break; | 963 break; |
964 case 1: | 964 case 1: |
965 // Even if this layer doesn't need push properties, it should | 965 // Even if this layer doesn't need push properties, it should |
966 // still pick up scrolls that happen on the active layer during | 966 // still pick up scrolls that happen on the active layer during |
967 // commit. | 967 // commit. |
968 EXPECT_FALSE( | 968 EXPECT_FALSE( |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1085 | 1085 |
1086 void BeginTest() override { | 1086 void BeginTest() override { |
1087 outer_viewport_container_layer_id_ = | 1087 outer_viewport_container_layer_id_ = |
1088 layer_tree()->outer_viewport_scroll_layer()->scroll_clip_layer()->id(); | 1088 layer_tree()->outer_viewport_scroll_layer()->scroll_clip_layer()->id(); |
1089 PostSetNeedsCommitToMainThread(); | 1089 PostSetNeedsCommitToMainThread(); |
1090 } | 1090 } |
1091 | 1091 |
1092 void UpdateLayerTreeHost() override { | 1092 void UpdateLayerTreeHost() override { |
1093 Layer* root = layer_tree()->root_layer(); | 1093 Layer* root = layer_tree()->root_layer(); |
1094 Layer* scroll_layer = layer_tree()->outer_viewport_scroll_layer(); | 1094 Layer* scroll_layer = layer_tree()->outer_viewport_scroll_layer(); |
1095 switch (layer_tree_host()->source_frame_number()) { | 1095 switch (layer_tree_host()->SourceFrameNumber()) { |
1096 case 0: | 1096 case 0: |
1097 scroll_layer->SetScrollClipLayerId(outer_viewport_container_layer_id_); | 1097 scroll_layer->SetScrollClipLayerId(outer_viewport_container_layer_id_); |
1098 // Set max_scroll_offset = (100, 100). | 1098 // Set max_scroll_offset = (100, 100). |
1099 scroll_layer->SetBounds(gfx::Size(root->bounds().width() + 100, | 1099 scroll_layer->SetBounds(gfx::Size(root->bounds().width() + 100, |
1100 root->bounds().height() + 100)); | 1100 root->bounds().height() + 100)); |
1101 break; | 1101 break; |
1102 case 1: | 1102 case 1: |
1103 // Set max_scroll_offset = (0, 0). | 1103 // Set max_scroll_offset = (0, 0). |
1104 scroll_layer->SetBounds(root->bounds()); | 1104 scroll_layer->SetBounds(root->bounds()); |
1105 break; | 1105 break; |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1310 TestSharedBitmapManager shared_bitmap_manager; | 1310 TestSharedBitmapManager shared_bitmap_manager; |
1311 TestTaskGraphRunner task_graph_runner; | 1311 TestTaskGraphRunner task_graph_runner; |
1312 | 1312 |
1313 LayerTreeHost::InitParams params; | 1313 LayerTreeHost::InitParams params; |
1314 params.client = &layer_tree_host_client; | 1314 params.client = &layer_tree_host_client; |
1315 params.shared_bitmap_manager = &shared_bitmap_manager; | 1315 params.shared_bitmap_manager = &shared_bitmap_manager; |
1316 params.task_graph_runner = &task_graph_runner; | 1316 params.task_graph_runner = &task_graph_runner; |
1317 params.settings = &settings; | 1317 params.settings = &settings; |
1318 params.main_task_runner = base::ThreadTaskRunnerHandle::Get(); | 1318 params.main_task_runner = base::ThreadTaskRunnerHandle::Get(); |
1319 params.animation_host = AnimationHost::CreateForTesting(ThreadInstance::MAIN); | 1319 params.animation_host = AnimationHost::CreateForTesting(ThreadInstance::MAIN); |
1320 std::unique_ptr<LayerTreeHost> layer_tree_host = | 1320 std::unique_ptr<LayerTreeHostInterface> layer_tree_host = |
1321 LayerTreeHost::CreateThreaded(impl_thread.task_runner(), ¶ms); | 1321 LayerTreeHost::CreateThreaded(impl_thread.task_runner(), ¶ms); |
1322 | 1322 |
1323 ThreadCheckingInputHandlerClient input_handler_client( | 1323 ThreadCheckingInputHandlerClient input_handler_client( |
1324 impl_thread.task_runner().get(), &received_stop_flinging); | 1324 impl_thread.task_runner().get(), &received_stop_flinging); |
1325 impl_thread.task_runner()->PostTask( | 1325 impl_thread.task_runner()->PostTask( |
1326 FROM_HERE, base::Bind(&BindInputHandlerOnCompositorThread, | 1326 FROM_HERE, base::Bind(&BindInputHandlerOnCompositorThread, |
1327 layer_tree_host->GetInputHandler(), | 1327 layer_tree_host->GetInputHandler(), |
1328 base::Unretained(&input_handler_client))); | 1328 base::Unretained(&input_handler_client))); |
1329 | 1329 |
1330 layer_tree_host->DidStopFlinging(); | 1330 layer_tree_host->DidStopFlinging(); |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1490 case 2: | 1490 case 2: |
1491 // Unblock activation after third commit is ready. | 1491 // Unblock activation after third commit is ready. |
1492 impl->BlockNotifyReadyToActivateForTesting(false); | 1492 impl->BlockNotifyReadyToActivateForTesting(false); |
1493 break; | 1493 break; |
1494 } | 1494 } |
1495 num_commits_++; | 1495 num_commits_++; |
1496 } | 1496 } |
1497 | 1497 |
1498 void UpdateLayerTreeHost() override { | 1498 void UpdateLayerTreeHost() override { |
1499 Layer* scroll_layer = layer_tree()->outer_viewport_scroll_layer(); | 1499 Layer* scroll_layer = layer_tree()->outer_viewport_scroll_layer(); |
1500 switch (layer_tree_host()->source_frame_number()) { | 1500 switch (layer_tree_host()->SourceFrameNumber()) { |
1501 case 0: | 1501 case 0: |
1502 EXPECT_VECTOR_EQ(initial_scroll_, scroll_layer->scroll_offset()); | 1502 EXPECT_VECTOR_EQ(initial_scroll_, scroll_layer->scroll_offset()); |
1503 break; | 1503 break; |
1504 case 1: | 1504 case 1: |
1505 EXPECT_VECTOR_EQ( | 1505 EXPECT_VECTOR_EQ( |
1506 gfx::ScrollOffsetWithDelta(initial_scroll_, scroll_amount_), | 1506 gfx::ScrollOffsetWithDelta(initial_scroll_, scroll_amount_), |
1507 scroll_layer->scroll_offset()); | 1507 scroll_layer->scroll_offset()); |
1508 // Pretend like Javascript updated the scroll position itself. | 1508 // Pretend like Javascript updated the scroll position itself. |
1509 scroll_layer->SetScrollOffset(second_scroll_); | 1509 scroll_layer->SetScrollOffset(second_scroll_); |
1510 break; | 1510 break; |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1617 layer_tree()->SetPageScaleFactorAndLimits(1.f, 0.01f, 100.f); | 1617 layer_tree()->SetPageScaleFactorAndLimits(1.f, 0.01f, 100.f); |
1618 } | 1618 } |
1619 | 1619 |
1620 void WillBeginMainFrame() override { | 1620 void WillBeginMainFrame() override { |
1621 num_will_begin_main_frames_++; | 1621 num_will_begin_main_frames_++; |
1622 Layer* root_scroll_layer = layer_tree()->outer_viewport_scroll_layer(); | 1622 Layer* root_scroll_layer = layer_tree()->outer_viewport_scroll_layer(); |
1623 switch (num_will_begin_main_frames_) { | 1623 switch (num_will_begin_main_frames_) { |
1624 case 1: | 1624 case 1: |
1625 // This will not be aborted because of the initial prop changes. | 1625 // This will not be aborted because of the initial prop changes. |
1626 EXPECT_EQ(0, num_impl_scrolls_); | 1626 EXPECT_EQ(0, num_impl_scrolls_); |
1627 EXPECT_EQ(0, layer_tree_host()->source_frame_number()); | 1627 EXPECT_EQ(0, layer_tree_host()->SourceFrameNumber()); |
1628 EXPECT_VECTOR_EQ(initial_scroll_, root_scroll_layer->scroll_offset()); | 1628 EXPECT_VECTOR_EQ(initial_scroll_, root_scroll_layer->scroll_offset()); |
1629 break; | 1629 break; |
1630 case 2: | 1630 case 2: |
1631 // This commit will not be aborted because of the scroll change. | 1631 // This commit will not be aborted because of the scroll change. |
1632 EXPECT_EQ(1, num_impl_scrolls_); | 1632 EXPECT_EQ(1, num_impl_scrolls_); |
1633 EXPECT_EQ(1, layer_tree_host()->source_frame_number()); | 1633 EXPECT_EQ(1, layer_tree_host()->SourceFrameNumber()); |
1634 EXPECT_VECTOR_EQ( | 1634 EXPECT_VECTOR_EQ( |
1635 gfx::ScrollOffsetWithDelta(initial_scroll_, impl_scroll_), | 1635 gfx::ScrollOffsetWithDelta(initial_scroll_, impl_scroll_), |
1636 root_scroll_layer->scroll_offset()); | 1636 root_scroll_layer->scroll_offset()); |
1637 root_scroll_layer->SetScrollOffset(gfx::ScrollOffsetWithDelta( | 1637 root_scroll_layer->SetScrollOffset(gfx::ScrollOffsetWithDelta( |
1638 root_scroll_layer->scroll_offset(), second_main_scroll_)); | 1638 root_scroll_layer->scroll_offset(), second_main_scroll_)); |
1639 break; | 1639 break; |
1640 case 3: { | 1640 case 3: { |
1641 // This commit will be aborted. | 1641 // This commit will be aborted. |
1642 EXPECT_EQ(2, num_impl_scrolls_); | 1642 EXPECT_EQ(2, num_impl_scrolls_); |
1643 // The source frame number still increases even with the abort. | 1643 // The source frame number still increases even with the abort. |
1644 EXPECT_EQ(2, layer_tree_host()->source_frame_number()); | 1644 EXPECT_EQ(2, layer_tree_host()->SourceFrameNumber()); |
1645 gfx::Vector2dF delta = | 1645 gfx::Vector2dF delta = |
1646 impl_scroll_ + impl_scroll_ + second_main_scroll_; | 1646 impl_scroll_ + impl_scroll_ + second_main_scroll_; |
1647 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(initial_scroll_, delta), | 1647 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(initial_scroll_, delta), |
1648 root_scroll_layer->scroll_offset()); | 1648 root_scroll_layer->scroll_offset()); |
1649 break; | 1649 break; |
1650 } | 1650 } |
1651 case 4: { | 1651 case 4: { |
1652 // This commit will also be aborted. | 1652 // This commit will also be aborted. |
1653 EXPECT_EQ(3, num_impl_scrolls_); | 1653 EXPECT_EQ(3, num_impl_scrolls_); |
1654 EXPECT_EQ(3, layer_tree_host()->source_frame_number()); | 1654 EXPECT_EQ(3, layer_tree_host()->SourceFrameNumber()); |
1655 gfx::Vector2dF delta = | 1655 gfx::Vector2dF delta = |
1656 impl_scroll_ + impl_scroll_ + impl_scroll_ + second_main_scroll_; | 1656 impl_scroll_ + impl_scroll_ + impl_scroll_ + second_main_scroll_; |
1657 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(initial_scroll_, delta), | 1657 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(initial_scroll_, delta), |
1658 root_scroll_layer->scroll_offset()); | 1658 root_scroll_layer->scroll_offset()); |
1659 break; | 1659 break; |
1660 } | 1660 } |
1661 } | 1661 } |
1662 } | 1662 } |
1663 | 1663 |
1664 void DidBeginMainFrame() override { num_did_begin_main_frames_++; } | 1664 void DidBeginMainFrame() override { num_did_begin_main_frames_++; } |
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1973 | 1973 |
1974 const gfx::Vector2dF elastic_overscroll_test_cases_[5] = { | 1974 const gfx::Vector2dF elastic_overscroll_test_cases_[5] = { |
1975 gfx::Vector2dF(0, 0), gfx::Vector2dF(5, 10), gfx::Vector2dF(5, 5), | 1975 gfx::Vector2dF(0, 0), gfx::Vector2dF(5, 10), gfx::Vector2dF(5, 5), |
1976 gfx::Vector2dF(-4, -5), gfx::Vector2dF(0, 0)}; | 1976 gfx::Vector2dF(-4, -5), gfx::Vector2dF(0, 0)}; |
1977 }; | 1977 }; |
1978 | 1978 |
1979 MULTI_THREAD_TEST_F(LayerTreeHostScrollTestElasticOverscroll); | 1979 MULTI_THREAD_TEST_F(LayerTreeHostScrollTestElasticOverscroll); |
1980 | 1980 |
1981 } // namespace | 1981 } // namespace |
1982 } // namespace cc | 1982 } // namespace cc |
OLD | NEW |