| Index: gpu/command_buffer/service/context_group.h
 | 
| diff --git a/gpu/command_buffer/service/context_group.h b/gpu/command_buffer/service/context_group.h
 | 
| index b6b64830803d1ea2808a9f599bf9e4888ce07a53..f695a3e1a81d429a965abbea62f288a05b13552f 100644
 | 
| --- a/gpu/command_buffer/service/context_group.h
 | 
| +++ b/gpu/command_buffer/service/context_group.h
 | 
| @@ -5,6 +5,7 @@
 | 
|  #ifndef GPU_COMMAND_BUFFER_SERVICE_CONTEXT_GROUP_H_
 | 
|  #define GPU_COMMAND_BUFFER_SERVICE_CONTEXT_GROUP_H_
 | 
|  
 | 
| +#include <map>
 | 
|  #include <string>
 | 
|  #include <vector>
 | 
|  #include "base/basictypes.h"
 | 
| @@ -174,6 +175,43 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
 | 
|      draw_buffer_ = buf;
 | 
|    }
 | 
|  
 | 
| +  void AddSamplerId(GLuint client_id, GLuint service_id) {
 | 
| +    samplers_id_map_[client_id] = service_id;
 | 
| +  }
 | 
| +
 | 
| +  bool GetSamplerServiceId(GLuint client_id, GLuint* service_id) const {
 | 
| +    std::map<GLuint, GLuint>::const_iterator iter =
 | 
| +        samplers_id_map_.find(client_id);
 | 
| +    if (iter == samplers_id_map_.end())
 | 
| +      return false;
 | 
| +    if (service_id)
 | 
| +      *service_id = iter->second;
 | 
| +    return true;
 | 
| +  }
 | 
| +
 | 
| +  void RemoveSamplerId(GLuint client_id) {
 | 
| +    samplers_id_map_.erase(client_id);
 | 
| +  }
 | 
| +
 | 
| +  void AddTransformFeedbackId(GLuint client_id, GLuint service_id) {
 | 
| +    transformfeedbacks_id_map_[client_id] = service_id;
 | 
| +  }
 | 
| +
 | 
| +  bool GetTransformFeedbackServiceId(
 | 
| +      GLuint client_id, GLuint* service_id) const {
 | 
| +    std::map<GLuint, GLuint>::const_iterator iter =
 | 
| +        transformfeedbacks_id_map_.find(client_id);
 | 
| +    if (iter == transformfeedbacks_id_map_.end())
 | 
| +      return false;
 | 
| +    if (service_id)
 | 
| +      *service_id = iter->second;
 | 
| +    return true;
 | 
| +  }
 | 
| +
 | 
| +  void RemoveTransformFeedbackId(GLuint client_id) {
 | 
| +    transformfeedbacks_id_map_.erase(client_id);
 | 
| +  }
 | 
| +
 | 
|   private:
 | 
|    friend class base::RefCounted<ContextGroup>;
 | 
|    ~ContextGroup();
 | 
| @@ -223,6 +261,10 @@ class GPU_EXPORT ContextGroup : public base::RefCounted<ContextGroup> {
 | 
|  
 | 
|    std::vector<base::WeakPtr<gles2::GLES2Decoder> > decoders_;
 | 
|  
 | 
| +  // Mappings from client side IDs to service side IDs.
 | 
| +  std::map<GLuint, GLuint> samplers_id_map_;
 | 
| +  std::map<GLuint, GLuint> transformfeedbacks_id_map_;
 | 
| +
 | 
|    GLenum draw_buffer_;
 | 
|  
 | 
|    DISALLOW_COPY_AND_ASSIGN(ContextGroup);
 | 
| 
 |