| Index: gpu/command_buffer/client/mapped_memory.h | 
| diff --git a/gpu/command_buffer/client/mapped_memory.h b/gpu/command_buffer/client/mapped_memory.h | 
| index ec70c430de5969f66e652242b8554254e6c932b0..db73ca7a6091ea5753b3f498dc596cde8e192364 100644 | 
| --- a/gpu/command_buffer/client/mapped_memory.h | 
| +++ b/gpu/command_buffer/client/mapped_memory.h | 
| @@ -79,7 +79,7 @@ class GPU_EXPORT MemoryChunk { | 
| allocator_.FreePendingToken(pointer, token); | 
| } | 
|  | 
| -  // Frees any blocks who's tokens have passed. | 
| +  // Frees any blocks whose tokens have passed. | 
| void FreeUnused() { | 
| allocator_.FreeUnused(); | 
| } | 
| @@ -90,11 +90,15 @@ class GPU_EXPORT MemoryChunk { | 
| pointer < reinterpret_cast<const int8*>(shm_.ptr) + shm_.size; | 
| } | 
|  | 
| -  // Returns true of any memory in this chuck is in use. | 
| +  // Returns true of any memory in this chunk is in use. | 
| bool InUse() { | 
| return allocator_.InUse(); | 
| } | 
|  | 
| +  size_t bytes_in_use() const { | 
| +    return allocator_.bytes_in_use(); | 
| +  } | 
| + | 
| private: | 
| int32 shm_id_; | 
| gpu::Buffer shm_; | 
| @@ -103,10 +107,17 @@ class GPU_EXPORT MemoryChunk { | 
| DISALLOW_COPY_AND_ASSIGN(MemoryChunk); | 
| }; | 
|  | 
| -// Manages MemoryChucks. | 
| +// Manages MemoryChunks. | 
| class GPU_EXPORT MappedMemoryManager { | 
| public: | 
| -  explicit MappedMemoryManager(CommandBufferHelper* helper); | 
| +  enum MemoryLimit { | 
| +    kNoLimit = 0, | 
| +  }; | 
| + | 
| +  // |unused_memory_reclaim_limit|: When exceeded this causes pending memory | 
| +  // to be reclaimed before allocating more memory. | 
| +  MappedMemoryManager(CommandBufferHelper* helper, | 
| +                      size_t unused_memory_reclaim_limit); | 
|  | 
| ~MappedMemoryManager(); | 
|  | 
| @@ -146,10 +157,15 @@ class GPU_EXPORT MappedMemoryManager { | 
| void FreeUnused(); | 
|  | 
| // Used for testing | 
| -  size_t num_chunks() { | 
| +  size_t num_chunks() const { | 
| return chunks_.size(); | 
| } | 
|  | 
| +  // Used for testing | 
| +  size_t allocated_memory() const { | 
| +    return allocated_memory_; | 
| +  } | 
| + | 
| private: | 
| typedef ScopedVector<MemoryChunk> MemoryChunkVector; | 
|  | 
| @@ -157,6 +173,8 @@ class GPU_EXPORT MappedMemoryManager { | 
| unsigned int chunk_size_multiple_; | 
| CommandBufferHelper* helper_; | 
| MemoryChunkVector chunks_; | 
| +  size_t allocated_memory_; | 
| +  size_t max_free_bytes_; | 
|  | 
| DISALLOW_COPY_AND_ASSIGN(MappedMemoryManager); | 
| }; | 
|  |