Index: cc/resources/resource_provider_unittest.cc |
diff --git a/cc/resources/resource_provider_unittest.cc b/cc/resources/resource_provider_unittest.cc |
index 9c47cb2dc437b9c782d3b5626236d24791dab825..cfdfc98c20102703577c05ceb769cc99547fba49 100644 |
--- a/cc/resources/resource_provider_unittest.cc |
+++ b/cc/resources/resource_provider_unittest.cc |
@@ -609,8 +609,8 @@ TEST_P(ResourceProviderTest, TransferGLResources) { |
ResourceProvider::ResourceId id3 = child_resource_provider_->CreateResource( |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
- child_resource_provider_->MapImageRasterBuffer(id3); |
- child_resource_provider_->UnmapImageRasterBuffer(id3); |
+ child_resource_provider_->AcquireImageRasterBuffer(id3); |
+ child_resource_provider_->ReleaseImageRasterBuffer(id3); |
GLuint external_texture_id = child_context_->createExternalTexture(); |
child_context_->bindTexture(GL_TEXTURE_EXTERNAL_OES, external_texture_id); |
@@ -952,9 +952,13 @@ TEST_P(ResourceProviderTest, TransferSoftwareResources) { |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
uint8_t data3[4] = { 6, 7, 8, 9 }; |
SkImageInfo info = SkImageInfo::MakeN32Premul(size.width(), size.height()); |
- SkCanvas* raster_canvas = child_resource_provider_->MapImageRasterBuffer(id3); |
- raster_canvas->writePixels(info, data3, info.minRowBytes(), 0, 0); |
- child_resource_provider_->UnmapImageRasterBuffer(id3); |
+ RasterBuffer* raster_buffer = |
+ child_resource_provider_->AcquireImageRasterBuffer(id3); |
+ skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas(); |
+ canvas->writePixels(info, data3, info.minRowBytes(), 0, 0); |
+ raster_buffer->ReleaseSkCanvas(canvas); |
+ canvas.clear(); |
+ child_resource_provider_->ReleaseImageRasterBuffer(id3); |
scoped_ptr<base::SharedMemory> shared_memory(new base::SharedMemory()); |
shared_memory->CreateAndMapAnonymous(1); |
@@ -2734,7 +2738,10 @@ TEST_P(ResourceProviderTest, TextureAllocation) { |
// Same for async version. |
id = resource_provider->CreateResource( |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
- resource_provider->AcquirePixelRasterBuffer(id); |
+ RasterBuffer* raster_buffer = resource_provider->AcquirePixelRasterBuffer(id); |
+ skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas(); |
+ raster_buffer->ReleaseSkCanvas(canvas); |
+ canvas.clear(); |
EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); |
EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); |
@@ -2850,7 +2857,10 @@ TEST_P(ResourceProviderTest, PixelBuffer_GLTexture) { |
id = resource_provider->CreateResource( |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
- resource_provider->AcquirePixelRasterBuffer(id); |
+ RasterBuffer* raster_buffer = resource_provider->AcquirePixelRasterBuffer(id); |
+ skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas(); |
+ raster_buffer->ReleaseSkCanvas(canvas); |
+ canvas.clear(); |
EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); |
EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); |
@@ -2891,7 +2901,10 @@ TEST_P(ResourceProviderTest, ForcingAsyncUploadToComplete) { |
id = resource_provider->CreateResource( |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |
- resource_provider->AcquirePixelRasterBuffer(id); |
+ RasterBuffer* raster_buffer = resource_provider->AcquirePixelRasterBuffer(id); |
+ skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas(); |
+ raster_buffer->ReleaseSkCanvas(canvas); |
+ canvas.clear(); |
EXPECT_CALL(*context, NextTextureId()).WillOnce(Return(texture_id)); |
EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, texture_id)).Times(2); |
@@ -2937,10 +2950,11 @@ TEST_P(ResourceProviderTest, PixelBufferLostContext) { |
context->loseContextCHROMIUM(GL_GUILTY_CONTEXT_RESET_ARB, |
GL_INNOCENT_CONTEXT_RESET_ARB); |
- resource_provider->AcquirePixelRasterBuffer(id); |
- SkCanvas* raster_canvas = resource_provider->MapPixelRasterBuffer(id); |
- EXPECT_TRUE(raster_canvas == NULL); |
- resource_provider->UnmapPixelRasterBuffer(id); |
+ RasterBuffer* raster_buffer = resource_provider->AcquirePixelRasterBuffer(id); |
+ skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas(); |
+ EXPECT_TRUE(canvas.get() == NULL); |
+ raster_buffer->ReleaseSkCanvas(canvas); |
+ canvas.clear(); |
resource_provider->ReleasePixelRasterBuffer(id); |
Mock::VerifyAndClearExpectations(context); |
} |
@@ -2987,12 +3001,8 @@ TEST_P(ResourceProviderTest, Image_GLTexture) { |
EXPECT_CALL(*context, mapImageCHROMIUM(kImageId)) |
.WillOnce(Return(dummy_mapped_buffer_address)) |
.RetiresOnSaturation(); |
- resource_provider->MapImageRasterBuffer(id); |
- |
- EXPECT_CALL(*context, unmapImageCHROMIUM(kImageId)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- resource_provider->UnmapImageRasterBuffer(id); |
+ resource_provider->AcquireImageRasterBuffer(id); |
+ resource_provider->ReleaseImageRasterBuffer(id); |
EXPECT_CALL(*context, NextTextureId()) |
.WillOnce(Return(kTextureId)) |
@@ -3017,12 +3027,8 @@ TEST_P(ResourceProviderTest, Image_GLTexture) { |
EXPECT_CALL(*context, mapImageCHROMIUM(kImageId)) |
.WillOnce(Return(dummy_mapped_buffer_address)) |
.RetiresOnSaturation(); |
- resource_provider->MapImageRasterBuffer(id); |
- |
- EXPECT_CALL(*context, unmapImageCHROMIUM(kImageId)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- resource_provider->UnmapImageRasterBuffer(id); |
+ resource_provider->AcquireImageRasterBuffer(id); |
+ resource_provider->ReleaseImageRasterBuffer(id); |
EXPECT_CALL(*context, bindTexture(GL_TEXTURE_2D, kTextureId)).Times(1) |
.RetiresOnSaturation(); |
@@ -3069,10 +3075,13 @@ TEST_P(ResourceProviderTest, Image_Bitmap) { |
SkBitmap bitmap; |
bitmap.allocN32Pixels(size.width(), size.height()); |
*(bitmap.getAddr32(0, 0)) = kBadBeef; |
- SkCanvas* canvas = resource_provider->MapImageRasterBuffer(id); |
+ RasterBuffer* raster_buffer = resource_provider->AcquireImageRasterBuffer(id); |
+ skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas(); |
ASSERT_TRUE(!!canvas); |
canvas->writePixels(bitmap, 0, 0); |
- resource_provider->UnmapImageRasterBuffer(id); |
+ raster_buffer->ReleaseSkCanvas(canvas); |
+ canvas.clear(); |
+ resource_provider->ReleaseImageRasterBuffer(id); |
{ |
ResourceProvider::ScopedReadLockSoftware lock(resource_provider.get(), id); |
@@ -3129,13 +3138,8 @@ TEST_P(ResourceProviderTest, CopyResource_GLTexture) { |
EXPECT_CALL(*context, mapImageCHROMIUM(kImageId)) |
.WillOnce(Return(dummy_mapped_buffer_address)) |
.RetiresOnSaturation(); |
- resource_provider->MapImageRasterBuffer(source_id); |
- Mock::VerifyAndClearExpectations(context); |
- |
- EXPECT_CALL(*context, unmapImageCHROMIUM(kImageId)) |
- .Times(1) |
- .RetiresOnSaturation(); |
- resource_provider->UnmapImageRasterBuffer(source_id); |
+ resource_provider->AcquireImageRasterBuffer(source_id); |
+ resource_provider->ReleaseImageRasterBuffer(source_id); |
Mock::VerifyAndClearExpectations(context); |
dest_id = resource_provider->CreateResource( |
@@ -3195,10 +3199,14 @@ TEST_P(ResourceProviderTest, CopyResource_Bitmap) { |
SkBitmap bitmap; |
bitmap.allocN32Pixels(size.width(), size.height()); |
*(bitmap.getAddr32(0, 0)) = kBadBeef; |
- SkCanvas* canvas = resource_provider->MapImageRasterBuffer(source_id); |
+ RasterBuffer* raster_buffer = |
+ resource_provider->AcquireImageRasterBuffer(source_id); |
+ skia::RefPtr<SkCanvas> canvas = raster_buffer->AcquireSkCanvas(); |
ASSERT_TRUE(!!canvas); |
canvas->writePixels(bitmap, 0, 0); |
- resource_provider->UnmapImageRasterBuffer(source_id); |
+ raster_buffer->ReleaseSkCanvas(canvas); |
+ canvas.clear(); |
+ resource_provider->ReleaseImageRasterBuffer(source_id); |
dest_id = resource_provider->CreateResource( |
size, GL_CLAMP_TO_EDGE, ResourceProvider::TextureUsageAny, format); |