Chromium Code Reviews| Index: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp | 
| diff --git a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp | 
| index 6a68b1659cd48b1b932d67291b0ab8663a738304..131de15a51d63cb20b646ae69b9a3024d7d01ad3 100644 | 
| --- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp | 
| +++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp | 
| @@ -47,6 +47,7 @@ | 
| #include "core/layout/LayoutBox.h" | 
| #include "core/loader/FrameLoader.h" | 
| #include "core/loader/FrameLoaderClient.h" | 
| +#include "core/origin_trials/OriginTrials.h" | 
| #include "gpu/command_buffer/client/gles2_interface.h" | 
| #include "modules/webgl/ANGLEInstancedArrays.h" | 
| #include "modules/webgl/EXTBlendMinMax.h" | 
| @@ -597,6 +598,17 @@ WebGLRenderingContextBase::createContextProviderInternal( | 
| Platform::ContextAttributes contextAttributes = | 
| toPlatformContextAttributes(attributes, webGLVersion); | 
| + | 
| + // If there's a possibility this context may be used with WebVR make sure it | 
| + // is created with an offscreen surface that can be swapped out for a | 
| + // VR-specific surface if needed. | 
| + ExecutionContext* executionContext = | 
| + canvas ? &canvas->document() : scriptState->getExecutionContext(); | 
| + if (RuntimeEnabledFeatures::webVREnabled() || | 
| + OriginTrials::webVREnabled(executionContext)) { | 
| + contextAttributes.ownOffscreenSurface = true; | 
| 
 
Ken Russell (switch to Gerrit)
2016/11/29 05:09:06
I haven't reviewed the rest of the patch in depth,
 
klausw
2017/01/05 02:17:43
For context, the point of this change is to prepar
 
 | 
| + } | 
| + | 
| Platform::GraphicsInfo glInfo; | 
| std::unique_ptr<WebGraphicsContext3DProvider> contextProvider; | 
| if (isMainThread()) { |