LibWeb: Implement WEBGL_debug_renderer_info extension

This extension lets pages query the underlying GPU vendor and renderer
strings via UNMASKED_VENDOR_WEBGL / UNMASKED_RENDERER_WEBGL. Some sites
(e.g. yandex.com/maps) use it to decide whether to render vector tiles
with WebGL or fall back to raster tiles.
This commit is contained in:
Aliaksandr Kalenik
2026-04-22 20:39:31 +02:00
committed by Alexander Kalenik
parent eb9432fcb8
commit 3c7b3a0fe2
Notes: github-actions[bot] 2026-04-22 20:40:35 +00:00
7 changed files with 109 additions and 1 deletions

View File

@@ -0,0 +1,13 @@
#import <WebGL/Types.idl>
// https://registry.khronos.org/webgl/extensions/WEBGL_debug_renderer_info/
// NOTE: Original WEBGL_debug_renderer_info name is changed to title case,
// so it matches corresponding C++ class name, and does not require
// IDL generator to handle snake_case to TitleCase conversion.
// Having a different name is totally fine, because LegacyNoInterfaceObject
// prevents the name from being exposed to JavaScript.
[Exposed=(Window,Worker), LegacyNoInterfaceObject]
interface WebGLDebugRendererInfo {
const GLenum UNMASKED_VENDOR_WEBGL = 0x9245;
const GLenum UNMASKED_RENDERER_WEBGL = 0x9246;
};