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..91fbc6ae87337a0be0db9f133de6d7b4ec9d4fff 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,16 @@ 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, size_t, unsigned)); |
private: |
- DISALLOW_COPY_AND_ASSIGN(MockImageFactory); |
+ DISALLOW_COPY_AND_ASSIGN(MockGpuMemoryBufferFactory); |
}; |
class MockGpuMemoryBufferTest : public testing::Test { |
@@ -76,10 +70,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 +101,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 +126,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 +202,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); |
} |