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

Side by Side Diff: cc/surfaces/surface_factory_unittest.cc

Issue 1430363002: List all child surfaces (including occluded) in CompositorFrame (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "cc/output/compositor_frame.h" 6 #include "cc/output/compositor_frame.h"
7 #include "cc/output/delegated_frame_data.h" 7 #include "cc/output/delegated_frame_data.h"
8 #include "cc/resources/resource_provider.h" 8 #include "cc/resources/resource_provider.h"
9 #include "cc/surfaces/surface.h" 9 #include "cc/surfaces/surface.h"
10 #include "cc/surfaces/surface_factory.h" 10 #include "cc/surfaces/surface_factory.h"
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 factory_->Create(id2); 483 factory_->Create(id2);
484 484
485 manager_.RegisterSurfaceIdNamespace(0); 485 manager_.RegisterSurfaceIdNamespace(0);
486 486
487 manager_.GetSurfaceForId(id2) 487 manager_.GetSurfaceForId(id2)
488 ->AddDestructionDependency(SurfaceSequence(0, 4)); 488 ->AddDestructionDependency(SurfaceSequence(0, 4));
489 489
490 // Give id2 a frame that references surface_id_. 490 // Give id2 a frame that references surface_id_.
491 { 491 {
492 scoped_ptr<RenderPass> render_pass(RenderPass::Create()); 492 scoped_ptr<RenderPass> render_pass(RenderPass::Create());
493 render_pass->referenced_surfaces.push_back(surface_id_);
494 scoped_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData); 493 scoped_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData);
495 frame_data->render_pass_list.push_back(render_pass.Pass()); 494 frame_data->render_pass_list.push_back(render_pass.Pass());
496 scoped_ptr<CompositorFrame> frame(new CompositorFrame); 495 scoped_ptr<CompositorFrame> frame(new CompositorFrame);
496 frame->metadata.referenced_surfaces.push_back(surface_id_);
497 frame->delegated_frame_data = frame_data.Pass(); 497 frame->delegated_frame_data = frame_data.Pass();
498 factory_->SubmitCompositorFrame(id2, frame.Pass(), 498 factory_->SubmitCompositorFrame(id2, frame.Pass(),
499 SurfaceFactory::DrawCallback()); 499 SurfaceFactory::DrawCallback());
500 } 500 }
501 factory_->Destroy(id2); 501 factory_->Destroy(id2);
502 502
503 // Give surface_id_ a frame that references id2. 503 // Give surface_id_ a frame that references id2.
504 { 504 {
505 scoped_ptr<RenderPass> render_pass(RenderPass::Create()); 505 scoped_ptr<RenderPass> render_pass(RenderPass::Create());
506 render_pass->referenced_surfaces.push_back(id2);
507 scoped_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData); 506 scoped_ptr<DelegatedFrameData> frame_data(new DelegatedFrameData);
508 frame_data->render_pass_list.push_back(render_pass.Pass()); 507 frame_data->render_pass_list.push_back(render_pass.Pass());
509 scoped_ptr<CompositorFrame> frame(new CompositorFrame); 508 scoped_ptr<CompositorFrame> frame(new CompositorFrame);
509 frame->metadata.referenced_surfaces.push_back(id2);
510 frame->delegated_frame_data = frame_data.Pass(); 510 frame->delegated_frame_data = frame_data.Pass();
511 factory_->SubmitCompositorFrame(surface_id_, frame.Pass(), 511 factory_->SubmitCompositorFrame(surface_id_, frame.Pass(),
512 SurfaceFactory::DrawCallback()); 512 SurfaceFactory::DrawCallback());
513 } 513 }
514 factory_->Destroy(surface_id_); 514 factory_->Destroy(surface_id_);
515 EXPECT_TRUE(manager_.GetSurfaceForId(id2)); 515 EXPECT_TRUE(manager_.GetSurfaceForId(id2));
516 // surface_id_ should be retained by reference from id2. 516 // surface_id_ should be retained by reference from id2.
517 EXPECT_TRUE(manager_.GetSurfaceForId(surface_id_)); 517 EXPECT_TRUE(manager_.GetSurfaceForId(surface_id_));
518 518
519 // Satisfy last destruction dependency for id2. 519 // Satisfy last destruction dependency for id2.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 surface_id_ = SurfaceId(); 555 surface_id_ = SurfaceId();
556 factory_->DestroyAll(); 556 factory_->DestroyAll();
557 557
558 EXPECT_EQ(&bfs, client_.begin_frame_source()); 558 EXPECT_EQ(&bfs, client_.begin_frame_source());
559 factory_.reset(); 559 factory_.reset();
560 EXPECT_EQ(nullptr, client_.begin_frame_source()); 560 EXPECT_EQ(nullptr, client_.begin_frame_source());
561 } 561 }
562 562
563 } // namespace 563 } // namespace
564 } // namespace cc 564 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698