| Index: gpu/command_buffer/service/shader_manager.h
 | 
| diff --git a/gpu/command_buffer/service/shader_manager.h b/gpu/command_buffer/service/shader_manager.h
 | 
| index 11f567d4f06dada6a3faa29e99ade20034e6fd2c..82fd2887b8f1e1e470a689fa790611f7589379df 100644
 | 
| --- a/gpu/command_buffer/service/shader_manager.h
 | 
| +++ b/gpu/command_buffer/service/shader_manager.h
 | 
| @@ -35,10 +35,10 @@ class GPU_EXPORT Shader : public base::RefCounted<Shader> {
 | 
|      kShaderStateCompiled, // Signifies compile happened, not valid compile.
 | 
|    };
 | 
|  
 | 
| -  void RequestCompile();
 | 
| +  void RequestCompile(scoped_refptr<ShaderTranslatorInterface> translator,
 | 
| +                      TranslatedShaderSourceType type);
 | 
|  
 | 
| -  void DoCompile(ShaderTranslatorInterface* translator,
 | 
| -                 TranslatedShaderSourceType type);
 | 
| +  void DoCompile();
 | 
|  
 | 
|    ShaderState shader_state() const {
 | 
|      return shader_state_;
 | 
| @@ -64,7 +64,15 @@ class GPU_EXPORT Shader : public base::RefCounted<Shader> {
 | 
|      return translated_source_;
 | 
|    }
 | 
|  
 | 
| -  const std::string& last_compiled_source() const {
 | 
| +  std::string last_compiled_source() const {
 | 
| +    return last_compiled_source_;
 | 
| +  }
 | 
| +
 | 
| +  std::string last_compiled_signature() const {
 | 
| +    if (translator_.get()) {
 | 
| +      return last_compiled_source_ +
 | 
| +             translator_->GetStringForOptionsThatWouldAffectCompilation();
 | 
| +    }
 | 
|      return last_compiled_source_;
 | 
|    }
 | 
|  
 | 
| @@ -152,6 +160,12 @@ class GPU_EXPORT Shader : public base::RefCounted<Shader> {
 | 
|    // Type of shader - GL_VERTEX_SHADER or GL_FRAGMENT_SHADER.
 | 
|    GLenum shader_type_;
 | 
|  
 | 
| +  // Translated source type when shader was last requested to be compiled.
 | 
| +  TranslatedShaderSourceType source_type_;
 | 
| +
 | 
| +  // Translator to use, set when shader was last requested to be compiled.
 | 
| +  scoped_refptr<ShaderTranslatorInterface> translator_;
 | 
| +
 | 
|    // True if compilation succeeded.
 | 
|    bool valid_;
 | 
|  
 | 
| 
 |