Skip to content

Commit

Permalink
WebGL extensions access the context root in racy way during GC
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=260137
rdar://113846683

Reviewed by Dan Glastonbury.

The bindings would load WebGLExtension::m_context in GC thread
to navigate to the rendering context that is the opaque root
of the extension.

The WebGL would store WebGLExtension::m_context = nullptr during
context lost in JS thread.

These loads and stores are theoretically racy.
Instead, use std::atomic for m_context, and load in relaxed way
in the store thread, i.e. the JS thread.

Instead of using GenerateIsReachable=ImplWebGLRenderingContext that
hides the issue, use just normal GenerateIsReachable and implement
`WebCoreOpaqueRoot root(const WebGLExtension*)` for obtaining the root.

* Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* Source/WebCore/html/canvas/ANGLEInstancedArrays.idl:
* Source/WebCore/html/canvas/EXTBlendMinMax.idl:
* Source/WebCore/html/canvas/EXTClipControl.idl:
* Source/WebCore/html/canvas/EXTColorBufferFloat.idl:
* Source/WebCore/html/canvas/EXTColorBufferHalfFloat.idl:
* Source/WebCore/html/canvas/EXTConservativeDepth.idl:
* Source/WebCore/html/canvas/EXTDepthClamp.idl:
* Source/WebCore/html/canvas/EXTDisjointTimerQuery.idl:
* Source/WebCore/html/canvas/EXTDisjointTimerQueryWebGL2.idl:
* Source/WebCore/html/canvas/EXTFloatBlend.idl:
* Source/WebCore/html/canvas/EXTFragDepth.idl:
* Source/WebCore/html/canvas/EXTPolygonOffsetClamp.idl:
* Source/WebCore/html/canvas/EXTRenderSnorm.idl:
* Source/WebCore/html/canvas/EXTShaderTextureLOD.idl:
* Source/WebCore/html/canvas/EXTTextureCompressionBPTC.idl:
* Source/WebCore/html/canvas/EXTTextureCompressionRGTC.idl:
* Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.idl:
* Source/WebCore/html/canvas/EXTTextureMirrorClampToEdge.idl:
* Source/WebCore/html/canvas/EXTTextureNorm16.idl:
* Source/WebCore/html/canvas/EXTsRGB.idl:
* Source/WebCore/html/canvas/KHRParallelShaderCompile.idl:
* Source/WebCore/html/canvas/NVShaderNoperspectiveInterpolation.idl:
* Source/WebCore/html/canvas/OESDrawBuffersIndexed.idl:
* Source/WebCore/html/canvas/OESElementIndexUint.idl:
* Source/WebCore/html/canvas/OESFBORenderMipmap.idl:
* Source/WebCore/html/canvas/OESSampleVariables.idl:
* Source/WebCore/html/canvas/OESShaderMultisampleInterpolation.idl:
* Source/WebCore/html/canvas/OESStandardDerivatives.idl:
* Source/WebCore/html/canvas/OESTextureFloat.idl:
* Source/WebCore/html/canvas/OESTextureFloatLinear.idl:
* Source/WebCore/html/canvas/OESTextureHalfFloat.idl:
* Source/WebCore/html/canvas/OESTextureHalfFloatLinear.idl:
* Source/WebCore/html/canvas/OESVertexArrayObject.idl:
* Source/WebCore/html/canvas/WebGLClipCullDistance.idl:
* Source/WebCore/html/canvas/WebGLColorBufferFloat.idl:
* Source/WebCore/html/canvas/WebGLCompressedTextureASTC.idl:
* Source/WebCore/html/canvas/WebGLCompressedTextureETC.idl:
* Source/WebCore/html/canvas/WebGLCompressedTextureETC1.idl:
* Source/WebCore/html/canvas/WebGLCompressedTexturePVRTC.idl:
* Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.idl:
* Source/WebCore/html/canvas/WebGLCompressedTextureS3TCsRGB.idl:
* Source/WebCore/html/canvas/WebGLDebugRendererInfo.idl:
* Source/WebCore/html/canvas/WebGLDebugShaders.idl:
* Source/WebCore/html/canvas/WebGLDepthTexture.idl:
* Source/WebCore/html/canvas/WebGLDrawBuffers.idl:
* Source/WebCore/html/canvas/WebGLDrawInstancedBaseVertexBaseInstance.idl:
* Source/WebCore/html/canvas/WebGLExtension.h:
(WebCore::WebGLExtension::context):
(WebCore::WebGLExtension::isLostContext):
(WebCore::root):
* Source/WebCore/html/canvas/WebGLLoseContext.idl:
* Source/WebCore/html/canvas/WebGLMultiDraw.idl:
* Source/WebCore/html/canvas/WebGLMultiDrawInstancedBaseVertexBaseInstance.idl:
* Source/WebCore/html/canvas/WebGLPolygonMode.idl:
* Source/WebCore/html/canvas/WebGLProvokingVertex.idl:
* Source/WebCore/html/canvas/WebGLRenderSharedExponent.idl:
* Source/WebCore/html/canvas/WebGLStencilTexturing.idl:

