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

Side by Side Diff: cc/layers/layer_impl_unittest.cc

Issue 584503005: Make scroll offset type of float in cc (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: blow up the patchset :( Created 6 years, 2 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
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/layers/layer_impl.h" 5 #include "cc/layers/layer_impl.h"
6 6
7 #include "cc/layers/painted_scrollbar_layer_impl.h" 7 #include "cc/layers/painted_scrollbar_layer_impl.h"
8 #include "cc/output/filter_operation.h" 8 #include "cc/output/filter_operation.h"
9 #include "cc/output/filter_operations.h" 9 #include "cc/output/filter_operations.h"
10 #include "cc/test/fake_impl_proxy.h" 10 #include "cc/test/fake_impl_proxy.h"
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetContentsOpaque(true)); 154 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetContentsOpaque(true));
155 EXECUTE_AND_VERIFY_SUBTREE_CHANGED( 155 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(
156 root->SetReplicaLayer(LayerImpl::Create(host_impl.active_tree(), 10))); 156 root->SetReplicaLayer(LayerImpl::Create(host_impl.active_tree(), 10)));
157 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetPosition(arbitrary_point_f)); 157 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetPosition(arbitrary_point_f));
158 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetShouldFlattenTransform(false)); 158 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetShouldFlattenTransform(false));
159 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->Set3dSortingContextId(1)); 159 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->Set3dSortingContextId(1));
160 EXECUTE_AND_VERIFY_SUBTREE_CHANGED( 160 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(
161 root->SetDoubleSided(false)); // constructor initializes it to "true". 161 root->SetDoubleSided(false)); // constructor initializes it to "true".
162 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->ScrollBy(arbitrary_vector2d)); 162 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->ScrollBy(arbitrary_vector2d));
163 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetScrollDelta(gfx::Vector2d())); 163 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetScrollDelta(gfx::Vector2d()));
164 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetScrollOffset(arbitrary_vector2d)); 164 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(
165 root->SetScrollOffset(gfx::ScrollOffset(arbitrary_vector2d)));
165 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetHideLayerAndSubtree(true)); 166 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetHideLayerAndSubtree(true));
166 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetOpacity(arbitrary_number)); 167 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetOpacity(arbitrary_number));
167 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetBlendMode(arbitrary_blend_mode)); 168 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetBlendMode(arbitrary_blend_mode));
168 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetTransform(arbitrary_transform)); 169 EXECUTE_AND_VERIFY_SUBTREE_CHANGED(root->SetTransform(arbitrary_transform));
169 170
170 // Changing these properties only affects the layer itself. 171 // Changing these properties only affects the layer itself.
171 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetContentBounds(arbitrary_size)); 172 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetContentBounds(arbitrary_size));
172 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED( 173 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(
173 root->SetContentsScale(arbitrary_number, arbitrary_number)); 174 root->SetContentsScale(arbitrary_number, arbitrary_number));
174 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetDrawsContent(true)); 175 EXECUTE_AND_VERIFY_ONLY_LAYER_CHANGED(root->SetDrawsContent(true));
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( 214 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
214 root->SetShouldFlattenTransform(false)); 215 root->SetShouldFlattenTransform(false));
215 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->Set3dSortingContextId(1)); 216 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->Set3dSortingContextId(1));
216 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( 217 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
217 root->SetTransform(arbitrary_transform)); 218 root->SetTransform(arbitrary_transform));
218 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( 219 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
219 root->SetDoubleSided(false)); // constructor initializes it to "true". 220 root->SetDoubleSided(false)); // constructor initializes it to "true".
220 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( 221 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
221 root->SetScrollDelta(gfx::Vector2d())); 222 root->SetScrollDelta(gfx::Vector2d()));
222 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( 223 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
223 root->SetScrollOffset(arbitrary_vector2d)); 224 root->SetScrollOffset(gfx::ScrollOffset(arbitrary_vector2d)));
224 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( 225 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
225 root->SetContentBounds(arbitrary_size)); 226 root->SetContentBounds(arbitrary_size));
226 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( 227 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
227 root->SetContentsScale(arbitrary_number, arbitrary_number)); 228 root->SetContentsScale(arbitrary_number, arbitrary_number));
228 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetContentsOpaque(true)); 229 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetContentsOpaque(true));
229 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetOpacity(arbitrary_number)); 230 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(root->SetOpacity(arbitrary_number));
230 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( 231 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
231 root->SetBlendMode(arbitrary_blend_mode)); 232 root->SetBlendMode(arbitrary_blend_mode));
232 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE( 233 EXECUTE_AND_VERIFY_SUBTREE_DID_NOT_CHANGE(
233 root->SetIsRootForIsolatedGroup(true)); 234 root->SetIsRootForIsolatedGroup(true));
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetBounds(large_size)); 287 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetBounds(large_size));
287 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(arbitrary_vector2d)); 288 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(arbitrary_vector2d));
288 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(gfx::Vector2d())); 289 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(layer->ScrollBy(gfx::Vector2d()));
289 layer->SetScrollDelta(gfx::Vector2d(0, 0)); 290 layer->SetScrollDelta(gfx::Vector2d(0, 0));
290 host_impl.ForcePrepareToDraw(); 291 host_impl.ForcePrepareToDraw();
291 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( 292 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
292 layer->SetScrollDelta(arbitrary_vector2d)); 293 layer->SetScrollDelta(arbitrary_vector2d));
293 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( 294 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
294 layer->SetScrollDelta(arbitrary_vector2d)); 295 layer->SetScrollDelta(arbitrary_vector2d));
295 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( 296 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
296 layer->SetScrollOffset(arbitrary_vector2d)); 297 layer->SetScrollOffset(gfx::ScrollOffset(arbitrary_vector2d)));
297 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES( 298 VERIFY_NO_NEEDS_UPDATE_DRAW_PROPERTIES(
298 layer->SetScrollOffset(arbitrary_vector2d)); 299 layer->SetScrollOffset(gfx::ScrollOffset(arbitrary_vector2d)));
299 300
300 // Unrelated functions, always set to new values, always set needs update. 301 // Unrelated functions, always set to new values, always set needs update.
301 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( 302 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
302 layer->SetMaskLayer(LayerImpl::Create(host_impl.active_tree(), 4))); 303 layer->SetMaskLayer(LayerImpl::Create(host_impl.active_tree(), 4)));
303 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetMasksToBounds(true)); 304 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetMasksToBounds(true));
304 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetContentsOpaque(true)); 305 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetContentsOpaque(true));
305 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES( 306 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(
306 layer->SetReplicaLayer(LayerImpl::Create(host_impl.active_tree(), 5))); 307 layer->SetReplicaLayer(LayerImpl::Create(host_impl.active_tree(), 5)));
307 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetPosition(arbitrary_point_f)); 308 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetPosition(arbitrary_point_f));
308 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetShouldFlattenTransform(false)); 309 VERIFY_NEEDS_UPDATE_DRAW_PROPERTIES(layer->SetShouldFlattenTransform(false));
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset()); 461 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset());
461 462
462 layer()->ScrollBy(gfx::Vector2dF(100, -100)); 463 layer()->ScrollBy(gfx::Vector2dF(100, -100));
463 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); 464 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset());
464 465
465 EXPECT_VECTOR_EQ(layer()->ScrollDelta(), layer()->TotalScrollOffset()); 466 EXPECT_VECTOR_EQ(layer()->ScrollDelta(), layer()->TotalScrollOffset());
466 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset()); 467 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset());
467 } 468 }
468 469
469 TEST_F(LayerImplScrollTest, ScrollByWithNonZeroOffset) { 470 TEST_F(LayerImplScrollTest, ScrollByWithNonZeroOffset) {
470 gfx::Vector2d scroll_offset(10, 5); 471 gfx::ScrollOffset scroll_offset(10, 5);
471 layer()->SetScrollOffset(scroll_offset); 472 layer()->SetScrollOffset(scroll_offset);
472 473
473 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); 474 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset());
474 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 475 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
475 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); 476 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta());
476 477
477 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); 478 layer()->ScrollBy(gfx::Vector2dF(-100, 100));
478 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); 479 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset());
479 480
480 EXPECT_VECTOR_EQ(layer()->ScrollDelta() + scroll_offset, 481 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset,
482 layer()->ScrollDelta()),
481 layer()->TotalScrollOffset()); 483 layer()->TotalScrollOffset());
482 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 484 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
483 485
484 layer()->ScrollBy(gfx::Vector2dF(100, -100)); 486 layer()->ScrollBy(gfx::Vector2dF(100, -100));
485 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); 487 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset());
486 488
487 EXPECT_VECTOR_EQ(layer()->ScrollDelta() + scroll_offset, 489 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset,
490 layer()->ScrollDelta()),
488 layer()->TotalScrollOffset()); 491 layer()->TotalScrollOffset());
489 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 492 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
490 } 493 }
491 494
492 class ScrollDelegateIgnore : public LayerImpl::ScrollOffsetDelegate { 495 class ScrollDelegateIgnore : public LayerImpl::ScrollOffsetDelegate {
493 public: 496 public:
494 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE {} 497 virtual void SetTotalScrollOffset(
495 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { 498 const gfx::ScrollOffset& new_value) OVERRIDE {}
496 return fixed_offset_; 499 virtual gfx::ScrollOffset GetTotalScrollOffset() OVERRIDE {
500 return gfx::ScrollOffset(fixed_offset_);
497 } 501 }
498 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } 502 virtual bool IsExternalFlingActive() const OVERRIDE { return false; }
499 503
500 void set_fixed_offset(const gfx::Vector2dF& fixed_offset) { 504 void set_fixed_offset(const gfx::Vector2dF& fixed_offset) {
501 fixed_offset_ = fixed_offset; 505 fixed_offset_ = fixed_offset;
502 } 506 }
503 507
504 private: 508 private:
505 gfx::Vector2dF fixed_offset_; 509 gfx::Vector2dF fixed_offset_;
506 }; 510 };
507 511
508 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { 512 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) {
509 gfx::Vector2d scroll_offset(10, 5); 513 gfx::ScrollOffset scroll_offset(10, 5);
510 layer()->SetScrollOffset(scroll_offset); 514 layer()->SetScrollOffset(scroll_offset);
511 515
512 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); 516 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset());
513 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 517 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
514 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); 518 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta());
515 519
516 ScrollDelegateIgnore delegate; 520 ScrollDelegateIgnore delegate;
517 gfx::Vector2dF fixed_offset(32, 12); 521 gfx::Vector2dF fixed_offset(32, 12);
518 delegate.set_fixed_offset(fixed_offset); 522 delegate.set_fixed_offset(fixed_offset);
519 layer()->SetScrollOffsetDelegate(&delegate); 523 layer()->SetScrollOffsetDelegate(&delegate);
(...skipping 13 matching lines...) Expand all
533 537
534 gfx::Vector2dF scroll_delta(1, 1); 538 gfx::Vector2dF scroll_delta(1, 1);
535 layer()->ScrollBy(scroll_delta); 539 layer()->ScrollBy(scroll_delta);
536 540
537 EXPECT_VECTOR_EQ(fixed_offset + scroll_delta, layer()->TotalScrollOffset()); 541 EXPECT_VECTOR_EQ(fixed_offset + scroll_delta, layer()->TotalScrollOffset());
538 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 542 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
539 } 543 }
540 544
541 class ScrollDelegateAccept : public LayerImpl::ScrollOffsetDelegate { 545 class ScrollDelegateAccept : public LayerImpl::ScrollOffsetDelegate {
542 public: 546 public:
543 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE { 547 virtual void SetTotalScrollOffset(
548 const gfx::ScrollOffset& new_value) OVERRIDE {
544 current_offset_ = new_value; 549 current_offset_ = new_value;
545 } 550 }
546 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { 551 virtual gfx::ScrollOffset GetTotalScrollOffset() OVERRIDE {
547 return current_offset_; 552 return current_offset_;
548 } 553 }
549 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } 554 virtual bool IsExternalFlingActive() const OVERRIDE { return false; }
550 555
551 private: 556 private:
552 gfx::Vector2dF current_offset_; 557 gfx::ScrollOffset current_offset_;
553 }; 558 };
554 559
555 TEST_F(LayerImplScrollTest, ScrollByWithAcceptingDelegate) { 560 TEST_F(LayerImplScrollTest, ScrollByWithAcceptingDelegate) {
556 gfx::Vector2d scroll_offset(10, 5); 561 gfx::ScrollOffset scroll_offset(10, 5);
557 layer()->SetScrollOffset(scroll_offset); 562 layer()->SetScrollOffset(scroll_offset);
558 563
559 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); 564 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset());
560 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 565 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
561 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); 566 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta());
562 567
563 ScrollDelegateAccept delegate; 568 ScrollDelegateAccept delegate;
564 layer()->SetScrollOffsetDelegate(&delegate); 569 layer()->SetScrollOffsetDelegate(&delegate);
565 570
566 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); 571 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset());
(...skipping 11 matching lines...) Expand all
578 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 583 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
579 584
580 gfx::Vector2dF scroll_delta(1, 1); 585 gfx::Vector2dF scroll_delta(1, 1);
581 layer()->ScrollBy(scroll_delta); 586 layer()->ScrollBy(scroll_delta);
582 587
583 EXPECT_VECTOR_EQ(gfx::Vector2dF(1, 80), layer()->TotalScrollOffset()); 588 EXPECT_VECTOR_EQ(gfx::Vector2dF(1, 80), layer()->TotalScrollOffset());
584 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 589 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
585 } 590 }
586 591
587 TEST_F(LayerImplScrollTest, ApplySentScrollsNoDelegate) { 592 TEST_F(LayerImplScrollTest, ApplySentScrollsNoDelegate) {
588 gfx::Vector2d scroll_offset(10, 5); 593 gfx::ScrollOffset scroll_offset(10, 5);
589 gfx::Vector2dF scroll_delta(20.5f, 8.5f); 594 gfx::Vector2dF scroll_delta(20.5f, 8.5f);
590 gfx::Vector2d sent_scroll_delta(12, -3); 595 gfx::Vector2d sent_scroll_delta(12, -3);
591 596
592 layer()->SetScrollOffset(scroll_offset); 597 layer()->SetScrollOffset(scroll_offset);
593 layer()->ScrollBy(scroll_delta); 598 layer()->ScrollBy(scroll_delta);
594 layer()->SetSentScrollDelta(sent_scroll_delta); 599 layer()->SetSentScrollDelta(sent_scroll_delta);
595 600
596 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); 601 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, scroll_delta),
602 layer()->TotalScrollOffset());
597 EXPECT_VECTOR_EQ(scroll_delta, layer()->ScrollDelta()); 603 EXPECT_VECTOR_EQ(scroll_delta, layer()->ScrollDelta());
598 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 604 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
599 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); 605 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta());
600 606
601 layer()->ApplySentScrollDeltasFromAbortedCommit(); 607 layer()->ApplySentScrollDeltasFromAbortedCommit();
602 608
603 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); 609 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, scroll_delta),
610 layer()->TotalScrollOffset());
604 EXPECT_VECTOR_EQ(scroll_delta - sent_scroll_delta, layer()->ScrollDelta()); 611 EXPECT_VECTOR_EQ(scroll_delta - sent_scroll_delta, layer()->ScrollDelta());
605 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); 612 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, sent_scroll_delta),
613 layer()->scroll_offset());
606 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); 614 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta());
607 } 615 }
608 616
609 TEST_F(LayerImplScrollTest, ApplySentScrollsWithIgnoringDelegate) { 617 TEST_F(LayerImplScrollTest, ApplySentScrollsWithIgnoringDelegate) {
610 gfx::Vector2d scroll_offset(10, 5); 618 gfx::ScrollOffset scroll_offset(10, 5);
611 gfx::Vector2d sent_scroll_delta(12, -3); 619 gfx::Vector2d sent_scroll_delta(12, -3);
612 gfx::Vector2dF fixed_offset(32, 12); 620 gfx::Vector2dF fixed_offset(32, 12);
613 621
614 layer()->SetScrollOffset(scroll_offset); 622 layer()->SetScrollOffset(scroll_offset);
615 ScrollDelegateIgnore delegate; 623 ScrollDelegateIgnore delegate;
616 delegate.set_fixed_offset(fixed_offset); 624 delegate.set_fixed_offset(fixed_offset);
617 layer()->SetScrollOffsetDelegate(&delegate); 625 layer()->SetScrollOffsetDelegate(&delegate);
618 layer()->SetSentScrollDelta(sent_scroll_delta); 626 layer()->SetSentScrollDelta(sent_scroll_delta);
619 627
620 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); 628 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset());
621 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 629 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
622 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); 630 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta());
623 631
624 layer()->ApplySentScrollDeltasFromAbortedCommit(); 632 layer()->ApplySentScrollDeltasFromAbortedCommit();
625 633
626 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); 634 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset());
627 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); 635 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, sent_scroll_delta),
636 layer()->scroll_offset());
628 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); 637 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta());
629 } 638 }
630 639
631 TEST_F(LayerImplScrollTest, ApplySentScrollsWithAcceptingDelegate) { 640 TEST_F(LayerImplScrollTest, ApplySentScrollsWithAcceptingDelegate) {
632 gfx::Vector2d scroll_offset(10, 5); 641 gfx::ScrollOffset scroll_offset(10, 5);
633 gfx::Vector2d sent_scroll_delta(12, -3); 642 gfx::Vector2d sent_scroll_delta(12, -3);
634 gfx::Vector2dF scroll_delta(20.5f, 8.5f); 643 gfx::Vector2dF scroll_delta(20.5f, 8.5f);
635 644
636 layer()->SetScrollOffset(scroll_offset); 645 layer()->SetScrollOffset(scroll_offset);
637 ScrollDelegateAccept delegate; 646 ScrollDelegateAccept delegate;
638 layer()->SetScrollOffsetDelegate(&delegate); 647 layer()->SetScrollOffsetDelegate(&delegate);
639 layer()->ScrollBy(scroll_delta); 648 layer()->ScrollBy(scroll_delta);
640 layer()->SetSentScrollDelta(sent_scroll_delta); 649 layer()->SetSentScrollDelta(sent_scroll_delta);
641 650
642 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); 651 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, scroll_delta),
652 layer()->TotalScrollOffset());
643 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); 653 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset());
644 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); 654 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta());
645 655
646 layer()->ApplySentScrollDeltasFromAbortedCommit(); 656 layer()->ApplySentScrollDeltasFromAbortedCommit();
647 657
648 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); 658 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, scroll_delta),
649 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); 659 layer()->TotalScrollOffset());
660 EXPECT_VECTOR_EQ(gfx::ScrollOffsetWithDelta(scroll_offset, sent_scroll_delta),
661 layer()->scroll_offset());
650 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); 662 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta());
651 } 663 }
652 664
653 // The user-scrollability breaks for zoomed-in pages. So disable this. 665 // The user-scrollability breaks for zoomed-in pages. So disable this.
654 // http://crbug.com/322223 666 // http://crbug.com/322223
655 TEST_F(LayerImplScrollTest, DISABLED_ScrollUserUnscrollableLayer) { 667 TEST_F(LayerImplScrollTest, DISABLED_ScrollUserUnscrollableLayer) {
656 gfx::Vector2d scroll_offset(10, 5); 668 gfx::ScrollOffset scroll_offset(10, 5);
657 gfx::Vector2dF scroll_delta(20.5f, 8.5f); 669 gfx::Vector2dF scroll_delta(20.5f, 8.5f);
658 670
659 layer()->set_user_scrollable_vertical(false); 671 layer()->set_user_scrollable_vertical(false);
660 layer()->SetScrollOffset(scroll_offset); 672 layer()->SetScrollOffset(scroll_offset);
661 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); 673 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta);
662 674
663 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); 675 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled);
664 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); 676 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset());
665 } 677 }
666 678
667 TEST_F(LayerImplScrollTest, SetNewScrollbarParameters) { 679 TEST_F(LayerImplScrollTest, SetNewScrollbarParameters) {
668 gfx::Vector2d scroll_offset(10, 5); 680 gfx::ScrollOffset scroll_offset(10, 5);
669 layer()->SetScrollOffset(scroll_offset); 681 layer()->SetScrollOffset(scroll_offset);
670 682
671 scoped_ptr<PaintedScrollbarLayerImpl> vertical_scrollbar( 683 scoped_ptr<PaintedScrollbarLayerImpl> vertical_scrollbar(
672 PaintedScrollbarLayerImpl::Create(tree(), 100, VERTICAL)); 684 PaintedScrollbarLayerImpl::Create(tree(), 100, VERTICAL));
673 vertical_scrollbar->SetScrollLayerAndClipLayerByIds( 685 vertical_scrollbar->SetScrollLayerAndClipLayerByIds(
674 layer()->id(), tree()->root_layer()->id()); 686 layer()->id(), tree()->root_layer()->id());
675 687
676 int expected_vertical_maximum = 688 int expected_vertical_maximum =
677 layer()->bounds().height() - tree()->root_layer()->bounds().height(); 689 layer()->bounds().height() - tree()->root_layer()->bounds().height();
678 EXPECT_EQ(expected_vertical_maximum, vertical_scrollbar->maximum()); 690 EXPECT_EQ(expected_vertical_maximum, vertical_scrollbar->maximum());
679 EXPECT_EQ(scroll_offset.y(), vertical_scrollbar->current_pos()); 691 EXPECT_EQ(scroll_offset.y(), vertical_scrollbar->current_pos());
680 692
681 scoped_ptr<PaintedScrollbarLayerImpl> horizontal_scrollbar( 693 scoped_ptr<PaintedScrollbarLayerImpl> horizontal_scrollbar(
682 PaintedScrollbarLayerImpl::Create(tree(), 101, HORIZONTAL)); 694 PaintedScrollbarLayerImpl::Create(tree(), 101, HORIZONTAL));
683 horizontal_scrollbar->SetScrollLayerAndClipLayerByIds( 695 horizontal_scrollbar->SetScrollLayerAndClipLayerByIds(
684 layer()->id(), tree()->root_layer()->id()); 696 layer()->id(), tree()->root_layer()->id());
685 697
686 int expected_horizontal_maximum = 698 int expected_horizontal_maximum =
687 layer()->bounds().width() - tree()->root_layer()->bounds().width(); 699 layer()->bounds().width() - tree()->root_layer()->bounds().width();
688 EXPECT_EQ(expected_horizontal_maximum, horizontal_scrollbar->maximum()); 700 EXPECT_EQ(expected_horizontal_maximum, horizontal_scrollbar->maximum());
689 EXPECT_EQ(scroll_offset.x(), horizontal_scrollbar->current_pos()); 701 EXPECT_EQ(scroll_offset.x(), horizontal_scrollbar->current_pos());
690 } 702 }
691 703
692 } // namespace 704 } // namespace
693 } // namespace cc 705 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698