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

Side by Side Diff: cc/CCDelegatedRendererLayerImplTest.cpp

Issue 11099040: [cc] Store CCLayerImpls as scoped_ptrs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix cc unit tests 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
« no previous file with comments | « cc/CCDelegatedRendererLayerImpl.h ('k') | cc/CCHeadsUpDisplayLayerImpl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "CCGeometryTestUtils.h" 10 #include "CCGeometryTestUtils.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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
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
« no previous file with comments | « cc/CCDelegatedRendererLayerImpl.h ('k') | cc/CCHeadsUpDisplayLayerImpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698