Index: cc/resources/resource_provider_unittest.cc |
diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc |
index 3f786ef8277b8208dd818fea418cda8acaef04cb..1f3f9b27b3e5ea30cf803ebf3516e2fe852f0ed8 100644 |
--- a/cc/resources/resource_provider_unittest.cc |
+++ b/cc/resources/resource_provider_unittest.cc |
@@ -14,6 +14,7 @@ |
#include "cc/debug/test_web_graphics_context_3d.h" |
#include "cc/output/output_surface.h" |
#include "cc/resources/returned_resource.h" |
+#include "cc/resources/scoped_release_callback.h" |
#include "cc/test/fake_output_surface.h" |
#include "cc/test/fake_output_surface_client.h" |
#include "gpu/GLES2/gl2extchromium.h" |
@@ -831,11 +832,12 @@ TEST_P(ResourceProviderTest, TransferMailboxResources) { |
unsigned release_sync_point = 0; |
bool lost_resource = false; |
- TextureMailbox::ReleaseCallback callback = |
+ ReleaseCallback callback = |
base::Bind(ReleaseTextureMailbox, &release_sync_point, &lost_resource); |
ResourceProvider::ResourceId resource = |
resource_provider_->CreateResourceFromTextureMailbox( |
- TextureMailbox(mailbox, callback, sync_point)); |
+ TextureMailbox(mailbox, sync_point), |
+ ScopedReleaseCallback(callback)); |
EXPECT_EQ(1, context()->texture_count()); |
EXPECT_EQ(0u, release_sync_point); |
{ |
@@ -881,7 +883,8 @@ TEST_P(ResourceProviderTest, TransferMailboxResources) { |
EXPECT_LT(0u, sync_point); |
release_sync_point = 0; |
resource = resource_provider_->CreateResourceFromTextureMailbox( |
- TextureMailbox(mailbox, callback, sync_point)); |
+ TextureMailbox(mailbox, sync_point), |
+ ScopedReleaseCallback(callback)); |
EXPECT_EQ(1, context()->texture_count()); |
EXPECT_EQ(0u, release_sync_point); |
{ |
@@ -943,10 +946,11 @@ TEST_P(ResourceProviderTest, Shutdown) { |
unsigned release_sync_point = 0; |
bool lost_resource = false; |
- TextureMailbox::ReleaseCallback callback = |
- base::Bind(ReleaseTextureMailbox, &release_sync_point, &lost_resource); |
+ ScopedReleaseCallback callback( |
+ base::Bind(ReleaseTextureMailbox, &release_sync_point, &lost_resource)); |
resource_provider_->CreateResourceFromTextureMailbox( |
- TextureMailbox(mailbox, callback, sync_point)); |
+ TextureMailbox(mailbox, sync_point), |
+ callback.Pass()); |
EXPECT_EQ(0u, release_sync_point); |
EXPECT_FALSE(lost_resource); |
@@ -982,10 +986,11 @@ TEST_P(ResourceProviderTest, ShutdownSharedMemory) { |
CreateAndFillSharedMemory(size, 0)); |
bool release_called = false; |
- TextureMailbox::ReleaseCallback callback = |
- base::Bind(ReleaseSharedMemoryCallback, &release_called); |
+ ScopedReleaseCallback callback( |
+ base::Bind(ReleaseSharedMemoryCallback, &release_called)); |
resource_provider_->CreateResourceFromTextureMailbox( |
- TextureMailbox(shared_memory.get(), size, callback)); |
+ TextureMailbox(shared_memory.get(), size), |
+ callback.Pass()); |
resource_provider_.reset(); |
@@ -1007,11 +1012,12 @@ TEST_P(ResourceProviderTest, ShutdownWithExportedResource) { |
unsigned release_sync_point = 0; |
bool lost_resource = false; |
- TextureMailbox::ReleaseCallback callback = |
- base::Bind(ReleaseTextureMailbox, &release_sync_point, &lost_resource); |
+ ScopedReleaseCallback callback( |
+ base::Bind(ReleaseTextureMailbox, &release_sync_point, &lost_resource)); |
ResourceProvider::ResourceId resource = |
resource_provider_->CreateResourceFromTextureMailbox( |
- TextureMailbox(mailbox, callback, sync_point)); |
+ TextureMailbox(mailbox, sync_point), |
+ callback.Pass()); |
// Transfer the resource, so we can't release it properly on shutdown. |
ResourceProvider::ResourceIdArray resource_ids_to_transfer; |
@@ -1044,10 +1050,11 @@ TEST_P(ResourceProviderTest, LostContext) { |
unsigned release_sync_point = 0; |
bool lost_resource = false; |
- TextureMailbox::ReleaseCallback callback = |
- base::Bind(ReleaseTextureMailbox, &release_sync_point, &lost_resource); |
+ ScopedReleaseCallback callback( |
+ base::Bind(ReleaseTextureMailbox, &release_sync_point, &lost_resource)); |
resource_provider_->CreateResourceFromTextureMailbox( |
- TextureMailbox(mailbox, callback, sync_point)); |
+ TextureMailbox(mailbox, sync_point), |
+ callback.Pass()); |
EXPECT_EQ(0u, release_sync_point); |
EXPECT_FALSE(lost_resource); |
@@ -1267,11 +1274,12 @@ TEST_P(ResourceProviderTest, TextureMailbox_SharedMemory) { |
scoped_ptr<ResourceProvider> resource_provider( |
ResourceProvider::Create(output_surface.get(), 0)); |
- TextureMailbox::ReleaseCallback callback = base::Bind(&EmptyReleaseCallback); |
- TextureMailbox mailbox(shared_memory.get(), size, callback); |
+ ScopedReleaseCallback callback(base::Bind(&EmptyReleaseCallback)); |
+ TextureMailbox mailbox(shared_memory.get(), size); |
ResourceProvider::ResourceId id = |
- resource_provider->CreateResourceFromTextureMailbox(mailbox); |
+ resource_provider->CreateResourceFromTextureMailbox( |
+ mailbox, callback.Pass()); |
EXPECT_NE(0u, id); |
{ |
@@ -1312,14 +1320,13 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTexture2D) { |
gpu::Mailbox gpu_mailbox; |
memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1); |
- TextureMailbox::ReleaseCallback callback = base::Bind(&EmptyReleaseCallback); |
+ ScopedReleaseCallback callback(base::Bind(&EmptyReleaseCallback)); |
- TextureMailbox mailbox(gpu_mailbox, |
- callback, |
- sync_point); |
+ TextureMailbox mailbox(gpu_mailbox, sync_point); |
ResourceProvider::ResourceId id = |
- resource_provider->CreateResourceFromTextureMailbox(mailbox); |
+ resource_provider->CreateResourceFromTextureMailbox( |
+ mailbox, callback.Pass()); |
EXPECT_NE(0u, id); |
Mock::VerifyAndClearExpectations(context); |
@@ -1376,15 +1383,13 @@ TEST_P(ResourceProviderTest, TextureMailbox_GLTextureExternalOES) { |
gpu::Mailbox gpu_mailbox; |
memcpy(gpu_mailbox.name, "Hello world", strlen("Hello world") + 1); |
- TextureMailbox::ReleaseCallback callback = base::Bind(&EmptyReleaseCallback); |
+ ScopedReleaseCallback callback(base::Bind(&EmptyReleaseCallback)); |
- TextureMailbox mailbox(gpu_mailbox, |
- callback, |
- target, |
- sync_point); |
+ TextureMailbox mailbox(gpu_mailbox, target, sync_point); |
ResourceProvider::ResourceId id = |
- resource_provider->CreateResourceFromTextureMailbox(mailbox); |
+ resource_provider->CreateResourceFromTextureMailbox( |
+ mailbox, callback.Pass()); |
EXPECT_NE(0u, id); |
Mock::VerifyAndClearExpectations(context); |