| Index: src/gpu/gl/egl/SkCreatePlatformGLContext_egl.cpp | 
| diff --git a/src/gpu/gl/egl/SkNativeGLContext_egl.cpp b/src/gpu/gl/egl/SkCreatePlatformGLContext_egl.cpp | 
| similarity index 83% | 
| rename from src/gpu/gl/egl/SkNativeGLContext_egl.cpp | 
| rename to src/gpu/gl/egl/SkCreatePlatformGLContext_egl.cpp | 
| index d4d7219b5bbbf7a3799e367d7102288cfa382abc..f33e84abc4e1370db50f641e22b474ed1771e810 100644 | 
| --- a/src/gpu/gl/egl/SkNativeGLContext_egl.cpp | 
| +++ b/src/gpu/gl/egl/SkCreatePlatformGLContext_egl.cpp | 
| @@ -5,34 +5,42 @@ | 
| * Use of this source code is governed by a BSD-style license that can be | 
| * found in the LICENSE file. | 
| */ | 
| -#include "gl/SkNativeGLContext.h" | 
| +#include "gl/SkGLContext.h" | 
|  | 
| -SkNativeGLContext::AutoContextRestore::AutoContextRestore() { | 
| -    fOldEGLContext = eglGetCurrentContext(); | 
| -    fOldDisplay = eglGetCurrentDisplay(); | 
| -    fOldSurface = eglGetCurrentSurface(EGL_DRAW); | 
| +#include <GLES2/gl2.h> | 
| +#include <EGL/egl.h> | 
|  | 
| -} | 
| +namespace { | 
|  | 
| -SkNativeGLContext::AutoContextRestore::~AutoContextRestore() { | 
| -    if (fOldDisplay) { | 
| -        eglMakeCurrent(fOldDisplay, fOldSurface, fOldSurface, fOldEGLContext); | 
| -    } | 
| -} | 
| +class EGLGLContext : public SkGLContext  { | 
| +public: | 
| +    EGLGLContext(); | 
| + | 
| +    virtual ~EGLGLContext(); | 
| + | 
| +    virtual void makeCurrent() const SK_OVERRIDE; | 
| +    virtual void swapBuffers() const SK_OVERRIDE; | 
| +protected: | 
| +    virtual const GrGLInterface* createGLContext(GrGLStandard forcedGpuAPI) SK_OVERRIDE; | 
| +    virtual void destroyGLContext() SK_OVERRIDE; | 
|  | 
| -/////////////////////////////////////////////////////////////////////////////// | 
| +private: | 
| +    EGLContext fContext; | 
| +    EGLDisplay fDisplay; | 
| +    EGLSurface fSurface; | 
| +}; | 
|  | 
| -SkNativeGLContext::SkNativeGLContext() | 
| +EGLGLContext::EGLGLContext() | 
| : fContext(EGL_NO_CONTEXT) | 
| , fDisplay(EGL_NO_DISPLAY) | 
| , fSurface(EGL_NO_SURFACE) { | 
| } | 
|  | 
| -SkNativeGLContext::~SkNativeGLContext() { | 
| +EGLGLContext::~EGLGLContext() { | 
| this->destroyGLContext(); | 
| } | 
|  | 
| -void SkNativeGLContext::destroyGLContext() { | 
| +void EGLGLContext::destroyGLContext() { | 
| if (fDisplay) { | 
| eglMakeCurrent(fDisplay, 0, 0, 0); | 
|  | 
| @@ -51,7 +59,7 @@ void SkNativeGLContext::destroyGLContext() { | 
| } | 
| } | 
|  | 
| -const GrGLInterface* SkNativeGLContext::createGLContext(GrGLStandard forcedGpuAPI) { | 
| +const GrGLInterface* EGLGLContext::createGLContext(GrGLStandard forcedGpuAPI) { | 
| static const EGLint kEGLContextAttribsForOpenGL[] = { | 
| EGL_NONE | 
| }; | 
| @@ -169,14 +177,21 @@ const GrGLInterface* SkNativeGLContext::createGLContext(GrGLStandard forcedGpuAP | 
| return interface; | 
| } | 
|  | 
| -void SkNativeGLContext::makeCurrent() const { | 
| +void EGLGLContext::makeCurrent() const { | 
| if (!eglMakeCurrent(fDisplay, fSurface, fSurface, fContext)) { | 
| SkDebugf("Could not set the context.\n"); | 
| } | 
| } | 
|  | 
| -void SkNativeGLContext::swapBuffers() const { | 
| +void EGLGLContext::swapBuffers() const { | 
| if (!eglSwapBuffers(fDisplay, fSurface)) { | 
| SkDebugf("Could not complete eglSwapBuffers.\n"); | 
| } | 
| } | 
| + | 
| +} // anonymous namespace | 
| + | 
| +SkGLContext* SkCreatePlatformGLContext() { | 
| +    return SkNEW(EGLGLContext); | 
| +} | 
| + | 
|  |