| OLD | NEW |
| 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 "config.h" | 5 #include "config.h" |
| 6 | 6 |
| 7 #include "CCDelegatedRendererLayerImpl.h" | 7 #include "CCDelegatedRendererLayerImpl.h" |
| 8 | 8 |
| 9 #include "CCAppendQuadsData.h" | 9 #include "CCAppendQuadsData.h" |
| 10 #include "CCGeometryTestUtils.h" | 10 #include "CCGeometryTestUtils.h" |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 CCSharedQuadState* sharedState = quadSink.useSharedQuadState(CCSharedQuadSta
te::create(WebTransformationMatrix(), outputRect, outputRect, 1, false)); | 92 CCSharedQuadState* sharedState = quadSink.useSharedQuadState(CCSharedQuadSta
te::create(WebTransformationMatrix(), outputRect, outputRect, 1, false)); |
| 93 scoped_ptr<CCRenderPassDrawQuad> quad = CCRenderPassDrawQuad::create(sharedS
tate, outputRect, contributingPass->id(), false, 0, outputRect, 0, 0, 0, 0); | 93 scoped_ptr<CCRenderPassDrawQuad> quad = CCRenderPassDrawQuad::create(sharedS
tate, outputRect, contributingPass->id(), false, 0, outputRect, 0, 0, 0, 0); |
| 94 quadSink.append(quad.PassAs<CCDrawQuad>(), data); | 94 quadSink.append(quad.PassAs<CCDrawQuad>(), data); |
| 95 } | 95 } |
| 96 | 96 |
| 97 class CCDelegatedRendererLayerImplTestSimple : public CCDelegatedRendererLayerIm
plTest { | 97 class CCDelegatedRendererLayerImplTestSimple : public CCDelegatedRendererLayerIm
plTest { |
| 98 public: | 98 public: |
| 99 CCDelegatedRendererLayerImplTestSimple() | 99 CCDelegatedRendererLayerImplTestSimple() |
| 100 : CCDelegatedRendererLayerImplTest() | 100 : CCDelegatedRendererLayerImplTest() |
| 101 { | 101 { |
| 102 OwnPtr<CCSolidColorLayerImpl> rootLayer = CCSolidColorLayerImpl::create(
1); | 102 scoped_ptr<CCLayerImpl> rootLayer = CCSolidColorLayerImpl::create(1).Pas
sAs<CCLayerImpl>(); |
| 103 OwnPtr<CCSolidColorLayerImpl> layerBefore = CCSolidColorLayerImpl::creat
e(2); | 103 scoped_ptr<CCLayerImpl> layerBefore = CCSolidColorLayerImpl::create(2).P
assAs<CCLayerImpl>(); |
| 104 OwnPtr<CCSolidColorLayerImpl> layerAfter = CCSolidColorLayerImpl::create
(3); | 104 scoped_ptr<CCLayerImpl> layerAfter = CCSolidColorLayerImpl::create(3).Pa
ssAs<CCLayerImpl>(); |
| 105 OwnPtr<CCDelegatedRendererLayerImpl> delegatedRendererLayer = CCDelegate
dRendererLayerImpl::create(4); | 105 scoped_ptr<CCDelegatedRendererLayerImpl> delegatedRendererLayer = CCDele
gatedRendererLayerImpl::create(4); |
| 106 | 106 |
| 107 m_hostImpl->setViewportSize(IntSize(100, 100), IntSize(100, 100)); | 107 m_hostImpl->setViewportSize(IntSize(100, 100), IntSize(100, 100)); |
| 108 rootLayer->setBounds(IntSize(100, 100)); | 108 rootLayer->setBounds(IntSize(100, 100)); |
| 109 | 109 |
| 110 layerBefore->setPosition(IntPoint(20, 20)); | 110 layerBefore->setPosition(IntPoint(20, 20)); |
| 111 layerBefore->setBounds(IntSize(14, 14)); | 111 layerBefore->setBounds(IntSize(14, 14)); |
| 112 layerBefore->setContentBounds(IntSize(14, 14)); | 112 layerBefore->setContentBounds(IntSize(14, 14)); |
| 113 layerBefore->setDrawsContent(true); | 113 layerBefore->setDrawsContent(true); |
| 114 layerBefore->setForceRenderSurface(true); | 114 layerBefore->setForceRenderSurface(true); |
| 115 | 115 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 139 | 139 |
| 140 // The RenderPasses should be taken by the layer. | 140 // The RenderPasses should be taken by the layer. |
| 141 EXPECT_EQ(0u, delegatedRenderPasses.size()); | 141 EXPECT_EQ(0u, delegatedRenderPasses.size()); |
| 142 | 142 |
| 143 m_rootLayerPtr = rootLayer.get(); | 143 m_rootLayerPtr = rootLayer.get(); |
| 144 m_layerBeforePtr = layerBefore.get(); | 144 m_layerBeforePtr = layerBefore.get(); |
| 145 m_layerAfterPtr = layerAfter.get(); | 145 m_layerAfterPtr = layerAfter.get(); |
| 146 m_delegatedRendererLayerPtr = delegatedRendererLayer.get(); | 146 m_delegatedRendererLayerPtr = delegatedRendererLayer.get(); |
| 147 | 147 |
| 148 // Force the delegated RenderPasses to come before the RenderPass from l
ayerAfter. | 148 // Force the delegated RenderPasses to come before the RenderPass from l
ayerAfter. |
| 149 layerAfter->addChild(delegatedRendererLayer.release()); | 149 layerAfter->addChild(delegatedRendererLayer.PassAs<CCLayerImpl>()); |
| 150 rootLayer->addChild(layerAfter.release()); | 150 rootLayer->addChild(layerAfter.Pass()); |
| 151 | 151 |
| 152 // Get the RenderPass generated by layerBefore to come before the delega
ted RenderPasses. | 152 // Get the RenderPass generated by layerBefore to come before the delega
ted RenderPasses. |
| 153 rootLayer->addChild(layerBefore.release()); | 153 rootLayer->addChild(layerBefore.Pass()); |
| 154 | 154 |
| 155 m_hostImpl->setRootLayer(rootLayer.release()); | 155 m_hostImpl->setRootLayer(rootLayer.Pass()); |
| 156 } | 156 } |
| 157 | 157 |
| 158 protected: | 158 protected: |
| 159 CCSolidColorLayerImpl* m_rootLayerPtr; | 159 CCLayerImpl* m_rootLayerPtr; |
| 160 CCSolidColorLayerImpl* m_layerBeforePtr; | 160 CCLayerImpl* m_layerBeforePtr; |
| 161 CCSolidColorLayerImpl* m_layerAfterPtr; | 161 CCLayerImpl* m_layerAfterPtr; |
| 162 CCDelegatedRendererLayerImpl* m_delegatedRendererLayerPtr; | 162 CCDelegatedRendererLayerImpl* m_delegatedRendererLayerPtr; |
| 163 }; | 163 }; |
| 164 | 164 |
| 165 TEST_F(CCDelegatedRendererLayerImplTestSimple, AddsContributingRenderPasses) | 165 TEST_F(CCDelegatedRendererLayerImplTestSimple, AddsContributingRenderPasses) |
| 166 { | 166 { |
| 167 CCLayerTreeHostImpl::FrameData frame; | 167 CCLayerTreeHostImpl::FrameData frame; |
| 168 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); | 168 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); |
| 169 m_hostImpl->drawLayers(frame); | 169 m_hostImpl->drawLayers(frame); |
| 170 m_hostImpl->didDrawAllLayers(frame); | 170 m_hostImpl->didDrawAllLayers(frame); |
| 171 | 171 |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse
s[2]->quadList()[1]->quadTransform()); | 375 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse
s[2]->quadList()[1]->quadTransform()); |
| 376 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); | 376 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); |
| 377 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse
s[1]->quadList()[0]->quadTransform()); | 377 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse
s[1]->quadList()[0]->quadTransform()); |
| 378 } | 378 } |
| 379 | 379 |
| 380 class CCDelegatedRendererLayerImplTestSharedData : public CCDelegatedRendererLay
erImplTest { | 380 class CCDelegatedRendererLayerImplTestSharedData : public CCDelegatedRendererLay
erImplTest { |
| 381 public: | 381 public: |
| 382 CCDelegatedRendererLayerImplTestSharedData() | 382 CCDelegatedRendererLayerImplTestSharedData() |
| 383 : CCDelegatedRendererLayerImplTest() | 383 : CCDelegatedRendererLayerImplTest() |
| 384 { | 384 { |
| 385 OwnPtr<CCLayerImpl> rootLayer = CCLayerImpl::create(1); | 385 scoped_ptr<CCLayerImpl> rootLayer = CCLayerImpl::create(1); |
| 386 OwnPtr<CCDelegatedRendererLayerImpl> delegatedRendererLayer = CCDelegate
dRendererLayerImpl::create(2); | 386 scoped_ptr<CCDelegatedRendererLayerImpl> delegatedRendererLayer = CCDele
gatedRendererLayerImpl::create(2); |
| 387 | 387 |
| 388 m_hostImpl->setViewportSize(IntSize(100, 100), IntSize(100, 100)); | 388 m_hostImpl->setViewportSize(IntSize(100, 100), IntSize(100, 100)); |
| 389 rootLayer->setBounds(IntSize(100, 100)); | 389 rootLayer->setBounds(IntSize(100, 100)); |
| 390 | 390 |
| 391 delegatedRendererLayer->setPosition(IntPoint(20, 20)); | 391 delegatedRendererLayer->setPosition(IntPoint(20, 20)); |
| 392 delegatedRendererLayer->setBounds(IntSize(20, 20)); | 392 delegatedRendererLayer->setBounds(IntSize(20, 20)); |
| 393 delegatedRendererLayer->setContentBounds(IntSize(20, 20)); | 393 delegatedRendererLayer->setContentBounds(IntSize(20, 20)); |
| 394 delegatedRendererLayer->setDrawsContent(true); | 394 delegatedRendererLayer->setDrawsContent(true); |
| 395 WebTransformationMatrix transform; | 395 WebTransformationMatrix transform; |
| 396 transform.translate(10, 10); | 396 transform.translate(10, 10); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 407 quadSink.append(CCSolidColorDrawQuad::create(sharedState, IntRect(10, 0,
10, 10), 3u).PassAs<CCDrawQuad>(), data); | 407 quadSink.append(CCSolidColorDrawQuad::create(sharedState, IntRect(10, 0,
10, 10), 3u).PassAs<CCDrawQuad>(), data); |
| 408 quadSink.append(CCSolidColorDrawQuad::create(sharedState, IntRect(10, 10
, 10, 10), 4u).PassAs<CCDrawQuad>(), data); | 408 quadSink.append(CCSolidColorDrawQuad::create(sharedState, IntRect(10, 10
, 10, 10), 4u).PassAs<CCDrawQuad>(), data); |
| 409 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses); | 409 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses); |
| 410 | 410 |
| 411 // The RenderPasses should be taken by the layer. | 411 // The RenderPasses should be taken by the layer. |
| 412 EXPECT_EQ(0u, delegatedRenderPasses.size()); | 412 EXPECT_EQ(0u, delegatedRenderPasses.size()); |
| 413 | 413 |
| 414 m_rootLayerPtr = rootLayer.get(); | 414 m_rootLayerPtr = rootLayer.get(); |
| 415 m_delegatedRendererLayerPtr = delegatedRendererLayer.get(); | 415 m_delegatedRendererLayerPtr = delegatedRendererLayer.get(); |
| 416 | 416 |
| 417 rootLayer->addChild(delegatedRendererLayer.release()); | 417 rootLayer->addChild(delegatedRendererLayer.PassAs<CCLayerImpl>()); |
| 418 | 418 |
| 419 m_hostImpl->setRootLayer(rootLayer.release()); | 419 m_hostImpl->setRootLayer(rootLayer.Pass()); |
| 420 } | 420 } |
| 421 | 421 |
| 422 protected: | 422 protected: |
| 423 CCLayerImpl* m_rootLayerPtr; | 423 CCLayerImpl* m_rootLayerPtr; |
| 424 CCDelegatedRendererLayerImpl* m_delegatedRendererLayerPtr; | 424 CCDelegatedRendererLayerImpl* m_delegatedRendererLayerPtr; |
| 425 }; | 425 }; |
| 426 | 426 |
| 427 TEST_F(CCDelegatedRendererLayerImplTestSharedData, SharedData) | 427 TEST_F(CCDelegatedRendererLayerImplTestSharedData, SharedData) |
| 428 { | 428 { |
| 429 CCLayerTreeHostImpl::FrameData frame; | 429 CCLayerTreeHostImpl::FrameData frame; |
| (...skipping 15 matching lines...) Expand all Loading... |
| 445 EXPECT_EQ(sharedState, quadList[3]->sharedQuadState()); | 445 EXPECT_EQ(sharedState, quadList[3]->sharedQuadState()); |
| 446 | 446 |
| 447 // The state should be transformed only once. | 447 // The state should be transformed only once. |
| 448 EXPECT_RECT_EQ(IntRect(30, 30, 50, 50), sharedState->clippedRectInTarget); | 448 EXPECT_RECT_EQ(IntRect(30, 30, 50, 50), sharedState->clippedRectInTarget); |
| 449 WebTransformationMatrix expected; | 449 WebTransformationMatrix expected; |
| 450 expected.translate(30, 30); | 450 expected.translate(30, 30); |
| 451 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->quadTransform); | 451 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->quadTransform); |
| 452 } | 452 } |
| 453 | 453 |
| 454 } // namespace | 454 } // namespace |
| OLD | NEW |