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

Side by Side Diff: cc/output/renderer_unittest.cc

Issue 1866203004: Convert //cc from scoped_ptr to std::unique_ptr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: scopedptrcc: rebase Created 4 years, 8 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
« no previous file with comments | « cc/output/renderer_pixeltest.cc ('k') | cc/output/shader_unittest.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 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 "cc/output/delegating_renderer.h" 5 #include "cc/output/delegating_renderer.h"
6 #include "cc/output/gl_renderer.h" 6 #include "cc/output/gl_renderer.h"
7 #include "cc/output/output_surface.h" 7 #include "cc/output/output_surface.h"
8 #include "cc/test/fake_output_surface_client.h" 8 #include "cc/test/fake_output_surface_client.h"
9 #include "cc/test/fake_renderer_client.h" 9 #include "cc/test/fake_renderer_client.h"
10 #include "cc/test/fake_resource_provider.h" 10 #include "cc/test/fake_resource_provider.h"
(...skipping 21 matching lines...) Expand all
32 TestOutputSurface::~TestOutputSurface() { 32 TestOutputSurface::~TestOutputSurface() {
33 } 33 }
34 34
35 void TestOutputSurface::SwapBuffers(CompositorFrame* frame) { 35 void TestOutputSurface::SwapBuffers(CompositorFrame* frame) {
36 client_->DidSwapBuffers(); 36 client_->DidSwapBuffers();
37 client_->DidSwapBuffersComplete(); 37 client_->DidSwapBuffersComplete();
38 } 38 }
39 39
40 class MockContextProvider : public TestContextProvider { 40 class MockContextProvider : public TestContextProvider {
41 public: 41 public:
42 explicit MockContextProvider(scoped_ptr<TestWebGraphicsContext3D> context) 42 explicit MockContextProvider(
43 std::unique_ptr<TestWebGraphicsContext3D> context)
43 : TestContextProvider(std::move(context)) {} 44 : TestContextProvider(std::move(context)) {}
44 MOCK_METHOD0(DeleteCachedResources, void()); 45 MOCK_METHOD0(DeleteCachedResources, void());
45 46
46 protected: 47 protected:
47 ~MockContextProvider() {} 48 ~MockContextProvider() {}
48 }; 49 };
49 50
50 template <class T> 51 template <class T>
51 scoped_ptr<Renderer> CreateRenderer(RendererClient* client, 52 std::unique_ptr<Renderer> CreateRenderer(RendererClient* client,
52 const RendererSettings* settings, 53 const RendererSettings* settings,
53 OutputSurface* output_surface, 54 OutputSurface* output_surface,
54 ResourceProvider* resource_provider); 55 ResourceProvider* resource_provider);
55 56
56 template <> 57 template <>
57 scoped_ptr<Renderer> CreateRenderer<DelegatingRenderer>( 58 std::unique_ptr<Renderer> CreateRenderer<DelegatingRenderer>(
58 RendererClient* client, 59 RendererClient* client,
59 const RendererSettings* settings, 60 const RendererSettings* settings,
60 OutputSurface* output_surface, 61 OutputSurface* output_surface,
61 ResourceProvider* resource_provider) { 62 ResourceProvider* resource_provider) {
62 return DelegatingRenderer::Create( 63 return DelegatingRenderer::Create(
63 client, settings, output_surface, resource_provider); 64 client, settings, output_surface, resource_provider);
64 } 65 }
65 66
66 template <> 67 template <>
67 scoped_ptr<Renderer> CreateRenderer<GLRenderer>( 68 std::unique_ptr<Renderer> CreateRenderer<GLRenderer>(
68 RendererClient* client, 69 RendererClient* client,
69 const RendererSettings* settings, 70 const RendererSettings* settings,
70 OutputSurface* output_surface, 71 OutputSurface* output_surface,
71 ResourceProvider* resource_provider) { 72 ResourceProvider* resource_provider) {
72 return GLRenderer::Create( 73 return GLRenderer::Create(
73 client, settings, output_surface, resource_provider, NULL, 0); 74 client, settings, output_surface, resource_provider, NULL, 0);
74 } 75 }
75 76
76 template <typename T> 77 template <typename T>
77 class RendererTest : public ::testing::Test { 78 class RendererTest : public ::testing::Test {
78 protected: 79 protected:
79 virtual void SetUp() { 80 virtual void SetUp() {
80 context_provider_ = 81 context_provider_ =
81 new MockContextProvider(TestWebGraphicsContext3D::Create()); 82 new MockContextProvider(TestWebGraphicsContext3D::Create());
82 output_surface_.reset(new TestOutputSurface(context_provider_)); 83 output_surface_.reset(new TestOutputSurface(context_provider_));
83 output_surface_->BindToClient(&output_surface_client_); 84 output_surface_->BindToClient(&output_surface_client_);
84 resource_provider_ = 85 resource_provider_ =
85 FakeResourceProvider::Create(output_surface_.get(), nullptr); 86 FakeResourceProvider::Create(output_surface_.get(), nullptr);
86 renderer_ = CreateRenderer<T>(&renderer_client_, 87 renderer_ = CreateRenderer<T>(&renderer_client_,
87 &tree_settings_, 88 &tree_settings_,
88 output_surface_.get(), 89 output_surface_.get(),
89 resource_provider_.get()); 90 resource_provider_.get());
90 } 91 }
91 92
92 FakeRendererClient renderer_client_; 93 FakeRendererClient renderer_client_;
93 RendererSettings tree_settings_; 94 RendererSettings tree_settings_;
94 FakeOutputSurfaceClient output_surface_client_; 95 FakeOutputSurfaceClient output_surface_client_;
95 scoped_refptr<MockContextProvider> context_provider_; 96 scoped_refptr<MockContextProvider> context_provider_;
96 scoped_ptr<OutputSurface> output_surface_; 97 std::unique_ptr<OutputSurface> output_surface_;
97 scoped_ptr<ResourceProvider> resource_provider_; 98 std::unique_ptr<ResourceProvider> resource_provider_;
98 scoped_ptr<Renderer> renderer_; 99 std::unique_ptr<Renderer> renderer_;
99 }; 100 };
100 101
101 typedef ::testing::Types<DelegatingRenderer, GLRenderer> RendererTypes; 102 typedef ::testing::Types<DelegatingRenderer, GLRenderer> RendererTypes;
102 TYPED_TEST_CASE(RendererTest, RendererTypes); 103 TYPED_TEST_CASE(RendererTest, RendererTypes);
103 104
104 TYPED_TEST(RendererTest, ContextPurgedWhenRendererBecomesInvisible) { 105 TYPED_TEST(RendererTest, ContextPurgedWhenRendererBecomesInvisible) {
105 EXPECT_CALL(*(this->context_provider_.get()), DeleteCachedResources()) 106 EXPECT_CALL(*(this->context_provider_.get()), DeleteCachedResources())
106 .Times(1); 107 .Times(1);
107 108
108 EXPECT_TRUE(this->renderer_->visible()); 109 EXPECT_TRUE(this->renderer_->visible());
109 this->renderer_->SetVisible(false); 110 this->renderer_->SetVisible(false);
110 EXPECT_FALSE(this->renderer_->visible()); 111 EXPECT_FALSE(this->renderer_->visible());
111 } 112 }
112 113
113 } // namespace 114 } // namespace
114 } // namespace cc 115 } // namespace cc
OLDNEW
« no previous file with comments | « cc/output/renderer_pixeltest.cc ('k') | cc/output/shader_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698