| Index: cc/raster/gpu_tile_task_worker_pool.cc
|
| diff --git a/cc/raster/gpu_tile_task_worker_pool.cc b/cc/raster/gpu_tile_task_worker_pool.cc
|
| index aac2bd37fabc0f235a84f4199c85fcfbfc631cc9..c070390e2c4e3fd1ab7b9a7b3d65ee24e1aa912a 100644
|
| --- a/cc/raster/gpu_tile_task_worker_pool.cc
|
| +++ b/cc/raster/gpu_tile_task_worker_pool.cc
|
| @@ -43,13 +43,9 @@ class RasterBufferImpl : public RasterBuffer {
|
| ContextProvider* context_provider = rasterizer_->resource_provider()
|
| ->output_surface()
|
| ->worker_context_provider();
|
| + DCHECK(context_provider);
|
|
|
| - // The context lock must be held while accessing the context on a
|
| - // worker thread.
|
| - base::AutoLock context_lock(*context_provider->GetLock());
|
| -
|
| - // Allow this worker thread to bind to context_provider.
|
| - context_provider->DetachFromThread();
|
| + ContextProvider::ScopedContextLock scoped_context(context_provider);
|
|
|
| gfx::Rect playback_rect = raster_full_rect;
|
| if (resource_has_previous_content_) {
|
| @@ -64,10 +60,7 @@ class RasterBufferImpl : public RasterBuffer {
|
| playback_rect, scale);
|
|
|
| // Barrier to sync worker context output to cc context.
|
| - context_provider->ContextGL()->OrderingBarrierCHROMIUM();
|
| -
|
| - // Allow compositor thread to bind to context_provider.
|
| - context_provider->DetachFromThread();
|
| + scoped_context.ContextGL()->OrderingBarrierCHROMIUM();
|
| }
|
|
|
| private:
|
|
|