Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c9354bc74322940912c8e4a0143a4c35019a6fc8
      
https://github.com/WebKit/WebKit/commit/c9354bc74322940912c8e4a0143a4c35019a6fc8
  Author: Chris Dumez <cdu...@apple.com>
  Date:   2024-01-22 (Mon, 22 Jan 2024)

  Changed paths:
    M Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp
    M Source/WebCore/html/OffscreenCanvas.cpp
    M Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp
    M Source/WebCore/html/canvas/EXTBlendMinMax.cpp
    M Source/WebCore/html/canvas/EXTClipControl.cpp
    M Source/WebCore/html/canvas/EXTColorBufferFloat.cpp
    M Source/WebCore/html/canvas/EXTColorBufferHalfFloat.cpp
    M Source/WebCore/html/canvas/EXTConservativeDepth.cpp
    M Source/WebCore/html/canvas/EXTDepthClamp.cpp
    M Source/WebCore/html/canvas/EXTDisjointTimerQuery.cpp
    M Source/WebCore/html/canvas/EXTDisjointTimerQueryWebGL2.cpp
    M Source/WebCore/html/canvas/EXTFloatBlend.cpp
    M Source/WebCore/html/canvas/EXTFragDepth.cpp
    M Source/WebCore/html/canvas/EXTPolygonOffsetClamp.cpp
    M Source/WebCore/html/canvas/EXTRenderSnorm.cpp
    M Source/WebCore/html/canvas/EXTShaderTextureLOD.cpp
    M Source/WebCore/html/canvas/EXTTextureCompressionBPTC.cpp
    M Source/WebCore/html/canvas/EXTTextureCompressionRGTC.cpp
    M Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.cpp
    M Source/WebCore/html/canvas/EXTTextureMirrorClampToEdge.cpp
    M Source/WebCore/html/canvas/EXTTextureNorm16.cpp
    M Source/WebCore/html/canvas/EXTsRGB.cpp
    M Source/WebCore/html/canvas/KHRParallelShaderCompile.cpp
    M Source/WebCore/html/canvas/NVShaderNoperspectiveInterpolation.cpp
    M Source/WebCore/html/canvas/OESDrawBuffersIndexed.cpp
    M Source/WebCore/html/canvas/OESElementIndexUint.cpp
    M Source/WebCore/html/canvas/OESFBORenderMipmap.cpp
    M Source/WebCore/html/canvas/OESSampleVariables.cpp
    M Source/WebCore/html/canvas/OESShaderMultisampleInterpolation.cpp
    M Source/WebCore/html/canvas/OESStandardDerivatives.cpp
    M Source/WebCore/html/canvas/OESTextureFloat.cpp
    M Source/WebCore/html/canvas/OESTextureFloatLinear.cpp
    M Source/WebCore/html/canvas/OESTextureHalfFloat.cpp
    M Source/WebCore/html/canvas/OESTextureHalfFloatLinear.cpp
    M Source/WebCore/html/canvas/OESVertexArrayObject.cpp
    M Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
    M Source/WebCore/html/canvas/WebGLBuffer.cpp
    M Source/WebCore/html/canvas/WebGLClipCullDistance.cpp
    M Source/WebCore/html/canvas/WebGLColorBufferFloat.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTextureASTC.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTextureETC.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTextureETC1.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTexturePVRTC.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.cpp
    M Source/WebCore/html/canvas/WebGLCompressedTextureS3TCsRGB.cpp
    M Source/WebCore/html/canvas/WebGLDebugShaders.cpp
    M Source/WebCore/html/canvas/WebGLDefaultFramebuffer.cpp
    M Source/WebCore/html/canvas/WebGLDepthTexture.cpp
    M Source/WebCore/html/canvas/WebGLDrawBuffers.cpp
    M Source/WebCore/html/canvas/WebGLDrawInstancedBaseVertexBaseInstance.cpp
    M Source/WebCore/html/canvas/WebGLFramebuffer.cpp
    M Source/WebCore/html/canvas/WebGLMultiDraw.cpp
    M 
Source/WebCore/html/canvas/WebGLMultiDrawInstancedBaseVertexBaseInstance.cpp
    M Source/WebCore/html/canvas/WebGLPolygonMode.cpp
    M Source/WebCore/html/canvas/WebGLProgram.cpp
    M Source/WebCore/html/canvas/WebGLProvokingVertex.cpp
    M Source/WebCore/html/canvas/WebGLQuery.cpp
    M Source/WebCore/html/canvas/WebGLRenderSharedExponent.cpp
    M Source/WebCore/html/canvas/WebGLRenderbuffer.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.h
    M Source/WebCore/html/canvas/WebGLSampler.cpp
    M Source/WebCore/html/canvas/WebGLShader.cpp
    M Source/WebCore/html/canvas/WebGLStencilTexturing.cpp
    M Source/WebCore/html/canvas/WebGLSync.cpp
    M Source/WebCore/html/canvas/WebGLTexture.cpp
    M Source/WebCore/html/canvas/WebGLTimerQueryEXT.cpp
    M Source/WebCore/html/canvas/WebGLTransformFeedback.cpp
    M Source/WebCore/html/canvas/WebGLUtilities.cpp
    M Source/WebCore/html/canvas/WebGLUtilities.h
    M Source/WebCore/html/canvas/WebGLVertexArrayObject.cpp
    M Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.cpp
    M Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.cpp

  Log Message:
  -----------
  Make sure we protect the GraphicsContextGL before calling its member functions
