| 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 ca13517d9d8e67ef81a1db32ef5e8b1652581d42..0b557f5fad384cb75028e2c13e67df1c0dd77745 100644
|
| --- a/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
|
| +++ b/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
|
| @@ -972,11 +972,13 @@ WebGLRenderingContextBase::WebGLRenderingContextBase(
|
| OffscreenCanvas* passedOffscreenCanvas,
|
| std::unique_ptr<WebGraphicsContext3DProvider> contextProvider,
|
| const CanvasContextCreationAttributes& requestedAttributes,
|
| + ExecutionContext* executionContext,
|
| unsigned version)
|
| : WebGLRenderingContextBase(nullptr,
|
| passedOffscreenCanvas,
|
| std::move(contextProvider),
|
| requestedAttributes,
|
| + executionContext,
|
| version) {}
|
|
|
| WebGLRenderingContextBase::WebGLRenderingContextBase(
|
| @@ -988,6 +990,7 @@ WebGLRenderingContextBase::WebGLRenderingContextBase(
|
| nullptr,
|
| std::move(contextProvider),
|
| requestedAttributes,
|
| + nullptr,
|
| version) {}
|
|
|
| WebGLRenderingContextBase::WebGLRenderingContextBase(
|
| @@ -995,6 +998,7 @@ WebGLRenderingContextBase::WebGLRenderingContextBase(
|
| OffscreenCanvas* passedOffscreenCanvas,
|
| std::unique_ptr<WebGraphicsContext3DProvider> contextProvider,
|
| const CanvasContextCreationAttributes& requestedAttributes,
|
| + ExecutionContext* executionContext,
|
| unsigned version)
|
| : CanvasRenderingContext(passedCanvas,
|
| passedOffscreenCanvas,
|
| @@ -1023,7 +1027,8 @@ WebGLRenderingContextBase::WebGLRenderingContextBase(
|
| m_isOESTextureHalfFloatFormatsTypesAdded(false),
|
| m_isWebGLDepthTextureFormatsTypesAdded(false),
|
| m_isEXTsRGBFormatsTypesAdded(false),
|
| - m_version(version) {
|
| + m_version(version),
|
| + m_executionContext(executionContext) {
|
| ASSERT(contextProvider);
|
|
|
| m_contextGroup = WebGLContextGroup::create();
|
| @@ -7297,7 +7302,10 @@ bool WebGLRenderingContextBase::validateDrawElements(const char* functionName,
|
| void WebGLRenderingContextBase::dispatchContextLostEvent(TimerBase*) {
|
| WebGLContextEvent* event = WebGLContextEvent::create(
|
| EventTypeNames::webglcontextlost, false, true, "");
|
| - canvas()->dispatchEvent(event);
|
| + if (getOffscreenCanvas())
|
| + getOffscreenCanvas()->dispatchEvent(event);
|
| + else
|
| + canvas()->dispatchEvent(event);
|
| m_restoreAllowed = event->defaultPrevented();
|
| if (m_restoreAllowed && !m_isHidden) {
|
| if (m_autoRecoveryMethod == Auto)
|
| @@ -7596,6 +7604,7 @@ DEFINE_TRACE(WebGLRenderingContextBase) {
|
| visitor->trace(m_renderbufferBinding);
|
| visitor->trace(m_textureUnits);
|
| visitor->trace(m_extensions);
|
| + visitor->trace(m_executionContext);
|
| CanvasRenderingContext::trace(visitor);
|
| }
|
|
|
|
|