Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 60b1bee24bc4d7ed1ef13f8dcbf486f8b9d6d46f
      
https://github.com/WebKit/WebKit/commit/60b1bee24bc4d7ed1ef13f8dcbf486f8b9d6d46f
  Author: Kimmo Kinnunen <[email protected]>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M LayoutTests/TestExpectations
    R LayoutTests/fast/canvas/webgl/context-lost.html
    M Source/WebCore/html/canvas/OESVertexArrayObject.cpp
    M Source/WebCore/html/canvas/OESVertexArrayObject.h
    M Source/WebCore/html/canvas/OESVertexArrayObject.idl
    M Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
    M Source/WebCore/html/canvas/WebGL2RenderingContext.h
    M Source/WebCore/html/canvas/WebGL2RenderingContext.idl
    M Source/WebCore/html/canvas/WebGLBuffer.cpp
    M Source/WebCore/html/canvas/WebGLBuffer.h
    M Source/WebCore/html/canvas/WebGLFramebuffer.cpp
    M Source/WebCore/html/canvas/WebGLFramebuffer.h
    M Source/WebCore/html/canvas/WebGLObject.h
    M Source/WebCore/html/canvas/WebGLProgram.cpp
    M Source/WebCore/html/canvas/WebGLProgram.h
    M Source/WebCore/html/canvas/WebGLQuery.cpp
    M Source/WebCore/html/canvas/WebGLQuery.h
    M Source/WebCore/html/canvas/WebGLRenderbuffer.cpp
    M Source/WebCore/html/canvas/WebGLRenderbuffer.h
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.h
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.idl
    M Source/WebCore/html/canvas/WebGLSampler.cpp
    M Source/WebCore/html/canvas/WebGLSampler.h
    M Source/WebCore/html/canvas/WebGLShader.cpp
    M Source/WebCore/html/canvas/WebGLShader.h
    M Source/WebCore/html/canvas/WebGLSync.cpp
    M Source/WebCore/html/canvas/WebGLSync.h
    M Source/WebCore/html/canvas/WebGLTexture.cpp
    M Source/WebCore/html/canvas/WebGLTexture.h
    M Source/WebCore/html/canvas/WebGLTransformFeedback.cpp
    M Source/WebCore/html/canvas/WebGLTransformFeedback.h
    M Source/WebCore/html/canvas/WebGLVertexArrayObject.cpp
    M Source/WebCore/html/canvas/WebGLVertexArrayObject.h
    M Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.cpp
    M Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.h
    M Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.cpp
    M Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.h

  Log Message:
  -----------
  WebGL CTS context loss tests fail due to create* not being infallible
https://bugs.webkit.org/show_bug.cgi?id=282031
rdar://138542123

Reviewed by Dan Glastonbury.

WebGL specs were change so that create* functions are mostly infallible,
always returning an object even if the context is lost.

Add constructors for creating the objects with lost context.

* LayoutTests/TestExpectations:
* LayoutTests/fast/canvas/webgl/context-lost.html: Removed.
Remove the old variant of the current CTS test, it is contradicting
the current CTS.
* Source/WebCore/html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::createVertexArrayOES):
* Source/WebCore/html/canvas/OESVertexArrayObject.h:
* Source/WebCore/html/canvas/OESVertexArrayObject.idl:
* Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::createQuery):
(WebCore::WebGL2RenderingContext::createSampler):
(WebCore::WebGL2RenderingContext::fenceSync):
(WebCore::WebGL2RenderingContext::createTransformFeedback):
(WebCore::WebGL2RenderingContext::createVertexArray):
* Source/WebCore/html/canvas/WebGL2RenderingContext.h:
* Source/WebCore/html/canvas/WebGL2RenderingContext.idl:
* Source/WebCore/html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::create):
(WebCore::WebGLBuffer::createLost):
* Source/WebCore/html/canvas/WebGLBuffer.h:
* Source/WebCore/html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::createLost):
(WebCore::WebGLFramebuffer::create):
(WebCore::WebGLFramebuffer::WebGLFramebuffer):
* Source/WebCore/html/canvas/WebGLFramebuffer.h:
* Source/WebCore/html/canvas/WebGLObject.h:
* Source/WebCore/html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::createLost):
(WebCore::WebGLProgram::create):
(WebCore::WebGLProgram::WebGLProgram):
* Source/WebCore/html/canvas/WebGLProgram.h:
* Source/WebCore/html/canvas/WebGLQuery.cpp:
(WebCore::WebGLQuery::createLost):
(WebCore::WebGLQuery::create):
* Source/WebCore/html/canvas/WebGLQuery.h:
* Source/WebCore/html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::createLost):
(WebCore::WebGLRenderbuffer::create):
* Source/WebCore/html/canvas/WebGLRenderbuffer.h:
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::createBuffer):
(WebCore::WebGLRenderingContextBase::createFramebuffer):
(WebCore::WebGLRenderingContextBase::createTexture):
(WebCore::WebGLRenderingContextBase::createProgram):
(WebCore::WebGLRenderingContextBase::createRenderbuffer):
(WebCore::WebGLRenderingContextBase::createShader):
* Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
* Source/WebCore/html/canvas/WebGLRenderingContextBase.idl:
* Source/WebCore/html/canvas/WebGLSampler.cpp:
(WebCore::WebGLSampler::createLost):
(WebCore::WebGLSampler::create):
* Source/WebCore/html/canvas/WebGLSampler.h:
* Source/WebCore/html/canvas/WebGLShader.cpp:
(WebCore::WebGLShader::createLost):
(WebCore::WebGLShader::create):
(WebCore::WebGLShader::WebGLShader):
* Source/WebCore/html/canvas/WebGLShader.h:
* Source/WebCore/html/canvas/WebGLSync.cpp:
(WebCore::WebGLSync::createLost):
(WebCore::WebGLSync::create):
(WebCore::WebGLSync::WebGLSync):
(WebCore::WebGLSync::scheduleAllowCacheUpdate):
* Source/WebCore/html/canvas/WebGLSync.h:
* Source/WebCore/html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::createLost):
(WebCore::WebGLTexture::create):
* Source/WebCore/html/canvas/WebGLTexture.h:
* Source/WebCore/html/canvas/WebGLTransformFeedback.cpp:
(WebCore::WebGLTransformFeedback::createLost):
(WebCore::WebGLTransformFeedback::create):
* Source/WebCore/html/canvas/WebGLTransformFeedback.h:
* Source/WebCore/html/canvas/WebGLVertexArrayObject.cpp:
(WebCore::WebGLVertexArrayObject::createLost):
(WebCore::WebGLVertexArrayObject::create):
* Source/WebCore/html/canvas/WebGLVertexArrayObject.h:
* Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.cpp:
(WebCore::WebGLVertexArrayObjectBase::WebGLVertexArrayObjectBase):
* Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.h:
* Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.cpp:
(WebCore::WebGLVertexArrayObjectOES::createLost):
(WebCore::WebGLVertexArrayObjectOES::createUser):
* Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.h:

Canonical link: https://commits.webkit.org/308490@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to