| Index: gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc
|
| diff --git a/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc b/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc
|
| index 9c9d5ab1f1b7319e95dc88f7cc7da7af122d9565..e4582bd8592e64b8e7cc30340e5b6e706cc4540d 100644
|
| --- a/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc
|
| +++ b/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc
|
| @@ -11,6 +11,8 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/process/process_handle.h"
|
| #include "gpu/command_buffer/client/gles2_implementation.h"
|
| +#include "gpu/command_buffer/client/gpu_memory_buffer_factory.h"
|
| +#include "gpu/command_buffer/service/command_buffer_service.h"
|
| #include "gpu/command_buffer/service/image_manager.h"
|
| #include "gpu/command_buffer/tests/gl_manager.h"
|
| #include "gpu/command_buffer/tests/gl_test_utils.h"
|
| @@ -51,24 +53,18 @@ class MockGpuMemoryBuffer : public gfx::GpuMemoryBuffer {
|
| DISALLOW_COPY_AND_ASSIGN(MockGpuMemoryBuffer);
|
| };
|
|
|
| -class MockImageFactory : public ImageFactory {
|
| +class MockGpuMemoryBufferFactory : public GpuMemoryBufferFactory {
|
| public:
|
| - MockImageFactory(ImageManager* image_manager) {}
|
| - virtual ~MockImageFactory() {}
|
| -
|
| - MOCK_METHOD4(CreateGpuMemoryBufferMock, gfx::GpuMemoryBuffer*(
|
| - int width, int height, GLenum internalformat, unsigned* image_id));
|
| - MOCK_METHOD1(DeleteGpuMemoryBuffer, void(unsigned));
|
| - // Workaround for mocking methods that return scoped_ptrs
|
| - virtual scoped_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBuffer(
|
| - int width, int height, GLenum internalformat,
|
| - unsigned* image_id) OVERRIDE {
|
| - return scoped_ptr<gfx::GpuMemoryBuffer>(CreateGpuMemoryBufferMock(
|
| - width, height, internalformat, image_id));
|
| - }
|
| + MockGpuMemoryBufferFactory() {}
|
| + virtual ~MockGpuMemoryBufferFactory() {}
|
| +
|
| + MOCK_METHOD3(CreateGpuMemoryBuffer,
|
| + gfx::GpuMemoryBuffer*(size_t width,
|
| + size_t height,
|
| + unsigned internalformat));
|
|
|
| private:
|
| - DISALLOW_COPY_AND_ASSIGN(MockImageFactory);
|
| + DISALLOW_COPY_AND_ASSIGN(MockGpuMemoryBufferFactory);
|
| };
|
|
|
| class MockGpuMemoryBufferTest : public testing::Test {
|
| @@ -76,10 +72,9 @@ class MockGpuMemoryBufferTest : public testing::Test {
|
| virtual void SetUp() {
|
| GLManager::Options options;
|
| image_manager_ = new ImageManager;
|
| - image_factory_.reset(
|
| - new StrictMock<MockImageFactory>(image_manager_.get()));
|
| + gpu_memory_buffer_factory_.reset(new MockGpuMemoryBufferFactory);
|
| options.image_manager = image_manager_.get();
|
| - options.image_factory = image_factory_.get();
|
| + options.gpu_memory_buffer_factory = gpu_memory_buffer_factory_.get();
|
|
|
| gl_.Initialize(options);
|
| gl_.MakeCurrent();
|
| @@ -108,8 +103,8 @@ class MockGpuMemoryBufferTest : public testing::Test {
|
| gl_.Destroy();
|
| }
|
|
|
| - scoped_ptr<StrictMock<MockImageFactory> > image_factory_;
|
| scoped_refptr<ImageManager> image_manager_;
|
| + scoped_ptr<MockGpuMemoryBufferFactory> gpu_memory_buffer_factory_;
|
| GLManager gl_;
|
| GLuint texture_ids_[2];
|
| GLuint framebuffer_id_;
|
| @@ -133,29 +128,21 @@ TEST_F(MockGpuMemoryBufferTest, Lifecycle) {
|
| handle.type = gfx::SHARED_MEMORY_BUFFER;
|
| handle.handle = duped_shared_memory_handle;
|
|
|
| - const GLuint kImageId = 345u;
|
| -
|
| - EXPECT_CALL(*image_factory_.get(), CreateGpuMemoryBufferMock(
|
| - kImageWidth, kImageHeight, GL_RGBA8_OES, _))
|
| + EXPECT_CALL(*gpu_memory_buffer_factory_.get(), CreateGpuMemoryBuffer(
|
| + kImageWidth, kImageHeight, GL_RGBA8_OES))
|
| .Times(1)
|
| - .WillOnce(DoAll(SetArgPointee<3>(kImageId), Return(gpu_memory_buffer)))
|
| + .WillOnce(Return(gpu_memory_buffer))
|
| .RetiresOnSaturation();
|
| -
|
| - // Create the GLImage and insert it into the ImageManager, which
|
| - // would be done within CreateGpuMemoryBufferMock if it weren't a mock.
|
| - GLuint image_id = glCreateImageCHROMIUM(
|
| - kImageWidth, kImageHeight, GL_RGBA8_OES);
|
| - EXPECT_EQ(kImageId, image_id);
|
| -
|
| EXPECT_CALL(*gpu_memory_buffer, GetHandle())
|
| + .Times(1)
|
| .WillOnce(Return(handle))
|
| .RetiresOnSaturation();
|
|
|
| - gfx::Size size(kImageWidth, kImageHeight);
|
| - scoped_refptr<gfx::GLImage> gl_image(
|
| - gfx::GLImage::CreateGLImageForGpuMemoryBuffer(
|
| - gpu_memory_buffer->GetHandle(), size));
|
| - image_manager_->AddImage(gl_image.get(), image_id);
|
| + // Create the image. This should add the image ID to the ImageManager.
|
| + GLuint image_id = glCreateImageCHROMIUM(
|
| + kImageWidth, kImageHeight, GL_RGBA8_OES);
|
| + EXPECT_NE(0u, image_id);
|
| + EXPECT_TRUE(image_manager_->LookupImage(image_id) != NULL);
|
|
|
| EXPECT_CALL(*gpu_memory_buffer, IsMapped())
|
| .WillOnce(Return(false))
|
| @@ -217,11 +204,6 @@ TEST_F(MockGpuMemoryBufferTest, Lifecycle) {
|
| EXPECT_CALL(*gpu_memory_buffer, Die())
|
| .Times(1)
|
| .RetiresOnSaturation();
|
| -
|
| - EXPECT_CALL(*image_factory_.get(), DeleteGpuMemoryBuffer(image_id))
|
| - .Times(1)
|
| - .RetiresOnSaturation();
|
| -
|
| glDestroyImageCHROMIUM(image_id);
|
| }
|
|
|
|
|