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

Side by Side Diff: cc/delegated_renderer_layer_impl_unittest.cc

Issue 11308153: Migrate most of cc/ from WebKit::WebTransformationMatrix to gfx::Transform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased to tip of tree and addressed feedback Created 8 years, 1 month 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 "cc/delegated_renderer_layer_impl.h" 5 #include "cc/delegated_renderer_layer_impl.h"
6 6
7 #include "cc/append_quads_data.h" 7 #include "cc/append_quads_data.h"
8 #include "cc/layer_tree_host_impl.h" 8 #include "cc/layer_tree_host_impl.h"
9 #include "cc/quad_sink.h" 9 #include "cc/quad_sink.h"
10 #include "cc/render_pass_draw_quad.h" 10 #include "cc/render_pass_draw_quad.h"
11 #include "cc/scoped_ptr_vector.h" 11 #include "cc/scoped_ptr_vector.h"
12 #include "cc/single_thread_proxy.h" 12 #include "cc/single_thread_proxy.h"
13 #include "cc/solid_color_draw_quad.h" 13 #include "cc/solid_color_draw_quad.h"
14 #include "cc/solid_color_layer_impl.h" 14 #include "cc/solid_color_layer_impl.h"
15 #include "cc/test/fake_proxy.h" 15 #include "cc/test/fake_proxy.h"
16 #include "cc/test/fake_web_compositor_output_surface.h" 16 #include "cc/test/fake_web_compositor_output_surface.h"
17 #include "cc/test/fake_web_graphics_context_3d.h" 17 #include "cc/test/fake_web_graphics_context_3d.h"
18 #include "cc/test/geometry_test_utils.h" 18 #include "cc/test/geometry_test_utils.h"
19 #include "cc/test/mock_quad_culler.h" 19 #include "cc/test/mock_quad_culler.h"
20 #include "cc/test/render_pass_test_common.h" 20 #include "cc/test/render_pass_test_common.h"
21 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
22 #include <public/WebTransformationMatrix.h> 22 #include "ui/gfx/transform.h"
23 23
24 using WebKit::FakeWebCompositorOutputSurface; 24 using WebKit::FakeWebCompositorOutputSurface;
25 using WebKit::FakeWebGraphicsContext3D; 25 using WebKit::FakeWebGraphicsContext3D;
26 using WebKit::WebTransformationMatrix; 26 using gfx::Transform;
27 27
28 using namespace WebKitTests; 28 using namespace WebKitTests;
29 29
30 namespace cc { 30 namespace cc {
31 namespace { 31 namespace {
32 32
33 class DelegatedRendererLayerImplTest : public testing::Test, public LayerTreeHos tImplClient { 33 class DelegatedRendererLayerImplTest : public testing::Test, public LayerTreeHos tImplClient {
34 public: 34 public:
35 DelegatedRendererLayerImplTest() 35 DelegatedRendererLayerImplTest()
36 : m_proxy(scoped_ptr<Thread>(NULL)) 36 : m_proxy(scoped_ptr<Thread>(NULL))
(...skipping 22 matching lines...) Expand all
59 scoped_ptr<GraphicsContext> createContext() 59 scoped_ptr<GraphicsContext> createContext()
60 { 60 {
61 return FakeWebCompositorOutputSurface::create(scoped_ptr<WebKit::WebGrap hicsContext3D>(new FakeWebGraphicsContext3D)).PassAs<GraphicsContext>(); 61 return FakeWebCompositorOutputSurface::create(scoped_ptr<WebKit::WebGrap hicsContext3D>(new FakeWebGraphicsContext3D)).PassAs<GraphicsContext>();
62 } 62 }
63 63
64 FakeProxy m_proxy; 64 FakeProxy m_proxy;
65 DebugScopedSetImplThreadAndMainThreadBlocked m_alwaysImplThreadAndMainThread Blocked; 65 DebugScopedSetImplThreadAndMainThreadBlocked m_alwaysImplThreadAndMainThread Blocked;
66 scoped_ptr<LayerTreeHostImpl> m_hostImpl; 66 scoped_ptr<LayerTreeHostImpl> m_hostImpl;
67 }; 67 };
68 68
69 static TestRenderPass* addRenderPass(ScopedPtrVector<RenderPass>& passList, Rend erPass::Id id, gfx::Rect outputRect, WebTransformationMatrix rootTransform) 69 static TestRenderPass* addRenderPass(ScopedPtrVector<RenderPass>& passList, Rend erPass::Id id, gfx::Rect outputRect, Transform rootTransform)
70 { 70 {
71 scoped_ptr<TestRenderPass> pass(TestRenderPass::Create()); 71 scoped_ptr<TestRenderPass> pass(TestRenderPass::Create());
72 pass->SetNew(id, outputRect, outputRect, rootTransform); 72 pass->SetNew(id, outputRect, outputRect, rootTransform);
73 TestRenderPass* saved = pass.get(); 73 TestRenderPass* saved = pass.get();
74 passList.append(pass.PassAs<RenderPass>()); 74 passList.append(pass.PassAs<RenderPass>());
75 return saved; 75 return saved;
76 } 76 }
77 77
78 static SolidColorDrawQuad* addQuad(TestRenderPass* pass, gfx::Rect rect, SkColor color) 78 static SolidColorDrawQuad* addQuad(TestRenderPass* pass, gfx::Rect rect, SkColor color)
79 { 79 {
80 MockQuadCuller quadSink(pass->quad_list, pass->shared_quad_state_list); 80 MockQuadCuller quadSink(pass->quad_list, pass->shared_quad_state_list);
81 AppendQuadsData data(pass->id); 81 AppendQuadsData data(pass->id);
82 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState:: Create()); 82 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState:: Create());
83 sharedState->SetAll(WebTransformationMatrix(), rect, rect, rect, false, 1); 83 sharedState->SetAll(Transform(), rect, rect, rect, false, 1);
84 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::Create(); 84 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::Create();
85 quad->SetNew(sharedState, rect, color); 85 quad->SetNew(sharedState, rect, color);
86 SolidColorDrawQuad* quadPtr = quad.get(); 86 SolidColorDrawQuad* quadPtr = quad.get();
87 quadSink.append(quad.PassAs<DrawQuad>(), data); 87 quadSink.append(quad.PassAs<DrawQuad>(), data);
88 return quadPtr; 88 return quadPtr;
89 } 89 }
90 90
91 static void addRenderPassQuad(TestRenderPass* toPass, TestRenderPass* contributi ngPass) 91 static void addRenderPassQuad(TestRenderPass* toPass, TestRenderPass* contributi ngPass)
92 { 92 {
93 MockQuadCuller quadSink(toPass->quad_list, toPass->shared_quad_state_list); 93 MockQuadCuller quadSink(toPass->quad_list, toPass->shared_quad_state_list);
94 AppendQuadsData data(toPass->id); 94 AppendQuadsData data(toPass->id);
95 gfx::Rect outputRect = contributingPass->output_rect; 95 gfx::Rect outputRect = contributingPass->output_rect;
96 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState:: Create()); 96 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadState:: Create());
97 sharedState->SetAll(WebTransformationMatrix(), outputRect, outputRect, outpu tRect, false, 1); 97 sharedState->SetAll(Transform(), outputRect, outputRect, outputRect, false, 1);
98 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create(); 98 scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create();
99 quad->SetNew(sharedState, outputRect, contributingPass->id, false, 0, output Rect, 0, 0, 0, 0); 99 quad->SetNew(sharedState, outputRect, contributingPass->id, false, 0, output Rect, 0, 0, 0, 0);
100 quadSink.append(quad.PassAs<DrawQuad>(), data); 100 quadSink.append(quad.PassAs<DrawQuad>(), data);
101 } 101 }
102 102
103 class DelegatedRendererLayerImplTestSimple : public DelegatedRendererLayerImplTe st { 103 class DelegatedRendererLayerImplTestSimple : public DelegatedRendererLayerImplTe st {
104 public: 104 public:
105 DelegatedRendererLayerImplTestSimple() 105 DelegatedRendererLayerImplTestSimple()
106 : DelegatedRendererLayerImplTest() 106 : DelegatedRendererLayerImplTest()
107 { 107 {
(...skipping 14 matching lines...) Expand all
122 layerAfter->setPosition(gfx::Point(5, 5)); 122 layerAfter->setPosition(gfx::Point(5, 5));
123 layerAfter->setBounds(gfx::Size(15, 15)); 123 layerAfter->setBounds(gfx::Size(15, 15));
124 layerAfter->setContentBounds(gfx::Size(15, 15)); 124 layerAfter->setContentBounds(gfx::Size(15, 15));
125 layerAfter->setDrawsContent(true); 125 layerAfter->setDrawsContent(true);
126 layerAfter->setForceRenderSurface(true); 126 layerAfter->setForceRenderSurface(true);
127 127
128 delegatedRendererLayer->setPosition(gfx::Point(3, 3)); 128 delegatedRendererLayer->setPosition(gfx::Point(3, 3));
129 delegatedRendererLayer->setBounds(gfx::Size(10, 10)); 129 delegatedRendererLayer->setBounds(gfx::Size(10, 10));
130 delegatedRendererLayer->setContentBounds(gfx::Size(10, 10)); 130 delegatedRendererLayer->setContentBounds(gfx::Size(10, 10));
131 delegatedRendererLayer->setDrawsContent(true); 131 delegatedRendererLayer->setDrawsContent(true);
132 WebTransformationMatrix transform; 132 Transform transform;
133 transform.translate(1, 1); 133 transform.PreconcatTranslate(1, 1);
134 delegatedRendererLayer->setTransform(transform); 134 delegatedRendererLayer->setTransform(transform);
135 135
136 ScopedPtrVector<RenderPass> delegatedRenderPasses; 136 ScopedPtrVector<RenderPass> delegatedRenderPasses;
137 TestRenderPass* pass1 = addRenderPass(delegatedRenderPasses, RenderPass: :Id(9, 6), gfx::Rect(6, 6, 6, 6), WebTransformationMatrix()); 137 TestRenderPass* pass1 = addRenderPass(delegatedRenderPasses, RenderPass: :Id(9, 6), gfx::Rect(6, 6, 6, 6), Transform());
138 addQuad(pass1, gfx::Rect(0, 0, 6, 6), 33u); 138 addQuad(pass1, gfx::Rect(0, 0, 6, 6), 33u);
139 TestRenderPass* pass2 = addRenderPass(delegatedRenderPasses, RenderPass: :Id(9, 7), gfx::Rect(7, 7, 7, 7), WebTransformationMatrix()); 139 TestRenderPass* pass2 = addRenderPass(delegatedRenderPasses, RenderPass: :Id(9, 7), gfx::Rect(7, 7, 7, 7), Transform());
140 addQuad(pass2, gfx::Rect(0, 0, 7, 7), 22u); 140 addQuad(pass2, gfx::Rect(0, 0, 7, 7), 22u);
141 addRenderPassQuad(pass2, pass1); 141 addRenderPassQuad(pass2, pass1);
142 TestRenderPass* pass3 = addRenderPass(delegatedRenderPasses, RenderPass: :Id(9, 8), gfx::Rect(8, 8, 8, 8), WebTransformationMatrix()); 142 TestRenderPass* pass3 = addRenderPass(delegatedRenderPasses, RenderPass: :Id(9, 8), gfx::Rect(8, 8, 8, 8), Transform());
143 addRenderPassQuad(pass3, pass2); 143 addRenderPassQuad(pass3, pass2);
144 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses); 144 delegatedRendererLayer->setRenderPasses(delegatedRenderPasses);
145 145
146 // The RenderPasses should be taken by the layer. 146 // The RenderPasses should be taken by the layer.
147 EXPECT_EQ(0u, delegatedRenderPasses.size()); 147 EXPECT_EQ(0u, delegatedRenderPasses.size());
148 148
149 m_rootLayerPtr = rootLayer.get(); 149 m_rootLayerPtr = rootLayer.get();
150 m_layerBeforePtr = layerBefore.get(); 150 m_layerBeforePtr = layerBefore.get();
151 m_layerAfterPtr = layerAfter.get(); 151 m_layerAfterPtr = layerAfter.get();
152 m_delegatedRendererLayerPtr = delegatedRendererLayer.get(); 152 m_delegatedRendererLayerPtr = delegatedRendererLayer.get();
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 LayerTreeHostImpl::FrameData frame; 253 LayerTreeHostImpl::FrameData frame;
254 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 254 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
255 m_hostImpl->drawLayers(frame); 255 m_hostImpl->drawLayers(frame);
256 m_hostImpl->didDrawAllLayers(frame); 256 m_hostImpl->didDrawAllLayers(frame);
257 257
258 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes. 258 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes.
259 ASSERT_EQ(5u, frame.renderPasses.size()); 259 ASSERT_EQ(5u, frame.renderPasses.size());
260 260
261 // The DelegatedRendererLayer is at position 3,3 compared to its target, and has a translation transform of 1,1. 261 // The DelegatedRendererLayer is at position 3,3 compared to its target, and has a translation transform of 1,1.
262 // So its root RenderPass' quads should all be transformed by that combined amount. 262 // So its root RenderPass' quads should all be transformed by that combined amount.
263 WebTransformationMatrix transform; 263 Transform transform;
264 transform.translate(4, 4); 264 transform.PreconcatTranslate(4, 4);
265 EXPECT_TRANSFORMATION_MATRIX_EQ(transform, frame.renderPasses[3]->quad_list[ 0]->quadTransform()); 265 EXPECT_TRANSFORMATION_MATRIX_EQ(transform, frame.renderPasses[3]->quad_list[ 0]->quadTransform());
266 266
267 // Quads from non-root RenderPasses should not be shifted though. 267 // Quads from non-root RenderPasses should not be shifted though.
268 ASSERT_EQ(2u, frame.renderPasses[2]->quad_list.size()); 268 ASSERT_EQ(2u, frame.renderPasses[2]->quad_list.size());
269 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[2]->quad_list[0]->quadTransform()); 269 EXPECT_TRANSFORMATION_MATRIX_EQ(Transform(), frame.renderPasses[2]->quad_lis t[0]->quadTransform());
270 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[2]->quad_list[1]->quadTransform()); 270 EXPECT_TRANSFORMATION_MATRIX_EQ(Transform(), frame.renderPasses[2]->quad_lis t[1]->quadTransform());
271 ASSERT_EQ(1u, frame.renderPasses[1]->quad_list.size()); 271 ASSERT_EQ(1u, frame.renderPasses[1]->quad_list.size());
272 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[1]->quad_list[0]->quadTransform()); 272 EXPECT_TRANSFORMATION_MATRIX_EQ(Transform(), frame.renderPasses[1]->quad_lis t[0]->quadTransform());
273 } 273 }
274 274
275 class DelegatedRendererLayerImplTestOwnSurface : public DelegatedRendererLayerIm plTestSimple { 275 class DelegatedRendererLayerImplTestOwnSurface : public DelegatedRendererLayerIm plTestSimple {
276 public: 276 public:
277 DelegatedRendererLayerImplTestOwnSurface() 277 DelegatedRendererLayerImplTestOwnSurface()
278 : DelegatedRendererLayerImplTestSimple() 278 : DelegatedRendererLayerImplTestSimple()
279 { 279 {
280 m_delegatedRendererLayerPtr->setForceRenderSurface(true); 280 m_delegatedRendererLayerPtr->setForceRenderSurface(true);
281 } 281 }
282 }; 282 };
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 LayerTreeHostImpl::FrameData frame; 366 LayerTreeHostImpl::FrameData frame;
367 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 367 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
368 m_hostImpl->drawLayers(frame); 368 m_hostImpl->drawLayers(frame);
369 m_hostImpl->didDrawAllLayers(frame); 369 m_hostImpl->didDrawAllLayers(frame);
370 370
371 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass. 371 // Each non-DelegatedRendererLayer added one RenderPass. The DelegatedRender erLayer added two contributing passes and its owned surface added one pass.
372 ASSERT_EQ(6u, frame.renderPasses.size()); 372 ASSERT_EQ(6u, frame.renderPasses.size());
373 373
374 // Because the DelegatedRendererLayer owns a RenderSurfaceImpl, its root Ren derPass' quads do not need to be 374 // Because the DelegatedRendererLayer owns a RenderSurfaceImpl, its root Ren derPass' quads do not need to be
375 // modified at all. 375 // modified at all.
376 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[3]->quad_list[0]->quadTransform()); 376 EXPECT_TRANSFORMATION_MATRIX_EQ(Transform(), frame.renderPasses[3]->quad_lis t[0]->quadTransform());
377 377
378 // Quads from non-root RenderPasses should not be shifted though. 378 // Quads from non-root RenderPasses should not be shifted though.
379 ASSERT_EQ(2u, frame.renderPasses[2]->quad_list.size()); 379 ASSERT_EQ(2u, frame.renderPasses[2]->quad_list.size());
380 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[2]->quad_list[0]->quadTransform()); 380 EXPECT_TRANSFORMATION_MATRIX_EQ(Transform(), frame.renderPasses[2]->quad_lis t[0]->quadTransform());
381 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[2]->quad_list[1]->quadTransform()); 381 EXPECT_TRANSFORMATION_MATRIX_EQ(Transform(), frame.renderPasses[2]->quad_lis t[1]->quadTransform());
382 ASSERT_EQ(1u, frame.renderPasses[1]->quad_list.size()); 382 ASSERT_EQ(1u, frame.renderPasses[1]->quad_list.size());
383 EXPECT_TRANSFORMATION_MATRIX_EQ(WebTransformationMatrix(), frame.renderPasse s[1]->quad_list[0]->quadTransform()); 383 EXPECT_TRANSFORMATION_MATRIX_EQ(Transform(), frame.renderPasses[1]->quad_lis t[0]->quadTransform());
384 } 384 }
385 385
386 class DelegatedRendererLayerImplTestSharedData : public DelegatedRendererLayerIm plTest { 386 class DelegatedRendererLayerImplTestSharedData : public DelegatedRendererLayerIm plTest {
387 public: 387 public:
388 DelegatedRendererLayerImplTestSharedData() 388 DelegatedRendererLayerImplTestSharedData()
389 : DelegatedRendererLayerImplTest() 389 : DelegatedRendererLayerImplTest()
390 { 390 {
391 scoped_ptr<LayerImpl> rootLayer = LayerImpl::create(1); 391 scoped_ptr<LayerImpl> rootLayer = LayerImpl::create(1);
392 scoped_ptr<DelegatedRendererLayerImpl> delegatedRendererLayer = Delegate dRendererLayerImpl::create(2); 392 scoped_ptr<DelegatedRendererLayerImpl> delegatedRendererLayer = Delegate dRendererLayerImpl::create(2);
393 393
394 m_hostImpl->setViewportSize(gfx::Size(100, 100), gfx::Size(100, 100)); 394 m_hostImpl->setViewportSize(gfx::Size(100, 100), gfx::Size(100, 100));
395 rootLayer->setBounds(gfx::Size(100, 100)); 395 rootLayer->setBounds(gfx::Size(100, 100));
396 396
397 delegatedRendererLayer->setPosition(gfx::Point(20, 20)); 397 delegatedRendererLayer->setPosition(gfx::Point(20, 20));
398 delegatedRendererLayer->setBounds(gfx::Size(20, 20)); 398 delegatedRendererLayer->setBounds(gfx::Size(20, 20));
399 delegatedRendererLayer->setContentBounds(gfx::Size(20, 20)); 399 delegatedRendererLayer->setContentBounds(gfx::Size(20, 20));
400 delegatedRendererLayer->setDrawsContent(true); 400 delegatedRendererLayer->setDrawsContent(true);
401 WebTransformationMatrix transform; 401 Transform transform;
402 transform.translate(10, 10); 402 transform.PreconcatTranslate(10, 10);
403 delegatedRendererLayer->setTransform(transform); 403 delegatedRendererLayer->setTransform(transform);
404 404
405 ScopedPtrVector<RenderPass> delegatedRenderPasses; 405 ScopedPtrVector<RenderPass> delegatedRenderPasses;
406 gfx::Rect passRect(0, 0, 50, 50); 406 gfx::Rect passRect(0, 0, 50, 50);
407 TestRenderPass* pass = addRenderPass(delegatedRenderPasses, RenderPass:: Id(9, 6), passRect, WebTransformationMatrix()); 407 TestRenderPass* pass = addRenderPass(delegatedRenderPasses, RenderPass:: Id(9, 6), passRect, Transform());
408 MockQuadCuller quadSink(pass->quad_list, pass->shared_quad_state_list); 408 MockQuadCuller quadSink(pass->quad_list, pass->shared_quad_state_list);
409 AppendQuadsData data(pass->id); 409 AppendQuadsData data(pass->id);
410 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadSta te::Create()); 410 SharedQuadState* sharedState = quadSink.useSharedQuadState(SharedQuadSta te::Create());
411 sharedState->SetAll(WebTransformationMatrix(), passRect, passRect, passR ect, false, 1); 411 sharedState->SetAll(Transform(), passRect, passRect, passRect, false, 1) ;
412 scoped_ptr<SolidColorDrawQuad> colorQuad; 412 scoped_ptr<SolidColorDrawQuad> colorQuad;
413 413
414 colorQuad = SolidColorDrawQuad::Create(); 414 colorQuad = SolidColorDrawQuad::Create();
415 colorQuad->SetNew(sharedState, gfx::Rect(0, 0, 10, 10), 1u); 415 colorQuad->SetNew(sharedState, gfx::Rect(0, 0, 10, 10), 1u);
416 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); 416 quadSink.append(colorQuad.PassAs<DrawQuad>(), data);
417 417
418 colorQuad = SolidColorDrawQuad::Create(); 418 colorQuad = SolidColorDrawQuad::Create();
419 colorQuad->SetNew(sharedState, gfx::Rect(0, 10, 10, 10), 2u); 419 colorQuad->SetNew(sharedState, gfx::Rect(0, 10, 10, 10), 2u);
420 quadSink.append(colorQuad.PassAs<DrawQuad>(), data); 420 quadSink.append(colorQuad.PassAs<DrawQuad>(), data);
421 421
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 ASSERT_EQ(4u, quadList.size()); 460 ASSERT_EQ(4u, quadList.size());
461 461
462 // All quads should share the same state. 462 // All quads should share the same state.
463 const SharedQuadState* sharedState = quadList[0]->shared_quad_state; 463 const SharedQuadState* sharedState = quadList[0]->shared_quad_state;
464 EXPECT_EQ(sharedState, quadList[1]->shared_quad_state); 464 EXPECT_EQ(sharedState, quadList[1]->shared_quad_state);
465 EXPECT_EQ(sharedState, quadList[2]->shared_quad_state); 465 EXPECT_EQ(sharedState, quadList[2]->shared_quad_state);
466 EXPECT_EQ(sharedState, quadList[3]->shared_quad_state); 466 EXPECT_EQ(sharedState, quadList[3]->shared_quad_state);
467 467
468 // The state should be transformed only once. 468 // The state should be transformed only once.
469 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clipped_rect_in_targe t); 469 EXPECT_RECT_EQ(gfx::Rect(30, 30, 50, 50), sharedState->clipped_rect_in_targe t);
470 WebTransformationMatrix expected; 470 Transform expected;
471 expected.translate(30, 30); 471 expected.PreconcatTranslate(30, 30);
472 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->content_to_target_tra nsform); 472 EXPECT_TRANSFORMATION_MATRIX_EQ(expected, sharedState->content_to_target_tra nsform);
473 } 473 }
474 474
475 } // namespace 475 } // namespace
476 } // namespace cc 476 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698