| Index: ui/gl/scoped_make_current.cc | 
| diff --git a/ui/gl/scoped_make_current.cc b/ui/gl/scoped_make_current.cc | 
| index e75a0416e518e95381821ae644a258b4b9a0a980..d93e3171447c86b30342e2dd48d436625e978985 100644 | 
| --- a/ui/gl/scoped_make_current.cc | 
| +++ b/ui/gl/scoped_make_current.cc | 
| @@ -35,4 +35,16 @@ bool ScopedMakeCurrent::Succeeded() const { | 
| return succeeded_; | 
| } | 
|  | 
| +ScopedReleaseCurrent::ScopedReleaseCurrent(gl::GLSurface* this_surface) { | 
| +  gl::GLContext* current_context = gl::GLContext::GetCurrent(); | 
| +  bool was_current = | 
| +      current_context && current_context->IsCurrent(this_surface); | 
| +  if (was_current) { | 
| +    make_current_.emplace(current_context, this_surface); | 
| +    current_context->ReleaseCurrent(this_surface); | 
| +  } | 
| +} | 
| + | 
| +ScopedReleaseCurrent::~ScopedReleaseCurrent() {} | 
| + | 
| }  // namespace ui | 
|  |