| Index: ui/gl/gl_context_egl.cc
 | 
| diff --git a/ui/gl/gl_context_egl.cc b/ui/gl/gl_context_egl.cc
 | 
| index a5c61e877b74421180bc224558f74da71060f482..dc406f47a7a6c24ea9fa86ffb6c5a33f1fec195e 100644
 | 
| --- a/ui/gl/gl_context_egl.cc
 | 
| +++ b/ui/gl/gl_context_egl.cc
 | 
| @@ -9,8 +9,9 @@
 | 
|  #include "base/memory/scoped_ptr.h"
 | 
|  #include "build/build_config.h"
 | 
|  #include "third_party/angle/include/EGL/egl.h"
 | 
| +#include "third_party/angle/include/EGL/eglext.h"
 | 
|  #include "ui/gl/egl_util.h"
 | 
| -#include "ui/gl/gl_surface.h"
 | 
| +#include "ui/gl/gl_surface_egl.h"
 | 
|  
 | 
|  // This header must come after the above third-party include, as
 | 
|  // it brings in #defines that cause conflicts.
 | 
| @@ -40,15 +41,33 @@ bool GLContextEGL::Initialize(
 | 
|      EGL_CONTEXT_CLIENT_VERSION, 2,
 | 
|      EGL_NONE
 | 
|    };
 | 
| +  static const EGLint kContextRobustnessAttributes[] = {
 | 
| +    EGL_CONTEXT_CLIENT_VERSION, 2,
 | 
| +    EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT,
 | 
| +    EGL_LOSE_CONTEXT_ON_RESET_EXT,
 | 
| +    EGL_NONE
 | 
| +  };
 | 
|  
 | 
|    display_ = compatible_surface->GetDisplay();
 | 
|    config_ = compatible_surface->GetConfig();
 | 
|  
 | 
| +  const EGLint* context_attributes = NULL;
 | 
| +  if (GLSurfaceEGL::IsCreateContextRobustnessSupported()) {
 | 
| +    DVLOG(1) << "EGL_EXT_create_context_robustness supported.";
 | 
| +    context_attributes = kContextRobustnessAttributes;
 | 
| +  } else {
 | 
| +    // At some point we should require the presence of the robustness
 | 
| +    // extension and remove this code path.
 | 
| +    DVLOG(1) << "EGL_EXT_create_context_robustness NOT supported.";
 | 
| +    context_attributes = kContextAttributes;
 | 
| +  }
 | 
| +
 | 
|    context_ = eglCreateContext(
 | 
|        display_,
 | 
|        config_,
 | 
|        share_group() ? share_group()->GetHandle() : NULL,
 | 
| -      kContextAttributes);
 | 
| +      context_attributes);
 | 
| +
 | 
|    if (!context_) {
 | 
|      LOG(ERROR) << "eglCreateContext failed with error "
 | 
|                 << GetLastEGLErrorString();
 | 
| @@ -155,6 +174,10 @@ std::string GLContextEGL::GetExtensions() {
 | 
|    return GLContext::GetExtensions() + " " + extensions;
 | 
|  }
 | 
|  
 | 
| +bool GLContextEGL::WasAllocatedUsingRobustnessExtension() {
 | 
| +  return GLSurfaceEGL::IsCreateContextRobustnessSupported();
 | 
| +}
 | 
| +
 | 
|  GLContextEGL::~GLContextEGL() {
 | 
|    Destroy();
 | 
|  }
 | 
| 
 |