| Index: gpu/command_buffer/service/shader_translator.h | 
| diff --git a/gpu/command_buffer/service/shader_translator.h b/gpu/command_buffer/service/shader_translator.h | 
| index 9173740170de0c2abb4fbadd90f967c33dbb71b9..f82343e6657bb323f1565df9209b90c67f03dc19 100644 | 
| --- a/gpu/command_buffer/service/shader_translator.h | 
| +++ b/gpu/command_buffer/service/shader_translator.h | 
| @@ -32,7 +32,25 @@ class ShaderTranslatorInterface { | 
| kGlslBuiltInFunctionEmulated | 
| }; | 
|  | 
| -  virtual ~ShaderTranslatorInterface() { } | 
| +  struct VariableInfo { | 
| +    VariableInfo() | 
| +        : type(0), | 
| +          size(0) { | 
| +    } | 
| + | 
| +    VariableInfo(int _type, int _size, std::string _name) | 
| +        : type(_type), | 
| +          size(_size), | 
| +          name(_name) { | 
| +    } | 
| + | 
| +    int type; | 
| +    int size; | 
| +    std::string name;  // name in the original shader source. | 
| +  }; | 
| + | 
| +  // Mapping between variable name and info. | 
| +  typedef base::hash_map<std::string, VariableInfo> VariableMap; | 
|  | 
| // Initializes the translator. | 
| // Must be called once before using the translator object. | 
| @@ -54,24 +72,11 @@ class ShaderTranslatorInterface { | 
| virtual const char* translated_shader() const = 0; | 
| virtual const char* info_log() const = 0; | 
|  | 
| -  struct VariableInfo { | 
| -    VariableInfo() | 
| -        : type(0), | 
| -          size(0) { | 
| -    } | 
| -      VariableInfo(int _type, int _size, std::string _name) | 
| -        : type(_type), | 
| -          size(_size), | 
| -          name(_name) { | 
| -    } | 
| -    int type; | 
| -    int size; | 
| -    std::string name;  // name in the original shader source. | 
| -  }; | 
| -  // Mapping between variable name and info. | 
| -  typedef base::hash_map<std::string, VariableInfo> VariableMap; | 
| virtual const VariableMap& attrib_map() const = 0; | 
| virtual const VariableMap& uniform_map() const = 0; | 
| + | 
| + protected: | 
| +  virtual ~ShaderTranslatorInterface() {} | 
| }; | 
|  | 
| // Implementation of ShaderTranslatorInterface | 
| @@ -85,6 +90,7 @@ class GPU_EXPORT ShaderTranslator | 
| virtual ~DestructionObserver(); | 
|  | 
| virtual void OnDestruct(ShaderTranslator* translator) = 0; | 
| + | 
| private: | 
| DISALLOW_COPY_AND_ASSIGN(DestructionObserver); | 
| }; | 
| @@ -114,8 +120,9 @@ class GPU_EXPORT ShaderTranslator | 
| void RemoveDestructionObserver(DestructionObserver* observer); | 
|  | 
| private: | 
| -  virtual ~ShaderTranslator(); | 
| +  friend class base::RefCounted<ShaderTranslator>; | 
|  | 
| +  virtual ~ShaderTranslator(); | 
| void ClearResults(); | 
|  | 
| ShHandle compiler_; | 
| @@ -127,8 +134,6 @@ class GPU_EXPORT ShaderTranslator | 
| bool needs_built_in_function_emulation_; | 
| ObserverList<DestructionObserver> destruction_observers_; | 
|  | 
| -  friend class base::RefCounted<ShaderTranslator>; | 
| - | 
| DISALLOW_COPY_AND_ASSIGN(ShaderTranslator); | 
| }; | 
|  | 
|  |