Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: cc/delegated_renderer_layer_impl_unittest.cc

Issue 11189043: cc: Rename cc classes and members to match filenames (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "CCLayerTreeHostImpl.h" 10 #include "CCLayerTreeHostImpl.h"
(...skipping 13 matching lines...) Expand all
24 24
25 using WebKit::FakeWebCompositorOutputSurface; 25 using WebKit::FakeWebCompositorOutputSurface;
26 using WebKit::FakeWebGraphicsContext3D; 26 using WebKit::FakeWebGraphicsContext3D;
27 using WebKit::WebTransformationMatrix; 27 using WebKit::WebTransformationMatrix;
28 28
29 using namespace cc; 29 using namespace cc;
30 using namespace WebKitTests; 30 using namespace WebKitTests;
31 31
32 namespace { 32 namespace {
33 33
34 class CCDelegatedRendererLayerImplTest : public testing::Test, public CCLayerTre eHostImplClient { 34 class DelegatedRendererLayerImplTest : public testing::Test, public LayerTreeHos tImplClient {
35 public: 35 public:
36 CCDelegatedRendererLayerImplTest() 36 DelegatedRendererLayerImplTest()
37 { 37 {
38 CCLayerTreeSettings settings; 38 LayerTreeSettings settings;
39 settings.minimumOcclusionTrackingSize = IntSize(); 39 settings.minimumOcclusionTrackingSize = IntSize();
40 40
41 m_hostImpl = CCLayerTreeHostImpl::create(settings, this); 41 m_hostImpl = LayerTreeHostImpl::create(settings, this);
42 m_hostImpl->initializeRenderer(createContext()); 42 m_hostImpl->initializeRenderer(createContext());
43 m_hostImpl->setViewportSize(IntSize(10, 10), IntSize(10, 10)); 43 m_hostImpl->setViewportSize(IntSize(10, 10), IntSize(10, 10));
44 } 44 }
45 45
46 // CCLayerTreeHostImplClient implementation. 46 // LayerTreeHostImplClient implementation.
47 virtual void didLoseContextOnImplThread() OVERRIDE { } 47 virtual void didLoseContextOnImplThread() OVERRIDE { }
48 virtual void onSwapBuffersCompleteOnImplThread() OVERRIDE { } 48 virtual void onSwapBuffersCompleteOnImplThread() OVERRIDE { }
49 virtual void onVSyncParametersChanged(double, double) OVERRIDE { } 49 virtual void onVSyncParametersChanged(double, double) OVERRIDE { }
50 virtual void onCanDrawStateChanged(bool) OVERRIDE { } 50 virtual void onCanDrawStateChanged(bool) OVERRIDE { }
51 virtual void setNeedsRedrawOnImplThread() OVERRIDE { } 51 virtual void setNeedsRedrawOnImplThread() OVERRIDE { }
52 virtual void setNeedsCommitOnImplThread() OVERRIDE { } 52 virtual void setNeedsCommitOnImplThread() OVERRIDE { }
53 virtual void postAnimationEventsToMainThreadOnImplThread(scoped_ptr<CCAnimat ionEventsVector>, double wallClockTime) OVERRIDE { } 53 virtual void postAnimationEventsToMainThreadOnImplThread(scoped_ptr<Animatio nEventsVector>, double wallClockTime) OVERRIDE { }
54 virtual bool reduceContentsTextureMemoryOnImplThread(size_t limitBytes) OVER RIDE { return true; } 54 virtual bool reduceContentsTextureMemoryOnImplThread(size_t limitBytes) OVER RIDE { return true; }
55 55
56 protected: 56 protected:
57 scoped_ptr<CCGraphicsContext> createContext() 57 scoped_ptr<GraphicsContext> createContext()
58 { 58 {
59 return FakeWebCompositorOutputSurface::create(scoped_ptr<WebKit::WebGrap hicsContext3D>(new FakeWebGraphicsContext3D)).PassAs<CCGraphicsContext>(); 59 return FakeWebCompositorOutputSurface::create(scoped_ptr<WebKit::WebGrap hicsContext3D>(new FakeWebGraphicsContext3D)).PassAs<GraphicsContext>();
60 } 60 }
61 61
62 DebugScopedSetImplThread m_alwaysImplThread; 62 DebugScopedSetImplThread m_alwaysImplThread;
63 DebugScopedSetMainThreadBlocked m_alwaysMainThreadBlocked; 63 DebugScopedSetMainThreadBlocked m_alwaysMainThreadBlocked;
64 64
65 scoped_ptr<CCLayerTreeHostImpl> m_hostImpl; 65 scoped_ptr<LayerTreeHostImpl> m_hostImpl;
66 }; 66 };
67 67
68 static CCTestRenderPass* addRenderPass(ScopedPtrVector<CCRenderPass>& passList, CCRenderPass::Id id, IntRect outputRect, WebTransformationMatrix rootTransform) 68 static TestRenderPass* addRenderPass(ScopedPtrVector<RenderPass>& passList, Rend erPass::Id id, IntRect outputRect, WebTransformationMatrix rootTransform)
69 { 69 {
70 scoped_ptr<CCRenderPass> pass(CCRenderPass::create(id, outputRect, rootTrans form)); 70 scoped_ptr<RenderPass> pass(RenderPass::create(id, outputRect, rootTransform ));
71 CCTestRenderPass* testPass = static_cast<CCTestRenderPass*>(pass.get()); 71 TestRenderPass* testPass = static_cast<TestRenderPass*>(pass.get());
72 passList.append(pass.Pass()); 72 passList.append(pass.Pass());
73 return testPass; 73 return testPass;
74 } 74 }
75 75
76 static CCSolidColorDrawQuad* addQuad(CCTestRenderPass* pass, IntRect rect, SkCol or color) 76 static SolidColorDrawQuad* addQuad(TestRenderPass* pass, IntRect rect, SkColor c olor)
77 { 77 {
78 MockCCQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()); 78 MockQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList());
79 CCAppendQuadsData data(pass->id()); 79 AppendQuadsData data(pass->id());
80 CCSharedQuadState* sharedState = quadSink.useSharedQuadState(CCSharedQuadSta te::create(WebTransformationMatrix(), rect, rect, 1, false)); 80 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState:: create(WebTransformationMatrix(), rect, rect, 1, false));
81 scoped_ptr<CCSolidColorDrawQuad> quad = CCSolidColorDrawQuad::create(sharedS tate, rect, color); 81 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::create(sharedState , rect, color);
82 CCSolidColorDrawQuad* quadPtr = quad.get(); 82 SolidColorDrawQuad* quadPtr = quad.get();
83 quadSink.append(quad.PassAs<CCDrawQuad>(), data); 83 quadSink.append(quad.PassAs<DrawQuad>(), data);
84 return quadPtr; 84 return quadPtr;
85 } 85 }
86 86
87 static void addRenderPassQuad(CCTestRenderPass* toPass, CCTestRenderPass* contri butingPass) 87 static void addRenderPassQuad(TestRenderPass* toPass, TestRenderPass* contributi ngPass)
88 { 88 {
89 MockCCQuadCuller quadSink(toPass->quadList(), toPass->sharedQuadStateList()) ; 89 MockQuadCuller quadSink(toPass->quadList(), toPass->sharedQuadStateList());
90 CCAppendQuadsData data(toPass->id()); 90 AppendQuadsData data(toPass->id());
91 IntRect outputRect = contributingPass->outputRect(); 91 IntRect outputRect = contributingPass->outputRect();
92 CCSharedQuadState* sharedState = quadSink.useSharedQuadState(CCSharedQuadSta te::create(WebTransformationMatrix(), outputRect, outputRect, 1, false)); 92 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState:: 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<RenderPassDrawQuad> quad = RenderPassDrawQuad::create(sharedState , outputRect, contributingPass->id(), false, 0, outputRect, 0, 0, 0, 0);
94 quadSink.append(quad.PassAs<CCDrawQuad>(), data); 94 quadSink.append(quad.PassAs<DrawQuad>(), data);
95 } 95 }
96 96
97 class CCDelegatedRendererLayerImplTestSimple : public CCDelegatedRendererLayerIm plTest { 97 class DelegatedRendererLayerImplTestSimple : public DelegatedRendererLayerImplTe st {
98 public: 98 public:
99 CCDelegatedRendererLayerImplTestSimple() 99 DelegatedRendererLayerImplTestSimple()
100 : CCDelegatedRendererLayerImplTest() 100 : DelegatedRendererLayerImplTest()
101 { 101 {
102 scoped_ptr<CCLayerImpl> rootLayer = CCSolidColorLayerImpl::create(1).Pas sAs<CCLayerImpl>(); 102 scoped_ptr<LayerImpl> rootLayer = SolidColorLayerImpl::create(1).PassAs< LayerImpl>();
103 scoped_ptr<CCLayerImpl> layerBefore = CCSolidColorLayerImpl::create(2).P assAs<CCLayerImpl>(); 103 scoped_ptr<LayerImpl> layerBefore = SolidColorLayerImpl::create(2).PassA s<LayerImpl>();
104 scoped_ptr<CCLayerImpl> layerAfter = CCSolidColorLayerImpl::create(3).Pa ssAs<CCLayerImpl>(); 104 scoped_ptr<LayerImpl> layerAfter = SolidColorLayerImpl::create(3).PassAs <LayerImpl>();
105 scoped_ptr<CCDelegatedRendererLayerImpl> delegatedRendererLayer = CCDele gatedRendererLayerImpl::create(4); 105 scoped_ptr<DelegatedRendererLayerImpl> delegatedRendererLayer = Delegate dRendererLayerImpl::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
116 layerAfter->setPosition(IntPoint(5, 5)); 116 layerAfter->setPosition(IntPoint(5, 5));
117 layerAfter->setBounds(IntSize(15, 15)); 117 layerAfter->setBounds(IntSize(15, 15));
118 layerAfter->setContentBounds(IntSize(15, 15)); 118 layerAfter->setContentBounds(IntSize(15, 15));
119 layerAfter->setDrawsContent(true); 119 layerAfter->setDrawsContent(true);
120 layerAfter->setForceRenderSurface(true); 120 layerAfter->setForceRenderSurface(true);
121 121
122 delegatedRendererLayer->setPosition(IntPoint(3, 3)); 122 delegatedRendererLayer->setPosition(IntPoint(3, 3));
123 delegatedRendererLayer->setBounds(IntSize(10, 10)); 123 delegatedRendererLayer->setBounds(IntSize(10, 10));
124 delegatedRendererLayer->setContentBounds(IntSize(10, 10)); 124 delegatedRendererLayer->setContentBounds(IntSize(10, 10));
125 delegatedRendererLayer->setDrawsContent(true); 125 delegatedRendererLayer->setDrawsContent(true);
126 WebTransformationMatrix transform; 126 WebTransformationMatrix transform;
127 transform.translate(1, 1); 127 transform.translate(1, 1);
128 delegatedRendererLayer->setTransform(transform); 128 delegatedRendererLayer->setTransform(transform);
129 129
130 ScopedPtrVector<CCRenderPass> delegatedRenderPasses; 130 ScopedPtrVector<RenderPass> delegatedRenderPasses;
131 CCTestRenderPass* pass1 = addRenderPass(delegatedRenderPasses, CCRenderP ass::Id(9, 6), IntRect(6, 6, 6, 6), WebTransformationMatrix()); 131 TestRenderPass* pass1 = addRenderPass(delegatedRenderPasses, RenderPass: :Id(9, 6), IntRect(6, 6, 6, 6), WebTransformationMatrix());
132 addQuad(pass1, IntRect(0, 0, 6, 6), 33u); 132 addQuad(pass1, IntRect(0, 0, 6, 6), 33u);
133 CCTestRenderPass* pass2 = addRenderPass(delegatedRenderPasses, CCRenderP ass::Id(9, 7), IntRect(7, 7, 7, 7), WebTransformationMatrix()); 133 TestRenderPass* pass2 = addRenderPass(delegatedRenderPasses, RenderPass: :Id(9, 7), IntRect(7, 7, 7, 7), WebTransformationMatrix());
134 addQuad(pass2, IntRect(0, 0, 7, 7), 22u); 134 addQuad(pass2, IntRect(0, 0, 7, 7), 22u);
135 addRenderPassQuad(pass2, pass1); 135 addRenderPassQuad(pass2, pass1);
136 CCTestRenderPass* pass3 = addRenderPass(delegatedRenderPasses, CCRenderP ass::Id(9, 8), IntRect(8, 8, 8, 8), WebTransformationMatrix()); 136 TestRenderPass* pass3 = addRenderPass(delegatedRenderPasses, RenderPass: :Id(9, 8), IntRect(8, 8, 8, 8), WebTransformationMatrix());
137 addRenderPassQuad(pass3, pass2); 137 addRenderPassQuad(pass3, pass2);
138 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses); 138 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses);
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.PassAs<CCLayerImpl>()); 149 layerAfter->addChild(delegatedRendererLayer.PassAs<LayerImpl>());
150 rootLayer->addChild(layerAfter.Pass()); 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.Pass()); 153 rootLayer->addChild(layerBefore.Pass());
154 154
155 m_hostImpl->setRootLayer(rootLayer.Pass()); 155 m_hostImpl->setRootLayer(rootLayer.Pass());
156 } 156 }
157 157
158 protected: 158 protected:
159 CCLayerImpl* m_rootLayerPtr; 159 LayerImpl* m_rootLayerPtr;
160 CCLayerImpl* m_layerBeforePtr; 160 LayerImpl* m_layerBeforePtr;
161 CCLayerImpl* m_layerAfterPtr; 161 LayerImpl* m_layerAfterPtr;
162 CCDelegatedRendererLayerImpl* m_delegatedRendererLayerPtr; 162 DelegatedRendererLayerImpl* m_delegatedRendererLayerPtr;
163 }; 163 };
164 164
165 TEST_F(CCDelegatedRendererLayerImplTestSimple, AddsContributingRenderPasses) 165 TEST_F(DelegatedRendererLayerImplTestSimple, AddsContributingRenderPasses)
166 { 166 {
167 CCLayerTreeHostImpl::FrameData frame; 167 LayerTreeHostImpl::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
172 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes. 172 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes.
173 ASSERT_EQ(5u, frame.renderPasses.size()); 173 ASSERT_EQ(5u, frame.renderPasses.size());
174 174
175 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame. 175 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame.
176 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId); 176 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId);
177 EXPECT_EQ(1, frame.renderPasses[1]->id().index); 177 EXPECT_EQ(1, frame.renderPasses[1]->id().index);
178 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId); 178 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId);
179 EXPECT_EQ(2, frame.renderPasses[2]->id().index); 179 EXPECT_EQ(2, frame.renderPasses[2]->id().index);
180 // And all other RenderPasses should be non-delegated. 180 // And all other RenderPasses should be non-delegated.
181 EXPECT_NE(4, frame.renderPasses[0]->id().layerId); 181 EXPECT_NE(4, frame.renderPasses[0]->id().layerId);
182 EXPECT_EQ(0, frame.renderPasses[0]->id().index); 182 EXPECT_EQ(0, frame.renderPasses[0]->id().index);
183 EXPECT_NE(4, frame.renderPasses[3]->id().layerId); 183 EXPECT_NE(4, frame.renderPasses[3]->id().layerId);
184 EXPECT_EQ(0, frame.renderPasses[3]->id().index); 184 EXPECT_EQ(0, frame.renderPasses[3]->id().index);
185 EXPECT_NE(4, frame.renderPasses[4]->id().layerId); 185 EXPECT_NE(4, frame.renderPasses[4]->id().layerId);
186 EXPECT_EQ(0, frame.renderPasses[4]->id().index); 186 EXPECT_EQ(0, frame.renderPasses[4]->id().index);
187 187
188 // The DelegatedRendererLayer should have added its RenderPasses to the fram e in order. 188 // The DelegatedRendererLayer should have added its RenderPasses to the fram e in order.
189 EXPECT_RECT_EQ(IntRect(6, 6, 6, 6), frame.renderPasses[1]->outputRect()); 189 EXPECT_RECT_EQ(IntRect(6, 6, 6, 6), frame.renderPasses[1]->outputRect());
190 EXPECT_RECT_EQ(IntRect(7, 7, 7, 7), frame.renderPasses[2]->outputRect()); 190 EXPECT_RECT_EQ(IntRect(7, 7, 7, 7), frame.renderPasses[2]->outputRect());
191 } 191 }
192 192
193 TEST_F(CCDelegatedRendererLayerImplTestSimple, AddsQuadsToContributingRenderPass es) 193 TEST_F(DelegatedRendererLayerImplTestSimple, AddsQuadsToContributingRenderPasses )
194 { 194 {
195 CCLayerTreeHostImpl::FrameData frame; 195 LayerTreeHostImpl::FrameData frame;
196 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 196 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
197 m_hostImpl->drawLayers(frame); 197 m_hostImpl->drawLayers(frame);
198 m_hostImpl->didDrawAllLayers(frame); 198 m_hostImpl->didDrawAllLayers(frame);
199 199
200 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes. 200 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes.
201 ASSERT_EQ(5u, frame.renderPasses.size()); 201 ASSERT_EQ(5u, frame.renderPasses.size());
202 202
203 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame. 203 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame.
204 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId); 204 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId);
205 EXPECT_EQ(1, frame.renderPasses[1]->id().index); 205 EXPECT_EQ(1, frame.renderPasses[1]->id().index);
206 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId); 206 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId);
207 EXPECT_EQ(2, frame.renderPasses[2]->id().index); 207 EXPECT_EQ(2, frame.renderPasses[2]->id().index);
208 208
209 // The DelegatedRendererLayer should have added copies of its quads to contr ibuting RenderPasses. 209 // The DelegatedRendererLayer should have added copies of its quads to contr ibuting RenderPasses.
210 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); 210 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size());
211 EXPECT_RECT_EQ(IntRect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]->qu adRect()); 211 EXPECT_RECT_EQ(IntRect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]->qu adRect());
212 212
213 // Verify it added the right quads. 213 // Verify it added the right quads.
214 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size()); 214 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size());
215 EXPECT_RECT_EQ(IntRect(0, 0, 7, 7), frame.renderPasses[2]->quadList()[0]->qu adRect()); 215 EXPECT_RECT_EQ(IntRect(0, 0, 7, 7), frame.renderPasses[2]->quadList()[0]->qu adRect());
216 EXPECT_RECT_EQ(IntRect(6, 6, 6, 6), frame.renderPasses[2]->quadList()[1]->qu adRect()); 216 EXPECT_RECT_EQ(IntRect(6, 6, 6, 6), frame.renderPasses[2]->quadList()[1]->qu adRect());
217 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); 217 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size());
218 EXPECT_RECT_EQ(IntRect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]->qu adRect()); 218 EXPECT_RECT_EQ(IntRect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]->qu adRect());
219 } 219 }
220 220
221 TEST_F(CCDelegatedRendererLayerImplTestSimple, AddsQuadsToTargetRenderPass) 221 TEST_F(DelegatedRendererLayerImplTestSimple, AddsQuadsToTargetRenderPass)
222 { 222 {
223 CCLayerTreeHostImpl::FrameData frame; 223 LayerTreeHostImpl::FrameData frame;
224 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 224 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
225 m_hostImpl->drawLayers(frame); 225 m_hostImpl->drawLayers(frame);
226 m_hostImpl->didDrawAllLayers(frame); 226 m_hostImpl->didDrawAllLayers(frame);
227 227
228 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes. 228 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes.
229 ASSERT_EQ(5u, frame.renderPasses.size()); 229 ASSERT_EQ(5u, frame.renderPasses.size());
230 230
231 // The layer's target is the RenderPass from m_layerAfter. 231 // The layer's target is the RenderPass from m_layerAfter.
232 EXPECT_EQ(CCRenderPass::Id(3, 0), frame.renderPasses[3]->id()); 232 EXPECT_EQ(RenderPass::Id(3, 0), frame.renderPasses[3]->id());
233 233
234 // The DelegatedRendererLayer should have added copies of quads in its root RenderPass to its target RenderPass. 234 // The DelegatedRendererLayer should have added copies of quads in its root RenderPass to its target RenderPass.
235 // The m_layerAfter also adds one quad. 235 // The m_layerAfter also adds one quad.
236 ASSERT_EQ(2u, frame.renderPasses[3]->quadList().size()); 236 ASSERT_EQ(2u, frame.renderPasses[3]->quadList().size());
237 237
238 // Verify it added the right quads. 238 // Verify it added the right quads.
239 EXPECT_RECT_EQ(IntRect(7, 7, 7, 7), frame.renderPasses[3]->quadList()[0]->qu adRect()); 239 EXPECT_RECT_EQ(IntRect(7, 7, 7, 7), frame.renderPasses[3]->quadList()[0]->qu adRect());
240 240
241 // Its target layer should have a quad as well. 241 // Its target layer should have a quad as well.
242 EXPECT_RECT_EQ(IntRect(0, 0, 15, 15), frame.renderPasses[3]->quadList()[1]-> quadRect()); 242 EXPECT_RECT_EQ(IntRect(0, 0, 15, 15), frame.renderPasses[3]->quadList()[1]-> quadRect());
243 } 243 }
244 244
245 TEST_F(CCDelegatedRendererLayerImplTestSimple, QuadsFromRootRenderPassAreModifie dForTheTarget) 245 TEST_F(DelegatedRendererLayerImplTestSimple, QuadsFromRootRenderPassAreModifiedF orTheTarget)
246 { 246 {
247 CCLayerTreeHostImpl::FrameData frame; 247 LayerTreeHostImpl::FrameData frame;
248 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 248 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
249 m_hostImpl->drawLayers(frame); 249 m_hostImpl->drawLayers(frame);
250 m_hostImpl->didDrawAllLayers(frame); 250 m_hostImpl->didDrawAllLayers(frame);
251 251
252 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes. 252 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes.
253 ASSERT_EQ(5u, frame.renderPasses.size()); 253 ASSERT_EQ(5u, frame.renderPasses.size());
254 254
255 // The DelegatedRendererLayer is at position 3,3 compared to its target, and has a translation transform of 1,1. 255 // The DelegatedRendererLayer is at position 3,3 compared to its target, and has a translation transform of 1,1.
256 // So its root RenderPass' quads should all be transformed by that combined amount. 256 // So its root RenderPass' quads should all be transformed by that combined amount.
257 WebTransformationMatrix transform; 257 WebTransformationMatrix transform;
258 transform.translate(4, 4); 258 transform.translate(4, 4);
259 EXPECT_TRANSFORMATION_MATRIX_EQ(transform, frame.renderPasses[3]->quadList() [0]->quadTransform()); 259 EXPECT_TRANSFORMATION_MATRIX_EQ(transform, frame.renderPasses[3]->quadList() [0]->quadTransform());
260 260
261 // Quads from non-root RenderPasses should not be shifted though. 261 // Quads from non-root RenderPasses should not be shifted though.
262 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size()); 262 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size());
263 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[2]->quadList()[0]->quadTransform()); 263 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[2]->quadList()[0]->quadTransform());
264 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[2]->quadList()[1]->quadTransform()); 264 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[2]->quadList()[1]->quadTransform());
265 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); 265 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size());
266 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[1]->quadList()[0]->quadTransform()); 266 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[1]->quadList()[0]->quadTransform());
267 } 267 }
268 268
269 class CCDelegatedRendererLayerImplTestOwnSurface : public CCDelegatedRendererLay erImplTestSimple { 269 class DelegatedRendererLayerImplTestOwnSurface : public DelegatedRendererLayerIm plTestSimple {
270 public: 270 public:
271 CCDelegatedRendererLayerImplTestOwnSurface() 271 DelegatedRendererLayerImplTestOwnSurface()
272 : CCDelegatedRendererLayerImplTestSimple() 272 : DelegatedRendererLayerImplTestSimple()
273 { 273 {
274 m_delegatedRendererLayerPtr->setForceRenderSurface(true); 274 m_delegatedRendererLayerPtr->setForceRenderSurface(true);
275 } 275 }
276 }; 276 };
277 277
278 TEST_F(CCDelegatedRendererLayerImplTestOwnSurface, AddsRenderPasses) 278 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsRenderPasses)
279 { 279 {
280 CCLayerTreeHostImpl::FrameData frame; 280 LayerTreeHostImpl::FrameData frame;
281 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 281 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
282 m_hostImpl->drawLayers(frame); 282 m_hostImpl->drawLayers(frame);
283 m_hostImpl->didDrawAllLayers(frame); 283 m_hostImpl->didDrawAllLayers(frame);
284 284
285 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass. 285 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass.
286 ASSERT_EQ(6u, frame.renderPasses.size()); 286 ASSERT_EQ(6u, frame.renderPasses.size());
287 287
288 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame. 288 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame.
289 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId); 289 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId);
290 EXPECT_EQ(1, frame.renderPasses[1]->id().index); 290 EXPECT_EQ(1, frame.renderPasses[1]->id().index);
291 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId); 291 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId);
292 EXPECT_EQ(2, frame.renderPasses[2]->id().index); 292 EXPECT_EQ(2, frame.renderPasses[2]->id().index);
293 // The DelegatedRendererLayer should have added a RenderPass for its surface to the frame. 293 // The DelegatedRendererLayer should have added a RenderPass for its surface to the frame.
294 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId); 294 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId);
295 EXPECT_EQ(0, frame.renderPasses[3]->id().index); 295 EXPECT_EQ(0, frame.renderPasses[3]->id().index);
296 // And all other RenderPasses should be non-delegated. 296 // And all other RenderPasses should be non-delegated.
297 EXPECT_NE(4, frame.renderPasses[0]->id().layerId); 297 EXPECT_NE(4, frame.renderPasses[0]->id().layerId);
298 EXPECT_EQ(0, frame.renderPasses[0]->id().index); 298 EXPECT_EQ(0, frame.renderPasses[0]->id().index);
299 EXPECT_NE(4, frame.renderPasses[4]->id().layerId); 299 EXPECT_NE(4, frame.renderPasses[4]->id().layerId);
300 EXPECT_EQ(0, frame.renderPasses[4]->id().index); 300 EXPECT_EQ(0, frame.renderPasses[4]->id().index);
301 EXPECT_NE(4, frame.renderPasses[5]->id().layerId); 301 EXPECT_NE(4, frame.renderPasses[5]->id().layerId);
302 EXPECT_EQ(0, frame.renderPasses[5]->id().index); 302 EXPECT_EQ(0, frame.renderPasses[5]->id().index);
303 303
304 // The DelegatedRendererLayer should have added its RenderPasses to the fram e in order. 304 // The DelegatedRendererLayer should have added its RenderPasses to the fram e in order.
305 EXPECT_RECT_EQ(IntRect(6, 6, 6, 6), frame.renderPasses[1]->outputRect()); 305 EXPECT_RECT_EQ(IntRect(6, 6, 6, 6), frame.renderPasses[1]->outputRect());
306 EXPECT_RECT_EQ(IntRect(7, 7, 7, 7), frame.renderPasses[2]->outputRect()); 306 EXPECT_RECT_EQ(IntRect(7, 7, 7, 7), frame.renderPasses[2]->outputRect());
307 } 307 }
308 308
309 TEST_F(CCDelegatedRendererLayerImplTestOwnSurface, AddsQuadsToContributingRender Passes) 309 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsQuadsToContributingRenderPa sses)
310 { 310 {
311 CCLayerTreeHostImpl::FrameData frame; 311 LayerTreeHostImpl::FrameData frame;
312 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 312 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
313 m_hostImpl->drawLayers(frame); 313 m_hostImpl->drawLayers(frame);
314 m_hostImpl->didDrawAllLayers(frame); 314 m_hostImpl->didDrawAllLayers(frame);
315 315
316 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass. 316 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass.
317 ASSERT_EQ(6u, frame.renderPasses.size()); 317 ASSERT_EQ(6u, frame.renderPasses.size());
318 318
319 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame. 319 // The DelegatedRendererLayer should have added its contributing RenderPasse s to the frame.
320 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId); 320 EXPECT_EQ(4, frame.renderPasses[1]->id().layerId);
321 EXPECT_EQ(1, frame.renderPasses[1]->id().index); 321 EXPECT_EQ(1, frame.renderPasses[1]->id().index);
322 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId); 322 EXPECT_EQ(4, frame.renderPasses[2]->id().layerId);
323 EXPECT_EQ(2, frame.renderPasses[2]->id().index); 323 EXPECT_EQ(2, frame.renderPasses[2]->id().index);
324 324
325 // The DelegatedRendererLayer should have added copies of its quads to contr ibuting RenderPasses. 325 // The DelegatedRendererLayer should have added copies of its quads to contr ibuting RenderPasses.
326 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); 326 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size());
327 EXPECT_RECT_EQ(IntRect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]->qu adRect()); 327 EXPECT_RECT_EQ(IntRect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]->qu adRect());
328 328
329 // Verify it added the right quads. 329 // Verify it added the right quads.
330 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size()); 330 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size());
331 EXPECT_RECT_EQ(IntRect(0, 0, 7, 7), frame.renderPasses[2]->quadList()[0]->qu adRect()); 331 EXPECT_RECT_EQ(IntRect(0, 0, 7, 7), frame.renderPasses[2]->quadList()[0]->qu adRect());
332 EXPECT_RECT_EQ(IntRect(6, 6, 6, 6), frame.renderPasses[2]->quadList()[1]->qu adRect()); 332 EXPECT_RECT_EQ(IntRect(6, 6, 6, 6), frame.renderPasses[2]->quadList()[1]->qu adRect());
333 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size()); 333 ASSERT_EQ(1u, frame.renderPasses[1]->quadList().size());
334 EXPECT_RECT_EQ(IntRect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]->qu adRect()); 334 EXPECT_RECT_EQ(IntRect(0, 0, 6, 6), frame.renderPasses[1]->quadList()[0]->qu adRect());
335 } 335 }
336 336
337 TEST_F(CCDelegatedRendererLayerImplTestOwnSurface, AddsQuadsToTargetRenderPass) 337 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsQuadsToTargetRenderPass)
338 { 338 {
339 CCLayerTreeHostImpl::FrameData frame; 339 LayerTreeHostImpl::FrameData frame;
340 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 340 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
341 m_hostImpl->drawLayers(frame); 341 m_hostImpl->drawLayers(frame);
342 m_hostImpl->didDrawAllLayers(frame); 342 m_hostImpl->didDrawAllLayers(frame);
343 343
344 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass. 344 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass.
345 ASSERT_EQ(6u, frame.renderPasses.size()); 345 ASSERT_EQ(6u, frame.renderPasses.size());
346 346
347 // The layer's target is the RenderPass owned by itself. 347 // The layer's target is the RenderPass owned by itself.
348 EXPECT_EQ(CCRenderPass::Id(4, 0), frame.renderPasses[3]->id()); 348 EXPECT_EQ(RenderPass::Id(4, 0), frame.renderPasses[3]->id());
349 349
350 // The DelegatedRendererLayer should have added copies of quads in its root RenderPass to its target RenderPass. 350 // The DelegatedRendererLayer should have added copies of quads in its root RenderPass to its target RenderPass.
351 // The m_layerAfter also adds one quad. 351 // The m_layerAfter also adds one quad.
352 ASSERT_EQ(1u, frame.renderPasses[3]->quadList().size()); 352 ASSERT_EQ(1u, frame.renderPasses[3]->quadList().size());
353 353
354 // Verify it added the right quads. 354 // Verify it added the right quads.
355 EXPECT_RECT_EQ(IntRect(7, 7, 7, 7), frame.renderPasses[3]->quadList()[0]->qu adRect()); 355 EXPECT_RECT_EQ(IntRect(7, 7, 7, 7), frame.renderPasses[3]->quadList()[0]->qu adRect());
356 } 356 }
357 357
358 TEST_F(CCDelegatedRendererLayerImplTestOwnSurface, QuadsFromRootRenderPassAreNot ModifiedForTheTarget) 358 TEST_F(DelegatedRendererLayerImplTestOwnSurface, QuadsFromRootRenderPassAreNotMo difiedForTheTarget)
359 { 359 {
360 CCLayerTreeHostImpl::FrameData frame; 360 LayerTreeHostImpl::FrameData frame;
361 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 361 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
362 m_hostImpl->drawLayers(frame); 362 m_hostImpl->drawLayers(frame);
363 m_hostImpl->didDrawAllLayers(frame); 363 m_hostImpl->didDrawAllLayers(frame);
364 364
365 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass. 365 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass.
366 ASSERT_EQ(6u, frame.renderPasses.size()); 366 ASSERT_EQ(6u, frame.renderPasses.size());
367 367
368 // Because the DelegatedRendererLayer owns a RenderSurface, its root RenderP ass' quads do not need to be 368 // Because the DelegatedRendererLayer owns a RenderSurfaceImpl, its root Ren derPass' quads do not need to be
369 // modified at all. 369 // modified at all.
370 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[3]->quadList()[0]->quadTransform()); 370 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[3]->quadList()[0]->quadTransform());
371 371
372 // Quads from non-root RenderPasses should not be shifted though. 372 // Quads from non-root RenderPasses should not be shifted though.
373 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size()); 373 ASSERT_EQ(2u, frame.renderPasses[2]->quadList().size());
374 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());
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 DelegatedRendererLayerImplTestSharedData : public DelegatedRendererLayerIm plTest {
381 public: 381 public:
382 CCDelegatedRendererLayerImplTestSharedData() 382 DelegatedRendererLayerImplTestSharedData()
383 : CCDelegatedRendererLayerImplTest() 383 : DelegatedRendererLayerImplTest()
384 { 384 {
385 scoped_ptr<CCLayerImpl> rootLayer = CCLayerImpl::create(1); 385 scoped_ptr<LayerImpl> rootLayer = LayerImpl::create(1);
386 scoped_ptr<CCDelegatedRendererLayerImpl> delegatedRendererLayer = CCDele gatedRendererLayerImpl::create(2); 386 scoped_ptr<DelegatedRendererLayerImpl> delegatedRendererLayer = Delegate dRendererLayerImpl::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);
397 delegatedRendererLayer->setTransform(transform); 397 delegatedRendererLayer->setTransform(transform);
398 398
399 ScopedPtrVector<CCRenderPass> delegatedRenderPasses; 399 ScopedPtrVector<RenderPass> delegatedRenderPasses;
400 IntRect passRect(0, 0, 50, 50); 400 IntRect passRect(0, 0, 50, 50);
401 CCTestRenderPass* pass = addRenderPass(delegatedRenderPasses, CCRenderPa ss::Id(9, 6), passRect, WebTransformationMatrix()); 401 TestRenderPass* pass = addRenderPass(delegatedRenderPasses, RenderPass:: Id(9, 6), passRect, WebTransformationMatrix());
402 MockCCQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList()) ; 402 MockQuadCuller quadSink(pass->quadList(), pass->sharedQuadStateList());
403 CCAppendQuadsData data(pass->id()); 403 AppendQuadsData data(pass->id());
404 CCSharedQuadState* sharedState = quadSink.useSharedQuadState(CCSharedQua dState::create(WebTransformationMatrix(), passRect, passRect, 1, false)); 404 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadSta te::create(WebTransformationMatrix(), passRect, passRect, 1, false));
405 quadSink.append(CCSolidColorDrawQuad::create(sharedState, IntRect(0, 0, 10, 10), 1u).PassAs<CCDrawQuad>(), data); 405 quadSink.append(SolidColorDrawQuad::create(sharedState, IntRect(0, 0, 10 , 10), 1u).PassAs<DrawQuad>(), data);
406 quadSink.append(CCSolidColorDrawQuad::create(sharedState, IntRect(0, 10, 10, 10), 2u).PassAs<CCDrawQuad>(), data); 406 quadSink.append(SolidColorDrawQuad::create(sharedState, IntRect(0, 10, 1 0, 10), 2u).PassAs<DrawQuad>(), data);
407 quadSink.append(CCSolidColorDrawQuad::create(sharedState, IntRect(10, 0, 10, 10), 3u).PassAs<CCDrawQuad>(), data); 407 quadSink.append(SolidColorDrawQuad::create(sharedState, IntRect(10, 0, 1 0, 10), 3u).PassAs<DrawQuad>(), data);
408 quadSink.append(CCSolidColorDrawQuad::create(sharedState, IntRect(10, 10 , 10, 10), 4u).PassAs<CCDrawQuad>(), data); 408 quadSink.append(SolidColorDrawQuad::create(sharedState, IntRect(10, 10, 10, 10), 4u).PassAs<DrawQuad>(), 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.PassAs<CCLayerImpl>()); 417 rootLayer->addChild(delegatedRendererLayer.PassAs<LayerImpl>());
418 418
419 m_hostImpl->setRootLayer(rootLayer.Pass()); 419 m_hostImpl->setRootLayer(rootLayer.Pass());
420 } 420 }
421 421
422 protected: 422 protected:
423 CCLayerImpl* m_rootLayerPtr; 423 LayerImpl* m_rootLayerPtr;
424 CCDelegatedRendererLayerImpl* m_delegatedRendererLayerPtr; 424 DelegatedRendererLayerImpl* m_delegatedRendererLayerPtr;
425 }; 425 };
426 426
427 TEST_F(CCDelegatedRendererLayerImplTestSharedData, SharedData) 427 TEST_F(DelegatedRendererLayerImplTestSharedData, SharedData)
428 { 428 {
429 CCLayerTreeHostImpl::FrameData frame; 429 LayerTreeHostImpl::FrameData frame;
430 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 430 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
431 m_hostImpl->drawLayers(frame); 431 m_hostImpl->drawLayers(frame);
432 m_hostImpl->didDrawAllLayers(frame); 432 m_hostImpl->didDrawAllLayers(frame);
433 433
434 ASSERT_EQ(1u, frame.renderPasses.size()); 434 ASSERT_EQ(1u, frame.renderPasses.size());
435 EXPECT_EQ(1, frame.renderPasses[0]->id().layerId); 435 EXPECT_EQ(1, frame.renderPasses[0]->id().layerId);
436 EXPECT_EQ(0, frame.renderPasses[0]->id().index); 436 EXPECT_EQ(0, frame.renderPasses[0]->id().index);
437 437
438 const CCQuadList& quadList = frame.renderPasses[0]->quadList(); 438 const QuadList& quadList = frame.renderPasses[0]->quadList();
439 ASSERT_EQ(4u, quadList.size()); 439 ASSERT_EQ(4u, quadList.size());
440 440
441 // All quads should share the same state. 441 // All quads should share the same state.
442 const CCSharedQuadState* sharedState = quadList[0]->sharedQuadState(); 442 const SharedQuadState* sharedState = quadList[0]->sharedQuadState();
443 EXPECT_EQ(sharedState, quadList[1]->sharedQuadState()); 443 EXPECT_EQ(sharedState, quadList[1]->sharedQuadState());
444 EXPECT_EQ(sharedState, quadList[2]->sharedQuadState()); 444 EXPECT_EQ(sharedState, quadList[2]->sharedQuadState());
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698