OLD | NEW |
---|---|
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 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
442 FakeImplProxy proxy_; | 442 FakeImplProxy proxy_; |
443 TestSharedBitmapManager shared_bitmap_manager_; | 443 TestSharedBitmapManager shared_bitmap_manager_; |
444 FakeLayerTreeHostImpl host_impl_; | 444 FakeLayerTreeHostImpl host_impl_; |
445 int root_id_; | 445 int root_id_; |
446 }; | 446 }; |
447 | 447 |
448 TEST_F(LayerImplScrollTest, ScrollByWithZeroOffset) { | 448 TEST_F(LayerImplScrollTest, ScrollByWithZeroOffset) { |
449 // Test that LayerImpl::ScrollBy only affects ScrollDelta and total scroll | 449 // Test that LayerImpl::ScrollBy only affects ScrollDelta and total scroll |
450 // offset is bounded by the range [0, max scroll offset]. | 450 // offset is bounded by the range [0, max scroll offset]. |
451 | 451 |
452 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->TotalScrollOffset()); | 452 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(), layer()->TotalScrollOffset()); |
danakj
2014/09/18 21:21:52
you can just use EXPECT_EQ for these now
Yufeng Shen (Slow to review)
2014/09/18 22:47:55
Done.
| |
453 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset()); | 453 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(), layer()->scroll_offset()); |
454 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); | 454 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); |
455 | 455 |
456 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); | 456 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); |
457 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); | 457 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); |
458 | 458 |
459 EXPECT_VECTOR_EQ(layer()->ScrollDelta(), layer()->TotalScrollOffset()); | 459 EXPECT_VECTOR2DF_EQ(layer()->ScrollDelta(), layer()->TotalScrollOffset()); |
460 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset()); | 460 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(), layer()->scroll_offset()); |
461 | 461 |
462 layer()->ScrollBy(gfx::Vector2dF(100, -100)); | 462 layer()->ScrollBy(gfx::Vector2dF(100, -100)); |
463 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); | 463 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); |
464 | 464 |
465 EXPECT_VECTOR_EQ(layer()->ScrollDelta(), layer()->TotalScrollOffset()); | 465 EXPECT_VECTOR2DF_EQ(layer()->ScrollDelta(), layer()->TotalScrollOffset()); |
466 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->scroll_offset()); | 466 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(), layer()->scroll_offset()); |
467 } | 467 } |
468 | 468 |
469 TEST_F(LayerImplScrollTest, ScrollByWithNonZeroOffset) { | 469 TEST_F(LayerImplScrollTest, ScrollByWithNonZeroOffset) { |
470 gfx::Vector2d scroll_offset(10, 5); | 470 gfx::Vector2dF scroll_offset(10.1f, 5.2f); |
471 layer()->SetScrollOffset(scroll_offset); | 471 layer()->SetScrollOffset(scroll_offset); |
472 | 472 |
473 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 473 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->TotalScrollOffset()); |
474 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 474 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
475 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); | 475 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); |
476 | 476 |
477 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); | 477 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); |
478 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); | 478 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); |
479 | 479 |
480 EXPECT_VECTOR_EQ(layer()->ScrollDelta() + scroll_offset, | 480 EXPECT_VECTOR2DF_EQ(layer()->ScrollDelta() + scroll_offset, |
481 layer()->TotalScrollOffset()); | 481 layer()->TotalScrollOffset()); |
482 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 482 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
483 | 483 |
484 layer()->ScrollBy(gfx::Vector2dF(100, -100)); | 484 layer()->ScrollBy(gfx::Vector2dF(100, -100)); |
485 EXPECT_VECTOR_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); | 485 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(50, 0), layer()->TotalScrollOffset()); |
486 | 486 |
487 EXPECT_VECTOR_EQ(layer()->ScrollDelta() + scroll_offset, | 487 EXPECT_VECTOR2DF_EQ(layer()->ScrollDelta() + scroll_offset, |
488 layer()->TotalScrollOffset()); | 488 layer()->TotalScrollOffset()); |
489 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 489 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
490 } | 490 } |
491 | 491 |
492 class ScrollDelegateIgnore : public LayerImpl::ScrollOffsetDelegate { | 492 class ScrollDelegateIgnore : public LayerImpl::ScrollOffsetDelegate { |
493 public: | 493 public: |
494 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE {} | 494 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE {} |
495 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { | 495 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { |
496 return fixed_offset_; | 496 return fixed_offset_; |
497 } | 497 } |
498 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } | 498 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } |
499 | 499 |
500 void set_fixed_offset(const gfx::Vector2dF& fixed_offset) { | 500 void set_fixed_offset(const gfx::Vector2dF& fixed_offset) { |
501 fixed_offset_ = fixed_offset; | 501 fixed_offset_ = fixed_offset; |
502 } | 502 } |
503 | 503 |
504 private: | 504 private: |
505 gfx::Vector2dF fixed_offset_; | 505 gfx::Vector2dF fixed_offset_; |
506 }; | 506 }; |
507 | 507 |
508 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { | 508 TEST_F(LayerImplScrollTest, ScrollByWithIgnoringDelegate) { |
509 gfx::Vector2d scroll_offset(10, 5); | 509 gfx::Vector2dF scroll_offset(10.0f, 5.0f); |
510 layer()->SetScrollOffset(scroll_offset); | 510 layer()->SetScrollOffset(scroll_offset); |
511 | 511 |
512 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 512 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->TotalScrollOffset()); |
513 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 513 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
514 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); | 514 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); |
515 | 515 |
516 ScrollDelegateIgnore delegate; | 516 ScrollDelegateIgnore delegate; |
517 gfx::Vector2dF fixed_offset(32, 12); | 517 gfx::Vector2dF fixed_offset(32.0f, 12.0f); |
518 delegate.set_fixed_offset(fixed_offset); | 518 delegate.set_fixed_offset(fixed_offset); |
519 layer()->SetScrollOffsetDelegate(&delegate); | 519 layer()->SetScrollOffsetDelegate(&delegate); |
520 | 520 |
521 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); | 521 EXPECT_VECTOR2DF_EQ(fixed_offset, layer()->TotalScrollOffset()); |
522 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 522 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
523 | 523 |
524 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); | 524 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); |
525 | 525 |
526 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); | 526 EXPECT_VECTOR2DF_EQ(fixed_offset, layer()->TotalScrollOffset()); |
527 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 527 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
528 | 528 |
529 layer()->SetScrollOffsetDelegate(NULL); | 529 layer()->SetScrollOffsetDelegate(NULL); |
530 | 530 |
531 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); | 531 EXPECT_VECTOR2DF_EQ(fixed_offset, layer()->TotalScrollOffset()); |
532 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 532 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
533 | 533 |
534 gfx::Vector2dF scroll_delta(1, 1); | 534 gfx::Vector2dF scroll_delta(1.0f, 1.0f); |
535 layer()->ScrollBy(scroll_delta); | 535 layer()->ScrollBy(scroll_delta); |
536 | 536 |
537 EXPECT_VECTOR_EQ(fixed_offset + scroll_delta, layer()->TotalScrollOffset()); | 537 EXPECT_VECTOR2DF_EQ(fixed_offset + scroll_delta, |
538 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 538 layer()->TotalScrollOffset()); |
539 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); | |
539 } | 540 } |
540 | 541 |
541 class ScrollDelegateAccept : public LayerImpl::ScrollOffsetDelegate { | 542 class ScrollDelegateAccept : public LayerImpl::ScrollOffsetDelegate { |
542 public: | 543 public: |
543 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE { | 544 virtual void SetTotalScrollOffset(const gfx::Vector2dF& new_value) OVERRIDE { |
544 current_offset_ = new_value; | 545 current_offset_ = new_value; |
545 } | 546 } |
546 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { | 547 virtual gfx::Vector2dF GetTotalScrollOffset() OVERRIDE { |
547 return current_offset_; | 548 return current_offset_; |
548 } | 549 } |
549 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } | 550 virtual bool IsExternalFlingActive() const OVERRIDE { return false; } |
550 | 551 |
551 private: | 552 private: |
552 gfx::Vector2dF current_offset_; | 553 gfx::Vector2dF current_offset_; |
553 }; | 554 }; |
554 | 555 |
555 TEST_F(LayerImplScrollTest, ScrollByWithAcceptingDelegate) { | 556 TEST_F(LayerImplScrollTest, ScrollByWithAcceptingDelegate) { |
556 gfx::Vector2d scroll_offset(10, 5); | 557 gfx::Vector2dF scroll_offset(10.2f, 5.1f); |
557 layer()->SetScrollOffset(scroll_offset); | 558 layer()->SetScrollOffset(scroll_offset); |
558 | 559 |
559 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 560 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->TotalScrollOffset()); |
560 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 561 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
561 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); | 562 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); |
562 | 563 |
563 ScrollDelegateAccept delegate; | 564 ScrollDelegateAccept delegate; |
564 layer()->SetScrollOffsetDelegate(&delegate); | 565 layer()->SetScrollOffsetDelegate(&delegate); |
565 | 566 |
566 EXPECT_VECTOR_EQ(scroll_offset, layer()->TotalScrollOffset()); | 567 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->TotalScrollOffset()); |
567 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 568 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
568 EXPECT_VECTOR_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); | 569 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(), layer()->ScrollDelta()); |
569 | 570 |
570 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); | 571 layer()->ScrollBy(gfx::Vector2dF(-100, 100)); |
571 | 572 |
572 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); | 573 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); |
573 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 574 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
574 | 575 |
575 layer()->SetScrollOffsetDelegate(NULL); | 576 layer()->SetScrollOffsetDelegate(NULL); |
576 | 577 |
577 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); | 578 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(0, 80), layer()->TotalScrollOffset()); |
578 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 579 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
579 | 580 |
580 gfx::Vector2dF scroll_delta(1, 1); | 581 gfx::Vector2dF scroll_delta(1, 1); |
581 layer()->ScrollBy(scroll_delta); | 582 layer()->ScrollBy(scroll_delta); |
582 | 583 |
583 EXPECT_VECTOR_EQ(gfx::Vector2dF(1, 80), layer()->TotalScrollOffset()); | 584 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(1, 80), layer()->TotalScrollOffset()); |
584 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 585 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
585 } | 586 } |
586 | 587 |
587 TEST_F(LayerImplScrollTest, ApplySentScrollsNoDelegate) { | 588 TEST_F(LayerImplScrollTest, ApplySentScrollsNoDelegate) { |
588 gfx::Vector2d scroll_offset(10, 5); | 589 gfx::Vector2dF scroll_offset(10.1f, 5.2f); |
589 gfx::Vector2dF scroll_delta(20.5f, 8.5f); | 590 gfx::Vector2dF scroll_delta(20.5f, 8.5f); |
590 gfx::Vector2d sent_scroll_delta(12, -3); | 591 gfx::Vector2dF sent_scroll_delta(12.4f, -3.2f); |
591 | 592 |
592 layer()->SetScrollOffset(scroll_offset); | 593 layer()->SetScrollOffset(scroll_offset); |
593 layer()->ScrollBy(scroll_delta); | 594 layer()->ScrollBy(scroll_delta); |
594 layer()->SetSentScrollDelta(sent_scroll_delta); | 595 layer()->SetSentScrollDelta(sent_scroll_delta); |
595 | 596 |
596 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); | 597 EXPECT_VECTOR2DF_EQ(scroll_offset + scroll_delta, |
597 EXPECT_VECTOR_EQ(scroll_delta, layer()->ScrollDelta()); | 598 layer()->TotalScrollOffset()); |
598 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 599 EXPECT_VECTOR2DF_EQ(scroll_delta, layer()->ScrollDelta()); |
599 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); | 600 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
601 EXPECT_VECTOR2DF_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); | |
600 | 602 |
601 layer()->ApplySentScrollDeltasFromAbortedCommit(); | 603 layer()->ApplySentScrollDeltasFromAbortedCommit(); |
602 | 604 |
603 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); | 605 EXPECT_VECTOR2DF_EQ(scroll_offset + scroll_delta, |
604 EXPECT_VECTOR_EQ(scroll_delta - sent_scroll_delta, layer()->ScrollDelta()); | 606 layer()->TotalScrollOffset()); |
605 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); | 607 EXPECT_VECTOR2DF_EQ(scroll_delta - sent_scroll_delta, layer()->ScrollDelta()); |
606 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); | 608 EXPECT_VECTOR2DF_EQ(scroll_offset + sent_scroll_delta, |
609 layer()->scroll_offset()); | |
610 EXPECT_VECTOR2DF_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); | |
607 } | 611 } |
608 | 612 |
609 TEST_F(LayerImplScrollTest, ApplySentScrollsWithIgnoringDelegate) { | 613 TEST_F(LayerImplScrollTest, ApplySentScrollsWithIgnoringDelegate) { |
610 gfx::Vector2d scroll_offset(10, 5); | 614 gfx::Vector2dF scroll_offset(10.1f, 5.2f); |
611 gfx::Vector2d sent_scroll_delta(12, -3); | 615 gfx::Vector2dF sent_scroll_delta(12.1f, -3.3f); |
612 gfx::Vector2dF fixed_offset(32, 12); | 616 gfx::Vector2dF fixed_offset(32.2f, 12.0f); |
613 | 617 |
614 layer()->SetScrollOffset(scroll_offset); | 618 layer()->SetScrollOffset(scroll_offset); |
615 ScrollDelegateIgnore delegate; | 619 ScrollDelegateIgnore delegate; |
616 delegate.set_fixed_offset(fixed_offset); | 620 delegate.set_fixed_offset(fixed_offset); |
617 layer()->SetScrollOffsetDelegate(&delegate); | 621 layer()->SetScrollOffsetDelegate(&delegate); |
618 layer()->SetSentScrollDelta(sent_scroll_delta); | 622 layer()->SetSentScrollDelta(sent_scroll_delta); |
619 | 623 |
620 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); | 624 EXPECT_VECTOR2DF_EQ(fixed_offset, layer()->TotalScrollOffset()); |
621 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 625 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
622 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); | 626 EXPECT_VECTOR2DF_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); |
623 | 627 |
624 layer()->ApplySentScrollDeltasFromAbortedCommit(); | 628 layer()->ApplySentScrollDeltasFromAbortedCommit(); |
625 | 629 |
626 EXPECT_VECTOR_EQ(fixed_offset, layer()->TotalScrollOffset()); | 630 EXPECT_VECTOR2DF_EQ(fixed_offset, layer()->TotalScrollOffset()); |
627 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); | 631 EXPECT_VECTOR2DF_EQ(scroll_offset + sent_scroll_delta, |
628 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); | 632 layer()->scroll_offset()); |
633 EXPECT_VECTOR2DF_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); | |
629 } | 634 } |
630 | 635 |
631 TEST_F(LayerImplScrollTest, ApplySentScrollsWithAcceptingDelegate) { | 636 TEST_F(LayerImplScrollTest, ApplySentScrollsWithAcceptingDelegate) { |
632 gfx::Vector2d scroll_offset(10, 5); | 637 gfx::Vector2dF scroll_offset(10.1f, 5.1f); |
633 gfx::Vector2d sent_scroll_delta(12, -3); | 638 gfx::Vector2dF sent_scroll_delta(12.2f, -3.0f); |
634 gfx::Vector2dF scroll_delta(20.5f, 8.5f); | 639 gfx::Vector2dF scroll_delta(20.5f, 8.5f); |
635 | 640 |
636 layer()->SetScrollOffset(scroll_offset); | 641 layer()->SetScrollOffset(scroll_offset); |
637 ScrollDelegateAccept delegate; | 642 ScrollDelegateAccept delegate; |
638 layer()->SetScrollOffsetDelegate(&delegate); | 643 layer()->SetScrollOffsetDelegate(&delegate); |
639 layer()->ScrollBy(scroll_delta); | 644 layer()->ScrollBy(scroll_delta); |
640 layer()->SetSentScrollDelta(sent_scroll_delta); | 645 layer()->SetSentScrollDelta(sent_scroll_delta); |
641 | 646 |
642 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); | 647 EXPECT_VECTOR2DF_EQ(scroll_offset + scroll_delta, |
643 EXPECT_VECTOR_EQ(scroll_offset, layer()->scroll_offset()); | 648 layer()->TotalScrollOffset()); |
644 EXPECT_VECTOR_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); | 649 EXPECT_VECTOR2DF_EQ(scroll_offset, layer()->scroll_offset()); |
650 EXPECT_VECTOR2DF_EQ(sent_scroll_delta, layer()->sent_scroll_delta()); | |
645 | 651 |
646 layer()->ApplySentScrollDeltasFromAbortedCommit(); | 652 layer()->ApplySentScrollDeltasFromAbortedCommit(); |
647 | 653 |
648 EXPECT_VECTOR_EQ(scroll_offset + scroll_delta, layer()->TotalScrollOffset()); | 654 EXPECT_VECTOR2DF_EQ(scroll_offset + scroll_delta, |
649 EXPECT_VECTOR_EQ(scroll_offset + sent_scroll_delta, layer()->scroll_offset()); | 655 layer()->TotalScrollOffset()); |
650 EXPECT_VECTOR_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); | 656 EXPECT_VECTOR2DF_EQ(scroll_offset + sent_scroll_delta, |
657 layer()->scroll_offset()); | |
658 EXPECT_VECTOR2DF_EQ(gfx::Vector2d(), layer()->sent_scroll_delta()); | |
651 } | 659 } |
652 | 660 |
653 // The user-scrollability breaks for zoomed-in pages. So disable this. | 661 // The user-scrollability breaks for zoomed-in pages. So disable this. |
654 // http://crbug.com/322223 | 662 // http://crbug.com/322223 |
655 TEST_F(LayerImplScrollTest, DISABLED_ScrollUserUnscrollableLayer) { | 663 TEST_F(LayerImplScrollTest, DISABLED_ScrollUserUnscrollableLayer) { |
656 gfx::Vector2d scroll_offset(10, 5); | 664 gfx::Vector2dF scroll_offset(10.1f, 5.2f); |
657 gfx::Vector2dF scroll_delta(20.5f, 8.5f); | 665 gfx::Vector2dF scroll_delta(20.5f, 8.5f); |
658 | 666 |
659 layer()->set_user_scrollable_vertical(false); | 667 layer()->set_user_scrollable_vertical(false); |
660 layer()->SetScrollOffset(scroll_offset); | 668 layer()->SetScrollOffset(scroll_offset); |
661 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); | 669 gfx::Vector2dF unscrolled = layer()->ScrollBy(scroll_delta); |
662 | 670 |
663 EXPECT_VECTOR_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); | 671 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(0, 8.5f), unscrolled); |
664 EXPECT_VECTOR_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); | 672 EXPECT_VECTOR2DF_EQ(gfx::Vector2dF(30.5f, 5), layer()->TotalScrollOffset()); |
665 } | 673 } |
666 | 674 |
667 TEST_F(LayerImplScrollTest, SetNewScrollbarParameters) { | 675 TEST_F(LayerImplScrollTest, SetNewScrollbarParameters) { |
668 gfx::Vector2d scroll_offset(10, 5); | 676 gfx::Vector2d scroll_offset(10, 5); |
669 layer()->SetScrollOffset(scroll_offset); | 677 layer()->SetScrollOffset(scroll_offset); |
670 | 678 |
671 scoped_ptr<PaintedScrollbarLayerImpl> vertical_scrollbar( | 679 scoped_ptr<PaintedScrollbarLayerImpl> vertical_scrollbar( |
672 PaintedScrollbarLayerImpl::Create(tree(), 100, VERTICAL)); | 680 PaintedScrollbarLayerImpl::Create(tree(), 100, VERTICAL)); |
673 vertical_scrollbar->SetScrollLayerAndClipLayerByIds( | 681 vertical_scrollbar->SetScrollLayerAndClipLayerByIds( |
674 layer()->id(), tree()->root_layer()->id()); | 682 layer()->id(), tree()->root_layer()->id()); |
675 | 683 |
676 int expected_vertical_maximum = | 684 int expected_vertical_maximum = |
677 layer()->bounds().height() - tree()->root_layer()->bounds().height(); | 685 layer()->bounds().height() - tree()->root_layer()->bounds().height(); |
678 EXPECT_EQ(expected_vertical_maximum, vertical_scrollbar->maximum()); | 686 EXPECT_EQ(expected_vertical_maximum, vertical_scrollbar->maximum()); |
679 EXPECT_EQ(scroll_offset.y(), vertical_scrollbar->current_pos()); | 687 EXPECT_EQ(scroll_offset.y(), vertical_scrollbar->current_pos()); |
680 | 688 |
681 scoped_ptr<PaintedScrollbarLayerImpl> horizontal_scrollbar( | 689 scoped_ptr<PaintedScrollbarLayerImpl> horizontal_scrollbar( |
682 PaintedScrollbarLayerImpl::Create(tree(), 101, HORIZONTAL)); | 690 PaintedScrollbarLayerImpl::Create(tree(), 101, HORIZONTAL)); |
683 horizontal_scrollbar->SetScrollLayerAndClipLayerByIds( | 691 horizontal_scrollbar->SetScrollLayerAndClipLayerByIds( |
684 layer()->id(), tree()->root_layer()->id()); | 692 layer()->id(), tree()->root_layer()->id()); |
685 | 693 |
686 int expected_horizontal_maximum = | 694 int expected_horizontal_maximum = |
687 layer()->bounds().width() - tree()->root_layer()->bounds().width(); | 695 layer()->bounds().width() - tree()->root_layer()->bounds().width(); |
688 EXPECT_EQ(expected_horizontal_maximum, horizontal_scrollbar->maximum()); | 696 EXPECT_EQ(expected_horizontal_maximum, horizontal_scrollbar->maximum()); |
689 EXPECT_EQ(scroll_offset.x(), horizontal_scrollbar->current_pos()); | 697 EXPECT_EQ(scroll_offset.x(), horizontal_scrollbar->current_pos()); |
690 } | 698 } |
691 | 699 |
692 } // namespace | 700 } // namespace |
693 } // namespace cc | 701 } // namespace cc |
OLD | NEW |