| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 512 EXPECT_EQ(scrollAnimator->m_runState, | 512 EXPECT_EQ(scrollAnimator->m_runState, |
| 513 ScrollAnimatorCompositorCoordinator::RunState::RunningOnCompositorButNee
dsUpdate); | 513 ScrollAnimatorCompositorCoordinator::RunState::RunningOnCompositorButNee
dsUpdate); |
| 514 EXPECT_EQ(250, scrollAnimator->desiredTargetPosition().x()); | 514 EXPECT_EQ(250, scrollAnimator->desiredTargetPosition().x()); |
| 515 EXPECT_EQ(0, scrollAnimator->desiredTargetPosition().y()); | 515 EXPECT_EQ(0, scrollAnimator->desiredTargetPosition().y()); |
| 516 reset(*scrollAnimator); | 516 reset(*scrollAnimator); |
| 517 | 517 |
| 518 // Forced GC in order to finalize objects depending on the mock object. | 518 // Forced GC in order to finalize objects depending on the mock object. |
| 519 ThreadHeap::collectAllGarbage(); | 519 ThreadHeap::collectAllGarbage(); |
| 520 } | 520 } |
| 521 | 521 |
| 522 // This test verifies that ImplOnlyAnimationUpdate gets cleared once its | 522 // This test verifies that impl only animation updates get cleared once they |
| 523 // pushed to compositor animation host. | 523 // are pushed to compositor animation host. |
| 524 TEST(ScrollAnimatorTest, ImplOnlyAnimationUpdatesCleared) | 524 TEST(ScrollAnimatorTest, ImplOnlyAnimationUpdatesCleared) |
| 525 { | 525 { |
| 526 MockScrollableArea* scrollableArea = MockScrollableArea::create(true); | 526 MockScrollableArea* scrollableArea = MockScrollableArea::create(true); |
| 527 TestScrollAnimator* animator = new TestScrollAnimator(scrollableArea, getMoc
kedTime); | 527 TestScrollAnimator* animator = new TestScrollAnimator(scrollableArea, getMoc
kedTime); |
| 528 | 528 |
| 529 EXPECT_CALL(*scrollableArea, registerForAnimation()).Times(2); | 529 // From calls to adjust/takeoverImplOnlyScrollOffsetAnimation. |
| 530 EXPECT_CALL(*scrollableArea, registerForAnimation()).Times(3); |
| 530 | 531 |
| 532 // Verify that the adjustment update is cleared. |
| 531 EXPECT_EQ(animator->m_runState, ScrollAnimatorCompositorCoordinator::RunStat
e::Idle); | 533 EXPECT_EQ(animator->m_runState, ScrollAnimatorCompositorCoordinator::RunStat
e::Idle); |
| 532 EXPECT_FALSE(animator->hasAnimationThatRequiresService()); | 534 EXPECT_FALSE(animator->hasAnimationThatRequiresService()); |
| 533 EXPECT_TRUE(animator->implOnlyAnimationAdjustmentForTesting().isZero()); | 535 EXPECT_TRUE(animator->implOnlyAnimationAdjustmentForTesting().isZero()); |
| 534 | 536 |
| 535 animator->updateImplOnlyScrollOffsetAnimation(FloatSize(100.f, 100.f)); | 537 animator->adjustImplOnlyScrollOffsetAnimation(FloatSize(100.f, 100.f)); |
| 536 animator->updateImplOnlyScrollOffsetAnimation(FloatSize(10.f, -10.f)); | 538 animator->adjustImplOnlyScrollOffsetAnimation(FloatSize(10.f, -10.f)); |
| 537 | 539 |
| 538 EXPECT_TRUE(animator->hasAnimationThatRequiresService()); | 540 EXPECT_TRUE(animator->hasAnimationThatRequiresService()); |
| 539 EXPECT_EQ(FloatSize(110.f, 90.f), animator->implOnlyAnimationAdjustmentForTe
sting()); | 541 EXPECT_EQ(FloatSize(110.f, 90.f), animator->implOnlyAnimationAdjustmentForTe
sting()); |
| 540 | 542 |
| 541 animator->updateCompositorAnimations(); | 543 animator->updateCompositorAnimations(); |
| 542 | 544 |
| 543 EXPECT_EQ(animator->m_runState, ScrollAnimatorCompositorCoordinator::RunStat
e::Idle); | 545 EXPECT_EQ(animator->m_runState, ScrollAnimatorCompositorCoordinator::RunStat
e::Idle); |
| 544 EXPECT_FALSE(animator->hasAnimationThatRequiresService()); | 546 EXPECT_FALSE(animator->hasAnimationThatRequiresService()); |
| 545 EXPECT_TRUE(animator->implOnlyAnimationAdjustmentForTesting().isZero()); | 547 EXPECT_TRUE(animator->implOnlyAnimationAdjustmentForTesting().isZero()); |
| 546 | 548 |
| 549 // Verify that the takeover update is cleared. |
| 550 animator->takeoverImplOnlyScrollOffsetAnimation(); |
| 551 EXPECT_TRUE(animator->hasAnimationThatRequiresService()); |
| 552 animator->updateCompositorAnimations(); |
| 553 EXPECT_FALSE(animator->hasAnimationThatRequiresService()); |
| 554 |
| 547 // Forced GC in order to finalize objects depending on the mock object. | 555 // Forced GC in order to finalize objects depending on the mock object. |
| 548 ThreadHeap::collectAllGarbage(); | 556 ThreadHeap::collectAllGarbage(); |
| 549 } | 557 } |
| 550 | 558 |
| 551 } // namespace blink | 559 } // namespace blink |
| OLD | NEW |