| Index: cc/resources/resource_provider.cc
|
| diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
|
| index c0e8f1bd205ddd938390c8cbf10b0b46ce466904..5b8bcd2263e275cf5ef807d7e649b35c2e076356 100644
|
| --- a/cc/resources/resource_provider.cc
|
| +++ b/cc/resources/resource_provider.cc
|
| @@ -622,21 +622,11 @@ ResourceProvider::ResourceId ResourceProvider::CreateResourceFromTextureMailbox(
|
| RGBA_8888);
|
| } else {
|
| DCHECK(mailbox.IsSharedMemory());
|
| - base::SharedMemory* shared_memory = mailbox.shared_memory();
|
| - DCHECK(shared_memory->memory());
|
| - uint8_t* pixels = reinterpret_cast<uint8_t*>(shared_memory->memory());
|
| + SharedBitmap* shared_bitmap = mailbox.shared_bitmap();
|
| + uint8_t* pixels = shared_bitmap->pixels();
|
| DCHECK(pixels);
|
| - scoped_ptr<SharedBitmap> shared_bitmap;
|
| - if (shared_bitmap_manager_) {
|
| - shared_bitmap =
|
| - shared_bitmap_manager_->GetBitmapForSharedMemory(shared_memory);
|
| - }
|
| - resource = Resource(pixels,
|
| - shared_bitmap.release(),
|
| - mailbox.shared_memory_size(),
|
| - Resource::External,
|
| - GL_LINEAR,
|
| - GL_CLAMP_TO_EDGE);
|
| + resource = Resource(pixels, shared_bitmap, mailbox.shared_memory_size(),
|
| + Resource::External, GL_LINEAR, GL_CLAMP_TO_EDGE);
|
| }
|
| resource.allocated = true;
|
| resource.mailbox = mailbox;
|
| @@ -714,13 +704,8 @@ void ResourceProvider::DeleteResourceInternal(ResourceMap::iterator it,
|
| }
|
| } else {
|
| DCHECK(resource->mailbox.IsSharedMemory());
|
| - base::SharedMemory* shared_memory = resource->mailbox.shared_memory();
|
| - if (resource->pixels && shared_memory) {
|
| - DCHECK(shared_memory->memory() == resource->pixels);
|
| - resource->pixels = NULL;
|
| - delete resource->shared_bitmap;
|
| - resource->shared_bitmap = NULL;
|
| - }
|
| + resource->shared_bitmap = nullptr;
|
| + resource->pixels = nullptr;
|
| }
|
| resource->release_callback_impl.Run(
|
| sync_point, lost_resource, blocking_main_thread_task_runner_);
|
| @@ -1123,11 +1108,6 @@ SkSurface* ResourceProvider::ScopedWriteLockGr::GetSkSurface(
|
| !resource_->sk_surface.get() ||
|
| !SurfaceHasMatchingProperties(use_distance_field_text, can_use_lcd_text);
|
| if (create_surface) {
|
| - class GrContext* gr_context = resource_provider_->GrContext();
|
| - // TODO(alokp): Implement TestContextProvider::GrContext().
|
| - if (!gr_context)
|
| - return nullptr;
|
| -
|
| resource_provider_->LazyAllocate(resource_);
|
|
|
| GrBackendTextureDesc desc;
|
| @@ -1137,6 +1117,8 @@ SkSurface* ResourceProvider::ScopedWriteLockGr::GetSkSurface(
|
| desc.fConfig = ToGrPixelConfig(resource_->format);
|
| desc.fOrigin = kTopLeft_GrSurfaceOrigin;
|
| desc.fTextureHandle = resource_->gl_id;
|
| +
|
| + class GrContext* gr_context = resource_provider_->GrContext();
|
| skia::RefPtr<GrTexture> gr_texture =
|
| skia::AdoptRef(gr_context->wrapBackendTexture(desc));
|
| if (!gr_texture)
|
|
|