| Index: tests/GLInterfaceValidationTest.cpp | 
| diff --git a/tests/GLInterfaceValidationTest.cpp b/tests/GLInterfaceValidationTest.cpp | 
| index b890b44e5f733dc3c950e6bf70a6964716fb4e6f..5736e2d2d6724519bd416badb65bdfe20bcabec6 100755 | 
| --- a/tests/GLInterfaceValidationTest.cpp | 
| +++ b/tests/GLInterfaceValidationTest.cpp | 
| @@ -12,33 +12,28 @@ | 
|  | 
| #include "GrContextFactory.h" | 
|  | 
| -DEF_GPUTEST(GLInterfaceValidation, reporter, /*factory*/) { | 
| -    GrContextFactory testFactory; | 
| +DEF_GPUTEST(GLInterfaceValidation, reporter, factory) { | 
| +    for (int i = 0; i <= GrContextFactory::kLastGLContextType; ++i) { | 
| +        GrContextFactory::GLContextType glCtxType = (GrContextFactory::GLContextType)i; | 
| +        // this forces the factory to make the context if it hasn't yet | 
| +        GrContextFactory::ContextInfo* contextInfo = factory->getContextInfo(glCtxType); | 
| +        SkGLContext* glCtx = contextInfo ? contextInfo->fGLContext : nullptr; | 
|  | 
| -    // Test that if we do not have NV_path_rendering -related GL extensions, | 
| -    // GrContextFactory::get(.., kEnableNVPR_GLContextOptions) always returns nullptr. | 
| -    for (int i = 0; i < GrContextFactory::kGLContextTypeCnt; ++i) { | 
| -        GrContextFactory::GLContextType glCtxType = static_cast<GrContextFactory::GLContextType>(i); | 
| -        GrContextFactory::ContextInfo* context = | 
| -                testFactory.getContextInfo(glCtxType, kNone_GrGLStandard, | 
| -                                           GrContextFactory::kNone_GLContextOptions); | 
| -        if (!context) { | 
| +        // We're supposed to fail the NVPR context type when we the native context that does not | 
| +        // support the NVPR extension. | 
| +        if (GrContextFactory::kNVPR_GLContextType == glCtxType && | 
| +            factory->getContextInfo(GrContextFactory::kNative_GLContextType) && | 
| +            !factory->getContextInfo(GrContextFactory::kNative_GLContextType)->fGLContext->gl()->hasExtension("GL_NV_path_rendering")) { | 
| +            REPORTER_ASSERT(reporter, nullptr == glCtx); | 
| continue; | 
| } | 
|  | 
| -        SkGLContext* glContext = context->fGLContext; | 
| -        REPORTER_ASSERT(reporter, glContext->gl()->validate()); | 
| - | 
| -        if (!(glContext->gl()->hasExtension("GL_NV_path_rendering") || | 
| -              glContext->gl()->hasExtension("GL_CHROMIUM_path_rendering"))) { | 
| -                REPORTER_ASSERT(reporter, | 
| -                                nullptr == testFactory.getContextInfo( | 
| -                                    glCtxType, | 
| -                                    kNone_GrGLStandard, | 
| -                                    GrContextFactory::kEnableNVPR_GLContextOptions)); | 
| +        REPORTER_ASSERT(reporter, glCtx); | 
| +        if (glCtx) { | 
| +            const GrGLInterface* interface = glCtx->gl(); | 
| +            REPORTER_ASSERT(reporter, interface->validate()); | 
| } | 
| } | 
| - | 
| } | 
|  | 
| #endif | 
|  |