| Index: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| diff --git a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| index 0ec433698eb200967e720a8baf3e32f7bff34357..1f1ce7e2f95b3d598f6a1cf4680b1266880e4aeb 100644
|
| --- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| +++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
|
| @@ -45,6 +45,8 @@
|
| #include "platform/graphics/gpu/DrawingBuffer.h"
|
| #include "platform/graphics/gpu/Extensions3DUtil.h"
|
| #include "platform/graphics/gpu/WebGLImageConversion.h"
|
| +#include "public/platform/Platform.h"
|
| +#include "public/platform/WebGraphicsContext3DProvider.h"
|
| #include "wtf/OwnPtr.h"
|
| #include "wtf/text/WTFString.h"
|
|
|
| @@ -83,6 +85,7 @@ class OESTextureFloatLinear;
|
| class OESTextureHalfFloat;
|
| class OESTextureHalfFloatLinear;
|
| class OESVertexArrayObject;
|
| +class WaitableEvent;
|
| class WebGLActiveInfo;
|
| class WebGLBuffer;
|
| class WebGLCompressedTextureASTC;
|
| @@ -1077,6 +1080,27 @@ protected:
|
|
|
| private:
|
| WebGLRenderingContextBase(HTMLCanvasElement*, OffscreenCanvas*, PassOwnPtr<WebGraphicsContext3DProvider>, const WebGLContextAttributes&);
|
| + static PassOwnPtr<WebGraphicsContext3DProvider> createWebGraphicsContext3DProviderInternal(HTMLCanvasElement*, ScriptState*, WebGLContextAttributes, unsigned);
|
| + class createWebGraphicsContext3DProviderUtils {
|
| + public:
|
| + createWebGraphicsContext3DProviderUtils(Platform::ContextAttributes contextAttributes, Platform::GraphicsInfo glInfo, ScriptState* scriptState)
|
| + {
|
| + m_contextAttributes = contextAttributes;
|
| + m_glInfo = glInfo;
|
| + m_scriptState = scriptState;
|
| + }
|
| + Platform::ContextAttributes contextAttributes() { return m_contextAttributes; }
|
| + Platform::GraphicsInfo glInfo() { return m_glInfo; }
|
| + ScriptState* scriptState() { return m_scriptState; }
|
| + void setContextProvider(PassOwnPtr<WebGraphicsContext3DProvider> provider) { m_provider = std::move(provider); }
|
| + PassOwnPtr<WebGraphicsContext3DProvider> releaseContextProvider() { return m_provider.release(); }
|
| + private:
|
| + Platform::ContextAttributes m_contextAttributes;
|
| + Platform::GraphicsInfo m_glInfo;
|
| + ScriptState* m_scriptState;
|
| + OwnPtr<WebGraphicsContext3DProvider> m_provider;
|
| + };
|
| + static void createWebGraphicsContext3DProviderMainThread(createWebGraphicsContext3DProviderUtils*, WaitableEvent*);
|
| };
|
|
|
| DEFINE_TYPE_CASTS(WebGLRenderingContextBase, CanvasRenderingContext, context, context->is3d(), context.is3d());
|
|
|