| Index: cc/resources/resource_provider_unittest.cc
|
| diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc
|
| index fc746d784d02cf1c98dd88f97d0cdde7212308de..cca0c5b9241ca1bc2c07295671d9bae46ac2a96c 100644
|
| --- a/cc/resources/resource_provider_unittest.cc
|
| +++ b/cc/resources/resource_provider_unittest.cc
|
| @@ -19,6 +19,7 @@
|
| #include "cc/resources/single_release_callback.h"
|
| #include "cc/test/fake_output_surface.h"
|
| #include "cc/test/fake_output_surface_client.h"
|
| +#include "cc/test/test_shared_bitmap_manager.h"
|
| #include "cc/test/test_texture.h"
|
| #include "cc/test/test_web_graphics_context_3d.h"
|
| #include "gpu/GLES2/gl2extchromium.h"
|
| @@ -332,55 +333,6 @@ class ResourceProviderContext : public TestWebGraphicsContext3D {
|
| PendingProduceTextureList pending_produce_textures_;
|
| };
|
|
|
| -void FreeSharedBitmap(SharedBitmap* shared_bitmap) {
|
| - delete shared_bitmap->memory();
|
| -}
|
| -
|
| -void IgnoreSharedBitmap(SharedBitmap* shared_bitmap) {}
|
| -
|
| -class TestSharedBitmapManager : public SharedBitmapManager {
|
| - public:
|
| - TestSharedBitmapManager() : count_(0) {}
|
| - virtual ~TestSharedBitmapManager() {}
|
| -
|
| - virtual scoped_ptr<SharedBitmap> AllocateSharedBitmap(const gfx::Size& size)
|
| - OVERRIDE {
|
| - scoped_ptr<base::SharedMemory> memory(new base::SharedMemory);
|
| - memory->CreateAndMapAnonymous(size.GetArea() * 4);
|
| - int8 name[GL_MAILBOX_SIZE_CHROMIUM] = {0};
|
| - name[0] = count_++;
|
| - SharedBitmapId id;
|
| - id.SetName(name);
|
| - bitmap_map_[id] = memory.get();
|
| - return scoped_ptr<SharedBitmap>(
|
| - new SharedBitmap(memory.release(), id, base::Bind(&FreeSharedBitmap)));
|
| - }
|
| -
|
| - virtual scoped_ptr<SharedBitmap> GetSharedBitmapFromId(
|
| - const gfx::Size&,
|
| - const SharedBitmapId& id) OVERRIDE {
|
| - if (bitmap_map_.find(id) == bitmap_map_.end())
|
| - return scoped_ptr<SharedBitmap>();
|
| - return scoped_ptr<SharedBitmap>(
|
| - new SharedBitmap(bitmap_map_[id], id, base::Bind(&IgnoreSharedBitmap)));
|
| - }
|
| -
|
| - virtual scoped_ptr<SharedBitmap> GetBitmapForSharedMemory(
|
| - base::SharedMemory* memory) OVERRIDE {
|
| - int8 name[GL_MAILBOX_SIZE_CHROMIUM] = {0};
|
| - name[0] = count_++;
|
| - SharedBitmapId id;
|
| - id.SetName(name);
|
| - bitmap_map_[id] = memory;
|
| - return scoped_ptr<SharedBitmap>(
|
| - new SharedBitmap(memory, id, base::Bind(&IgnoreSharedBitmap)));
|
| - }
|
| -
|
| - private:
|
| - int count_;
|
| - std::map<SharedBitmapId, base::SharedMemory*> bitmap_map_;
|
| -};
|
| -
|
| void GetResourcePixels(ResourceProvider* resource_provider,
|
| ResourceProviderContext* context,
|
| ResourceProvider::ResourceId id,
|
| @@ -1169,12 +1121,8 @@ TEST_P(ResourceProviderTest, TransferGLToSoftware) {
|
| child_context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(child_output_surface->BindToClient(&child_output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> child_resource_provider(
|
| - ResourceProvider::Create(child_output_surface.get(),
|
| - NULL,
|
| - 0,
|
| - false,
|
| - 1));
|
| + scoped_ptr<ResourceProvider> child_resource_provider(ResourceProvider::Create(
|
| + child_output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| gfx::Size size(1, 1);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -1646,10 +1594,12 @@ class ResourceProviderTestTextureFilters : public ResourceProviderTest {
|
| scoped_ptr<OutputSurface> child_output_surface(FakeOutputSurface::Create3d(
|
| child_context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(child_output_surface->BindToClient(&child_output_surface_client));
|
| + scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
|
| + new TestSharedBitmapManager());
|
|
|
| scoped_ptr<ResourceProvider> child_resource_provider(
|
| ResourceProvider::Create(child_output_surface.get(),
|
| - NULL,
|
| + shared_bitmap_manager.get(),
|
| 0,
|
| false,
|
| 1));
|
| @@ -1665,7 +1615,7 @@ class ResourceProviderTestTextureFilters : public ResourceProviderTest {
|
|
|
| scoped_ptr<ResourceProvider> parent_resource_provider(
|
| ResourceProvider::Create(parent_output_surface.get(),
|
| - NULL,
|
| + shared_bitmap_manager.get(),
|
| 0,
|
| false,
|
| 1));
|
| @@ -2275,8 +2225,8 @@ TEST_P(ResourceProviderTest, ScopedSampler) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| gfx::Size size(1, 1);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -2356,8 +2306,8 @@ TEST_P(ResourceProviderTest, ManagedResource) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| gfx::Size size(1, 1);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -2405,8 +2355,8 @@ TEST_P(ResourceProviderTest, TextureWrapMode) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| gfx::Size size(1, 1);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -2459,8 +2409,8 @@ TEST_P(ResourceProviderTest, TextureMailbox_SharedMemory) {
|
| new SoftwareOutputDevice)));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| scoped_ptr<SingleReleaseCallback> callback = SingleReleaseCallback::Create(
|
| base::Bind(&EmptyReleaseCallback));
|
| @@ -2494,8 +2444,8 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTexture2D) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| unsigned texture_id = 1;
|
| uint32 sync_point = 30;
|
| @@ -2558,8 +2508,8 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| unsigned texture_id = 1;
|
| uint32 sync_point = 30;
|
| @@ -2696,8 +2646,8 @@ TEST_P(ResourceProviderTest, TextureAllocation) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| gfx::Size size(2, 2);
|
| gfx::Vector2d offset(0, 0);
|
| @@ -2769,8 +2719,8 @@ TEST_P(ResourceProviderTest, TextureAllocationStorageUsageAny) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| gfx::Size size(2, 2);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -2806,8 +2756,8 @@ TEST_P(ResourceProviderTest, TextureAllocationStorageUsageFramebuffer) {
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| gfx::Size size(2, 2);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -2849,8 +2799,8 @@ TEST_P(ResourceProviderTest, PixelBuffer_GLTexture) {
|
| ResourceProvider::ResourceId id = 0;
|
| int texture_id = 123;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format);
|
| @@ -2886,8 +2836,8 @@ TEST_P(ResourceProviderTest, PixelBuffer_Bitmap) {
|
| ResourceProvider::ResourceId id = 0;
|
| const uint32_t kBadBeef = 0xbadbeef;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format);
|
| @@ -2935,8 +2885,8 @@ TEST_P(ResourceProviderTest, ForcingAsyncUploadToComplete) {
|
| ResourceProvider::ResourceId id = 0;
|
| int texture_id = 123;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format);
|
| @@ -2976,8 +2926,8 @@ TEST_P(ResourceProviderTest, PixelBufferLostContext) {
|
| ResourceProvider::ResourceId id = 0;
|
| int texture_id = 123;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| EXPECT_CALL(*context, NextTextureId()).WillRepeatedly(Return(texture_id));
|
|
|
| @@ -3015,8 +2965,8 @@ TEST_P(ResourceProviderTest, Image_GLTexture) {
|
| const unsigned kTextureId = 123u;
|
| const unsigned kImageId = 234u;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format);
|
| @@ -3107,8 +3057,8 @@ TEST_P(ResourceProviderTest, Image_Bitmap) {
|
| ResourceProvider::ResourceId id = 0;
|
| const uint32_t kBadBeef = 0xbadbeef;
|
|
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager_.get(), 0, false, 1));
|
|
|
| id = resource_provider->CreateResource(
|
| size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format);
|
| @@ -3156,8 +3106,10 @@ TEST(ResourceProviderTest, BasicInitializeGLSoftware) {
|
| FakeOutputSurface::CreateDeferredGL(
|
| scoped_ptr<SoftwareOutputDevice>(new SoftwareOutputDevice)));
|
| EXPECT_TRUE(output_surface->BindToClient(&client));
|
| - scoped_ptr<ResourceProvider> resource_provider(
|
| - ResourceProvider::Create(output_surface.get(), NULL, 0, false, 1));
|
| + scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
|
| + new TestSharedBitmapManager());
|
| + scoped_ptr<ResourceProvider> resource_provider(ResourceProvider::Create(
|
| + output_surface.get(), shared_bitmap_manager.get(), 0, false, 1));
|
|
|
| CheckCreateResource(ResourceProvider::Bitmap, resource_provider.get(), NULL);
|
|
|
| @@ -3274,6 +3226,8 @@ TEST(ResourceProviderTest, TextureAllocationChunkSize) {
|
| scoped_ptr<OutputSurface> output_surface(FakeOutputSurface::Create3d(
|
| context_owned.PassAs<TestWebGraphicsContext3D>()));
|
| CHECK(output_surface->BindToClient(&output_surface_client));
|
| + scoped_ptr<SharedBitmapManager> shared_bitmap_manager(
|
| + new TestSharedBitmapManager());
|
|
|
| gfx::Size size(1, 1);
|
| ResourceFormat format = RGBA_8888;
|
| @@ -3282,7 +3236,7 @@ TEST(ResourceProviderTest, TextureAllocationChunkSize) {
|
| size_t kTextureAllocationChunkSize = 1;
|
| scoped_ptr<ResourceProvider> resource_provider(
|
| ResourceProvider::Create(output_surface.get(),
|
| - NULL,
|
| + shared_bitmap_manager.get(),
|
| 0,
|
| false,
|
| kTextureAllocationChunkSize));
|
| @@ -3300,7 +3254,7 @@ TEST(ResourceProviderTest, TextureAllocationChunkSize) {
|
| size_t kTextureAllocationChunkSize = 8;
|
| scoped_ptr<ResourceProvider> resource_provider(
|
| ResourceProvider::Create(output_surface.get(),
|
| - NULL,
|
| + shared_bitmap_manager.get(),
|
| 0,
|
| false,
|
| kTextureAllocationChunkSize));
|
|
|