summaryrefslogtreecommitdiffstats
path: root/cc/resources/resource_provider_unittest.cc
diff options
context:
space:
mode:
authorjbauman <jbauman@chromium.org>2014-12-10 16:49:37 -0800
committerCommit bot <commit-bot@chromium.org>2014-12-11 00:50:57 +0000
commit9015c8b4419268a35a5c1a0f2afb7a2a2aaff699 (patch)
treef4ded328bf40fd016058f68be4b4b457bd1eb328 /cc/resources/resource_provider_unittest.cc
parentbcb3fdd69b3a04edf3f48e333ea42a8ec6f0177b (diff)
downloadchromium_src-9015c8b4419268a35a5c1a0f2afb7a2a2aaff699.zip
chromium_src-9015c8b4419268a35a5c1a0f2afb7a2a2aaff699.tar.gz
chromium_src-9015c8b4419268a35a5c1a0f2afb7a2a2aaff699.tar.bz2
Convert TextureMailbox to use SharedBitmap instead of SharedMemory.
This reduces the amount of conversions between cc::SharedBitmap and base::SharedMemory in the code. Review URL: https://codereview.chromium.org/791483002 Cr-Commit-Position: refs/heads/master@{#307811}
Diffstat (limited to 'cc/resources/resource_provider_unittest.cc')
-rw-r--r--cc/resources/resource_provider_unittest.cc63
1 files changed, 29 insertions, 34 deletions
diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc
index 2c8ed58..53741ab 100644
--- a/cc/resources/resource_provider_unittest.cc
+++ b/cc/resources/resource_provider_unittest.cc
@@ -59,15 +59,15 @@ static void ReleaseCallback(
*release_main_thread_task_runner = main_thread_task_runner;
}
-static void SharedMemoryReleaseCallback(
- scoped_ptr<base::SharedMemory> memory,
+static void SharedBitmapReleaseCallback(
+ scoped_ptr<SharedBitmap> bitmap,
uint32 sync_point,
bool lost_resource,
BlockingTaskRunner* main_thread_task_runner) {
}
-static void ReleaseSharedMemoryCallback(
- scoped_ptr<base::SharedMemory> shared_memory,
+static void ReleaseSharedBitmapCallback(
+ scoped_ptr<SharedBitmap> shared_bitmap,
bool* release_called,
uint32* release_sync_point,
bool* lost_resource_result,
@@ -79,15 +79,16 @@ static void ReleaseSharedMemoryCallback(
*lost_resource_result = lost_resource;
}
-static scoped_ptr<base::SharedMemory> CreateAndFillSharedMemory(
+static scoped_ptr<SharedBitmap> CreateAndFillSharedBitmap(
+ SharedBitmapManager* manager,
const gfx::Size& size,
uint32_t value) {
- scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory);
- CHECK(shared_memory->CreateAndMapAnonymous(4 * size.GetArea()));
- uint32_t* pixels = reinterpret_cast<uint32_t*>(shared_memory->memory());
+ scoped_ptr<SharedBitmap> shared_bitmap = manager->AllocateSharedBitmap(size);
+ CHECK(shared_bitmap);
+ uint32_t* pixels = reinterpret_cast<uint32_t*>(shared_bitmap->pixels());
CHECK(pixels);
std::fill_n(pixels, size.GetArea(), value);
- return shared_memory.Pass();
+ return shared_bitmap.Pass();
}
class TextureStateTrackingContext : public TestWebGraphicsContext3D {
@@ -466,32 +467,26 @@ class ResourceProviderTest
*sync_point = child_context_->insertSyncPoint();
EXPECT_LT(0u, *sync_point);
- scoped_ptr<base::SharedMemory> shared_memory;
+ scoped_ptr<SharedBitmap> shared_bitmap;
scoped_ptr<SingleReleaseCallbackImpl> callback =
- SingleReleaseCallbackImpl::Create(
- base::Bind(ReleaseSharedMemoryCallback,
- base::Passed(&shared_memory),
- release_called,
- release_sync_point,
- lost_resource));
+ SingleReleaseCallbackImpl::Create(base::Bind(
+ ReleaseSharedBitmapCallback, base::Passed(&shared_bitmap),
+ release_called, release_sync_point, lost_resource));
return child_resource_provider_->CreateResourceFromTextureMailbox(
TextureMailbox(gpu_mailbox, GL_TEXTURE_2D, *sync_point),
callback.Pass());
} else {
gfx::Size size(64, 64);
- scoped_ptr<base::SharedMemory> shared_memory(
- CreateAndFillSharedMemory(size, 0));
+ scoped_ptr<SharedBitmap> shared_bitmap(
+ CreateAndFillSharedBitmap(shared_bitmap_manager_.get(), size, 0));
- base::SharedMemory* shared_memory_ptr = shared_memory.get();
+ SharedBitmap* shared_bitmap_ptr = shared_bitmap.get();
scoped_ptr<SingleReleaseCallbackImpl> callback =
- SingleReleaseCallbackImpl::Create(
- base::Bind(ReleaseSharedMemoryCallback,
- base::Passed(&shared_memory),
- release_called,
- release_sync_point,
- lost_resource));
+ SingleReleaseCallbackImpl::Create(base::Bind(
+ ReleaseSharedBitmapCallback, base::Passed(&shared_bitmap),
+ release_called, release_sync_point, lost_resource));
return child_resource_provider_->CreateResourceFromTextureMailbox(
- TextureMailbox(shared_memory_ptr, size), callback.Pass());
+ TextureMailbox(shared_bitmap_ptr, size), callback.Pass());
}
}
@@ -982,14 +977,14 @@ TEST_P(ResourceProviderTest, TransferSoftwareResources) {
uint8_t data2[4] = { 5, 5, 5, 5 };
child_resource_provider_->SetPixels(id2, data2, rect, rect, gfx::Vector2d());
- scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory());
- shared_memory->CreateAndMapAnonymous(1);
- base::SharedMemory* shared_memory_ptr = shared_memory.get();
+ scoped_ptr<SharedBitmap> shared_bitmap(CreateAndFillSharedBitmap(
+ shared_bitmap_manager_.get(), gfx::Size(1, 1), 0));
+ SharedBitmap* shared_bitmap_ptr = shared_bitmap.get();
ResourceProvider::ResourceId id3 =
child_resource_provider_->CreateResourceFromTextureMailbox(
- TextureMailbox(shared_memory_ptr, gfx::Size(1, 1)),
+ TextureMailbox(shared_bitmap_ptr, gfx::Size(1, 1)),
SingleReleaseCallbackImpl::Create(base::Bind(
- &SharedMemoryReleaseCallback, base::Passed(&shared_memory))));
+ &SharedBitmapReleaseCallback, base::Passed(&shared_bitmap))));
ReturnedResourceArray returned_to_child;
int child_id =
@@ -2556,8 +2551,8 @@ TEST_P(ResourceProviderTest, TextureMailbox_SharedMemory) {
gfx::Size size(64, 64);
const uint32_t kBadBeef = 0xbadbeef;
- scoped_ptr<base::SharedMemory> shared_memory(
- CreateAndFillSharedMemory(size, kBadBeef));
+ scoped_ptr<SharedBitmap> shared_bitmap(
+ CreateAndFillSharedBitmap(shared_bitmap_manager_.get(), size, kBadBeef));
FakeOutputSurfaceClient output_surface_client;
scoped_ptr<OutputSurface> output_surface(
@@ -2582,7 +2577,7 @@ TEST_P(ResourceProviderTest, TextureMailbox_SharedMemory) {
&release_sync_point,
&lost_resource,
&main_thread_task_runner));
- TextureMailbox mailbox(shared_memory.get(), size);
+ TextureMailbox mailbox(shared_bitmap.get(), size);
ResourceProvider::ResourceId id =
resource_provider->CreateResourceFromTextureMailbox(