| Index: gpu/command_buffer/service/memory_tracking.h | 
| diff --git a/gpu/command_buffer/service/memory_tracking.h b/gpu/command_buffer/service/memory_tracking.h | 
| index 155ed4b5aa2f219ac97ee95ccb15484176a39515..c89be0fadffa3568bd81b9d27a8b11fabb296468 100644 | 
| --- a/gpu/command_buffer/service/memory_tracking.h | 
| +++ b/gpu/command_buffer/service/memory_tracking.h | 
| @@ -25,6 +25,9 @@ class MemoryTracker : public base::RefCounted<MemoryTracker> { | 
| size_t new_size, | 
| Pool pool) = 0; | 
|  | 
| +   // Ensure a certain amount of GPU memory is free. Returns true on success. | 
| +   virtual bool EnsureGPUMemoryAvailable(size_t size_needed) = 0; | 
| + | 
| protected: | 
| friend class base::RefCounted<MemoryTracker>; | 
| MemoryTracker() {} | 
| @@ -67,6 +70,14 @@ class MemoryTypeTracker { | 
| return mem_represented_at_last_update_; | 
| } | 
|  | 
| +  // Ensure a certain amount of GPU memory is free. Returns true on success. | 
| +  bool EnsureGPUMemoryAvailable(size_t size_needed) { | 
| +    if (memory_tracker_) { | 
| +      return memory_tracker_->EnsureGPUMemoryAvailable(size_needed); | 
| +    } | 
| +    return true; | 
| +  } | 
| + | 
| private: | 
| void UpdateMemRepresented() { | 
| // Skip redundant updates only if we have already done an update. | 
|  |