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

Side by Side Diff: cc/trees/layer_tree_host_unittest_scroll.cc

Issue 2317753002: cc: Abstract the LayerTreeHost. (Closed)
Patch Set: Rebase Created 4 years, 3 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
« no previous file with comments | « cc/trees/layer_tree_host_unittest_remote_server.cc ('k') | cc/trees/property_tree_builder.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 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
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
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
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
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
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
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
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
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(), &params); 1321 LayerTreeHost::CreateThreaded(impl_thread.task_runner(), &params);
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
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
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
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
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_unittest_remote_server.cc ('k') | cc/trees/property_tree_builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698