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

Side by Side Diff: cc/layer_tree_host_impl_unittest.cc

Issue 11274017: Added support for YUV videos to the software compositor. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase. 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
« no previous file with comments | « cc/gl_renderer.cc ('k') | cc/software_renderer.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 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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 "cc/layer_tree_host_impl.h" 7 #include "cc/layer_tree_host_impl.h"
8 8
9 #include "base/bind.h"
9 #include "base/command_line.h" 10 #include "base/command_line.h"
10 #include "base/hash_tables.h" 11 #include "base/hash_tables.h"
11 #include "cc/delegated_renderer_layer_impl.h" 12 #include "cc/delegated_renderer_layer_impl.h"
12 #include "cc/gl_renderer.h" 13 #include "cc/gl_renderer.h"
13 #include "cc/heads_up_display_layer_impl.h" 14 #include "cc/heads_up_display_layer_impl.h"
14 #include "cc/io_surface_layer_impl.h" 15 #include "cc/io_surface_layer_impl.h"
15 #include "cc/layer_impl.h" 16 #include "cc/layer_impl.h"
16 #include "cc/layer_tiling_data.h" 17 #include "cc/layer_tiling_data.h"
17 #include "cc/quad_sink.h" 18 #include "cc/quad_sink.h"
18 #include "cc/render_pass_draw_quad.h" 19 #include "cc/render_pass_draw_quad.h"
19 #include "cc/scrollbar_geometry_fixed_thumb.h" 20 #include "cc/scrollbar_geometry_fixed_thumb.h"
20 #include "cc/scrollbar_layer_impl.h" 21 #include "cc/scrollbar_layer_impl.h"
21 #include "cc/settings.h" 22 #include "cc/settings.h"
22 #include "cc/single_thread_proxy.h" 23 #include "cc/single_thread_proxy.h"
23 #include "cc/solid_color_draw_quad.h" 24 #include "cc/solid_color_draw_quad.h"
24 #include "cc/test/animation_test_common.h" 25 #include "cc/test/animation_test_common.h"
25 #include "cc/test/fake_web_compositor_output_surface.h" 26 #include "cc/test/fake_web_compositor_output_surface.h"
26 #include "cc/test/fake_web_graphics_context_3d.h" 27 #include "cc/test/fake_web_graphics_context_3d.h"
27 #include "cc/test/fake_web_scrollbar_theme_geometry.h" 28 #include "cc/test/fake_web_scrollbar_theme_geometry.h"
28 #include "cc/test/geometry_test_utils.h" 29 #include "cc/test/geometry_test_utils.h"
29 #include "cc/test/layer_test_common.h" 30 #include "cc/test/layer_test_common.h"
30 #include "cc/test/render_pass_test_common.h" 31 #include "cc/test/render_pass_test_common.h"
31 #include "cc/test/test_common.h" 32 #include "cc/test/test_common.h"
32 #include "cc/texture_draw_quad.h" 33 #include "cc/texture_draw_quad.h"
33 #include "cc/texture_layer_impl.h" 34 #include "cc/texture_layer_impl.h"
34 #include "cc/tile_draw_quad.h" 35 #include "cc/tile_draw_quad.h"
35 #include "cc/tiled_layer_impl.h" 36 #include "cc/tiled_layer_impl.h"
36 #include "cc/video_layer_impl.h" 37 #include "cc/video_layer_impl.h"
38 #include "media/base/media.h"
39 #include "media/base/video_frame.h"
37 #include "testing/gmock/include/gmock/gmock.h" 40 #include "testing/gmock/include/gmock/gmock.h"
38 #include "testing/gtest/include/gtest/gtest.h" 41 #include "testing/gtest/include/gtest/gtest.h"
39 #include <public/WebVideoFrame.h> 42 #include <public/WebVideoFrame.h>
40 #include <public/WebVideoFrameProvider.h> 43 #include <public/WebVideoFrameProvider.h>
41 44
42 using namespace cc; 45 using namespace cc;
43 using namespace LayerTestCommon; 46 using namespace LayerTestCommon;
44 using namespace WebKit; 47 using namespace WebKit;
45 using namespace WebKitTests; 48 using namespace WebKitTests;
46 49
50 using media::VideoFrame;
47 using ::testing::Mock; 51 using ::testing::Mock;
48 using ::testing::Return; 52 using ::testing::Return;
49 using ::testing::AnyNumber; 53 using ::testing::AnyNumber;
50 using ::testing::AtLeast; 54 using ::testing::AtLeast;
51 using ::testing::_; 55 using ::testing::_;
52 56
53 namespace { 57 namespace {
54 58
55 // This test is parametrized to run all tests with the 59 // This test is parametrized to run all tests with the
56 // Settings::pageScalePinchZoomEnabled field enabled and disabled. 60 // Settings::pageScalePinchZoomEnabled field enabled and disabled.
57 class LayerTreeHostImplTest : public testing::TestWithParam<bool>, 61 class LayerTreeHostImplTest : public testing::TestWithParam<bool>,
58 public LayerTreeHostImplClient { 62 public LayerTreeHostImplClient {
59 public: 63 public:
60 LayerTreeHostImplTest() 64 LayerTreeHostImplTest()
61 : m_onCanDrawStateChangedCalled(false) 65 : m_onCanDrawStateChangedCalled(false)
62 , m_didRequestCommit(false) 66 , m_didRequestCommit(false)
63 , m_didRequestRedraw(false) 67 , m_didRequestRedraw(false)
64 , m_reduceMemoryResult(true) 68 , m_reduceMemoryResult(true)
65 { 69 {
70 media::InitializeMediaLibraryForTesting();
66 } 71 }
67 72
68 virtual void SetUp() 73 virtual void SetUp()
69 { 74 {
70 Settings::setPageScalePinchZoomEnabled(GetParam()); 75 Settings::setPageScalePinchZoomEnabled(GetParam());
71 LayerTreeSettings settings; 76 LayerTreeSettings settings;
72 settings.minimumOcclusionTrackingSize = IntSize(); 77 settings.minimumOcclusionTrackingSize = IntSize();
73 78
74 m_hostImpl = LayerTreeHostImpl::create(settings, this); 79 m_hostImpl = LayerTreeHostImpl::create(settings, this);
75 m_hostImpl->initializeRenderer(createContext()); 80 m_hostImpl->initializeRenderer(createContext());
(...skipping 2449 matching lines...) Expand 10 before | Expand all | Expand 10 after
2525 virtual void bindTexture(WGC3Denum, WebGLId id) 2530 virtual void bindTexture(WGC3Denum, WebGLId id)
2526 { 2531 {
2527 if (id && !ContainsKey(m_allocatedTextureIds, id)) 2532 if (id && !ContainsKey(m_allocatedTextureIds, id))
2528 ADD_FAILURE() << "Trying to bind texture id " << id; 2533 ADD_FAILURE() << "Trying to bind texture id " << id;
2529 } 2534 }
2530 2535
2531 private: 2536 private:
2532 base::hash_set<unsigned> m_allocatedTextureIds; 2537 base::hash_set<unsigned> m_allocatedTextureIds;
2533 }; 2538 };
2534 2539
2535 // Fake video frame that represents a 4x4 YUV video frame. 2540 // Fake WebVideoFrame wrapper of media::VideoFrame.
2536 class FakeVideoFrame: public WebVideoFrame { 2541 class FakeVideoFrame: public WebVideoFrame {
2537 public: 2542 public:
2538 FakeVideoFrame() : m_textureId(0) { memset(m_data, 0x80, sizeof(m_data)); } 2543 explicit FakeVideoFrame(const scoped_refptr<VideoFrame>& frame) : m_frame(fr ame) { }
2539 virtual ~FakeVideoFrame() { } 2544 virtual ~FakeVideoFrame() { }
2540 virtual Format format() const { return m_textureId ? FormatNativeTexture : F ormatYV12; }
2541 virtual unsigned width() const { return 4; }
2542 virtual unsigned height() const { return 4; }
2543 virtual unsigned planes() const { return m_textureId ? 0 : 3; }
2544 virtual int stride(unsigned plane) const { return 4; }
2545 virtual const void* data(unsigned plane) const { return m_data; }
2546 virtual unsigned textureId() const { return m_textureId; }
2547 virtual unsigned textureTarget() const { return m_textureId ? GL_TEXTURE_2D : 0; }
2548 2545
2549 void setTextureId(unsigned id) { m_textureId = id; } 2546 virtual Format format() const { NOTREACHED(); return FormatInvalid; }
2547 virtual unsigned width() const { NOTREACHED(); return 0; }
2548 virtual unsigned height() const { NOTREACHED(); return 0; }
2549 virtual unsigned planes() const { NOTREACHED(); return 0; }
2550 virtual int stride(unsigned plane) const { NOTREACHED(); return 0; }
2551 virtual const void* data(unsigned plane) const { NOTREACHED(); return NULL; }
2552 virtual unsigned textureId() const { NOTREACHED(); return 0; }
2553 virtual unsigned textureTarget() const { NOTREACHED(); return 0; }
2554
2555 static VideoFrame* toVideoFrame(WebVideoFrame* web_video_frame) {
2556 FakeVideoFrame* wrapped_frame =
2557 static_cast<FakeVideoFrame*>(web_video_frame);
2558 if (wrapped_frame)
2559 return wrapped_frame->m_frame.get();
2560 return NULL;
2561 }
2550 2562
2551 private: 2563 private:
2552 char m_data[16]; 2564 scoped_refptr<VideoFrame> m_frame;
2553 unsigned m_textureId;
2554 }; 2565 };
2555 2566
2556 // Fake video frame provider that always provides the same FakeVideoFrame. 2567 // Fake video frame provider that always provides the same FakeVideoFrame.
2557 class FakeVideoFrameProvider: public WebVideoFrameProvider { 2568 class FakeVideoFrameProvider: public WebVideoFrameProvider {
2558 public: 2569 public:
2559 FakeVideoFrameProvider() : m_frame(0), m_client(0) { } 2570 FakeVideoFrameProvider() : m_frame(0), m_client(0) { }
2560 virtual ~FakeVideoFrameProvider() 2571 virtual ~FakeVideoFrameProvider()
2561 { 2572 {
2562 if (m_client) 2573 if (m_client)
2563 m_client->stopUsingProvider(); 2574 m_client->stopUsingProvider();
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
2688 2699
2689 scoped_ptr<TextureLayerImpl> textureLayerWithMask = TextureLayerImpl::create (layerId++); 2700 scoped_ptr<TextureLayerImpl> textureLayerWithMask = TextureLayerImpl::create (layerId++);
2690 textureLayerWithMask->setBounds(IntSize(10, 10)); 2701 textureLayerWithMask->setBounds(IntSize(10, 10));
2691 textureLayerWithMask->setAnchorPoint(FloatPoint(0, 0)); 2702 textureLayerWithMask->setAnchorPoint(FloatPoint(0, 0));
2692 textureLayerWithMask->setContentBounds(IntSize(10, 10)); 2703 textureLayerWithMask->setContentBounds(IntSize(10, 10));
2693 textureLayerWithMask->setDrawsContent(true); 2704 textureLayerWithMask->setDrawsContent(true);
2694 textureLayerWithMask->setTextureId(1); 2705 textureLayerWithMask->setTextureId(1);
2695 textureLayerWithMask->setMaskLayer(maskLayer.PassAs<LayerImpl>()); 2706 textureLayerWithMask->setMaskLayer(maskLayer.PassAs<LayerImpl>());
2696 rootLayer->addChild(textureLayerWithMask.PassAs<LayerImpl>()); 2707 rootLayer->addChild(textureLayerWithMask.PassAs<LayerImpl>());
2697 2708
2698 FakeVideoFrame videoFrame; 2709 FakeVideoFrame videoFrame(VideoFrame::CreateColorFrame(gfx::Size(4, 4),
2710 0x80, 0x80, 0x80,
2711 base::TimeDelta()));
2712 VideoLayerImpl::FrameUnwrapper unwrapper =
2713 base::Bind(FakeVideoFrame::toVideoFrame);
2699 FakeVideoFrameProvider provider; 2714 FakeVideoFrameProvider provider;
2700 provider.setFrame(&videoFrame); 2715 provider.setFrame(&videoFrame);
2701 scoped_ptr<VideoLayerImpl> videoLayer = VideoLayerImpl::create(layerId++, &p rovider); 2716 scoped_ptr<VideoLayerImpl> videoLayer =
2717 VideoLayerImpl::create(layerId++, &provider, unwrapper);
2702 videoLayer->setBounds(IntSize(10, 10)); 2718 videoLayer->setBounds(IntSize(10, 10));
2703 videoLayer->setAnchorPoint(FloatPoint(0, 0)); 2719 videoLayer->setAnchorPoint(FloatPoint(0, 0));
2704 videoLayer->setContentBounds(IntSize(10, 10)); 2720 videoLayer->setContentBounds(IntSize(10, 10));
2705 videoLayer->setDrawsContent(true); 2721 videoLayer->setDrawsContent(true);
2706 videoLayer->setLayerTreeHostImpl(m_hostImpl.get()); 2722 videoLayer->setLayerTreeHostImpl(m_hostImpl.get());
2707 rootLayer->addChild(videoLayer.PassAs<LayerImpl>()); 2723 rootLayer->addChild(videoLayer.PassAs<LayerImpl>());
2708 2724
2709 FakeVideoFrame hwVideoFrame;
2710 FakeVideoFrameProvider hwProvider; 2725 FakeVideoFrameProvider hwProvider;
2711 hwProvider.setFrame(&hwVideoFrame); 2726 scoped_ptr<VideoLayerImpl> hwVideoLayer =
2712 scoped_ptr<VideoLayerImpl> hwVideoLayer = VideoLayerImpl::create(layerId++, &hwProvider); 2727 VideoLayerImpl::create(layerId++, &hwProvider, unwrapper);
2713 hwVideoLayer->setBounds(IntSize(10, 10)); 2728 hwVideoLayer->setBounds(IntSize(10, 10));
2714 hwVideoLayer->setAnchorPoint(FloatPoint(0, 0)); 2729 hwVideoLayer->setAnchorPoint(FloatPoint(0, 0));
2715 hwVideoLayer->setContentBounds(IntSize(10, 10)); 2730 hwVideoLayer->setContentBounds(IntSize(10, 10));
2716 hwVideoLayer->setDrawsContent(true); 2731 hwVideoLayer->setDrawsContent(true);
2717 hwVideoLayer->setLayerTreeHostImpl(m_hostImpl.get()); 2732 hwVideoLayer->setLayerTreeHostImpl(m_hostImpl.get());
2718 rootLayer->addChild(hwVideoLayer.PassAs<LayerImpl>()); 2733 rootLayer->addChild(hwVideoLayer.PassAs<LayerImpl>());
2719 2734
2720 scoped_ptr<IOSurfaceLayerImpl> ioSurfaceLayer = IOSurfaceLayerImpl::create(l ayerId++); 2735 scoped_ptr<IOSurfaceLayerImpl> ioSurfaceLayer = IOSurfaceLayerImpl::create(l ayerId++);
2721 ioSurfaceLayer->setBounds(IntSize(10, 10)); 2736 ioSurfaceLayer->setBounds(IntSize(10, 10));
2722 ioSurfaceLayer->setAnchorPoint(FloatPoint(0, 0)); 2737 ioSurfaceLayer->setAnchorPoint(FloatPoint(0, 0));
(...skipping 26 matching lines...) Expand all
2749 delegatedRendererLayer->setLayerTreeHostImpl(m_hostImpl.get()); 2764 delegatedRendererLayer->setLayerTreeHostImpl(m_hostImpl.get());
2750 ScopedPtrVector<RenderPass> passList; 2765 ScopedPtrVector<RenderPass> passList;
2751 passList.append(createRenderPassWithResource(m_hostImpl->resourceProvider()) ); 2766 passList.append(createRenderPassWithResource(m_hostImpl->resourceProvider()) );
2752 delegatedRendererLayer->setRenderPasses(passList); 2767 delegatedRendererLayer->setRenderPasses(passList);
2753 EXPECT_TRUE(passList.isEmpty()); 2768 EXPECT_TRUE(passList.isEmpty());
2754 rootLayer->addChild(delegatedRendererLayer.PassAs<LayerImpl>()); 2769 rootLayer->addChild(delegatedRendererLayer.PassAs<LayerImpl>());
2755 2770
2756 // Use a context that supports IOSurfaces 2771 // Use a context that supports IOSurfaces
2757 m_hostImpl->initializeRenderer(FakeWebCompositorOutputSurface::create(scoped _ptr<WebKit::WebGraphicsContext3D>(new FakeWebGraphicsContext3DWithIOSurface)).P assAs<GraphicsContext>()); 2772 m_hostImpl->initializeRenderer(FakeWebCompositorOutputSurface::create(scoped _ptr<WebKit::WebGraphicsContext3D>(new FakeWebGraphicsContext3DWithIOSurface)).P assAs<GraphicsContext>());
2758 2773
2759 hwVideoFrame.setTextureId(m_hostImpl->resourceProvider()->graphicsContext3D( )->createTexture()); 2774 FakeVideoFrame hwVideoFrame(
2775 VideoFrame::WrapNativeTexture(
2776 m_hostImpl->resourceProvider()->graphicsContext3D()->createTexture() ,
2777 GL_TEXTURE_2D,
2778 gfx::Size(4, 4), gfx::Size(4, 4), base::TimeDelta(),
2779 VideoFrame::ReadPixelsCB(), base::Closure()));
2780 hwProvider.setFrame(&hwVideoFrame);
2760 2781
2761 m_hostImpl->setRootLayer(rootLayer.Pass()); 2782 m_hostImpl->setRootLayer(rootLayer.Pass());
2762 2783
2763 LayerTreeHostImpl::FrameData frame; 2784 LayerTreeHostImpl::FrameData frame;
2764 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 2785 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
2765 m_hostImpl->drawLayers(frame); 2786 m_hostImpl->drawLayers(frame);
2766 m_hostImpl->didDrawAllLayers(frame); 2787 m_hostImpl->didDrawAllLayers(frame);
2767 m_hostImpl->swapBuffers(); 2788 m_hostImpl->swapBuffers();
2768 2789
2769 unsigned numResources = m_hostImpl->resourceProvider()->numResources(); 2790 unsigned numResources = m_hostImpl->resourceProvider()->numResources();
2770 2791
2771 // Lose the context, replacing it with a StrictWebGraphicsContext3DWithIOSur face, 2792 // Lose the context, replacing it with a StrictWebGraphicsContext3DWithIOSur face,
2772 // that will warn if any resource from the previous context gets used. 2793 // that will warn if any resource from the previous context gets used.
2773 m_hostImpl->initializeRenderer(FakeWebCompositorOutputSurface::create(scoped _ptr<WebKit::WebGraphicsContext3D>(new StrictWebGraphicsContext3DWithIOSurface)) .PassAs<GraphicsContext>()); 2794 m_hostImpl->initializeRenderer(FakeWebCompositorOutputSurface::create(scoped _ptr<WebKit::WebGraphicsContext3D>(new StrictWebGraphicsContext3DWithIOSurface)) .PassAs<GraphicsContext>());
2774 2795
2775 // Create dummy resources so that looking up an old resource will get an 2796 // Create dummy resources so that looking up an old resource will get an
2776 // invalid texture id mapping. 2797 // invalid texture id mapping.
2777 for (unsigned i = 0; i < numResources; ++i) 2798 for (unsigned i = 0; i < numResources; ++i)
2778 m_hostImpl->resourceProvider()->createResourceFromExternalTexture(1); 2799 m_hostImpl->resourceProvider()->createResourceFromExternalTexture(1);
2779 2800
2780 // The WebVideoFrameProvider is expected to recreate its textures after a 2801 // The WebVideoFrameProvider is expected to recreate its textures after a
2781 // lost context (or not serve a frame). 2802 // lost context (or not serve a frame).
2782 hwProvider.setFrame(0); 2803 hwProvider.setFrame(0);
2783 2804
2784 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 2805 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
2785 m_hostImpl->drawLayers(frame); 2806 m_hostImpl->drawLayers(frame);
2786 m_hostImpl->didDrawAllLayers(frame); 2807 m_hostImpl->didDrawAllLayers(frame);
2787 m_hostImpl->swapBuffers(); 2808 m_hostImpl->swapBuffers();
2788 2809
2789 hwVideoFrame.setTextureId(m_hostImpl->resourceProvider()->graphicsContext3D( )->createTexture()); 2810 FakeVideoFrame hwVideoFrame2(
2790 hwProvider.setFrame(&hwVideoFrame); 2811 VideoFrame::WrapNativeTexture(
2812 m_hostImpl->resourceProvider()->graphicsContext3D()->createTexture() ,
2813 GL_TEXTURE_2D,
2814 gfx::Size(4, 4), gfx::Size(4, 4), base::TimeDelta(),
2815 VideoFrame::ReadPixelsCB(), base::Closure()));
2816 hwProvider.setFrame(&hwVideoFrame2);
2791 2817
2792 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame)); 2818 EXPECT_TRUE(m_hostImpl->prepareToDraw(frame));
2793 m_hostImpl->drawLayers(frame); 2819 m_hostImpl->drawLayers(frame);
2794 m_hostImpl->didDrawAllLayers(frame); 2820 m_hostImpl->didDrawAllLayers(frame);
2795 m_hostImpl->swapBuffers(); 2821 m_hostImpl->swapBuffers();
2796 } 2822 }
2797 2823
2798 // Fake WebGraphicsContext3D that tracks the number of textures in use. 2824 // Fake WebGraphicsContext3D that tracks the number of textures in use.
2799 class TrackingWebGraphicsContext3D : public FakeWebGraphicsContext3D { 2825 class TrackingWebGraphicsContext3D : public FakeWebGraphicsContext3D {
2800 public: 2826 public:
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
2855 rootLayer->addChild(tileLayer.PassAs<LayerImpl>()); 2881 rootLayer->addChild(tileLayer.PassAs<LayerImpl>());
2856 2882
2857 scoped_ptr<TextureLayerImpl> textureLayer = TextureLayerImpl::create(3); 2883 scoped_ptr<TextureLayerImpl> textureLayer = TextureLayerImpl::create(3);
2858 textureLayer->setBounds(IntSize(10, 10)); 2884 textureLayer->setBounds(IntSize(10, 10));
2859 textureLayer->setAnchorPoint(FloatPoint(0, 0)); 2885 textureLayer->setAnchorPoint(FloatPoint(0, 0));
2860 textureLayer->setContentBounds(IntSize(10, 10)); 2886 textureLayer->setContentBounds(IntSize(10, 10));
2861 textureLayer->setDrawsContent(true); 2887 textureLayer->setDrawsContent(true);
2862 textureLayer->setTextureId(1); 2888 textureLayer->setTextureId(1);
2863 rootLayer->addChild(textureLayer.PassAs<LayerImpl>()); 2889 rootLayer->addChild(textureLayer.PassAs<LayerImpl>());
2864 2890
2891 VideoLayerImpl::FrameUnwrapper unwrapper =
2892 base::Bind(FakeVideoFrame::toVideoFrame);
2865 FakeVideoFrameProvider provider; 2893 FakeVideoFrameProvider provider;
2866 scoped_ptr<VideoLayerImpl> videoLayer = VideoLayerImpl::create(4, &provider) ; 2894 scoped_ptr<VideoLayerImpl> videoLayer =
2895 VideoLayerImpl::create(4, &provider, unwrapper);
2867 videoLayer->setBounds(IntSize(10, 10)); 2896 videoLayer->setBounds(IntSize(10, 10));
2868 videoLayer->setAnchorPoint(FloatPoint(0, 0)); 2897 videoLayer->setAnchorPoint(FloatPoint(0, 0));
2869 videoLayer->setContentBounds(IntSize(10, 10)); 2898 videoLayer->setContentBounds(IntSize(10, 10));
2870 videoLayer->setDrawsContent(true); 2899 videoLayer->setDrawsContent(true);
2871 videoLayer->setLayerTreeHostImpl(m_hostImpl.get()); 2900 videoLayer->setLayerTreeHostImpl(m_hostImpl.get());
2872 rootLayer->addChild(videoLayer.PassAs<LayerImpl>()); 2901 rootLayer->addChild(videoLayer.PassAs<LayerImpl>());
2873 2902
2874 scoped_ptr<IOSurfaceLayerImpl> ioSurfaceLayer = IOSurfaceLayerImpl::create(5 ); 2903 scoped_ptr<IOSurfaceLayerImpl> ioSurfaceLayer = IOSurfaceLayerImpl::create(5 );
2875 ioSurfaceLayer->setBounds(IntSize(10, 10)); 2904 ioSurfaceLayer->setBounds(IntSize(10, 10));
2876 ioSurfaceLayer->setAnchorPoint(FloatPoint(0, 0)); 2905 ioSurfaceLayer->setAnchorPoint(FloatPoint(0, 0));
(...skipping 1498 matching lines...) Expand 10 before | Expand all | Expand 10 after
4375 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat a); 4404 verifyRenderPassTestData(removeRenderPassesCases[testCaseIndex], testDat a);
4376 testCaseIndex++; 4405 testCaseIndex++;
4377 } 4406 }
4378 } 4407 }
4379 4408
4380 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests, 4409 INSTANTIATE_TEST_CASE_P(LayerTreeHostImplTests,
4381 LayerTreeHostImplTest, 4410 LayerTreeHostImplTest,
4382 ::testing::Values(false, true)); 4411 ::testing::Values(false, true));
4383 4412
4384 } // namespace 4413 } // namespace
OLDNEW
« no previous file with comments | « cc/gl_renderer.cc ('k') | cc/software_renderer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698