Canonical link: https://commits.webkit.org/266991@main
  • Loading branch information
kkinnunen-apple committed Aug 17, 2023
1 parent 335771b commit 99dc8dc
Show file tree
Hide file tree
Showing 55 changed files with 64 additions and 60 deletions.
4 changes: 0 additions & 4 deletions Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
Original file line number Diff line number Diff line change
Expand Up @@ -5222,10 +5222,6 @@ sub GenerateImplementation
$rootString = " ${implType}* owner = &js${interfaceName}->wrapped();\n";
$rootString .= " if (UNLIKELY(reason))\n";
$rootString .= " *reason = \"Reachable from ${interfaceName}\";\n";
} elsif (GetGenerateIsReachable($interface) eq "ImplWebGLRenderingContext") {
$rootString = " WebGLRenderingContextBase* owner = WTF::getPtr(js${interfaceName}->wrapped().context());\n";
$rootString .= " if (UNLIKELY(reason))\n";
$rootString .= " *reason = \"Reachable from ${interfaceName}\";\n";
} elsif (GetGenerateIsReachable($interface) eq "ReachableFromDOMWindow") {
$rootString = " auto* owner = WTF::getPtr(js${interfaceName}->wrapped().window());\n";
$rootString .= " if (!owner)\n";
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/ANGLEInstancedArrays.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface ANGLEInstancedArrays {
const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE;

Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTBlendMinMax.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface EXTBlendMinMax {
const unsigned long MIN_EXT = 0x8007;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTClipControl.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface EXTClipControl {
const unsigned long LOWER_LEFT_EXT = 0x8CA1;
const unsigned long UPPER_LEFT_EXT = 0x8CA2;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTColorBufferFloat.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext
GenerateIsReachable
] interface EXTColorBufferFloat {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTColorBufferHalfFloat.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext
GenerateIsReachable
] interface EXTColorBufferHalfFloat {
const unsigned long RGBA16F_EXT = 0x881A;
const unsigned long RGB16F_EXT = 0x881B;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTConservativeDepth.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface EXTConservativeDepth {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTDepthClamp.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface EXTDepthClamp {
const unsigned long DEPTH_CLAMP_EXT = 0x864F;
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTDisjointTimerQuery.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext
GenerateIsReachable
] interface EXTDisjointTimerQuery {
const unsigned long QUERY_COUNTER_BITS_EXT = 0x8864;
const unsigned long CURRENT_QUERY_EXT = 0x8865;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTDisjointTimerQueryWebGL2.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext
GenerateIsReachable
] interface EXTDisjointTimerQueryWebGL2 {
const unsigned long QUERY_COUNTER_BITS_EXT = 0x8864;
const unsigned long TIME_ELAPSED_EXT = 0x88BF;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTFloatBlend.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface EXTFloatBlend {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTFragDepth.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext
GenerateIsReachable
] interface EXTFragDepth {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTPolygonOffsetClamp.idl
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ typedef unrestricted float GLfloat;
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface EXTPolygonOffsetClamp {
const unsigned long POLYGON_OFFSET_CLAMP_EXT = 0x8E1B;

Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTRenderSnorm.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface EXTRenderSnorm {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTShaderTextureLOD.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext
GenerateIsReachable
] interface EXTShaderTextureLOD {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTTextureCompressionBPTC.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface EXTTextureCompressionBPTC {
const unsigned long COMPRESSED_RGBA_BPTC_UNORM_EXT = 0x8E8C;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTTextureCompressionRGTC.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface EXTTextureCompressionRGTC {
const unsigned long COMPRESSED_RED_RGTC1_EXT = 0x8DBB;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface EXTTextureFilterAnisotropic {
const unsigned long TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTTextureMirrorClampToEdge.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface EXTTextureMirrorClampToEdge {
const unsigned long MIRROR_CLAMP_TO_EDGE_EXT = 0x8743;
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTTextureNorm16.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface EXTTextureNorm16 {
const unsigned long R16_EXT = 0x822A;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/EXTsRGB.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface EXTsRGB {
const unsigned long SRGB_EXT = 0x8C40;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/KHRParallelShaderCompile.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext
GenerateIsReachable
] interface KHRParallelShaderCompile {
const unsigned long COMPLETION_STATUS_KHR = 0x91B1;
};
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface NVShaderNoperspectiveInterpolation {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/OESDrawBuffersIndexed.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface OESDrawBuffersIndexed {
undefined enableiOES(unsigned long target, unsigned long index);
undefined disableiOES(unsigned long target, unsigned long index);
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/OESElementIndexUint.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface OESElementIndexUint {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/OESFBORenderMipmap.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface OESFBORenderMipmap {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/OESSampleVariables.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface OESSampleVariables {
};
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface OESShaderMultisampleInterpolation {
const unsigned long MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5B;
const unsigned long MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5C;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/OESStandardDerivatives.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface OESStandardDerivatives {
const unsigned long FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/OESTextureFloat.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface OESTextureFloat {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/OESTextureFloatLinear.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface OESTextureFloatLinear {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/OESTextureHalfFloat.idl
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface OESTextureHalfFloat {
const GLenum HALF_FLOAT_OES = 0x8D61;
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/OESTextureHalfFloatLinear.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,6 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface OESTextureHalfFloatLinear {
};
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/OESVertexArrayObject.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface OESVertexArrayObject {
const unsigned long VERTEX_ARRAY_BINDING_OES = 0x85B5;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/WebGLClipCullDistance.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
] interface WebGLClipCullDistance {
const unsigned long MAX_CLIP_DISTANCES_WEBGL = 0x0D32;
const unsigned long MAX_CULL_DISTANCES_WEBGL = 0x82F9;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/WebGLColorBufferFloat.idl
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
[
LegacyNoInterfaceObject,
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext
GenerateIsReachable
] interface WebGLColorBufferFloat {
const unsigned long RGBA32F_EXT = 0x8814;
const unsigned long FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/WebGLCompressedTextureASTC.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface WebGLCompressedTextureASTC {
/* Compressed Texture Format */
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/WebGLCompressedTextureETC.idl
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface WebGLCompressedTextureETC {
/* Compressed Texture Format */
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/WebGLCompressedTextureETC1.idl
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface WebGLCompressedTextureETC1 {
/* Compressed Texture Formats */
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/WebGLCompressedTexturePVRTC.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface WebGLCompressedTexturePVRTC {
const unsigned long COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface WebGLCompressedTextureS3TC {
const unsigned long COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface WebGLCompressedTextureS3TCsRGB {
const unsigned long COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/WebGLDebugRendererInfo.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface WebGLDebugRendererInfo {
const unsigned long UNMASKED_VENDOR_WEBGL = 0x9245;
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/WebGLDebugShaders.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface WebGLDebugShaders {
DOMString getTranslatedShaderSource(WebGLShader shader);
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/html/canvas/WebGLDepthTexture.idl
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

[
Conditional=WEBGL,
GenerateIsReachable=ImplWebGLRenderingContext,
GenerateIsReachable,
LegacyNoInterfaceObject,
] interface WebGLDepthTexture {
const unsigned long UNSIGNED_INT_24_8_WEBGL = 0x84FA;
Expand Down

0 comments on commit 99dc8dc

Please sign in to comment.