| Index: cc/output/renderer_unittest.cc
|
| diff --git a/cc/output/renderer_unittest.cc b/cc/output/renderer_unittest.cc
|
| index 67d13caf40a7f6af65e2308488ea2268fc4c30d1..45955ecca3131ffc0233b6365ab01deeaee91f30 100644
|
| --- a/cc/output/renderer_unittest.cc
|
| +++ b/cc/output/renderer_unittest.cc
|
| @@ -18,34 +18,40 @@ namespace {
|
|
|
| class TestOutputSurface : public OutputSurface {
|
| public:
|
| - explicit TestOutputSurface(scoped_refptr<ContextProvider> context_provider);
|
| - ~TestOutputSurface() override;
|
| -
|
| - // OutputSurface implementation
|
| - void SwapBuffers(CompositorFrame* frame) override;
|
| + explicit TestOutputSurface(
|
| + std::unique_ptr<ContextProvider::Factory> compositor_context_factory)
|
| + : OutputSurface(std::move(compositor_context_factory)) {}
|
| + ~TestOutputSurface() override = default;
|
| +
|
| + // OutputSurface implementation.
|
| + void SwapBuffers(CompositorFrame* frame) override {
|
| + client_->DidSwapBuffers();
|
| + client_->DidSwapBuffersComplete();
|
| + }
|
| };
|
|
|
| -TestOutputSurface::TestOutputSurface(
|
| - scoped_refptr<ContextProvider> context_provider)
|
| - : OutputSurface(std::move(context_provider)) {}
|
| +class MockContextProvider : public TestContextProvider {
|
| + public:
|
| + MockContextProvider()
|
| + : TestContextProvider(TestWebGraphicsContext3D::Create()) {}
|
|
|
| -TestOutputSurface::~TestOutputSurface() {
|
| -}
|
| + class Factory : public ContextProvider::Factory {
|
| + public:
|
| + explicit Factory(scoped_refptr<MockContextProvider> provider)
|
| + : provider_(provider) {}
|
|
|
| -void TestOutputSurface::SwapBuffers(CompositorFrame* frame) {
|
| - client_->DidSwapBuffers();
|
| - client_->DidSwapBuffersComplete();
|
| -}
|
| + scoped_refptr<ContextProvider> CreateContext() override {
|
| + return std::move(provider_);
|
| + }
|
| +
|
| + private:
|
| + scoped_refptr<MockContextProvider> provider_;
|
| + };
|
|
|
| -class MockContextProvider : public TestContextProvider {
|
| - public:
|
| - explicit MockContextProvider(
|
| - std::unique_ptr<TestWebGraphicsContext3D> context)
|
| - : TestContextProvider(std::move(context)) {}
|
| MOCK_METHOD0(DeleteCachedResources, void());
|
|
|
| protected:
|
| - ~MockContextProvider() {}
|
| + ~MockContextProvider() = default;
|
| };
|
|
|
| template <class T>
|
| @@ -78,9 +84,9 @@ template <typename T>
|
| class RendererTest : public ::testing::Test {
|
| protected:
|
| virtual void SetUp() {
|
| - context_provider_ =
|
| - new MockContextProvider(TestWebGraphicsContext3D::Create());
|
| - output_surface_.reset(new TestOutputSurface(context_provider_));
|
| + context_provider_ = new MockContextProvider;
|
| + output_surface_.reset(new TestOutputSurface(
|
| + base::MakeUnique<MockContextProvider::Factory>(context_provider_)));
|
| output_surface_->BindToClient(&output_surface_client_);
|
| resource_provider_ =
|
| FakeResourceProvider::Create(output_surface_.get(), nullptr);
|
| @@ -103,8 +109,7 @@ typedef ::testing::Types<DelegatingRenderer, GLRenderer> RendererTypes;
|
| TYPED_TEST_CASE(RendererTest, RendererTypes);
|
|
|
| TYPED_TEST(RendererTest, ContextPurgedWhenRendererBecomesInvisible) {
|
| - EXPECT_CALL(*(this->context_provider_.get()), DeleteCachedResources())
|
| - .Times(1);
|
| + EXPECT_CALL(*this->context_provider_, DeleteCachedResources()).Times(1);
|
|
|
| EXPECT_TRUE(this->renderer_->visible());
|
| this->renderer_->SetVisible(false);
|
|
|