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

Side by Side Diff: cc/layer_tree_host_unittest_context.cc

Issue 11754003: Move VideoFrameProvider to, and remove all usage of WebVideoFrame from cc/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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 "cc/layer_tree_host.h" 5 #include "cc/layer_tree_host.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "cc/content_layer.h" 8 #include "cc/content_layer.h"
9 #include "cc/delegated_renderer_layer.h" 9 #include "cc/delegated_renderer_layer.h"
10 #include "cc/delegated_renderer_layer_impl.h" 10 #include "cc/delegated_renderer_layer_impl.h"
11 #include "cc/heads_up_display_layer.h" 11 #include "cc/heads_up_display_layer.h"
12 #include "cc/io_surface_layer.h" 12 #include "cc/io_surface_layer.h"
13 #include "cc/layer_impl.h" 13 #include "cc/layer_impl.h"
14 #include "cc/layer_tree_host_impl.h" 14 #include "cc/layer_tree_host_impl.h"
15 #include "cc/layer_tree_impl.h" 15 #include "cc/layer_tree_impl.h"
16 #include "cc/scrollbar_layer.h" 16 #include "cc/scrollbar_layer.h"
17 #include "cc/single_thread_proxy.h" 17 #include "cc/single_thread_proxy.h"
18 #include "cc/test/fake_content_layer.h" 18 #include "cc/test/fake_content_layer.h"
19 #include "cc/test/fake_content_layer_client.h" 19 #include "cc/test/fake_content_layer_client.h"
20 #include "cc/test/fake_content_layer_impl.h" 20 #include "cc/test/fake_content_layer_impl.h"
21 #include "cc/test/fake_output_surface.h" 21 #include "cc/test/fake_output_surface.h"
22 #include "cc/test/fake_scrollbar_theme_painter.h" 22 #include "cc/test/fake_scrollbar_theme_painter.h"
23 #include "cc/test/fake_video_frame.h"
24 #include "cc/test/fake_video_frame_provider.h" 23 #include "cc/test/fake_video_frame_provider.h"
25 #include "cc/test/fake_web_graphics_context_3d.h" 24 #include "cc/test/fake_web_graphics_context_3d.h"
26 #include "cc/test/fake_web_scrollbar.h" 25 #include "cc/test/fake_web_scrollbar.h"
27 #include "cc/test/fake_web_scrollbar_theme_geometry.h" 26 #include "cc/test/fake_web_scrollbar_theme_geometry.h"
28 #include "cc/test/layer_tree_test_common.h" 27 #include "cc/test/layer_tree_test_common.h"
29 #include "cc/test/render_pass_test_common.h" 28 #include "cc/test/render_pass_test_common.h"
30 #include "cc/texture_layer.h" 29 #include "cc/texture_layer.h"
31 #include "cc/video_layer.h" 30 #include "cc/video_layer.h"
32 #include "cc/video_layer_impl.h" 31 #include "cc/video_layer_impl.h"
33 #include "media/base/media.h" 32 #include "media/base/media.h"
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 mask_->setAnchorPoint(gfx::PointF()); 570 mask_->setAnchorPoint(gfx::PointF());
572 571
573 scoped_refptr<ContentLayer> content_with_mask_ = 572 scoped_refptr<ContentLayer> content_with_mask_ =
574 ContentLayer::create(&client_); 573 ContentLayer::create(&client_);
575 content_with_mask_->setBounds(gfx::Size(10, 10)); 574 content_with_mask_->setBounds(gfx::Size(10, 10));
576 content_with_mask_->setAnchorPoint(gfx::PointF()); 575 content_with_mask_->setAnchorPoint(gfx::PointF());
577 content_with_mask_->setIsDrawable(true); 576 content_with_mask_->setIsDrawable(true);
578 content_with_mask_->setMaskLayer(mask_.get()); 577 content_with_mask_->setMaskLayer(mask_.get());
579 root_->addChild(content_with_mask_); 578 root_->addChild(content_with_mask_);
580 579
581 VideoLayerImpl::FrameUnwrapper unwrapper =
582 base::Bind(FakeVideoFrame::ToVideoFrame);
583
584 scoped_refptr<VideoLayer> video_color_ = VideoLayer::create( 580 scoped_refptr<VideoLayer> video_color_ = VideoLayer::create(
585 &color_frame_provider_, unwrapper); 581 &color_frame_provider_);
586 video_color_->setBounds(gfx::Size(10, 10)); 582 video_color_->setBounds(gfx::Size(10, 10));
587 video_color_->setAnchorPoint(gfx::PointF()); 583 video_color_->setAnchorPoint(gfx::PointF());
588 video_color_->setIsDrawable(true); 584 video_color_->setIsDrawable(true);
589 root_->addChild(video_color_); 585 root_->addChild(video_color_);
590 586
591 scoped_refptr<VideoLayer> video_hw_ = VideoLayer::create( 587 scoped_refptr<VideoLayer> video_hw_ = VideoLayer::create(
592 &hw_frame_provider_, unwrapper); 588 &hw_frame_provider_);
593 video_hw_->setBounds(gfx::Size(10, 10)); 589 video_hw_->setBounds(gfx::Size(10, 10));
594 video_hw_->setAnchorPoint(gfx::PointF()); 590 video_hw_->setAnchorPoint(gfx::PointF());
595 video_hw_->setIsDrawable(true); 591 video_hw_->setIsDrawable(true);
596 root_->addChild(video_hw_); 592 root_->addChild(video_hw_);
597 593
598 scoped_refptr<VideoLayer> video_scaled_hw_ = VideoLayer::create( 594 scoped_refptr<VideoLayer> video_scaled_hw_ = VideoLayer::create(
599 &scaled_hw_frame_provider_, unwrapper); 595 &scaled_hw_frame_provider_);
600 video_scaled_hw_->setBounds(gfx::Size(10, 10)); 596 video_scaled_hw_->setBounds(gfx::Size(10, 10));
601 video_scaled_hw_->setAnchorPoint(gfx::PointF()); 597 video_scaled_hw_->setAnchorPoint(gfx::PointF());
602 video_scaled_hw_->setIsDrawable(true); 598 video_scaled_hw_->setIsDrawable(true);
603 root_->addChild(video_scaled_hw_); 599 root_->addChild(video_scaled_hw_);
604 600
605 scoped_refptr<IOSurfaceLayer> io_surface_ = IOSurfaceLayer::create(); 601 scoped_refptr<IOSurfaceLayer> io_surface_ = IOSurfaceLayer::create();
606 io_surface_->setBounds(gfx::Size(10, 10)); 602 io_surface_->setBounds(gfx::Size(10, 10));
607 io_surface_->setAnchorPoint(gfx::PointF()); 603 io_surface_->setAnchorPoint(gfx::PointF());
608 io_surface_->setIsDrawable(true); 604 io_surface_->setIsDrawable(true);
609 io_surface_->setIOSurfaceProperties(1, gfx::Size(10, 10)); 605 io_surface_->setIOSurfaceProperties(1, gfx::Size(10, 10));
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
667 pass_list.append(pass_for_quad.PassAs<RenderPass>()); 663 pass_list.append(pass_for_quad.PassAs<RenderPass>());
668 pass_list.append(pass.PassAs<RenderPass>()); 664 pass_list.append(pass.PassAs<RenderPass>());
669 665
670 // First child is the delegated layer. 666 // First child is the delegated layer.
671 DelegatedRendererLayerImpl* delegated_impl = 667 DelegatedRendererLayerImpl* delegated_impl =
672 static_cast<DelegatedRendererLayerImpl*>( 668 static_cast<DelegatedRendererLayerImpl*>(
673 host_impl->rootLayer()->children()[0]); 669 host_impl->rootLayer()->children()[0]);
674 delegated_impl->setRenderPasses(pass_list); 670 delegated_impl->setRenderPasses(pass_list);
675 EXPECT_TRUE(pass_list.isEmpty()); 671 EXPECT_TRUE(pass_list.isEmpty());
676 672
677 color_video_frame_ = make_scoped_ptr(new FakeVideoFrame( 673 color_video_frame_ = VideoFrame::CreateColorFrame(
678 VideoFrame::CreateColorFrame( 674 gfx::Size(4, 4), 0x80, 0x80, 0x80, base::TimeDelta());
679 gfx::Size(4, 4), 0x80, 0x80, 0x80, base::TimeDelta()))); 675 hw_video_frame_ = VideoFrame::WrapNativeTexture(
680 hw_video_frame_ = make_scoped_ptr(new FakeVideoFrame( 676 resource_provider->graphicsContext3D()->createTexture(),
681 VideoFrame::WrapNativeTexture( 677 GL_TEXTURE_2D,
682 resource_provider->graphicsContext3D()->createTexture(), 678 gfx::Size(4, 4), gfx::Rect(0, 0, 4, 4), gfx::Size(4, 4),
683 GL_TEXTURE_2D, 679 base::TimeDelta(),
684 gfx::Size(4, 4), gfx::Rect(0, 0, 4, 4), gfx::Size(4, 4), 680 VideoFrame::ReadPixelsCB(),
685 base::TimeDelta(), 681 base::Closure());
686 VideoFrame::ReadPixelsCB(), 682 scaled_hw_video_frame_ = VideoFrame::WrapNativeTexture(
687 base::Closure()))); 683 resource_provider->graphicsContext3D()->createTexture(),
688 scaled_hw_video_frame_ = make_scoped_ptr(new FakeVideoFrame( 684 GL_TEXTURE_2D,
689 VideoFrame::WrapNativeTexture( 685 gfx::Size(4, 4), gfx::Rect(0, 0, 3, 2), gfx::Size(4, 4),
690 resource_provider->graphicsContext3D()->createTexture(), 686 base::TimeDelta(),
691 GL_TEXTURE_2D, 687 VideoFrame::ReadPixelsCB(),
692 gfx::Size(4, 4), gfx::Rect(0, 0, 3, 2), gfx::Size(4, 4), 688 base::Closure());
693 base::TimeDelta(),
694 VideoFrame::ReadPixelsCB(),
695 base::Closure())));
696 689
697 color_frame_provider_.set_frame(color_video_frame_.get()); 690 color_frame_provider_.set_frame(color_video_frame_);
698 hw_frame_provider_.set_frame(hw_video_frame_.get()); 691 hw_frame_provider_.set_frame(hw_video_frame_);
699 scaled_hw_frame_provider_.set_frame(scaled_hw_video_frame_.get()); 692 scaled_hw_frame_provider_.set_frame(scaled_hw_video_frame_);
700 return; 693 return;
701 } 694 }
702 695
703 if (host_impl->activeTree()->source_frame_number() == 3) { 696 if (host_impl->activeTree()->source_frame_number() == 3) {
704 // On the third commit we're recovering from context loss. Hardware 697 // On the third commit we're recovering from context loss. Hardware
705 // video frames should not be reused by the VideoFrameProvider, but 698 // video frames should not be reused by the VideoFrameProvider, but
706 // software frames can be. 699 // software frames can be.
707 hw_frame_provider_.set_frame(NULL); 700 hw_frame_provider_.set_frame(NULL);
708 scaled_hw_frame_provider_.set_frame(NULL); 701 scaled_hw_frame_provider_.set_frame(NULL);
709 } 702 }
(...skipping 26 matching lines...) Expand all
736 scoped_refptr<TextureLayer> texture_; 729 scoped_refptr<TextureLayer> texture_;
737 scoped_refptr<ContentLayer> mask_; 730 scoped_refptr<ContentLayer> mask_;
738 scoped_refptr<ContentLayer> content_with_mask_; 731 scoped_refptr<ContentLayer> content_with_mask_;
739 scoped_refptr<VideoLayer> video_color_; 732 scoped_refptr<VideoLayer> video_color_;
740 scoped_refptr<VideoLayer> video_hw_; 733 scoped_refptr<VideoLayer> video_hw_;
741 scoped_refptr<VideoLayer> video_scaled_hw_; 734 scoped_refptr<VideoLayer> video_scaled_hw_;
742 scoped_refptr<IOSurfaceLayer> io_surface_; 735 scoped_refptr<IOSurfaceLayer> io_surface_;
743 scoped_refptr<HeadsUpDisplayLayer> hud_; 736 scoped_refptr<HeadsUpDisplayLayer> hud_;
744 scoped_refptr<ScrollbarLayer> scrollbar_; 737 scoped_refptr<ScrollbarLayer> scrollbar_;
745 738
746 scoped_ptr<FakeVideoFrame> color_video_frame_; 739 scoped_refptr<VideoFrame> color_video_frame_;
747 scoped_ptr<FakeVideoFrame> hw_video_frame_; 740 scoped_refptr<VideoFrame> hw_video_frame_;
748 scoped_ptr<FakeVideoFrame> scaled_hw_video_frame_; 741 scoped_refptr<VideoFrame> scaled_hw_video_frame_;
749 742
750 FakeVideoFrameProvider color_frame_provider_; 743 FakeVideoFrameProvider color_frame_provider_;
751 FakeVideoFrameProvider hw_frame_provider_; 744 FakeVideoFrameProvider hw_frame_provider_;
752 FakeVideoFrameProvider scaled_hw_frame_provider_; 745 FakeVideoFrameProvider scaled_hw_frame_provider_;
753 }; 746 };
754 747
755 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostContextTestDontUseLostResources) 748 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostContextTestDontUseLostResources)
756 749
757 } // namespace 750 } // namespace
758 } // namespace cc 751 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698