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

Side by Side Diff: cc/delegated_renderer_layer_impl_unittest.cc

Issue 12774006: cc: Chromify Layer and LayerImpl classes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: MoreAndroidCompilings Created 7 years, 9 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/delegated_renderer_layer_impl.cc ('k') | cc/frame_rate_controller.cc » ('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 "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/layer_tree_impl.h" 9 #include "cc/layer_tree_impl.h"
10 #include "cc/quad_sink.h" 10 #include "cc/quad_sink.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 scoped_ptr<LayerImpl> root_layer = SolidColorLayerImpl::Create( 58 scoped_ptr<LayerImpl> root_layer = SolidColorLayerImpl::Create(
59 host_impl_->activeTree(), 1).PassAs<LayerImpl>(); 59 host_impl_->activeTree(), 1).PassAs<LayerImpl>();
60 scoped_ptr<LayerImpl> layer_before = SolidColorLayerImpl::Create( 60 scoped_ptr<LayerImpl> layer_before = SolidColorLayerImpl::Create(
61 host_impl_->activeTree(), 2).PassAs<LayerImpl>(); 61 host_impl_->activeTree(), 2).PassAs<LayerImpl>();
62 scoped_ptr<LayerImpl> layer_after = SolidColorLayerImpl::Create( 62 scoped_ptr<LayerImpl> layer_after = SolidColorLayerImpl::Create(
63 host_impl_->activeTree(), 3).PassAs<LayerImpl>(); 63 host_impl_->activeTree(), 3).PassAs<LayerImpl>();
64 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer = 64 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer =
65 FakeDelegatedRendererLayerImpl::Create(host_impl_->activeTree(), 4); 65 FakeDelegatedRendererLayerImpl::Create(host_impl_->activeTree(), 4);
66 66
67 host_impl_->setViewportSize(gfx::Size(100, 100), gfx::Size(100, 100)); 67 host_impl_->setViewportSize(gfx::Size(100, 100), gfx::Size(100, 100));
68 root_layer->setBounds(gfx::Size(100, 100)); 68 root_layer->SetBounds(gfx::Size(100, 100));
69 69
70 layer_before->setPosition(gfx::Point(20, 20)); 70 layer_before->SetPosition(gfx::Point(20, 20));
71 layer_before->setBounds(gfx::Size(14, 14)); 71 layer_before->SetBounds(gfx::Size(14, 14));
72 layer_before->setContentBounds(gfx::Size(14, 14)); 72 layer_before->SetContentBounds(gfx::Size(14, 14));
73 layer_before->setDrawsContent(true); 73 layer_before->SetDrawsContent(true);
74 layer_before->setForceRenderSurface(true); 74 layer_before->SetForceRenderSurface(true);
75 75
76 layer_after->setPosition(gfx::Point(5, 5)); 76 layer_after->SetPosition(gfx::Point(5, 5));
77 layer_after->setBounds(gfx::Size(15, 15)); 77 layer_after->SetBounds(gfx::Size(15, 15));
78 layer_after->setContentBounds(gfx::Size(15, 15)); 78 layer_after->SetContentBounds(gfx::Size(15, 15));
79 layer_after->setDrawsContent(true); 79 layer_after->SetDrawsContent(true);
80 layer_after->setForceRenderSurface(true); 80 layer_after->SetForceRenderSurface(true);
81 81
82 delegated_renderer_layer->setPosition(gfx::Point(3, 3)); 82 delegated_renderer_layer->SetPosition(gfx::Point(3, 3));
83 delegated_renderer_layer->setBounds(gfx::Size(10, 10)); 83 delegated_renderer_layer->SetBounds(gfx::Size(10, 10));
84 delegated_renderer_layer->setContentBounds(gfx::Size(10, 10)); 84 delegated_renderer_layer->SetContentBounds(gfx::Size(10, 10));
85 delegated_renderer_layer->setDrawsContent(true); 85 delegated_renderer_layer->SetDrawsContent(true);
86 gfx::Transform transform; 86 gfx::Transform transform;
87 transform.Translate(1.0, 1.0); 87 transform.Translate(1.0, 1.0);
88 delegated_renderer_layer->setTransform(transform); 88 delegated_renderer_layer->SetTransform(transform);
89 89
90 ScopedPtrVector<RenderPass> delegated_render_passes; 90 ScopedPtrVector<RenderPass> delegated_render_passes;
91 TestRenderPass* pass1 = addRenderPass( 91 TestRenderPass* pass1 = addRenderPass(
92 delegated_render_passes, 92 delegated_render_passes,
93 RenderPass::Id(9, 6), 93 RenderPass::Id(9, 6),
94 gfx::Rect(6, 6, 6, 6), 94 gfx::Rect(6, 6, 6, 6),
95 gfx::Transform()); 95 gfx::Transform());
96 addQuad(pass1, gfx::Rect(0, 0, 6, 6), 33u); 96 addQuad(pass1, gfx::Rect(0, 0, 6, 6), 33u);
97 TestRenderPass* pass2 = addRenderPass( 97 TestRenderPass* pass2 = addRenderPass(
98 delegated_render_passes, 98 delegated_render_passes,
(...skipping 14 matching lines...) Expand all
113 // The RenderPasses should be taken by the layer. 113 // The RenderPasses should be taken by the layer.
114 EXPECT_EQ(0u, delegated_render_passes.size()); 114 EXPECT_EQ(0u, delegated_render_passes.size());
115 115
116 root_layer_ = root_layer.get(); 116 root_layer_ = root_layer.get();
117 layer_before_ = layer_before.get(); 117 layer_before_ = layer_before.get();
118 layer_after_ = layer_after.get(); 118 layer_after_ = layer_after.get();
119 delegated_renderer_layer_ = delegated_renderer_layer.get(); 119 delegated_renderer_layer_ = delegated_renderer_layer.get();
120 120
121 // Force the delegated RenderPasses to come before the RenderPass from 121 // Force the delegated RenderPasses to come before the RenderPass from
122 // layer_after. 122 // layer_after.
123 layer_after->addChild(delegated_renderer_layer.PassAs<LayerImpl>()); 123 layer_after->AddChild(delegated_renderer_layer.PassAs<LayerImpl>());
124 root_layer->addChild(layer_after.Pass()); 124 root_layer->AddChild(layer_after.Pass());
125 125
126 // Get the RenderPass generated by layer_before to come before the delegated 126 // Get the RenderPass generated by layer_before to come before the delegated
127 // RenderPasses. 127 // RenderPasses.
128 root_layer->addChild(layer_before.Pass()); 128 root_layer->AddChild(layer_before.Pass());
129 host_impl_->activeTree()->SetRootLayer(root_layer.Pass()); 129 host_impl_->activeTree()->SetRootLayer(root_layer.Pass());
130 } 130 }
131 131
132 protected: 132 protected:
133 LayerImpl* root_layer_; 133 LayerImpl* root_layer_;
134 LayerImpl* layer_before_; 134 LayerImpl* layer_before_;
135 LayerImpl* layer_after_; 135 LayerImpl* layer_after_;
136 DelegatedRendererLayerImpl* delegated_renderer_layer_; 136 DelegatedRendererLayerImpl* delegated_renderer_layer_;
137 }; 137 };
138 138
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 host_impl_->drawLayers(frame); 265 host_impl_->drawLayers(frame);
266 host_impl_->didDrawAllLayers(frame); 266 host_impl_->didDrawAllLayers(frame);
267 } 267 }
268 268
269 TEST_F(DelegatedRendererLayerImplTestSimple, DoesNotOwnARenderSurface) { 269 TEST_F(DelegatedRendererLayerImplTestSimple, DoesNotOwnARenderSurface) {
270 LayerTreeHostImpl::FrameData frame; 270 LayerTreeHostImpl::FrameData frame;
271 EXPECT_TRUE(host_impl_->prepareToDraw(frame)); 271 EXPECT_TRUE(host_impl_->prepareToDraw(frame));
272 272
273 // If the DelegatedRendererLayer is axis aligned and has opacity 1, then it 273 // If the DelegatedRendererLayer is axis aligned and has opacity 1, then it
274 // has no need to be a renderSurface for the quads it carries. 274 // has no need to be a renderSurface for the quads it carries.
275 EXPECT_FALSE(delegated_renderer_layer_->renderSurface()); 275 EXPECT_FALSE(delegated_renderer_layer_->render_surface());
276 276
277 host_impl_->drawLayers(frame); 277 host_impl_->drawLayers(frame);
278 host_impl_->didDrawAllLayers(frame); 278 host_impl_->didDrawAllLayers(frame);
279 } 279 }
280 280
281 TEST_F(DelegatedRendererLayerImplTestSimple, DoesOwnARenderSurfaceForOpacity) { 281 TEST_F(DelegatedRendererLayerImplTestSimple, DoesOwnARenderSurfaceForOpacity) {
282 delegated_renderer_layer_->setOpacity(0.5f); 282 delegated_renderer_layer_->SetOpacity(0.5f);
283 283
284 LayerTreeHostImpl::FrameData frame; 284 LayerTreeHostImpl::FrameData frame;
285 EXPECT_TRUE(host_impl_->prepareToDraw(frame)); 285 EXPECT_TRUE(host_impl_->prepareToDraw(frame));
286 286
287 // This test case has quads from multiple layers in the delegated renderer, so 287 // This test case has quads from multiple layers in the delegated renderer, so
288 // if the DelegatedRendererLayer has opacity < 1, it should end up with a 288 // if the DelegatedRendererLayer has opacity < 1, it should end up with a
289 // render surface. 289 // render surface.
290 EXPECT_TRUE(delegated_renderer_layer_->renderSurface()); 290 EXPECT_TRUE(delegated_renderer_layer_->render_surface());
291 291
292 host_impl_->drawLayers(frame); 292 host_impl_->drawLayers(frame);
293 host_impl_->didDrawAllLayers(frame); 293 host_impl_->didDrawAllLayers(frame);
294 } 294 }
295 295
296 TEST_F(DelegatedRendererLayerImplTestSimple, 296 TEST_F(DelegatedRendererLayerImplTestSimple,
297 DoesOwnARenderSurfaceForTransform) { 297 DoesOwnARenderSurfaceForTransform) {
298 gfx::Transform rotation; 298 gfx::Transform rotation;
299 rotation.RotateAboutZAxis(30.0); 299 rotation.RotateAboutZAxis(30.0);
300 delegated_renderer_layer_->setTransform(rotation); 300 delegated_renderer_layer_->SetTransform(rotation);
301 301
302 LayerTreeHostImpl::FrameData frame; 302 LayerTreeHostImpl::FrameData frame;
303 EXPECT_TRUE(host_impl_->prepareToDraw(frame)); 303 EXPECT_TRUE(host_impl_->prepareToDraw(frame));
304 304
305 // This test case has quads from multiple layers in the delegated renderer, so 305 // This test case has quads from multiple layers in the delegated renderer, so
306 // if the DelegatedRendererLayer has opacity < 1, it should end up with a 306 // if the DelegatedRendererLayer has opacity < 1, it should end up with a
307 // render surface. 307 // render surface.
308 EXPECT_TRUE(delegated_renderer_layer_->renderSurface()); 308 EXPECT_TRUE(delegated_renderer_layer_->render_surface());
309 309
310 host_impl_->drawLayers(frame); 310 host_impl_->drawLayers(frame);
311 host_impl_->didDrawAllLayers(frame); 311 host_impl_->didDrawAllLayers(frame);
312 } 312 }
313 313
314 class DelegatedRendererLayerImplTestOwnSurface 314 class DelegatedRendererLayerImplTestOwnSurface
315 : public DelegatedRendererLayerImplTestSimple { 315 : public DelegatedRendererLayerImplTestSimple {
316 public: 316 public:
317 DelegatedRendererLayerImplTestOwnSurface() 317 DelegatedRendererLayerImplTestOwnSurface()
318 : DelegatedRendererLayerImplTestSimple() { 318 : DelegatedRendererLayerImplTestSimple() {
319 delegated_renderer_layer_->setForceRenderSurface(true); 319 delegated_renderer_layer_->SetForceRenderSurface(true);
320 } 320 }
321 }; 321 };
322 322
323 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsRenderPasses) { 323 TEST_F(DelegatedRendererLayerImplTestOwnSurface, AddsRenderPasses) {
324 LayerTreeHostImpl::FrameData frame; 324 LayerTreeHostImpl::FrameData frame;
325 EXPECT_TRUE(host_impl_->prepareToDraw(frame)); 325 EXPECT_TRUE(host_impl_->prepareToDraw(frame));
326 326
327 // Each non-DelegatedRendererLayer added one RenderPass. The 327 // Each non-DelegatedRendererLayer added one RenderPass. The
328 // DelegatedRendererLayer added two contributing passes and its owned surface 328 // DelegatedRendererLayer added two contributing passes and its owned surface
329 // added one pass. 329 // added one pass.
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 gfx::Transform(), frame.renderPasses[1]->quad_list[0]->quadTransform()); 449 gfx::Transform(), frame.renderPasses[1]->quad_list[0]->quadTransform());
450 450
451 host_impl_->drawLayers(frame); 451 host_impl_->drawLayers(frame);
452 host_impl_->didDrawAllLayers(frame); 452 host_impl_->didDrawAllLayers(frame);
453 } 453 }
454 454
455 class DelegatedRendererLayerImplTestTransform 455 class DelegatedRendererLayerImplTestTransform
456 : public DelegatedRendererLayerImplTest { 456 : public DelegatedRendererLayerImplTest {
457 public: 457 public:
458 void SetUpTest() { 458 void SetUpTest() {
459 scoped_ptr<LayerImpl> root_layer = LayerImpl::create( 459 scoped_ptr<LayerImpl> root_layer = LayerImpl::Create(
460 host_impl_->activeTree(), 1); 460 host_impl_->activeTree(), 1);
461 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer = 461 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer =
462 FakeDelegatedRendererLayerImpl::Create(host_impl_->activeTree(), 2); 462 FakeDelegatedRendererLayerImpl::Create(host_impl_->activeTree(), 2);
463 463
464 host_impl_->setViewportSize(gfx::Size(100, 100), gfx::Size(100, 100)); 464 host_impl_->setViewportSize(gfx::Size(100, 100), gfx::Size(100, 100));
465 root_layer->setBounds(gfx::Size(100, 100)); 465 root_layer->SetBounds(gfx::Size(100, 100));
466 466
467 delegated_renderer_layer->setPosition(gfx::Point(20, 20)); 467 delegated_renderer_layer->SetPosition(gfx::Point(20, 20));
468 delegated_renderer_layer->setBounds(gfx::Size(30, 30)); 468 delegated_renderer_layer->SetBounds(gfx::Size(30, 30));
469 delegated_renderer_layer->setContentBounds(gfx::Size(30, 30)); 469 delegated_renderer_layer->SetContentBounds(gfx::Size(30, 30));
470 delegated_renderer_layer->setDrawsContent(true); 470 delegated_renderer_layer->SetDrawsContent(true);
471 gfx::Transform transform; 471 gfx::Transform transform;
472 transform.Scale(2.0, 2.0); 472 transform.Scale(2.0, 2.0);
473 transform.Translate(8.0, 8.0); 473 transform.Translate(8.0, 8.0);
474 delegated_renderer_layer->setTransform(transform); 474 delegated_renderer_layer->SetTransform(transform);
475 475
476 ScopedPtrVector<RenderPass> delegated_render_passes; 476 ScopedPtrVector<RenderPass> delegated_render_passes;
477 477
478 gfx::Size child_pass_content_bounds(7, 7); 478 gfx::Size child_pass_content_bounds(7, 7);
479 gfx::Rect child_pass_rect(20, 20, 7, 7); 479 gfx::Rect child_pass_rect(20, 20, 7, 7);
480 gfx::Transform child_pass_transform; 480 gfx::Transform child_pass_transform;
481 child_pass_transform.Scale(0.8, 0.8); 481 child_pass_transform.Scale(0.8, 0.8);
482 child_pass_transform.Translate(9.0, 9.0); 482 child_pass_transform.Translate(9.0, 9.0);
483 gfx::Rect child_pass_clip_rect(21, 21, 3, 3); 483 gfx::Rect child_pass_clip_rect(21, 21, 3, 3);
484 bool child_pass_clipped = false; 484 bool child_pass_clipped = false;
(...skipping 12 matching lines...) Expand all
497 child_pass_transform, 497 child_pass_transform,
498 child_pass_content_bounds, 498 child_pass_content_bounds,
499 child_pass_rect, 499 child_pass_rect,
500 child_pass_clip_rect, 500 child_pass_clip_rect,
501 child_pass_clipped, 501 child_pass_clipped,
502 1.f); 502 1.f);
503 503
504 scoped_ptr<SolidColorDrawQuad> color_quad; 504 scoped_ptr<SolidColorDrawQuad> color_quad;
505 color_quad = SolidColorDrawQuad::Create(); 505 color_quad = SolidColorDrawQuad::Create();
506 color_quad->SetNew(shared_quad_state, gfx::Rect(20, 20, 3, 7), 1u); 506 color_quad->SetNew(shared_quad_state, gfx::Rect(20, 20, 3, 7), 1u);
507 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 507 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
508 508
509 color_quad = SolidColorDrawQuad::Create(); 509 color_quad = SolidColorDrawQuad::Create();
510 color_quad->SetNew(shared_quad_state, gfx::Rect(23, 20, 4, 7), 1u); 510 color_quad->SetNew(shared_quad_state, gfx::Rect(23, 20, 4, 7), 1u);
511 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 511 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
512 } 512 }
513 513
514 gfx::Size root_pass_content_bounds(50, 50); 514 gfx::Size root_pass_content_bounds(50, 50);
515 gfx::Rect root_pass_rect(0, 0, 50, 50); 515 gfx::Rect root_pass_rect(0, 0, 50, 50);
516 gfx::Transform root_pass_transform; 516 gfx::Transform root_pass_transform;
517 root_pass_transform.Scale(1.5, 1.5); 517 root_pass_transform.Scale(1.5, 1.5);
518 root_pass_transform.Translate(7.0, 7.0); 518 root_pass_transform.Translate(7.0, 7.0);
519 gfx::Rect root_pass_clip_rect(10, 10, 35, 35); 519 gfx::Rect root_pass_clip_rect(10, 10, 35, 35);
520 bool root_pass_clipped = root_delegated_render_pass_is_clipped_; 520 bool root_pass_clipped = root_delegated_render_pass_is_clipped_;
521 521
(...skipping 19 matching lines...) Expand all
541 shared_quad_state, 541 shared_quad_state,
542 gfx::Rect(5, 5, 7, 7), // rect 542 gfx::Rect(5, 5, 7, 7), // rect
543 RenderPass::Id(10, 7), // render_pass_id 543 RenderPass::Id(10, 7), // render_pass_id
544 false, // is_replica 544 false, // is_replica
545 0, // mask_resource_id 545 0, // mask_resource_id
546 child_pass_rect, // contents_changed_since_last_frame 546 child_pass_rect, // contents_changed_since_last_frame
547 gfx::RectF(), // mask_uv_rect 547 gfx::RectF(), // mask_uv_rect
548 WebKit::WebFilterOperations(), // filters 548 WebKit::WebFilterOperations(), // filters
549 skia::RefPtr<SkImageFilter>(), // filter 549 skia::RefPtr<SkImageFilter>(), // filter
550 WebKit::WebFilterOperations()); // background_filters 550 WebKit::WebFilterOperations()); // background_filters
551 quad_sink.append(render_pass_quad.PassAs<DrawQuad>(), data); 551 quad_sink.append(render_pass_quad.PassAs<DrawQuad>(), &data);
552 552
553 scoped_ptr<SolidColorDrawQuad> color_quad; 553 scoped_ptr<SolidColorDrawQuad> color_quad;
554 color_quad = SolidColorDrawQuad::Create(); 554 color_quad = SolidColorDrawQuad::Create();
555 color_quad->SetNew(shared_quad_state, gfx::Rect(0, 0, 10, 10), 1u); 555 color_quad->SetNew(shared_quad_state, gfx::Rect(0, 0, 10, 10), 1u);
556 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 556 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
557 557
558 color_quad = SolidColorDrawQuad::Create(); 558 color_quad = SolidColorDrawQuad::Create();
559 color_quad->SetNew(shared_quad_state, gfx::Rect(0, 10, 10, 10), 2u); 559 color_quad->SetNew(shared_quad_state, gfx::Rect(0, 10, 10, 10), 2u);
560 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 560 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
561 561
562 color_quad = SolidColorDrawQuad::Create(); 562 color_quad = SolidColorDrawQuad::Create();
563 color_quad->SetNew(shared_quad_state, gfx::Rect(10, 0, 10, 10), 3u); 563 color_quad->SetNew(shared_quad_state, gfx::Rect(10, 0, 10, 10), 3u);
564 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 564 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
565 565
566 color_quad = SolidColorDrawQuad::Create(); 566 color_quad = SolidColorDrawQuad::Create();
567 color_quad->SetNew(shared_quad_state, gfx::Rect(10, 10, 10, 10), 4u); 567 color_quad->SetNew(shared_quad_state, gfx::Rect(10, 10, 10, 10), 4u);
568 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 568 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
569 569
570 delegated_renderer_layer->SetFrameDataForRenderPasses( 570 delegated_renderer_layer->SetFrameDataForRenderPasses(
571 &delegated_render_passes); 571 &delegated_render_passes);
572 572
573 // The RenderPasses should be taken by the layer. 573 // The RenderPasses should be taken by the layer.
574 EXPECT_EQ(0u, delegated_render_passes.size()); 574 EXPECT_EQ(0u, delegated_render_passes.size());
575 575
576 root_layer_ = root_layer.get(); 576 root_layer_ = root_layer.get();
577 delegated_renderer_layer_ = delegated_renderer_layer.get(); 577 delegated_renderer_layer_ = delegated_renderer_layer.get();
578 578
579 root_layer->addChild(delegated_renderer_layer.PassAs<LayerImpl>()); 579 root_layer->AddChild(delegated_renderer_layer.PassAs<LayerImpl>());
580 host_impl_->activeTree()->SetRootLayer(root_layer.Pass()); 580 host_impl_->activeTree()->SetRootLayer(root_layer.Pass());
581 } 581 }
582 582
583 void VerifyRenderPasses( 583 void VerifyRenderPasses(
584 const LayerTreeHostImpl::FrameData& frame, 584 const LayerTreeHostImpl::FrameData& frame,
585 size_t num_render_passes, 585 size_t num_render_passes,
586 const SharedQuadState** root_delegated_shared_quad_state, 586 const SharedQuadState** root_delegated_shared_quad_state,
587 const SharedQuadState** contrib_delegated_shared_quad_state) { 587 const SharedQuadState** contrib_delegated_shared_quad_state) {
588 ASSERT_EQ(num_render_passes, frame.renderPasses.size()); 588 ASSERT_EQ(num_render_passes, frame.renderPasses.size());
589 // The contributing render pass in the DelegatedRendererLayer. 589 // The contributing render pass in the DelegatedRendererLayer.
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
737 contrib_delegated_shared_quad_state->content_to_target_transform); 737 contrib_delegated_shared_quad_state->content_to_target_transform);
738 738
739 host_impl_->drawLayers(frame); 739 host_impl_->drawLayers(frame);
740 host_impl_->didDrawAllLayers(frame); 740 host_impl_->didDrawAllLayers(frame);
741 } 741 }
742 742
743 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsUnclipped_Surface) { 743 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsUnclipped_Surface) {
744 root_delegated_render_pass_is_clipped_ = false; 744 root_delegated_render_pass_is_clipped_ = false;
745 SetUpTest(); 745 SetUpTest();
746 746
747 delegated_renderer_layer_->setForceRenderSurface(true); 747 delegated_renderer_layer_->SetForceRenderSurface(true);
748 748
749 LayerTreeHostImpl::FrameData frame; 749 LayerTreeHostImpl::FrameData frame;
750 EXPECT_TRUE(host_impl_->prepareToDraw(frame)); 750 EXPECT_TRUE(host_impl_->prepareToDraw(frame));
751 751
752 const SharedQuadState* root_delegated_shared_quad_state = NULL; 752 const SharedQuadState* root_delegated_shared_quad_state = NULL;
753 const SharedQuadState* contrib_delegated_shared_quad_state = NULL; 753 const SharedQuadState* contrib_delegated_shared_quad_state = NULL;
754 VerifyRenderPasses( 754 VerifyRenderPasses(
755 frame, 755 frame,
756 3, 756 3,
757 &root_delegated_shared_quad_state, 757 &root_delegated_shared_quad_state,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 contrib_delegated_shared_quad_state->content_to_target_transform); 792 contrib_delegated_shared_quad_state->content_to_target_transform);
793 793
794 host_impl_->drawLayers(frame); 794 host_impl_->drawLayers(frame);
795 host_impl_->didDrawAllLayers(frame); 795 host_impl_->didDrawAllLayers(frame);
796 } 796 }
797 797
798 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsClipped_Surface) { 798 TEST_F(DelegatedRendererLayerImplTestTransform, QuadsClipped_Surface) {
799 root_delegated_render_pass_is_clipped_ = true; 799 root_delegated_render_pass_is_clipped_ = true;
800 SetUpTest(); 800 SetUpTest();
801 801
802 delegated_renderer_layer_->setForceRenderSurface(true); 802 delegated_renderer_layer_->SetForceRenderSurface(true);
803 803
804 LayerTreeHostImpl::FrameData frame; 804 LayerTreeHostImpl::FrameData frame;
805 EXPECT_TRUE(host_impl_->prepareToDraw(frame)); 805 EXPECT_TRUE(host_impl_->prepareToDraw(frame));
806 806
807 const SharedQuadState* root_delegated_shared_quad_state = NULL; 807 const SharedQuadState* root_delegated_shared_quad_state = NULL;
808 const SharedQuadState* contrib_delegated_shared_quad_state = NULL; 808 const SharedQuadState* contrib_delegated_shared_quad_state = NULL;
809 VerifyRenderPasses( 809 VerifyRenderPasses(
810 frame, 810 frame,
811 3, 811 3,
812 &root_delegated_shared_quad_state, 812 &root_delegated_shared_quad_state,
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
847 847
848 host_impl_->drawLayers(frame); 848 host_impl_->drawLayers(frame);
849 host_impl_->didDrawAllLayers(frame); 849 host_impl_->didDrawAllLayers(frame);
850 } 850 }
851 851
852 class DelegatedRendererLayerImplTestClip 852 class DelegatedRendererLayerImplTestClip
853 : public DelegatedRendererLayerImplTest { 853 : public DelegatedRendererLayerImplTest {
854 public: 854 public:
855 void SetUpTest() { 855 void SetUpTest() {
856 scoped_ptr<LayerImpl> root_layer = 856 scoped_ptr<LayerImpl> root_layer =
857 LayerImpl::create(host_impl_->activeTree(), 1); 857 LayerImpl::Create(host_impl_->activeTree(), 1);
858 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer = 858 scoped_ptr<FakeDelegatedRendererLayerImpl> delegated_renderer_layer =
859 FakeDelegatedRendererLayerImpl::Create(host_impl_->activeTree(), 2); 859 FakeDelegatedRendererLayerImpl::Create(host_impl_->activeTree(), 2);
860 scoped_ptr<LayerImpl> clip_layer = 860 scoped_ptr<LayerImpl> clip_layer =
861 LayerImpl::create(host_impl_->activeTree(), 3); 861 LayerImpl::Create(host_impl_->activeTree(), 3);
862 scoped_ptr<LayerImpl> origin_layer = 862 scoped_ptr<LayerImpl> origin_layer =
863 LayerImpl::create(host_impl_->activeTree(), 4); 863 LayerImpl::Create(host_impl_->activeTree(), 4);
864 864
865 host_impl_->setViewportSize(gfx::Size(100, 100), gfx::Size(100, 100)); 865 host_impl_->setViewportSize(gfx::Size(100, 100), gfx::Size(100, 100));
866 root_layer->setBounds(gfx::Size(100, 100)); 866 root_layer->SetBounds(gfx::Size(100, 100));
867 867
868 delegated_renderer_layer->setPosition(gfx::Point(20, 20)); 868 delegated_renderer_layer->SetPosition(gfx::Point(20, 20));
869 delegated_renderer_layer->setBounds(gfx::Size(50, 50)); 869 delegated_renderer_layer->SetBounds(gfx::Size(50, 50));
870 delegated_renderer_layer->setContentBounds(gfx::Size(50, 50)); 870 delegated_renderer_layer->SetContentBounds(gfx::Size(50, 50));
871 delegated_renderer_layer->setDrawsContent(true); 871 delegated_renderer_layer->SetDrawsContent(true);
872 872
873 ScopedPtrVector<RenderPass> delegated_render_passes; 873 ScopedPtrVector<RenderPass> delegated_render_passes;
874 874
875 gfx::Size child_pass_content_bounds(7, 7); 875 gfx::Size child_pass_content_bounds(7, 7);
876 gfx::Rect child_pass_rect(20, 20, 7, 7); 876 gfx::Rect child_pass_rect(20, 20, 7, 7);
877 gfx::Transform child_pass_transform; 877 gfx::Transform child_pass_transform;
878 gfx::Rect child_pass_clip_rect(21, 21, 3, 3); 878 gfx::Rect child_pass_clip_rect(21, 21, 3, 3);
879 bool child_pass_clipped = false; 879 bool child_pass_clipped = false;
880 880
881 { 881 {
(...skipping 10 matching lines...) Expand all
892 child_pass_transform, 892 child_pass_transform,
893 child_pass_content_bounds, 893 child_pass_content_bounds,
894 child_pass_rect, 894 child_pass_rect,
895 child_pass_clip_rect, 895 child_pass_clip_rect,
896 child_pass_clipped, 896 child_pass_clipped,
897 1.f); 897 1.f);
898 898
899 scoped_ptr<SolidColorDrawQuad> color_quad; 899 scoped_ptr<SolidColorDrawQuad> color_quad;
900 color_quad = SolidColorDrawQuad::Create(); 900 color_quad = SolidColorDrawQuad::Create();
901 color_quad->SetNew(shared_quad_state, gfx::Rect(20, 20, 3, 7), 1u); 901 color_quad->SetNew(shared_quad_state, gfx::Rect(20, 20, 3, 7), 1u);
902 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 902 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
903 903
904 color_quad = SolidColorDrawQuad::Create(); 904 color_quad = SolidColorDrawQuad::Create();
905 color_quad->SetNew(shared_quad_state, gfx::Rect(23, 20, 4, 7), 1u); 905 color_quad->SetNew(shared_quad_state, gfx::Rect(23, 20, 4, 7), 1u);
906 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 906 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
907 } 907 }
908 908
909 gfx::Size root_pass_content_bounds(50, 50); 909 gfx::Size root_pass_content_bounds(50, 50);
910 gfx::Rect root_pass_rect(0, 0, 50, 50); 910 gfx::Rect root_pass_rect(0, 0, 50, 50);
911 gfx::Transform root_pass_transform; 911 gfx::Transform root_pass_transform;
912 gfx::Rect root_pass_clip_rect(5, 5, 40, 40); 912 gfx::Rect root_pass_clip_rect(5, 5, 40, 40);
913 bool root_pass_clipped = root_delegated_render_pass_is_clipped_; 913 bool root_pass_clipped = root_delegated_render_pass_is_clipped_;
914 914
915 TestRenderPass* pass = addRenderPass( 915 TestRenderPass* pass = addRenderPass(
916 delegated_render_passes, 916 delegated_render_passes,
(...skipping 17 matching lines...) Expand all
934 shared_quad_state, 934 shared_quad_state,
935 gfx::Rect(5, 5, 7, 7), // rect 935 gfx::Rect(5, 5, 7, 7), // rect
936 RenderPass::Id(10, 7), // render_pass_id 936 RenderPass::Id(10, 7), // render_pass_id
937 false, // is_replica 937 false, // is_replica
938 0, // mask_resource_id 938 0, // mask_resource_id
939 child_pass_rect, // contents_changed_since_last_frame 939 child_pass_rect, // contents_changed_since_last_frame
940 gfx::RectF(), // mask_uv_rect 940 gfx::RectF(), // mask_uv_rect
941 WebKit::WebFilterOperations(), // filters 941 WebKit::WebFilterOperations(), // filters
942 skia::RefPtr<SkImageFilter>(), // filter 942 skia::RefPtr<SkImageFilter>(), // filter
943 WebKit::WebFilterOperations()); // background_filters 943 WebKit::WebFilterOperations()); // background_filters
944 quad_sink.append(render_pass_quad.PassAs<DrawQuad>(), data); 944 quad_sink.append(render_pass_quad.PassAs<DrawQuad>(), &data);
945 945
946 scoped_ptr<SolidColorDrawQuad> color_quad; 946 scoped_ptr<SolidColorDrawQuad> color_quad;
947 color_quad = SolidColorDrawQuad::Create(); 947 color_quad = SolidColorDrawQuad::Create();
948 color_quad->SetNew(shared_quad_state, gfx::Rect(0, 0, 10, 10), 1u); 948 color_quad->SetNew(shared_quad_state, gfx::Rect(0, 0, 10, 10), 1u);
949 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 949 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
950 950
951 color_quad = SolidColorDrawQuad::Create(); 951 color_quad = SolidColorDrawQuad::Create();
952 color_quad->SetNew(shared_quad_state, gfx::Rect(0, 10, 10, 10), 2u); 952 color_quad->SetNew(shared_quad_state, gfx::Rect(0, 10, 10, 10), 2u);
953 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 953 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
954 954
955 color_quad = SolidColorDrawQuad::Create(); 955 color_quad = SolidColorDrawQuad::Create();
956 color_quad->SetNew(shared_quad_state, gfx::Rect(10, 0, 10, 10), 3u); 956 color_quad->SetNew(shared_quad_state, gfx::Rect(10, 0, 10, 10), 3u);
957 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 957 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
958 958
959 color_quad = SolidColorDrawQuad::Create(); 959 color_quad = SolidColorDrawQuad::Create();
960 color_quad->SetNew(shared_quad_state, gfx::Rect(10, 10, 10, 10), 4u); 960 color_quad->SetNew(shared_quad_state, gfx::Rect(10, 10, 10, 10), 4u);
961 quad_sink.append(color_quad.PassAs<DrawQuad>(), data); 961 quad_sink.append(color_quad.PassAs<DrawQuad>(), &data);
962 962
963 delegated_renderer_layer->SetFrameDataForRenderPasses( 963 delegated_renderer_layer->SetFrameDataForRenderPasses(
964 &delegated_render_passes); 964 &delegated_render_passes);
965 965
966 // The RenderPasses should be taken by the layer. 966 // The RenderPasses should be taken by the layer.
967 EXPECT_EQ(0u, delegated_render_passes.size()); 967 EXPECT_EQ(0u, delegated_render_passes.size());
968 968
969 root_layer_ = root_layer.get(); 969 root_layer_ = root_layer.get();
970 delegated_renderer_layer_ = delegated_renderer_layer.get(); 970 delegated_renderer_layer_ = delegated_renderer_layer.get();
971 971
972 if (clip_delegated_renderer_layer_) { 972 if (clip_delegated_renderer_layer_) {
973 gfx::Rect clip_rect(21, 27, 23, 21); 973 gfx::Rect clip_rect(21, 27, 23, 21);
974 974
975 clip_layer->setPosition(clip_rect.origin()); 975 clip_layer->SetPosition(clip_rect.origin());
976 clip_layer->setBounds(clip_rect.size()); 976 clip_layer->SetBounds(clip_rect.size());
977 clip_layer->setContentBounds(clip_rect.size()); 977 clip_layer->SetContentBounds(clip_rect.size());
978 clip_layer->setMasksToBounds(true); 978 clip_layer->SetMasksToBounds(true);
979 979
980 origin_layer->setPosition( 980 origin_layer->SetPosition(
981 gfx::PointAtOffsetFromOrigin(-clip_rect.OffsetFromOrigin())); 981 gfx::PointAtOffsetFromOrigin(-clip_rect.OffsetFromOrigin()));
982 982
983 origin_layer->addChild(delegated_renderer_layer.PassAs<LayerImpl>()); 983 origin_layer->AddChild(delegated_renderer_layer.PassAs<LayerImpl>());
984 clip_layer->addChild(origin_layer.Pass()); 984 clip_layer->AddChild(origin_layer.Pass());
985 root_layer->addChild(clip_layer.Pass()); 985 root_layer->AddChild(clip_layer.Pass());
986 } else { 986 } else {
987 root_layer->addChild(delegated_renderer_layer.PassAs<LayerImpl>()); 987 root_layer->AddChild(delegated_renderer_layer.PassAs<LayerImpl>());
988 } 988 }
989 989
990 host_impl_->activeTree()->SetRootLayer(root_layer.Pass()); 990 host_impl_->activeTree()->SetRootLayer(root_layer.Pass());
991 } 991 }
992 992
993 protected: 993 protected:
994 LayerImpl* root_layer_; 994 LayerImpl* root_layer_;
995 DelegatedRendererLayerImpl* delegated_renderer_layer_; 995 DelegatedRendererLayerImpl* delegated_renderer_layer_;
996 bool root_delegated_render_pass_is_clipped_; 996 bool root_delegated_render_pass_is_clipped_;
997 bool clip_delegated_renderer_layer_; 997 bool clip_delegated_renderer_layer_;
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
1121 host_impl_->drawLayers(frame); 1121 host_impl_->drawLayers(frame);
1122 host_impl_->didDrawAllLayers(frame); 1122 host_impl_->didDrawAllLayers(frame);
1123 } 1123 }
1124 1124
1125 TEST_F(DelegatedRendererLayerImplTestClip, 1125 TEST_F(DelegatedRendererLayerImplTestClip,
1126 QuadsUnclipped_LayerUnclipped_Surface) { 1126 QuadsUnclipped_LayerUnclipped_Surface) {
1127 root_delegated_render_pass_is_clipped_ = false; 1127 root_delegated_render_pass_is_clipped_ = false;
1128 clip_delegated_renderer_layer_ = false; 1128 clip_delegated_renderer_layer_ = false;
1129 SetUpTest(); 1129 SetUpTest();
1130 1130
1131 delegated_renderer_layer_->setForceRenderSurface(true); 1131 delegated_renderer_layer_->SetForceRenderSurface(true);
1132 1132
1133 LayerTreeHostImpl::FrameData frame; 1133 LayerTreeHostImpl::FrameData frame;
1134 EXPECT_TRUE(host_impl_->prepareToDraw(frame)); 1134 EXPECT_TRUE(host_impl_->prepareToDraw(frame));
1135 1135
1136 ASSERT_EQ(3u, frame.renderPasses.size()); 1136 ASSERT_EQ(3u, frame.renderPasses.size());
1137 const QuadList& contrib_delegated_quad_list = 1137 const QuadList& contrib_delegated_quad_list =
1138 frame.renderPasses[0]->quad_list; 1138 frame.renderPasses[0]->quad_list;
1139 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1139 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1140 const QuadList& root_delegated_quad_list = frame.renderPasses[1]->quad_list; 1140 const QuadList& root_delegated_quad_list = frame.renderPasses[1]->quad_list;
1141 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1141 ASSERT_EQ(5u, root_delegated_quad_list.size());
(...skipping 10 matching lines...) Expand all
1152 host_impl_->drawLayers(frame); 1152 host_impl_->drawLayers(frame);
1153 host_impl_->didDrawAllLayers(frame); 1153 host_impl_->didDrawAllLayers(frame);
1154 } 1154 }
1155 1155
1156 TEST_F(DelegatedRendererLayerImplTestClip, 1156 TEST_F(DelegatedRendererLayerImplTestClip,
1157 QuadsClipped_LayerUnclipped_Surface) { 1157 QuadsClipped_LayerUnclipped_Surface) {
1158 root_delegated_render_pass_is_clipped_ = true; 1158 root_delegated_render_pass_is_clipped_ = true;
1159 clip_delegated_renderer_layer_ = false; 1159 clip_delegated_renderer_layer_ = false;
1160 SetUpTest(); 1160 SetUpTest();
1161 1161
1162 delegated_renderer_layer_->setForceRenderSurface(true); 1162 delegated_renderer_layer_->SetForceRenderSurface(true);
1163 1163
1164 LayerTreeHostImpl::FrameData frame; 1164 LayerTreeHostImpl::FrameData frame;
1165 EXPECT_TRUE(host_impl_->prepareToDraw(frame)); 1165 EXPECT_TRUE(host_impl_->prepareToDraw(frame));
1166 1166
1167 ASSERT_EQ(3u, frame.renderPasses.size()); 1167 ASSERT_EQ(3u, frame.renderPasses.size());
1168 const QuadList& contrib_delegated_quad_list = frame.renderPasses[0]->quad_list ; 1168 const QuadList& contrib_delegated_quad_list = frame.renderPasses[0]->quad_list ;
1169 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1169 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1170 const QuadList& root_delegated_quad_list = frame.renderPasses[1]->quad_list; 1170 const QuadList& root_delegated_quad_list = frame.renderPasses[1]->quad_list;
1171 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1171 ASSERT_EQ(5u, root_delegated_quad_list.size());
1172 const SharedQuadState* root_delegated_shared_quad_state = root_delegated_quad_ list[0]->shared_quad_state; 1172 const SharedQuadState* root_delegated_shared_quad_state = root_delegated_quad_ list[0]->shared_quad_state;
1173 const SharedQuadState* contrib_delegated_shared_quad_state = 1173 const SharedQuadState* contrib_delegated_shared_quad_state =
1174 contrib_delegated_quad_list[0]->shared_quad_state; 1174 contrib_delegated_quad_list[0]->shared_quad_state;
1175 1175
1176 // When the quads have a clip of their own, it is used. 1176 // When the quads have a clip of their own, it is used.
1177 EXPECT_EQ(gfx::Rect(5, 5, 40, 40).ToString(), 1177 EXPECT_EQ(gfx::Rect(5, 5, 40, 40).ToString(),
1178 root_delegated_shared_quad_state->clip_rect.ToString()); 1178 root_delegated_shared_quad_state->clip_rect.ToString());
1179 // Quads came with a clip rect. 1179 // Quads came with a clip rect.
1180 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); 1180 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped);
1181 1181
1182 host_impl_->drawLayers(frame); 1182 host_impl_->drawLayers(frame);
1183 host_impl_->didDrawAllLayers(frame); 1183 host_impl_->didDrawAllLayers(frame);
1184 } 1184 }
1185 1185
1186 TEST_F(DelegatedRendererLayerImplTestClip, 1186 TEST_F(DelegatedRendererLayerImplTestClip,
1187 QuadsUnclipped_LayerClipped_Surface) { 1187 QuadsUnclipped_LayerClipped_Surface) {
1188 root_delegated_render_pass_is_clipped_ = false; 1188 root_delegated_render_pass_is_clipped_ = false;
1189 clip_delegated_renderer_layer_ = true; 1189 clip_delegated_renderer_layer_ = true;
1190 SetUpTest(); 1190 SetUpTest();
1191 1191
1192 delegated_renderer_layer_->setForceRenderSurface(true); 1192 delegated_renderer_layer_->SetForceRenderSurface(true);
1193 1193
1194 LayerTreeHostImpl::FrameData frame; 1194 LayerTreeHostImpl::FrameData frame;
1195 EXPECT_TRUE(host_impl_->prepareToDraw(frame)); 1195 EXPECT_TRUE(host_impl_->prepareToDraw(frame));
1196 1196
1197 ASSERT_EQ(3u, frame.renderPasses.size()); 1197 ASSERT_EQ(3u, frame.renderPasses.size());
1198 const QuadList& contrib_delegated_quad_list = 1198 const QuadList& contrib_delegated_quad_list =
1199 frame.renderPasses[0]->quad_list; 1199 frame.renderPasses[0]->quad_list;
1200 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1200 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1201 const QuadList& root_delegated_quad_list = frame.renderPasses[1]->quad_list; 1201 const QuadList& root_delegated_quad_list = frame.renderPasses[1]->quad_list;
1202 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1202 ASSERT_EQ(5u, root_delegated_quad_list.size());
1203 const SharedQuadState* root_delegated_shared_quad_state = 1203 const SharedQuadState* root_delegated_shared_quad_state =
1204 root_delegated_quad_list[0]->shared_quad_state; 1204 root_delegated_quad_list[0]->shared_quad_state;
1205 const SharedQuadState* contrib_delegated_shared_quad_state = 1205 const SharedQuadState* contrib_delegated_shared_quad_state =
1206 contrib_delegated_quad_list[0]->shared_quad_state; 1206 contrib_delegated_quad_list[0]->shared_quad_state;
1207 1207
1208 // When the layer owns a surface, the quads don't need to be clipped 1208 // When the layer owns a surface, the quads don't need to be clipped
1209 // further than they already specify. If they aren't clipped, then their 1209 // further than they already specify. If they aren't clipped, then their
1210 // clip rect is ignored, and they are not set as clipped. 1210 // clip rect is ignored, and they are not set as clipped.
1211 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped); 1211 EXPECT_FALSE(root_delegated_shared_quad_state->is_clipped);
1212 1212
1213 host_impl_->drawLayers(frame); 1213 host_impl_->drawLayers(frame);
1214 host_impl_->didDrawAllLayers(frame); 1214 host_impl_->didDrawAllLayers(frame);
1215 } 1215 }
1216 1216
1217 TEST_F(DelegatedRendererLayerImplTestClip, QuadsClipped_LayerClipped_Surface) { 1217 TEST_F(DelegatedRendererLayerImplTestClip, QuadsClipped_LayerClipped_Surface) {
1218 root_delegated_render_pass_is_clipped_ = true; 1218 root_delegated_render_pass_is_clipped_ = true;
1219 clip_delegated_renderer_layer_ = true; 1219 clip_delegated_renderer_layer_ = true;
1220 SetUpTest(); 1220 SetUpTest();
1221 1221
1222 delegated_renderer_layer_->setForceRenderSurface(true); 1222 delegated_renderer_layer_->SetForceRenderSurface(true);
1223 1223
1224 LayerTreeHostImpl::FrameData frame; 1224 LayerTreeHostImpl::FrameData frame;
1225 EXPECT_TRUE(host_impl_->prepareToDraw(frame)); 1225 EXPECT_TRUE(host_impl_->prepareToDraw(frame));
1226 1226
1227 ASSERT_EQ(3u, frame.renderPasses.size()); 1227 ASSERT_EQ(3u, frame.renderPasses.size());
1228 const QuadList& contrib_delegated_quad_list = 1228 const QuadList& contrib_delegated_quad_list =
1229 frame.renderPasses[0]->quad_list; 1229 frame.renderPasses[0]->quad_list;
1230 ASSERT_EQ(2u, contrib_delegated_quad_list.size()); 1230 ASSERT_EQ(2u, contrib_delegated_quad_list.size());
1231 const QuadList& root_delegated_quad_list = frame.renderPasses[1]->quad_list; 1231 const QuadList& root_delegated_quad_list = frame.renderPasses[1]->quad_list;
1232 ASSERT_EQ(5u, root_delegated_quad_list.size()); 1232 ASSERT_EQ(5u, root_delegated_quad_list.size());
1233 const SharedQuadState* root_delegated_shared_quad_state = 1233 const SharedQuadState* root_delegated_shared_quad_state =
1234 root_delegated_quad_list[0]->shared_quad_state; 1234 root_delegated_quad_list[0]->shared_quad_state;
1235 const SharedQuadState* contrib_delegated_shared_quad_state = 1235 const SharedQuadState* contrib_delegated_shared_quad_state =
1236 contrib_delegated_quad_list[0]->shared_quad_state; 1236 contrib_delegated_quad_list[0]->shared_quad_state;
1237 1237
1238 // When the quads have a clip of their own, it is used, but it is 1238 // When the quads have a clip of their own, it is used, but it is
1239 // combined with the clip rect of the delegated renderer layer. If the 1239 // combined with the clip rect of the delegated renderer layer. If the
1240 // layer owns a surface, then it does not have a clip rect of its own. 1240 // layer owns a surface, then it does not have a clip rect of its own.
1241 EXPECT_EQ(gfx::Rect(5, 5, 40, 40).ToString(), 1241 EXPECT_EQ(gfx::Rect(5, 5, 40, 40).ToString(),
1242 root_delegated_shared_quad_state->clip_rect.ToString()); 1242 root_delegated_shared_quad_state->clip_rect.ToString());
1243 // Quads came with a clip rect. 1243 // Quads came with a clip rect.
1244 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped); 1244 EXPECT_TRUE(root_delegated_shared_quad_state->is_clipped);
1245 1245
1246 host_impl_->drawLayers(frame); 1246 host_impl_->drawLayers(frame);
1247 host_impl_->didDrawAllLayers(frame); 1247 host_impl_->didDrawAllLayers(frame);
1248 } 1248 }
1249 1249
1250 } // namespace 1250 } // namespace
1251 } // namespace cc 1251 } // namespace cc
OLDNEW
« no previous file with comments | « cc/delegated_renderer_layer_impl.cc ('k') | cc/frame_rate_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698