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 |