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

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

Issue 878413005: Finalize rename of LayerImpl scroll offset methods. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix perftest compile Created 5 years, 10 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_damage.cc ('k') | no next file » | 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/memory/weak_ptr.h" 7 #include "base/memory/weak_ptr.h"
8 #include "cc/layers/layer.h" 8 #include "cc/layers/layer.h"
9 #include "cc/layers/layer_impl.h" 9 #include "cc/layers/layer_impl.h"
10 #include "cc/layers/picture_layer.h" 10 #include "cc/layers/picture_layer.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 LayerImpl* scroll_layer = root->children()[0]; 70 LayerImpl* scroll_layer = root->children()[0];
71 EXPECT_VECTOR_EQ(gfx::Vector2d(), scroll_layer->ScrollDelta()); 71 EXPECT_VECTOR_EQ(gfx::Vector2d(), scroll_layer->ScrollDelta());
72 72
73 scroll_layer->SetScrollClipLayer(root->id()); 73 scroll_layer->SetScrollClipLayer(root->id());
74 scroll_layer->SetBounds( 74 scroll_layer->SetBounds(
75 gfx::Size(root->bounds().width() + 100, root->bounds().height() + 100)); 75 gfx::Size(root->bounds().width() + 100, root->bounds().height() + 100));
76 scroll_layer->ScrollBy(scroll_amount_); 76 scroll_layer->ScrollBy(scroll_amount_);
77 77
78 switch (impl->active_tree()->source_frame_number()) { 78 switch (impl->active_tree()->source_frame_number()) {
79 case 0: 79 case 0:
80 EXPECT_VECTOR_EQ(initial_scroll_, scroll_layer->scroll_offset()); 80 EXPECT_VECTOR_EQ(initial_scroll_, scroll_layer->BaseScrollOffset());
81 EXPECT_VECTOR_EQ(scroll_amount_, scroll_layer->ScrollDelta()); 81 EXPECT_VECTOR_EQ(scroll_amount_, scroll_layer->ScrollDelta());
82 PostSetNeedsCommitToMainThread(); 82 PostSetNeedsCommitToMainThread();
83 break; 83 break;
84 case 1: 84 case 1:
85 EXPECT_VECTOR_EQ(scroll_layer->scroll_offset(), second_scroll_); 85 EXPECT_VECTOR_EQ(scroll_layer->BaseScrollOffset(), second_scroll_);
86 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), scroll_amount_); 86 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), scroll_amount_);
87 EndTest(); 87 EndTest();
88 break; 88 break;
89 } 89 }
90 } 90 }
91 91
92 void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta, 92 void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta,
93 float scale, 93 float scale,
94 float top_controls_delta) override { 94 float top_controls_delta) override {
95 num_scrolls_++; 95 num_scrolls_++;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { 150 void DrawLayersOnThread(LayerTreeHostImpl* impl) override {
151 LayerImpl* scroll_layer = 151 LayerImpl* scroll_layer =
152 impl->active_tree()->LayerById(scroll_layer_->id()); 152 impl->active_tree()->LayerById(scroll_layer_->id());
153 if (impl->active_tree()->source_frame_number() == 0 && 153 if (impl->active_tree()->source_frame_number() == 0 &&
154 impl->SourceAnimationFrameNumber() == 1) { 154 impl->SourceAnimationFrameNumber() == 1) {
155 // First draw after first commit. 155 // First draw after first commit.
156 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), gfx::Vector2d()); 156 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), gfx::Vector2d());
157 scroll_layer->ScrollBy(scroll_amount_); 157 scroll_layer->ScrollBy(scroll_amount_);
158 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), scroll_amount_); 158 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), scroll_amount_);
159 159
160 EXPECT_VECTOR_EQ(scroll_layer->scroll_offset(), initial_scroll_); 160 EXPECT_VECTOR_EQ(scroll_layer->BaseScrollOffset(), initial_scroll_);
161 PostSetNeedsRedrawToMainThread(); 161 PostSetNeedsRedrawToMainThread();
162 } else if (impl->active_tree()->source_frame_number() == 0 && 162 } else if (impl->active_tree()->source_frame_number() == 0 &&
163 impl->SourceAnimationFrameNumber() == 2) { 163 impl->SourceAnimationFrameNumber() == 2) {
164 // Second draw after first commit. 164 // Second draw after first commit.
165 EXPECT_EQ(scroll_layer->ScrollDelta(), scroll_amount_); 165 EXPECT_EQ(scroll_layer->ScrollDelta(), scroll_amount_);
166 scroll_layer->ScrollBy(scroll_amount_); 166 scroll_layer->ScrollBy(scroll_amount_);
167 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), 167 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(),
168 scroll_amount_ + scroll_amount_); 168 scroll_amount_ + scroll_amount_);
169 169
170 EXPECT_VECTOR_EQ(scroll_layer_->scroll_offset(), initial_scroll_); 170 EXPECT_VECTOR_EQ(scroll_layer_->scroll_offset(), initial_scroll_);
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { 296 void DrawLayersOnThread(LayerTreeHostImpl* impl) override {
297 LayerImpl* root_scroll_layer = 297 LayerImpl* root_scroll_layer =
298 impl->active_tree()->root_layer()->children()[0]; 298 impl->active_tree()->root_layer()->children()[0];
299 299
300 if (impl->active_tree()->source_frame_number() == 0 && 300 if (impl->active_tree()->source_frame_number() == 0 &&
301 impl->SourceAnimationFrameNumber() == 1) { 301 impl->SourceAnimationFrameNumber() == 1) {
302 // First draw 302 // First draw
303 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d()); 303 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d());
304 root_scroll_layer->ScrollBy(impl_scroll_); 304 root_scroll_layer->ScrollBy(impl_scroll_);
305 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), impl_scroll_); 305 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), impl_scroll_);
306 EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), initial_scroll_); 306 EXPECT_VECTOR_EQ(root_scroll_layer->BaseScrollOffset(), initial_scroll_);
307 307
308 EXPECT_EQ(1.f, impl->active_tree()->page_scale_delta()); 308 EXPECT_EQ(1.f, impl->active_tree()->page_scale_delta());
309 EXPECT_EQ(1.f, impl->active_tree()->current_page_scale_factor()); 309 EXPECT_EQ(1.f, impl->active_tree()->current_page_scale_factor());
310 impl->SetPageScaleOnActiveTree(impl_scale_); 310 impl->SetPageScaleOnActiveTree(impl_scale_);
311 EXPECT_EQ(impl_scale_, impl->active_tree()->page_scale_delta()); 311 EXPECT_EQ(impl_scale_, impl->active_tree()->page_scale_delta());
312 EXPECT_EQ(impl_scale_, impl->active_tree()->current_page_scale_factor()); 312 EXPECT_EQ(impl_scale_, impl->active_tree()->current_page_scale_factor());
313 313
314 // To simplify the testing flow, don't redraw here, just commit. 314 // To simplify the testing flow, don't redraw here, just commit.
315 impl->SetNeedsCommit(); 315 impl->SetNeedsCommit();
316 } else if (impl->active_tree()->source_frame_number() == 0 && 316 } else if (impl->active_tree()->source_frame_number() == 0 &&
317 impl->SourceAnimationFrameNumber() == 2) { 317 impl->SourceAnimationFrameNumber() == 2) {
318 // Test a second draw after an aborted commit. 318 // Test a second draw after an aborted commit.
319 // The scroll/scale values should be baked into the offset/scale factor 319 // The scroll/scale values should be baked into the offset/scale factor
320 // since the main thread consumed but aborted the begin frame. 320 // since the main thread consumed but aborted the begin frame.
321 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d()); 321 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d());
322 root_scroll_layer->ScrollBy(impl_scroll_); 322 root_scroll_layer->ScrollBy(impl_scroll_);
323 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), impl_scroll_); 323 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), impl_scroll_);
324 EXPECT_VECTOR_EQ( 324 EXPECT_VECTOR_EQ(
325 root_scroll_layer->scroll_offset(), 325 root_scroll_layer->BaseScrollOffset(),
326 gfx::ScrollOffsetWithDelta(initial_scroll_, impl_scroll_)); 326 gfx::ScrollOffsetWithDelta(initial_scroll_, impl_scroll_));
327 327
328 EXPECT_EQ(1.f, impl->active_tree()->page_scale_delta()); 328 EXPECT_EQ(1.f, impl->active_tree()->page_scale_delta());
329 EXPECT_EQ(impl_scale_, impl->active_tree()->current_page_scale_factor()); 329 EXPECT_EQ(impl_scale_, impl->active_tree()->current_page_scale_factor());
330 impl->SetPageScaleOnActiveTree(impl_scale_ * impl_scale_); 330 impl->SetPageScaleOnActiveTree(impl_scale_ * impl_scale_);
331 EXPECT_EQ(impl_scale_, impl->active_tree()->page_scale_delta()); 331 EXPECT_EQ(impl_scale_, impl->active_tree()->page_scale_delta());
332 EXPECT_EQ(impl_scale_ * impl_scale_, 332 EXPECT_EQ(impl_scale_ * impl_scale_,
333 impl->active_tree()->current_page_scale_factor()); 333 impl->active_tree()->current_page_scale_factor());
334 334
335 impl->SetNeedsCommit(); 335 impl->SetNeedsCommit();
336 } else if (impl->active_tree()->source_frame_number() == 1) { 336 } else if (impl->active_tree()->source_frame_number() == 1) {
337 // Commit for source frame 1 is aborted. 337 // Commit for source frame 1 is aborted.
338 NOTREACHED(); 338 NOTREACHED();
339 } else if (impl->active_tree()->source_frame_number() == 2 && 339 } else if (impl->active_tree()->source_frame_number() == 2 &&
340 impl->SourceAnimationFrameNumber() == 3) { 340 impl->SourceAnimationFrameNumber() == 3) {
341 // Third draw after the second full commit. 341 // Third draw after the second full commit.
342 EXPECT_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d()); 342 EXPECT_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d());
343 root_scroll_layer->ScrollBy(impl_scroll_); 343 root_scroll_layer->ScrollBy(impl_scroll_);
344 impl->SetNeedsCommit(); 344 impl->SetNeedsCommit();
345 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), impl_scroll_); 345 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), impl_scroll_);
346 gfx::Vector2dF delta = impl_scroll_ + impl_scroll_ + second_main_scroll_; 346 gfx::Vector2dF delta = impl_scroll_ + impl_scroll_ + second_main_scroll_;
347 EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), 347 EXPECT_VECTOR_EQ(root_scroll_layer->BaseScrollOffset(),
348 gfx::ScrollOffsetWithDelta(initial_scroll_, delta)); 348 gfx::ScrollOffsetWithDelta(initial_scroll_, delta));
349 } else if (impl->active_tree()->source_frame_number() == 2 && 349 } else if (impl->active_tree()->source_frame_number() == 2 &&
350 impl->SourceAnimationFrameNumber() == 4) { 350 impl->SourceAnimationFrameNumber() == 4) {
351 // Final draw after the second aborted commit. 351 // Final draw after the second aborted commit.
352 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d()); 352 EXPECT_VECTOR_EQ(root_scroll_layer->ScrollDelta(), gfx::Vector2d());
353 gfx::Vector2dF delta = 353 gfx::Vector2dF delta =
354 impl_scroll_ + impl_scroll_ + impl_scroll_ + second_main_scroll_; 354 impl_scroll_ + impl_scroll_ + impl_scroll_ + second_main_scroll_;
355 EXPECT_VECTOR_EQ(root_scroll_layer->scroll_offset(), 355 EXPECT_VECTOR_EQ(root_scroll_layer->BaseScrollOffset(),
356 gfx::ScrollOffsetWithDelta(initial_scroll_, delta)); 356 gfx::ScrollOffsetWithDelta(initial_scroll_, delta));
357 EndTest(); 357 EndTest();
358 } else { 358 } else {
359 // Commit for source frame 3 is aborted. 359 // Commit for source frame 3 is aborted.
360 NOTREACHED(); 360 NOTREACHED();
361 } 361 }
362 } 362 }
363 363
364 void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta, 364 void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta,
365 float scale, 365 float scale,
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 void BeginTest() override { PostSetNeedsCommitToMainThread(); } 417 void BeginTest() override { PostSetNeedsCommitToMainThread(); }
418 418
419 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { 419 void DrawLayersOnThread(LayerTreeHostImpl* impl) override {
420 LayerImpl* root = impl->active_tree()->root_layer(); 420 LayerImpl* root = impl->active_tree()->root_layer();
421 LayerImpl* scroll_layer = root->children()[0]; 421 LayerImpl* scroll_layer = root->children()[0];
422 422
423 // Check that a fractional scroll delta is correctly accumulated over 423 // Check that a fractional scroll delta is correctly accumulated over
424 // multiple commits. 424 // multiple commits.
425 switch (impl->active_tree()->source_frame_number()) { 425 switch (impl->active_tree()->source_frame_number()) {
426 case 0: 426 case 0:
427 EXPECT_VECTOR_EQ(scroll_layer->scroll_offset(), gfx::Vector2d(0, 0)); 427 EXPECT_VECTOR_EQ(scroll_layer->BaseScrollOffset(), gfx::Vector2d(0, 0));
428 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), gfx::Vector2d(0, 0)); 428 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), gfx::Vector2d(0, 0));
429 PostSetNeedsCommitToMainThread(); 429 PostSetNeedsCommitToMainThread();
430 break; 430 break;
431 case 1: 431 case 1:
432 EXPECT_VECTOR_EQ(scroll_layer->scroll_offset(), 432 EXPECT_VECTOR_EQ(scroll_layer->BaseScrollOffset(),
433 gfx::ToFlooredVector2d(scroll_amount_)); 433 gfx::ToFlooredVector2d(scroll_amount_));
434 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), 434 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(),
435 gfx::Vector2dF(fmod(scroll_amount_.x(), 1.0f), 0.0f)); 435 gfx::Vector2dF(fmod(scroll_amount_.x(), 1.0f), 0.0f));
436 PostSetNeedsCommitToMainThread(); 436 PostSetNeedsCommitToMainThread();
437 break; 437 break;
438 case 2: 438 case 2:
439 EXPECT_VECTOR_EQ( 439 EXPECT_VECTOR_EQ(
440 scroll_layer->scroll_offset(), 440 scroll_layer->BaseScrollOffset(),
441 gfx::ToFlooredVector2d(scroll_amount_ + scroll_amount_)); 441 gfx::ToFlooredVector2d(scroll_amount_ + scroll_amount_));
442 EXPECT_VECTOR_EQ( 442 EXPECT_VECTOR_EQ(
443 scroll_layer->ScrollDelta(), 443 scroll_layer->ScrollDelta(),
444 gfx::Vector2dF(fmod(2.0f * scroll_amount_.x(), 1.0f), 0.0f)); 444 gfx::Vector2dF(fmod(2.0f * scroll_amount_.x(), 1.0f), 0.0f));
445 EndTest(); 445 EndTest();
446 break; 446 break;
447 } 447 }
448 scroll_layer->ScrollBy(scroll_amount_); 448 scroll_layer->ScrollBy(scroll_amount_);
449 } 449 }
450 450
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 InputHandler::ScrollStatus status = impl->ScrollBegin( 591 InputHandler::ScrollStatus status = impl->ScrollBegin(
592 gfx::ToCeiledPoint(expected_scroll_layer_impl->position() - 592 gfx::ToCeiledPoint(expected_scroll_layer_impl->position() -
593 gfx::Vector2dF(0.5f, 0.5f)), 593 gfx::Vector2dF(0.5f, 0.5f)),
594 InputHandler::Gesture); 594 InputHandler::Gesture);
595 EXPECT_EQ(InputHandler::ScrollStarted, status); 595 EXPECT_EQ(InputHandler::ScrollStarted, status);
596 impl->ScrollBy(gfx::Point(), scroll_amount_); 596 impl->ScrollBy(gfx::Point(), scroll_amount_);
597 impl->ScrollEnd(); 597 impl->ScrollEnd();
598 598
599 // Check the scroll is applied as a delta. 599 // Check the scroll is applied as a delta.
600 EXPECT_VECTOR_EQ(initial_offset_, 600 EXPECT_VECTOR_EQ(initial_offset_,
601 expected_scroll_layer_impl->scroll_offset()); 601 expected_scroll_layer_impl->BaseScrollOffset());
602 EXPECT_VECTOR_EQ(scroll_amount_, 602 EXPECT_VECTOR_EQ(scroll_amount_,
603 expected_scroll_layer_impl->ScrollDelta()); 603 expected_scroll_layer_impl->ScrollDelta());
604 break; 604 break;
605 } 605 }
606 case 1: { 606 case 1: {
607 // Wheel scroll on impl thread. 607 // Wheel scroll on impl thread.
608 InputHandler::ScrollStatus status = impl->ScrollBegin( 608 InputHandler::ScrollStatus status = impl->ScrollBegin(
609 gfx::ToCeiledPoint(expected_scroll_layer_impl->position() + 609 gfx::ToCeiledPoint(expected_scroll_layer_impl->position() +
610 gfx::Vector2dF(0.5f, 0.5f)), 610 gfx::Vector2dF(0.5f, 0.5f)),
611 InputHandler::Wheel); 611 InputHandler::Wheel);
612 EXPECT_EQ(InputHandler::ScrollStarted, status); 612 EXPECT_EQ(InputHandler::ScrollStarted, status);
613 impl->ScrollBy(gfx::Point(), scroll_amount_); 613 impl->ScrollBy(gfx::Point(), scroll_amount_);
614 impl->ScrollEnd(); 614 impl->ScrollEnd();
615 615
616 // Check the scroll is applied as a delta. 616 // Check the scroll is applied as a delta.
617 EXPECT_VECTOR_EQ(javascript_scroll_, 617 EXPECT_VECTOR_EQ(javascript_scroll_,
618 expected_scroll_layer_impl->scroll_offset()); 618 expected_scroll_layer_impl->BaseScrollOffset());
619 EXPECT_VECTOR_EQ(scroll_amount_, 619 EXPECT_VECTOR_EQ(scroll_amount_,
620 expected_scroll_layer_impl->ScrollDelta()); 620 expected_scroll_layer_impl->ScrollDelta());
621 break; 621 break;
622 } 622 }
623 case 2: 623 case 2:
624 624
625 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(javascript_scroll_, 625 EXPECT_VECTOR_EQ(
626 scroll_amount_), 626 gfx::ScrollOffsetWithDelta(javascript_scroll_, scroll_amount_),
627 expected_scroll_layer_impl->scroll_offset()); 627 expected_scroll_layer_impl->BaseScrollOffset());
628 EXPECT_VECTOR_EQ(gfx::Vector2d(), 628 EXPECT_VECTOR_EQ(gfx::Vector2d(),
629 expected_scroll_layer_impl->ScrollDelta()); 629 expected_scroll_layer_impl->ScrollDelta());
630 630
631 EndTest(); 631 EndTest();
632 break; 632 break;
633 } 633 }
634 } 634 }
635 635
636 void AfterTest() override { 636 void AfterTest() override {
637 if (scroll_child_layer_) { 637 if (scroll_child_layer_) {
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 LayerImpl* pending_root = 821 LayerImpl* pending_root =
822 impl->active_tree()->FindPendingTreeLayerById(root->id()); 822 impl->active_tree()->FindPendingTreeLayerById(root->id());
823 823
824 switch (impl->active_tree()->source_frame_number()) { 824 switch (impl->active_tree()->source_frame_number()) {
825 case 0: 825 case 0:
826 if (!impl->pending_tree()) { 826 if (!impl->pending_tree()) {
827 impl->BlockNotifyReadyToActivateForTesting(true); 827 impl->BlockNotifyReadyToActivateForTesting(true);
828 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), gfx::Vector2d()); 828 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), gfx::Vector2d());
829 scroll_layer->ScrollBy(impl_thread_scroll1_); 829 scroll_layer->ScrollBy(impl_thread_scroll1_);
830 830
831 EXPECT_VECTOR_EQ(scroll_layer->scroll_offset(), initial_scroll_); 831 EXPECT_VECTOR_EQ(scroll_layer->BaseScrollOffset(), initial_scroll_);
832 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), impl_thread_scroll1_); 832 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), impl_thread_scroll1_);
833 PostSetNeedsCommitToMainThread(); 833 PostSetNeedsCommitToMainThread();
834 834
835 // CommitCompleteOnThread will trigger this function again 835 // CommitCompleteOnThread will trigger this function again
836 // and cause us to take the else clause. 836 // and cause us to take the else clause.
837 } else { 837 } else {
838 impl->BlockNotifyReadyToActivateForTesting(false); 838 impl->BlockNotifyReadyToActivateForTesting(false);
839 ASSERT_TRUE(pending_root); 839 ASSERT_TRUE(pending_root);
840 EXPECT_EQ(impl->pending_tree()->source_frame_number(), 1); 840 EXPECT_EQ(impl->pending_tree()->source_frame_number(), 1);
841 841
842 scroll_layer->ScrollBy(impl_thread_scroll2_); 842 scroll_layer->ScrollBy(impl_thread_scroll2_);
843 EXPECT_VECTOR_EQ(scroll_layer->scroll_offset(), initial_scroll_); 843 EXPECT_VECTOR_EQ(scroll_layer->BaseScrollOffset(), initial_scroll_);
844 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), 844 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(),
845 impl_thread_scroll1_ + impl_thread_scroll2_); 845 impl_thread_scroll1_ + impl_thread_scroll2_);
846 846
847 LayerImpl* pending_scroll_layer = pending_root->children()[0]; 847 LayerImpl* pending_scroll_layer = pending_root->children()[0];
848 EXPECT_VECTOR_EQ( 848 EXPECT_VECTOR_EQ(
849 pending_scroll_layer->scroll_offset(), 849 pending_scroll_layer->BaseScrollOffset(),
850 gfx::ScrollOffsetWithDelta( 850 gfx::ScrollOffsetWithDelta(
851 initial_scroll_, main_thread_scroll_ + impl_thread_scroll1_)); 851 initial_scroll_, main_thread_scroll_ + impl_thread_scroll1_));
852 EXPECT_VECTOR_EQ(pending_scroll_layer->ScrollDelta(), 852 EXPECT_VECTOR_EQ(pending_scroll_layer->ScrollDelta(),
853 impl_thread_scroll2_); 853 impl_thread_scroll2_);
854 } 854 }
855 break; 855 break;
856 case 1: 856 case 1:
857 EXPECT_FALSE(impl->pending_tree()); 857 EXPECT_FALSE(impl->pending_tree());
858 EXPECT_VECTOR_EQ( 858 EXPECT_VECTOR_EQ(
859 scroll_layer->scroll_offset(), 859 scroll_layer->BaseScrollOffset(),
860 gfx::ScrollOffsetWithDelta( 860 gfx::ScrollOffsetWithDelta(
861 initial_scroll_, main_thread_scroll_ + impl_thread_scroll1_)); 861 initial_scroll_, main_thread_scroll_ + impl_thread_scroll1_));
862 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), impl_thread_scroll2_); 862 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), impl_thread_scroll2_);
863 EndTest(); 863 EndTest();
864 break; 864 break;
865 } 865 }
866 } 866 }
867 867
868 void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta, 868 void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta,
869 float scale, 869 float scale,
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 LayerImpl* active_root = impl->active_tree()->root_layer(); 947 LayerImpl* active_root = impl->active_tree()->root_layer();
948 LayerImpl* active_scroll_layer = 948 LayerImpl* active_scroll_layer =
949 active_root ? active_root->children()[0] : NULL; 949 active_root ? active_root->children()[0] : NULL;
950 LayerImpl* pending_root = impl->pending_tree()->root_layer(); 950 LayerImpl* pending_root = impl->pending_tree()->root_layer();
951 LayerImpl* pending_scroll_layer = pending_root->children()[0]; 951 LayerImpl* pending_scroll_layer = pending_root->children()[0];
952 952
953 ASSERT_TRUE(pending_root); 953 ASSERT_TRUE(pending_root);
954 ASSERT_TRUE(pending_scroll_layer); 954 ASSERT_TRUE(pending_scroll_layer);
955 switch (impl->pending_tree()->source_frame_number()) { 955 switch (impl->pending_tree()->source_frame_number()) {
956 case 0: 956 case 0:
957 EXPECT_VECTOR_EQ(pending_scroll_layer->scroll_offset(), 957 EXPECT_VECTOR_EQ(pending_scroll_layer->BaseScrollOffset(),
958 initial_scroll_); 958 initial_scroll_);
959 EXPECT_VECTOR_EQ(pending_scroll_layer->ScrollDelta(), gfx::Vector2d()); 959 EXPECT_VECTOR_EQ(pending_scroll_layer->ScrollDelta(), gfx::Vector2d());
960 EXPECT_FALSE(active_root); 960 EXPECT_FALSE(active_root);
961 break; 961 break;
962 case 1: 962 case 1:
963 // Even though the scroll happened during the commit, both layers 963 // Even though the scroll happened during the commit, both layers
964 // should have the appropriate scroll delta. 964 // should have the appropriate scroll delta.
965 EXPECT_VECTOR_EQ(pending_scroll_layer->scroll_offset(), 965 EXPECT_VECTOR_EQ(pending_scroll_layer->BaseScrollOffset(),
966 initial_scroll_); 966 initial_scroll_);
967 EXPECT_VECTOR_EQ(pending_scroll_layer->ScrollDelta(), 967 EXPECT_VECTOR_EQ(pending_scroll_layer->ScrollDelta(),
968 impl_thread_scroll_); 968 impl_thread_scroll_);
969 ASSERT_TRUE(active_root); 969 ASSERT_TRUE(active_root);
970 EXPECT_VECTOR_EQ(active_scroll_layer->scroll_offset(), initial_scroll_); 970 EXPECT_VECTOR_EQ(active_scroll_layer->BaseScrollOffset(),
971 initial_scroll_);
971 EXPECT_VECTOR_EQ(active_scroll_layer->ScrollDelta(), 972 EXPECT_VECTOR_EQ(active_scroll_layer->ScrollDelta(),
972 impl_thread_scroll_); 973 impl_thread_scroll_);
973 break; 974 break;
974 case 2: 975 case 2:
975 // On the next commit, this delta should have been sent and applied. 976 // On the next commit, this delta should have been sent and applied.
976 EXPECT_VECTOR_EQ(pending_scroll_layer->scroll_offset(), 977 EXPECT_VECTOR_EQ(
977 gfx::ScrollOffsetWithDelta(initial_scroll_, 978 pending_scroll_layer->BaseScrollOffset(),
978 impl_thread_scroll_)); 979 gfx::ScrollOffsetWithDelta(initial_scroll_, impl_thread_scroll_));
979 EXPECT_VECTOR_EQ(pending_scroll_layer->ScrollDelta(), gfx::Vector2d()); 980 EXPECT_VECTOR_EQ(pending_scroll_layer->ScrollDelta(), gfx::Vector2d());
980 break; 981 break;
981 } 982 }
982 } 983 }
983 984
984 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { 985 void DrawLayersOnThread(LayerTreeHostImpl* impl) override {
985 ImplSidePaintingScrollTest::DrawLayersOnThread(impl); 986 ImplSidePaintingScrollTest::DrawLayersOnThread(impl);
986 987
987 LayerImpl* root = impl->active_tree()->root_layer(); 988 LayerImpl* root = impl->active_tree()->root_layer();
988 LayerImpl* scroll_layer = root->children()[0]; 989 LayerImpl* scroll_layer = root->children()[0];
989 990
990 switch (impl->active_tree()->source_frame_number()) { 991 switch (impl->active_tree()->source_frame_number()) {
991 case 0: 992 case 0:
992 EXPECT_VECTOR_EQ(scroll_layer->scroll_offset(), initial_scroll_); 993 EXPECT_VECTOR_EQ(scroll_layer->BaseScrollOffset(), initial_scroll_);
993 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), gfx::Vector2d()); 994 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), gfx::Vector2d());
994 EXPECT_EQ(1.f, impl->active_tree()->page_scale_delta()); 995 EXPECT_EQ(1.f, impl->active_tree()->page_scale_delta());
995 EXPECT_EQ(1.f, impl->active_tree()->current_page_scale_factor()); 996 EXPECT_EQ(1.f, impl->active_tree()->current_page_scale_factor());
996 PostSetNeedsCommitToMainThread(); 997 PostSetNeedsCommitToMainThread();
997 break; 998 break;
998 case 1: 999 case 1:
999 EXPECT_VECTOR_EQ(scroll_layer->scroll_offset(), initial_scroll_); 1000 EXPECT_VECTOR_EQ(scroll_layer->BaseScrollOffset(), initial_scroll_);
1000 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), impl_thread_scroll_); 1001 EXPECT_VECTOR_EQ(scroll_layer->ScrollDelta(), impl_thread_scroll_);
1001 EXPECT_EQ(impl_scale_, impl->active_tree()->page_scale_delta()); 1002 EXPECT_EQ(impl_scale_, impl->active_tree()->page_scale_delta());
1002 EXPECT_EQ(impl_scale_, 1003 EXPECT_EQ(impl_scale_,
1003 impl->active_tree()->current_page_scale_factor()); 1004 impl->active_tree()->current_page_scale_factor());
1004 PostSetNeedsCommitToMainThread(); 1005 PostSetNeedsCommitToMainThread();
1005 break; 1006 break;
1006 case 2: 1007 case 2:
1007 EXPECT_EQ(1.f, impl->active_tree()->page_scale_delta()); 1008 EXPECT_EQ(1.f, impl->active_tree()->page_scale_delta());
1008 EXPECT_EQ(impl_scale_, 1009 EXPECT_EQ(impl_scale_,
1009 impl->active_tree()->current_page_scale_factor()); 1010 impl->active_tree()->current_page_scale_factor());
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
1230 RunTest(true, false, true); 1231 RunTest(true, false, true);
1231 } 1232 }
1232 1233
1233 TEST_F(LayerTreeHostScrollTestLayerStructureChange, ScrollDestroyWholeTree) { 1234 TEST_F(LayerTreeHostScrollTestLayerStructureChange, ScrollDestroyWholeTree) {
1234 scroll_destroy_whole_tree_ = true; 1235 scroll_destroy_whole_tree_ = true;
1235 RunTest(true, false, true); 1236 RunTest(true, false, true);
1236 } 1237 }
1237 1238
1238 } // namespace 1239 } // namespace
1239 } // namespace cc 1240 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_unittest_damage.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698