| 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" |
| 11 #include "CCLayerTreeHostImpl.h" | 11 #include "CCLayerTreeHostImpl.h" |
| 12 #include "CCQuadSink.h" | 12 #include "CCQuadSink.h" |
| 13 #include "CCRenderPassDrawQuad.h" | 13 #include "CCRenderPassDrawQuad.h" |
| 14 #include "CCRenderPassTestCommon.h" | 14 #include "CCRenderPassTestCommon.h" |
| 15 #include "CCSingleThreadProxy.h" | 15 #include "CCSingleThreadProxy.h" |
| 16 #include "CCSolidColorDrawQuad.h" | 16 #include "CCSolidColorDrawQuad.h" |
| 17 #include "CCSolidColorLayerImpl.h" | 17 #include "CCSolidColorLayerImpl.h" |
| 18 #include "FakeWebCompositorOutputSurface.h" | 18 #include "FakeWebCompositorOutputSurface.h" |
| 19 #include "FakeWebGraphicsContext3D.h" | 19 #include "FakeWebGraphicsContext3D.h" |
| 20 #include "MockCCQuadCuller.h" | 20 #include "MockCCQuadCuller.h" |
| 21 #include "cc/scoped_ptr_vector.h" |
| 21 #include <gtest/gtest.h> | 22 #include <gtest/gtest.h> |
| 22 #include <public/WebTransformationMatrix.h> | 23 #include <public/WebTransformationMatrix.h> |
| 23 | 24 |
| 24 using WebKit::FakeWebCompositorOutputSurface; | 25 using WebKit::FakeWebCompositorOutputSurface; |
| 25 using WebKit::FakeWebGraphicsContext3D; | 26 using WebKit::FakeWebGraphicsContext3D; |
| 26 using WebKit::WebTransformationMatrix; | 27 using WebKit::WebTransformationMatrix; |
| 27 | 28 |
| 28 using namespace cc; | 29 using namespace cc; |
| 29 using namespace WebKitTests; | 30 using namespace WebKitTests; |
| 30 | 31 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 57 { | 58 { |
| 58 return FakeWebCompositorOutputSurface::create(adoptPtr(new FakeWebGraphi
csContext3D)); | 59 return FakeWebCompositorOutputSurface::create(adoptPtr(new FakeWebGraphi
csContext3D)); |
| 59 } | 60 } |
| 60 | 61 |
| 61 DebugScopedSetImplThread m_alwaysImplThread; | 62 DebugScopedSetImplThread m_alwaysImplThread; |
| 62 DebugScopedSetMainThreadBlocked m_alwaysMainThreadBlocked; | 63 DebugScopedSetMainThreadBlocked m_alwaysMainThreadBlocked; |
| 63 | 64 |
| 64 OwnPtr<CCLayerTreeHostImpl> m_hostImpl; | 65 OwnPtr<CCLayerTreeHostImpl> m_hostImpl; |
| 65 }; | 66 }; |
| 66 | 67 |
| 67 static CCTestRenderPass* addRenderPass(OwnPtrVector<CCRenderPass>& passList, CCR
enderPass::Id id, IntRect outputRect, WebTransformationMatrix rootTransform) | 68 static CCTestRenderPass* addRenderPass(ScopedPtrVector<CCRenderPass>& passList,
CCRenderPass::Id id, IntRect outputRect, WebTransformationMatrix rootTransform) |
| 68 { | 69 { |
| 69 OwnPtr<CCRenderPass> pass(CCRenderPass::create(id, outputRect, rootTransform
)); | 70 scoped_ptr<CCRenderPass> pass(CCRenderPass::create(id, outputRect, rootTrans
form)); |
| 70 CCTestRenderPass* testPass = static_cast<CCTestRenderPass*>(pass.get()); | 71 CCTestRenderPass* testPass = static_cast<CCTestRenderPass*>(pass.get()); |
| 71 passList.append(pass.release()); | 72 passList.append(pass.Pass()); |
| 72 return testPass; | 73 return testPass; |
| 73 } | 74 } |
| 74 | 75 |
| 75 static CCSolidColorDrawQuad* addQuad(CCTestRenderPass* pass, IntRect rect, SkCol
or color) | 76 static CCSolidColorDrawQuad* addQuad(CCTestRenderPass* pass, IntRect rect, SkCol
or color) |
| 76 { | 77 { |
| 77 MockCCQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()); | 78 MockCCQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()); |
| 78 CCAppendQuadsData data(pass->id()); | 79 CCAppendQuadsData data(pass->id()); |
| 79 CCSharedQuadState* sharedState = quadSink.useSharedQuadState(CCSharedQuadSta
te::create(WebTransformationMatrix(), rect, rect, 1, false)); | 80 CCSharedQuadState* sharedState = quadSink.useSharedQuadState(CCSharedQuadSta
te::create(WebTransformationMatrix(), rect, rect, 1, false)); |
| 80 OwnPtr<CCSolidColorDrawQuad> quad(CCSolidColorDrawQuad::create(sharedState,
rect, color)); | 81 OwnPtr<CCSolidColorDrawQuad> quad(CCSolidColorDrawQuad::create(sharedState,
rect, color)); |
| 81 CCSolidColorDrawQuad* quadPtr = quad.get(); | 82 CCSolidColorDrawQuad* quadPtr = quad.get(); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 layerAfter->setForceRenderSurface(true); | 120 layerAfter->setForceRenderSurface(true); |
| 120 | 121 |
| 121 delegatedRendererLayer->setPosition(IntPoint(3, 3)); | 122 delegatedRendererLayer->setPosition(IntPoint(3, 3)); |
| 122 delegatedRendererLayer->setBounds(IntSize(10, 10)); | 123 delegatedRendererLayer->setBounds(IntSize(10, 10)); |
| 123 delegatedRendererLayer->setContentBounds(IntSize(10, 10)); | 124 delegatedRendererLayer->setContentBounds(IntSize(10, 10)); |
| 124 delegatedRendererLayer->setDrawsContent(true); | 125 delegatedRendererLayer->setDrawsContent(true); |
| 125 WebTransformationMatrix transform; | 126 WebTransformationMatrix transform; |
| 126 transform.translate(1, 1); | 127 transform.translate(1, 1); |
| 127 delegatedRendererLayer->setTransform(transform); | 128 delegatedRendererLayer->setTransform(transform); |
| 128 | 129 |
| 129 OwnPtrVector<CCRenderPass> delegatedRenderPasses; | 130 ScopedPtrVector<CCRenderPass> delegatedRenderPasses; |
| 130 CCTestRenderPass* pass1 = addRenderPass(delegatedRenderPasses, CCRenderP
ass::Id(9, 6), IntRect(6, 6, 6, 6), WebTransformationMatrix()); | 131 CCTestRenderPass* pass1 = addRenderPass(delegatedRenderPasses, CCRenderP
ass::Id(9, 6), IntRect(6, 6, 6, 6), WebTransformationMatrix()); |
| 131 addQuad(pass1, IntRect(0, 0, 6, 6), 33u); | 132 addQuad(pass1, IntRect(0, 0, 6, 6), 33u); |
| 132 CCTestRenderPass* pass2 = addRenderPass(delegatedRenderPasses, CCRenderP
ass::Id(9, 7), IntRect(7, 7, 7, 7), WebTransformationMatrix()); | 133 CCTestRenderPass* pass2 = addRenderPass(delegatedRenderPasses, CCRenderP
ass::Id(9, 7), IntRect(7, 7, 7, 7), WebTransformationMatrix()); |
| 133 addQuad(pass2, IntRect(0, 0, 7, 7), 22u); | 134 addQuad(pass2, IntRect(0, 0, 7, 7), 22u); |
| 134 addRenderPassQuad(pass2, pass1); | 135 addRenderPassQuad(pass2, pass1); |
| 135 CCTestRenderPass* pass3 = addRenderPass(delegatedRenderPasses, CCRenderP
ass::Id(9, 8), IntRect(8, 8, 8, 8), WebTransformationMatrix()); | 136 CCTestRenderPass* pass3 = addRenderPass(delegatedRenderPasses, CCRenderP
ass::Id(9, 8), IntRect(8, 8, 8, 8), WebTransformationMatrix()); |
| 136 addRenderPassQuad(pass3, pass2); | 137 addRenderPassQuad(pass3, pass2); |
| 137 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses); | 138 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses); |
| 138 | 139 |
| 139 // The RenderPasses should be taken by the layer. | 140 // The RenderPasses should be taken by the layer. |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 370 | 371 |
| 371 // Quads from non-root RenderPasses should not be shifted though. | 372 // Quads from non-root RenderPasses should not be shifted though. |
| 372 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size()); | 373 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size()); |
| 373 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse
s[2]->quadList()[0]->quadTransform()); | 374 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse
s[2]->quadList()[0]->quadTransform()); |
| 374 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()); |
| 375 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); | 376 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); |
| 376 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()); |
| 377 } | 378 } |
| 378 | 379 |
| 379 } // namespace | 380 } // namespace |
| OLD | NEW |