| 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 "config.h" | 5 #include "config.h" |
| 6 | 6 |
| 7 #include "CCLayerTreeHostImpl.h" | 7 #include "CCLayerTreeHostImpl.h" |
| 8 | 8 |
| 9 #include "CCDelegatedRendererLayerImpl.h" | 9 #include "CCDelegatedRendererLayerImpl.h" |
| 10 #include "CCHeadsUpDisplayLayerImpl.h" | 10 #include "CCHeadsUpDisplayLayerImpl.h" |
| (...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 483 { | 483 { |
| 484 // This test is specific to the page-scale based pinch zoom. | 484 // This test is specific to the page-scale based pinch zoom. |
| 485 if (!CCSettings::pageScalePinchZoomEnabled()) | 485 if (!CCSettings::pageScalePinchZoomEnabled()) |
| 486 return; | 486 return; |
| 487 | 487 |
| 488 setupScrollAndContentsLayers(IntSize(100, 100)); | 488 setupScrollAndContentsLayers(IntSize(100, 100)); |
| 489 m_hostImpl->setViewportSize(IntSize(50, 50), IntSize(50, 50)); | 489 m_hostImpl->setViewportSize(IntSize(50, 50), IntSize(50, 50)); |
| 490 initializeRendererAndDrawFrame(); | 490 initializeRendererAndDrawFrame(); |
| 491 | 491 |
| 492 CCLayerImpl* scrollLayer = m_hostImpl->rootScrollLayer(); | 492 CCLayerImpl* scrollLayer = m_hostImpl->rootScrollLayer(); |
| 493 ASSERT(scrollLayer); | 493 DCHECK(scrollLayer); |
| 494 | 494 |
| 495 const float minPageScale = 1, maxPageScale = 4; | 495 const float minPageScale = 1, maxPageScale = 4; |
| 496 const WebTransformationMatrix identityScaleTransform; | 496 const WebTransformationMatrix identityScaleTransform; |
| 497 | 497 |
| 498 // The impl-based pinch zoome should not adjust the max scroll position. | 498 // The impl-based pinch zoome should not adjust the max scroll position. |
| 499 { | 499 { |
| 500 m_hostImpl->setPageScaleFactorAndLimits(1, minPageScale, maxPageScale); | 500 m_hostImpl->setPageScaleFactorAndLimits(1, minPageScale, maxPageScale); |
| 501 scrollLayer->setImplTransform(identityScaleTransform); | 501 scrollLayer->setImplTransform(identityScaleTransform); |
| 502 scrollLayer->setScrollDelta(IntSize()); | 502 scrollLayer->setScrollDelta(IntSize()); |
| 503 | 503 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 536 } | 536 } |
| 537 } | 537 } |
| 538 | 538 |
| 539 TEST_P(CCLayerTreeHostImplTest, pinchGesture) | 539 TEST_P(CCLayerTreeHostImplTest, pinchGesture) |
| 540 { | 540 { |
| 541 setupScrollAndContentsLayers(IntSize(100, 100)); | 541 setupScrollAndContentsLayers(IntSize(100, 100)); |
| 542 m_hostImpl->setViewportSize(IntSize(50, 50), IntSize(50, 50)); | 542 m_hostImpl->setViewportSize(IntSize(50, 50), IntSize(50, 50)); |
| 543 initializeRendererAndDrawFrame(); | 543 initializeRendererAndDrawFrame(); |
| 544 | 544 |
| 545 CCLayerImpl* scrollLayer = m_hostImpl->rootScrollLayer(); | 545 CCLayerImpl* scrollLayer = m_hostImpl->rootScrollLayer(); |
| 546 ASSERT(scrollLayer); | 546 DCHECK(scrollLayer); |
| 547 | 547 |
| 548 const float minPageScale = CCSettings::pageScalePinchZoomEnabled() ? 1 : 0.5
; | 548 const float minPageScale = CCSettings::pageScalePinchZoomEnabled() ? 1 : 0.5
; |
| 549 const float maxPageScale = 4; | 549 const float maxPageScale = 4; |
| 550 const WebTransformationMatrix identityScaleTransform; | 550 const WebTransformationMatrix identityScaleTransform; |
| 551 | 551 |
| 552 // Basic pinch zoom in gesture | 552 // Basic pinch zoom in gesture |
| 553 { | 553 { |
| 554 m_hostImpl->setPageScaleFactorAndLimits(1, minPageScale, maxPageScale); | 554 m_hostImpl->setPageScaleFactorAndLimits(1, minPageScale, maxPageScale); |
| 555 scrollLayer->setImplTransform(identityScaleTransform); | 555 scrollLayer->setImplTransform(identityScaleTransform); |
| 556 scrollLayer->setScrollDelta(IntSize()); | 556 scrollLayer->setScrollDelta(IntSize()); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 623 } | 623 } |
| 624 } | 624 } |
| 625 | 625 |
| 626 TEST_P(CCLayerTreeHostImplTest, pageScaleAnimation) | 626 TEST_P(CCLayerTreeHostImplTest, pageScaleAnimation) |
| 627 { | 627 { |
| 628 setupScrollAndContentsLayers(IntSize(100, 100)); | 628 setupScrollAndContentsLayers(IntSize(100, 100)); |
| 629 m_hostImpl->setViewportSize(IntSize(50, 50), IntSize(50, 50)); | 629 m_hostImpl->setViewportSize(IntSize(50, 50), IntSize(50, 50)); |
| 630 initializeRendererAndDrawFrame(); | 630 initializeRendererAndDrawFrame(); |
| 631 | 631 |
| 632 CCLayerImpl* scrollLayer = m_hostImpl->rootScrollLayer(); | 632 CCLayerImpl* scrollLayer = m_hostImpl->rootScrollLayer(); |
| 633 ASSERT(scrollLayer); | 633 DCHECK(scrollLayer); |
| 634 | 634 |
| 635 const float minPageScale = CCSettings::pageScalePinchZoomEnabled() ? 1 : 0.5
; | 635 const float minPageScale = CCSettings::pageScalePinchZoomEnabled() ? 1 : 0.5
; |
| 636 const float maxPageScale = 4; | 636 const float maxPageScale = 4; |
| 637 const double startTime = 1; | 637 const double startTime = 1; |
| 638 const double duration = 0.1; | 638 const double duration = 0.1; |
| 639 const double halfwayThroughAnimation = startTime + duration / 2; | 639 const double halfwayThroughAnimation = startTime + duration / 2; |
| 640 const double endTime = startTime + duration; | 640 const double endTime = startTime + duration; |
| 641 const WebTransformationMatrix identityScaleTransform; | 641 const WebTransformationMatrix identityScaleTransform; |
| 642 | 642 |
| 643 // Non-anchor zoom-in | 643 // Non-anchor zoom-in |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 675 } | 675 } |
| 676 } | 676 } |
| 677 | 677 |
| 678 TEST_P(CCLayerTreeHostImplTest, inhibitScrollAndPageScaleUpdatesWhilePinchZoomin
g) | 678 TEST_P(CCLayerTreeHostImplTest, inhibitScrollAndPageScaleUpdatesWhilePinchZoomin
g) |
| 679 { | 679 { |
| 680 setupScrollAndContentsLayers(IntSize(100, 100)); | 680 setupScrollAndContentsLayers(IntSize(100, 100)); |
| 681 m_hostImpl->setViewportSize(IntSize(50, 50), IntSize(50, 50)); | 681 m_hostImpl->setViewportSize(IntSize(50, 50), IntSize(50, 50)); |
| 682 initializeRendererAndDrawFrame(); | 682 initializeRendererAndDrawFrame(); |
| 683 | 683 |
| 684 CCLayerImpl* scrollLayer = m_hostImpl->rootScrollLayer(); | 684 CCLayerImpl* scrollLayer = m_hostImpl->rootScrollLayer(); |
| 685 ASSERT(scrollLayer); | 685 DCHECK(scrollLayer); |
| 686 | 686 |
| 687 const float minPageScale = CCSettings::pageScalePinchZoomEnabled() ? 1 : 0.5
; | 687 const float minPageScale = CCSettings::pageScalePinchZoomEnabled() ? 1 : 0.5
; |
| 688 const float maxPageScale = 4; | 688 const float maxPageScale = 4; |
| 689 | 689 |
| 690 // Pinch zoom in. | 690 // Pinch zoom in. |
| 691 { | 691 { |
| 692 // Start a pinch in gesture at the bottom right corner of the viewport. | 692 // Start a pinch in gesture at the bottom right corner of the viewport. |
| 693 const float zoomInDelta = 2; | 693 const float zoomInDelta = 2; |
| 694 m_hostImpl->setPageScaleFactorAndLimits(1, minPageScale, maxPageScale); | 694 m_hostImpl->setPageScaleFactorAndLimits(1, minPageScale, maxPageScale); |
| 695 m_hostImpl->pinchGestureBegin(); | 695 m_hostImpl->pinchGestureBegin(); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 744 } | 744 } |
| 745 } | 745 } |
| 746 | 746 |
| 747 TEST_P(CCLayerTreeHostImplTest, inhibitScrollAndPageScaleUpdatesWhileAnimatingPa
geScale) | 747 TEST_P(CCLayerTreeHostImplTest, inhibitScrollAndPageScaleUpdatesWhileAnimatingPa
geScale) |
| 748 { | 748 { |
| 749 setupScrollAndContentsLayers(IntSize(100, 100)); | 749 setupScrollAndContentsLayers(IntSize(100, 100)); |
| 750 m_hostImpl->setViewportSize(IntSize(50, 50), IntSize(50, 50)); | 750 m_hostImpl->setViewportSize(IntSize(50, 50), IntSize(50, 50)); |
| 751 initializeRendererAndDrawFrame(); | 751 initializeRendererAndDrawFrame(); |
| 752 | 752 |
| 753 CCLayerImpl* scrollLayer = m_hostImpl->rootScrollLayer(); | 753 CCLayerImpl* scrollLayer = m_hostImpl->rootScrollLayer(); |
| 754 ASSERT(scrollLayer); | 754 DCHECK(scrollLayer); |
| 755 | 755 |
| 756 const float minPageScale = CCSettings::pageScalePinchZoomEnabled() ? 1 : 0.5
; | 756 const float minPageScale = CCSettings::pageScalePinchZoomEnabled() ? 1 : 0.5
; |
| 757 const float maxPageScale = 4; | 757 const float maxPageScale = 4; |
| 758 const double startTime = 1; | 758 const double startTime = 1; |
| 759 const double duration = 0.1; | 759 const double duration = 0.1; |
| 760 const double halfwayThroughAnimation = startTime + duration / 2; | 760 const double halfwayThroughAnimation = startTime + duration / 2; |
| 761 const double endTime = startTime + duration; | 761 const double endTime = startTime + duration; |
| 762 | 762 |
| 763 // Start a page scale animation. | 763 // Start a page scale animation. |
| 764 const float pageScaleDelta = 2; | 764 const float pageScaleDelta = 2; |
| (...skipping 1844 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2609 | 2609 |
| 2610 class FakeScrollbarLayerImpl : public CCScrollbarLayerImpl { | 2610 class FakeScrollbarLayerImpl : public CCScrollbarLayerImpl { |
| 2611 public: | 2611 public: |
| 2612 static scoped_ptr<FakeScrollbarLayerImpl> create(int id) | 2612 static scoped_ptr<FakeScrollbarLayerImpl> create(int id) |
| 2613 { | 2613 { |
| 2614 return make_scoped_ptr(new FakeScrollbarLayerImpl(id)); | 2614 return make_scoped_ptr(new FakeScrollbarLayerImpl(id)); |
| 2615 } | 2615 } |
| 2616 | 2616 |
| 2617 void createResources(CCResourceProvider* provider) | 2617 void createResources(CCResourceProvider* provider) |
| 2618 { | 2618 { |
| 2619 ASSERT(provider); | 2619 DCHECK(provider); |
| 2620 int pool = 0; | 2620 int pool = 0; |
| 2621 IntSize size(10, 10); | 2621 IntSize size(10, 10); |
| 2622 GC3Denum format = GraphicsContext3D::RGBA; | 2622 GC3Denum format = GraphicsContext3D::RGBA; |
| 2623 CCResourceProvider::TextureUsageHint hint = CCResourceProvider::TextureU
sageAny; | 2623 CCResourceProvider::TextureUsageHint hint = CCResourceProvider::TextureU
sageAny; |
| 2624 setScrollbarGeometry(CCScrollbarGeometryFixedThumb::create(FakeWebScroll
barThemeGeometryNonEmpty::create())); | 2624 setScrollbarGeometry(CCScrollbarGeometryFixedThumb::create(FakeWebScroll
barThemeGeometryNonEmpty::create())); |
| 2625 | 2625 |
| 2626 setBackTrackResourceId(provider->createResource(pool, size, format, hint
)); | 2626 setBackTrackResourceId(provider->createResource(pool, size, format, hint
)); |
| 2627 setForeTrackResourceId(provider->createResource(pool, size, format, hint
)); | 2627 setForeTrackResourceId(provider->createResource(pool, size, format, hint
)); |
| 2628 setThumbResourceId(provider->createResource(pool, size, format, hint)); | 2628 setThumbResourceId(provider->createResource(pool, size, format, hint)); |
| 2629 } | 2629 } |
| (...skipping 1744 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4374 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat
a); | 4374 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat
a); |
| 4375 testCaseIndex++; | 4375 testCaseIndex++; |
| 4376 } | 4376 } |
| 4377 } | 4377 } |
| 4378 | 4378 |
| 4379 INSTANTIATE_TEST_CASE_P(CCLayerTreeHostImplTests, | 4379 INSTANTIATE_TEST_CASE_P(CCLayerTreeHostImplTests, |
| 4380 CCLayerTreeHostImplTest, | 4380 CCLayerTreeHostImplTest, |
| 4381 ::testing::Values(false, true)); | 4381 ::testing::Values(false, true)); |
| 4382 | 4382 |
| 4383 } // namespace | 4383 } // namespace |
| OLD | NEW |