| Index: cc/tiles/image_controller_unittest.cc | 
| diff --git a/cc/tiles/image_controller_unittest.cc b/cc/tiles/image_controller_unittest.cc | 
| index b963ff1c9aa53fb826a310edd3d6837290164382..ddd537617a2a4cc5d891466d344dbdfa9081ed97 100644 | 
| --- a/cc/tiles/image_controller_unittest.cc | 
| +++ b/cc/tiles/image_controller_unittest.cc | 
| @@ -21,17 +21,21 @@ class TestWorkerThread : public base::SimpleThread { | 
|  | 
| void Run() override { | 
| for (;;) { | 
| -      base::AutoLock hold(lock_); | 
| -      if (shutdown_) | 
| -        break; | 
| - | 
| -      if (queue_.empty()) { | 
| -        condition_.Wait(); | 
| -        continue; | 
| +      base::Closure task; | 
| +      { | 
| +        base::AutoLock hold(lock_); | 
| +        if (shutdown_) | 
| +          break; | 
| + | 
| +        if (queue_.empty()) { | 
| +          condition_.Wait(); | 
| +          continue; | 
| +        } | 
| + | 
| +        task = queue_.front(); | 
| +        queue_.erase(queue_.begin()); | 
| } | 
| - | 
| -      queue_.front().Run(); | 
| -      queue_.erase(queue_.begin()); | 
| +      task.Run(); | 
| } | 
| } | 
|  | 
|  |