https://bugs.webkit.org/show_bug.cgi?id=267856

Reviewed by Darin Adler.

* Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::~WebXROpaqueFramebuffer):
(WebCore::WebXROpaqueFramebuffer::startFrame):
(WebCore::WebXROpaqueFramebuffer::endFrame):
(WebCore::WebXROpaqueFramebuffer::setupFramebuffer):
* Source/WebCore/html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::transferToImageBitmap):
* Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp:
(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
* Source/WebCore/html/canvas/EXTBlendMinMax.cpp:
(WebCore::EXTBlendMinMax::EXTBlendMinMax):
* Source/WebCore/html/canvas/EXTClipControl.cpp:
(WebCore::EXTClipControl::EXTClipControl):
(WebCore::EXTClipControl::clipControlEXT):
* Source/WebCore/html/canvas/EXTColorBufferFloat.cpp:
(WebCore::EXTColorBufferFloat::EXTColorBufferFloat):
* Source/WebCore/html/canvas/EXTColorBufferHalfFloat.cpp:
(WebCore::EXTColorBufferHalfFloat::EXTColorBufferHalfFloat):
* Source/WebCore/html/canvas/EXTConservativeDepth.cpp:
(WebCore::EXTConservativeDepth::EXTConservativeDepth):
* Source/WebCore/html/canvas/EXTDepthClamp.cpp:
(WebCore::EXTDepthClamp::EXTDepthClamp):
* Source/WebCore/html/canvas/EXTDisjointTimerQuery.cpp:
(WebCore::EXTDisjointTimerQuery::EXTDisjointTimerQuery):
(WebCore::EXTDisjointTimerQuery::deleteQueryEXT):
(WebCore::EXTDisjointTimerQuery::isQueryEXT):
(WebCore::EXTDisjointTimerQuery::beginQueryEXT):
(WebCore::EXTDisjointTimerQuery::endQueryEXT):
(WebCore::EXTDisjointTimerQuery::queryCounterEXT):
(WebCore::EXTDisjointTimerQuery::getQueryEXT):
(WebCore::EXTDisjointTimerQuery::getQueryObjectEXT):
* Source/WebCore/html/canvas/EXTDisjointTimerQueryWebGL2.cpp:
(WebCore::EXTDisjointTimerQueryWebGL2::EXTDisjointTimerQueryWebGL2):
(WebCore::EXTDisjointTimerQueryWebGL2::queryCounterEXT):
* Source/WebCore/html/canvas/EXTFloatBlend.cpp:
(WebCore::EXTFloatBlend::EXTFloatBlend):
* Source/WebCore/html/canvas/EXTFragDepth.cpp:
(WebCore::EXTFragDepth::EXTFragDepth):
* Source/WebCore/html/canvas/EXTPolygonOffsetClamp.cpp:
(WebCore::EXTPolygonOffsetClamp::EXTPolygonOffsetClamp):
(WebCore::EXTPolygonOffsetClamp::polygonOffsetClampEXT):
* Source/WebCore/html/canvas/EXTRenderSnorm.cpp:
(WebCore::EXTRenderSnorm::EXTRenderSnorm):
* Source/WebCore/html/canvas/EXTShaderTextureLOD.cpp:
(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
* Source/WebCore/html/canvas/EXTTextureCompressionBPTC.cpp:
(WebCore::EXTTextureCompressionBPTC::EXTTextureCompressionBPTC):
* Source/WebCore/html/canvas/EXTTextureCompressionRGTC.cpp:
(WebCore::EXTTextureCompressionRGTC::EXTTextureCompressionRGTC):
* Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.cpp:
(WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
* Source/WebCore/html/canvas/EXTTextureMirrorClampToEdge.cpp:
(WebCore::EXTTextureMirrorClampToEdge::EXTTextureMirrorClampToEdge):
* Source/WebCore/html/canvas/EXTTextureNorm16.cpp:
(WebCore::EXTTextureNorm16::EXTTextureNorm16):
* Source/WebCore/html/canvas/EXTsRGB.cpp:
(WebCore::EXTsRGB::EXTsRGB):
* Source/WebCore/html/canvas/KHRParallelShaderCompile.cpp:
(WebCore::KHRParallelShaderCompile::KHRParallelShaderCompile):
* Source/WebCore/html/canvas/NVShaderNoperspectiveInterpolation.cpp:
(WebCore::NVShaderNoperspectiveInterpolation::NVShaderNoperspectiveInterpolation):
* Source/WebCore/html/canvas/OESDrawBuffersIndexed.cpp:
(WebCore::OESDrawBuffersIndexed::OESDrawBuffersIndexed):
(WebCore::OESDrawBuffersIndexed::enableiOES):
(WebCore::OESDrawBuffersIndexed::disableiOES):
(WebCore::OESDrawBuffersIndexed::blendEquationiOES):
(WebCore::OESDrawBuffersIndexed::blendEquationSeparateiOES):
(WebCore::OESDrawBuffersIndexed::blendFunciOES):
(WebCore::OESDrawBuffersIndexed::blendFuncSeparateiOES):
(WebCore::OESDrawBuffersIndexed::colorMaskiOES):
* Source/WebCore/html/canvas/OESElementIndexUint.cpp:
(WebCore::OESElementIndexUint::OESElementIndexUint):
* Source/WebCore/html/canvas/OESFBORenderMipmap.cpp:
(WebCore::OESFBORenderMipmap::OESFBORenderMipmap):
* Source/WebCore/html/canvas/OESSampleVariables.cpp:
(WebCore::OESSampleVariables::OESSampleVariables):
* Source/WebCore/html/canvas/OESShaderMultisampleInterpolation.cpp:
(WebCore::OESShaderMultisampleInterpolation::OESShaderMultisampleInterpolation):
* Source/WebCore/html/canvas/OESStandardDerivatives.cpp:
(WebCore::OESStandardDerivatives::OESStandardDerivatives):
* Source/WebCore/html/canvas/OESTextureFloat.cpp:
(WebCore::OESTextureFloat::OESTextureFloat):
* Source/WebCore/html/canvas/OESTextureFloatLinear.cpp:
(WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
* Source/WebCore/html/canvas/OESTextureHalfFloat.cpp:
(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
* Source/WebCore/html/canvas/OESTextureHalfFloatLinear.cpp:
(WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear):
* Source/WebCore/html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::OESVertexArrayObject):
(WebCore::OESVertexArrayObject::deleteVertexArrayOES):
(WebCore::OESVertexArrayObject::isVertexArrayOES):
(WebCore::OESVertexArrayObject::bindVertexArrayOES):
* Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::deleteVertexArray):
* Source/WebCore/html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::create):
* Source/WebCore/html/canvas/WebGLClipCullDistance.cpp:
(WebCore::WebGLClipCullDistance::WebGLClipCullDistance):
* Source/WebCore/html/canvas/WebGLColorBufferFloat.cpp:
(WebCore::WebGLColorBufferFloat::WebGLColorBufferFloat):
* Source/WebCore/html/canvas/WebGLCompressedTextureASTC.cpp:
(WebCore::WebGLCompressedTextureASTC::WebGLCompressedTextureASTC):
* Source/WebCore/html/canvas/WebGLCompressedTextureETC.cpp:
(WebCore::WebGLCompressedTextureETC::WebGLCompressedTextureETC):
* Source/WebCore/html/canvas/WebGLCompressedTextureETC1.cpp:
(WebCore::WebGLCompressedTextureETC1::WebGLCompressedTextureETC1):
* Source/WebCore/html/canvas/WebGLCompressedTexturePVRTC.cpp:
(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
* Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.cpp:
(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
* Source/WebCore/html/canvas/WebGLCompressedTextureS3TCsRGB.cpp:
(WebCore::WebGLCompressedTextureS3TCsRGB::WebGLCompressedTextureS3TCsRGB):
* Source/WebCore/html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::WebGLDebugShaders):
(WebCore::WebGLDebugShaders::getTranslatedShaderSource):
* Source/WebCore/html/canvas/WebGLDefaultFramebuffer.cpp:
(WebCore::WebGLDefaultFramebuffer::WebGLDefaultFramebuffer):
(WebCore::WebGLDefaultFramebuffer::reshape):
* Source/WebCore/html/canvas/WebGLDepthTexture.cpp:
(WebCore::WebGLDepthTexture::WebGLDepthTexture):
* Source/WebCore/html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::drawBuffersWEBGL):
* Source/WebCore/html/canvas/WebGLDrawInstancedBaseVertexBaseInstance.cpp:
(WebCore::WebGLDrawInstancedBaseVertexBaseInstance::WebGLDrawInstancedBaseVertexBaseInstance):
(WebCore::WebGLDrawInstancedBaseVertexBaseInstance::drawArraysInstancedBaseInstanceWEBGL):
(WebCore::WebGLDrawInstancedBaseVertexBaseInstance::drawElementsInstancedBaseVertexBaseInstanceWEBGL):
* Source/WebCore/html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::create):
(WebCore::WebGLFramebuffer::createOpaque):
(WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
(WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):
(WebCore::WebGLFramebuffer::setAttachmentInternal):
* Source/WebCore/html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::WebGLMultiDraw):
(WebCore::WebGLMultiDraw::multiDrawArraysWEBGL):
(WebCore::WebGLMultiDraw::multiDrawArraysInstancedWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsInstancedWEBGL):
* Source/WebCore/html/canvas/WebGLMultiDrawInstancedBaseVertexBaseInstance.cpp:
(WebCore::WebGLMultiDrawInstancedBaseVertexBaseInstance::WebGLMultiDrawInstancedBaseVertexBaseInstance):
(WebCore::WebGLMultiDrawInstancedBaseVertexBaseInstance::multiDrawArraysInstancedBaseInstanceWEBGL):
(WebCore::WebGLMultiDrawInstancedBaseVertexBaseInstance::multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL):
* Source/WebCore/html/canvas/WebGLPolygonMode.cpp:
(WebCore::WebGLPolygonMode::WebGLPolygonMode):
(WebCore::WebGLPolygonMode::polygonModeWEBGL):
* Source/WebCore/html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::create):
(WebCore::WebGLProgram::cacheInfoIfNeeded):
* Source/WebCore/html/canvas/WebGLProvokingVertex.cpp:
(WebCore::WebGLProvokingVertex::WebGLProvokingVertex):
(WebCore::WebGLProvokingVertex::provokingVertexWEBGL):
* Source/WebCore/html/canvas/WebGLQuery.cpp:
(WebCore::WebGLQuery::create):
* Source/WebCore/html/canvas/WebGLRenderSharedExponent.cpp:
(WebCore::WebGLRenderSharedExponent::WebGLRenderSharedExponent):
* Source/WebCore/html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::create):
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::deleteObject):
(WebCore::WebGLRenderingContextBase::detachShader):
(WebCore::WebGLRenderingContextBase::useProgram):
* Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
(WebCore::WebGLRenderingContextBase::protectedGraphicsContextGL const):
* Source/WebCore/html/canvas/WebGLSampler.cpp:
(WebCore::WebGLSampler::create):
* Source/WebCore/html/canvas/WebGLShader.cpp:
(WebCore::WebGLShader::create):
* Source/WebCore/html/canvas/WebGLStencilTexturing.cpp:
(WebCore::WebGLStencilTexturing::WebGLStencilTexturing):
* Source/WebCore/html/canvas/WebGLSync.cpp:
(WebCore::WebGLSync::create):
(WebCore::WebGLSync::updateCache):
* Source/WebCore/html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::create):
* Source/WebCore/html/canvas/WebGLTimerQueryEXT.cpp:
(WebCore::WebGLTimerQueryEXT::create):
* Source/WebCore/html/canvas/WebGLTransformFeedback.cpp:
(WebCore::WebGLTransformFeedback::create):
* Source/WebCore/html/canvas/WebGLUtilities.cpp:
(WebCore::ScopedInspectorShaderProgramHighlight::showHighlight):
(WebCore::ScopedInspectorShaderProgramHighlight::hideHighlight):
* Source/WebCore/html/canvas/WebGLUtilities.h:
(WebCore::ScopedTightUnpackParameters::set):
(WebCore::ScopedDisableRasterizerDiscard::ScopedDisableRasterizerDiscard):
(WebCore::ScopedDisableRasterizerDiscard::~ScopedDisableRasterizerDiscard):
(WebCore::ScopedEnableBackbuffer::ScopedEnableBackbuffer):
(WebCore::ScopedEnableBackbuffer::~ScopedEnableBackbuffer):
(WebCore::ScopedDisableScissorTest::ScopedDisableScissorTest):
(WebCore::ScopedDisableScissorTest::~ScopedDisableScissorTest):
(WebCore::ScopedWebGLRestoreFramebuffer::~ScopedWebGLRestoreFramebuffer):
(WebCore::ScopedWebGLRestoreRenderbuffer::~ScopedWebGLRestoreRenderbuffer):
(WebCore::ScopedWebGLRestoreTexture::~ScopedWebGLRestoreTexture):
* Source/WebCore/html/canvas/WebGLVertexArrayObject.cpp:
(WebCore::WebGLVertexArrayObject::create):
* Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.cpp:
(WebCore::WebGLVertexArrayObjectBase::setElementArrayBuffer):
(WebCore::WebGLVertexArrayObjectBase::setVertexAttribState):
(WebCore::WebGLVertexArrayObjectBase::unbindBuffer):
* Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.cpp:
(WebCore::WebGLVertexArrayObjectOES::createUser):

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to