author | Philip Jägenstedt <philip@foolip.org> |
Fri, 23 Apr 2021 10:19:24 +0000 | |
changeset 577257 | 2a6c21e26458fac3bdb10bce53f23dc963df5193 |
parent 577256 | 76dc00938bc93a2981597c144589a7c4dca88019 |
child 577258 | 48966ae59398b6cbf4c909f6da363f30b0d21d30 |
push id | 141827 |
push user | wptsync@mozilla.com |
push date | Sat, 24 Apr 2021 02:11:12 +0000 |
treeherder | autoland@3a7d9d49c316 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | testonly |
bugs | 1705099, 28474 |
milestone | 90.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/testing/web-platform/tests/css/css-images/idlharness.html +++ b/testing/web-platform/tests/css/css-images/idlharness.html @@ -4,15 +4,15 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/resources/WebIDLParser.js"></script> <script src="/resources/idlharness.js"></script> <script> 'use strict'; idl_test( - ['css-images'], + ['css-images-4'], ['cssom'], idl_array => { // No objects, } ); </script>
--- a/testing/web-platform/tests/css/css-typed-om/idlharness.html +++ b/testing/web-platform/tests/css/css-typed-om/idlharness.html @@ -14,17 +14,17 @@ } </style> <script> 'use strict'; idl_test( ['css-typed-om'], - ['cssom', 'SVG', 'geometry', 'html', 'dom'], + ['cssom', 'SVG', 'geometry', 'html', 'dom', 'mathml-core'], idl_array => { try { self.styleMap = document.styleSheets[0].rules[0].styleMap; } catch (e) {} try { self.unitValue = CSSStyleValue.parse('height', '10px'); } catch (e) {}
--- a/testing/web-platform/tests/css/cssom/idlharness.html +++ b/testing/web-platform/tests/css/cssom/idlharness.html @@ -30,17 +30,17 @@ Use a non-empty style attribute to get a <script> 'use strict'; const waitForLoad = new Promise(r => { addEventListener('load', r); }); idl_test( ['cssom'], - ['SVG', 'uievents', 'html', 'dom'], + ['SVG', 'uievents', 'html', 'dom', 'mathml-core'], async idlArray => { idlArray.add_objects({ Document: ['document', 'new Document()'], StyleSheetList: ['document.styleSheets'], CSSStyleSheet: ['sheet'], MediaList: ['sheet.media'], CSSRuleList: ['sheet.cssRules'], CSSImportRule: ['sheet.cssRules[0]'],
--- a/testing/web-platform/tests/gamepad/idlharness.https.window.js +++ b/testing/web-platform/tests/gamepad/idlharness.https.window.js @@ -3,16 +3,16 @@ // META: timeout=long // https://w3c.github.io/gamepad/ 'use strict'; idl_test( ['gamepad'], - ['dom', 'html'], + ['html', 'dom'], idl_array => { idl_array.add_objects({ GamepadEvent: ['new GamepadEvent("gamepad")'], Navigator: ['navigator'] }); } );
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/ANGLE_instanced_arrays.idl @@ -0,0 +1,12 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL ANGLE_instanced_arrays Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/ANGLE_instanced_arrays/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface ANGLE_instanced_arrays { + const GLenum VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE; + undefined drawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsizei primcount); + undefined drawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, GLintptr offset, GLsizei primcount); + undefined vertexAttribDivisorANGLE(GLuint index, GLuint divisor); +};
--- a/testing/web-platform/tests/interfaces/DOM-Parsing.idl +++ b/testing/web-platform/tests/interfaces/DOM-Parsing.idl @@ -13,14 +13,14 @@ interface mixin InnerHTML { [CEReactions] attribute [LegacyNullToEmptyString] DOMString innerHTML; }; Element includes InnerHTML; ShadowRoot includes InnerHTML; partial interface Element { [CEReactions] attribute [LegacyNullToEmptyString] DOMString outerHTML; - [CEReactions] void insertAdjacentHTML(DOMString position, DOMString text); + [CEReactions] undefined insertAdjacentHTML(DOMString position, DOMString text); }; partial interface Range { [CEReactions, NewObject] DocumentFragment createContextualFragment(DOMString fragment); };
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_blend_minmax.idl @@ -0,0 +1,10 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_blend_minmax Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_blend_minmax/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_blend_minmax { + const GLenum MIN_EXT = 0x8007; + const GLenum MAX_EXT = 0x8008; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_clip_cull_distance.idl @@ -0,0 +1,20 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_clip_cull_distance Extension Draft Specification (https://www.khronos.org/registry/webgl/extensions/EXT_clip_cull_distance/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_clip_cull_distance { + const GLenum MAX_CLIP_DISTANCES_EXT = 0x0D32; + const GLenum MAX_CULL_DISTANCES_EXT = 0x82F9; + const GLenum MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT = 0x82FA; + + const GLenum CLIP_DISTANCE0_EXT = 0x3000; + const GLenum CLIP_DISTANCE1_EXT = 0x3001; + const GLenum CLIP_DISTANCE2_EXT = 0x3002; + const GLenum CLIP_DISTANCE3_EXT = 0x3003; + const GLenum CLIP_DISTANCE4_EXT = 0x3004; + const GLenum CLIP_DISTANCE5_EXT = 0x3005; + const GLenum CLIP_DISTANCE6_EXT = 0x3006; + const GLenum CLIP_DISTANCE7_EXT = 0x3007; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_color_buffer_float.idl @@ -0,0 +1,8 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_color_buffer_float Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_color_buffer_float/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_color_buffer_float { +}; // interface EXT_color_buffer_float
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_color_buffer_half_float.idl @@ -0,0 +1,12 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_color_buffer_half_float Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_color_buffer_half_float/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_color_buffer_half_float { + const GLenum RGBA16F_EXT = 0x881A; + const GLenum RGB16F_EXT = 0x881B; + const GLenum FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211; + const GLenum UNSIGNED_NORMALIZED_EXT = 0x8C17; +}; // interface EXT_color_buffer_half_float
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_disjoint_timer_query.idl @@ -0,0 +1,30 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_disjoint_timer_query Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_disjoint_timer_query/) + +typedef unsigned long long GLuint64EXT; + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WebGLTimerQueryEXT : WebGLObject { +}; + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_disjoint_timer_query { + const GLenum QUERY_COUNTER_BITS_EXT = 0x8864; + const GLenum CURRENT_QUERY_EXT = 0x8865; + const GLenum QUERY_RESULT_EXT = 0x8866; + const GLenum QUERY_RESULT_AVAILABLE_EXT = 0x8867; + const GLenum TIME_ELAPSED_EXT = 0x88BF; + const GLenum TIMESTAMP_EXT = 0x8E28; + const GLenum GPU_DISJOINT_EXT = 0x8FBB; + + WebGLTimerQueryEXT? createQueryEXT(); + undefined deleteQueryEXT(WebGLTimerQueryEXT? query); + [WebGLHandlesContextLoss] boolean isQueryEXT(WebGLTimerQueryEXT? query); + undefined beginQueryEXT(GLenum target, WebGLTimerQueryEXT query); + undefined endQueryEXT(GLenum target); + undefined queryCounterEXT(WebGLTimerQueryEXT query, GLenum target); + any getQueryEXT(GLenum target, GLenum pname); + any getQueryObjectEXT(WebGLTimerQueryEXT query, GLenum pname); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_disjoint_timer_query_webgl2.idl @@ -0,0 +1,14 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_disjoint_timer_query_webgl2 Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_disjoint_timer_query_webgl2/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_disjoint_timer_query_webgl2 { + const GLenum QUERY_COUNTER_BITS_EXT = 0x8864; + const GLenum TIME_ELAPSED_EXT = 0x88BF; + const GLenum TIMESTAMP_EXT = 0x8E28; + const GLenum GPU_DISJOINT_EXT = 0x8FBB; + + undefined queryCounterEXT(WebGLQuery query, GLenum target); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_float_blend.idl @@ -0,0 +1,8 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_float_blend Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_float_blend/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_float_blend { +}; // interface EXT_float_blend
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_frag_depth.idl @@ -0,0 +1,8 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_frag_depth Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_frag_depth/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_frag_depth { +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_sRGB.idl @@ -0,0 +1,12 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_sRGB Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_sRGB/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_sRGB { + const GLenum SRGB_EXT = 0x8C40; + const GLenum SRGB_ALPHA_EXT = 0x8C42; + const GLenum SRGB8_ALPHA8_EXT = 0x8C43; + const GLenum FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_shader_texture_lod.idl @@ -0,0 +1,8 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_shader_texture_lod Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_shader_texture_lod/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_shader_texture_lod { +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_texture_compression_bptc.idl @@ -0,0 +1,12 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_texture_compression_bptc Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_texture_compression_bptc/) + +[Exposed=Window, LegacyNoInterfaceObject] +interface EXT_texture_compression_bptc { + const GLenum COMPRESSED_RGBA_BPTC_UNORM_EXT = 0x8E8C; + const GLenum COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT = 0x8E8D; + const GLenum COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT = 0x8E8E; + const GLenum COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT = 0x8E8F; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_texture_compression_rgtc.idl @@ -0,0 +1,12 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_texture_compression_rgtc Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_texture_compression_rgtc/) + +[Exposed=Window, LegacyNoInterfaceObject] +interface EXT_texture_compression_rgtc { + const GLenum COMPRESSED_RED_RGTC1_EXT = 0x8DBB; + const GLenum COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC; + const GLenum COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD; + const GLenum COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_texture_filter_anisotropic.idl @@ -0,0 +1,10 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_texture_filter_anisotropic Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_texture_filter_anisotropic/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface EXT_texture_filter_anisotropic { + const GLenum TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE; + const GLenum MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/EXT_texture_norm16.idl @@ -0,0 +1,16 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL EXT_texture_norm16 Extension Specification (https://www.khronos.org/registry/webgl/extensions/EXT_texture_norm16/) + +[Exposed=Window, LegacyNoInterfaceObject] +interface EXT_texture_norm16 { + const GLenum R16_EXT = 0x822A; + const GLenum RG16_EXT = 0x822C; + const GLenum RGB16_EXT = 0x8054; + const GLenum RGBA16_EXT = 0x805B; + const GLenum R16_SNORM_EXT = 0x8F98; + const GLenum RG16_SNORM_EXT = 0x8F99; + const GLenum RGB16_SNORM_EXT = 0x8F9A; + const GLenum RGBA16_SNORM_EXT = 0x8F9B; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/KHR_parallel_shader_compile.idl @@ -0,0 +1,9 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL KHR_parallel_shader_compile Extension Specification (https://www.khronos.org/registry/webgl/extensions/KHR_parallel_shader_compile/) + +[Exposed=Window, LegacyNoInterfaceObject] +interface KHR_parallel_shader_compile { + const GLenum COMPLETION_STATUS_KHR = 0x91B1; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/OES_draw_buffers_indexed.idl @@ -0,0 +1,26 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL OES_draw_buffers_indexed Extension Draft Specification (https://www.khronos.org/registry/webgl/extensions/OES_draw_buffers_indexed/) + +[Exposed=Window, LegacyNoInterfaceObject] +interface OES_draw_buffers_indexed { + undefined enableiOES(GLenum target, GLuint index); + + undefined disableiOES(GLenum target, GLuint index); + + undefined blendEquationiOES(GLuint buf, GLenum mode); + + undefined blendEquationSeparateiOES(GLuint buf, + GLenum modeRGB, GLenum modeAlpha); + + undefined blendFunciOES(GLuint buf, + GLenum src, GLenum dst); + + undefined blendFuncSeparateiOES(GLuint buf, + GLenum srcRGB, GLenum dstRGB, + GLenum srcAlpha, GLenum dstAlpha); + + undefined colorMaskiOES(GLuint buf, + GLboolean r, GLboolean g, GLboolean b, GLboolean a); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/OES_element_index_uint.idl @@ -0,0 +1,8 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL OES_element_index_uint Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/OES_element_index_uint/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface OES_element_index_uint { +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/OES_fbo_render_mipmap.idl @@ -0,0 +1,8 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL OES_fbo_render_mipmap Extension Specification (https://www.khronos.org/registry/webgl/extensions/OES_fbo_render_mipmap/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface OES_fbo_render_mipmap { +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/OES_standard_derivatives.idl @@ -0,0 +1,9 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL OES_standard_derivatives Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/OES_standard_derivatives/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface OES_standard_derivatives { + const GLenum FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/OES_texture_float.idl @@ -0,0 +1,7 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL OES_texture_float Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/OES_texture_float/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface OES_texture_float { };
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/OES_texture_float_linear.idl @@ -0,0 +1,7 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL OES_texture_float_linear Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/OES_texture_float_linear/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface OES_texture_float_linear { };
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/OES_texture_half_float.idl @@ -0,0 +1,9 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL OES_texture_half_float Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/OES_texture_half_float/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface OES_texture_half_float { + const GLenum HALF_FLOAT_OES = 0x8D61; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/OES_texture_half_float_linear.idl @@ -0,0 +1,7 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL OES_texture_half_float_linear Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/OES_texture_half_float_linear/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface OES_texture_half_float_linear { };
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/OES_vertex_array_object.idl @@ -0,0 +1,18 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL OES_vertex_array_object Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/OES_vertex_array_object/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WebGLVertexArrayObjectOES : WebGLObject { +}; + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface OES_vertex_array_object { + const GLenum VERTEX_ARRAY_BINDING_OES = 0x85B5; + + WebGLVertexArrayObjectOES? createVertexArrayOES(); + undefined deleteVertexArrayOES(WebGLVertexArrayObjectOES? arrayObject); + [WebGLHandlesContextLoss] GLboolean isVertexArrayOES(WebGLVertexArrayObjectOES? arrayObject); + undefined bindVertexArrayOES(WebGLVertexArrayObjectOES? arrayObject); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/OVR_multiview2.idl @@ -0,0 +1,14 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL OVR_multiview2 Extension Specification (https://www.khronos.org/registry/webgl/extensions/OVR_multiview2/) + +[Exposed=Window, LegacyNoInterfaceObject] +interface OVR_multiview2 { + const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630; + const GLenum FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632; + const GLenum MAX_VIEWS_OVR = 0x9631; + const GLenum FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR = 0x9633; + + undefined framebufferTextureMultiviewOVR(GLenum target, GLenum attachment, WebGLTexture? texture, GLint level, GLint baseViewIndex, GLsizei numViews); +};
--- a/testing/web-platform/tests/interfaces/SVG.idl +++ b/testing/web-platform/tests/interfaces/SVG.idl @@ -19,16 +19,17 @@ SVGElement includes HTMLOrSVGElement; dictionary SVGBoundingBoxOptions { boolean fill = true; boolean stroke = false; boolean markers = false; boolean clipped = false; }; +[Exposed=Window] interface SVGGraphicsElement : SVGElement { [SameObject] readonly attribute SVGAnimatedTransformList transform; DOMRect getBBox(optional SVGBoundingBoxOptions options = {}); DOMMatrix? getCTM(); DOMMatrix? getScreenCTM(); }; @@ -65,18 +66,18 @@ interface SVGLength { const unsigned short SVG_LENGTHTYPE_PT = 9; const unsigned short SVG_LENGTHTYPE_PC = 10; readonly attribute unsigned short unitType; attribute float value; attribute float valueInSpecifiedUnits; attribute DOMString valueAsString; - void newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits); - void convertToSpecifiedUnits(unsigned short unitType); + undefined newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits); + undefined convertToSpecifiedUnits(unsigned short unitType); }; [Exposed=Window] interface SVGAngle { // Angle Unit Types const unsigned short SVG_ANGLETYPE_UNKNOWN = 0; const unsigned short SVG_ANGLETYPE_UNSPECIFIED = 1; @@ -84,66 +85,66 @@ interface SVGAngle { const unsigned short SVG_ANGLETYPE_RAD = 3; const unsigned short SVG_ANGLETYPE_GRAD = 4; readonly attribute unsigned short unitType; attribute float value; attribute float valueInSpecifiedUnits; attribute DOMString valueAsString; - void newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits); - void convertToSpecifiedUnits(unsigned short unitType); + undefined newValueSpecifiedUnits(unsigned short unitType, float valueInSpecifiedUnits); + undefined convertToSpecifiedUnits(unsigned short unitType); }; [Exposed=Window] interface SVGNumberList { readonly attribute unsigned long length; readonly attribute unsigned long numberOfItems; - void clear(); + undefined clear(); SVGNumber initialize(SVGNumber newItem); getter SVGNumber getItem(unsigned long index); SVGNumber insertItemBefore(SVGNumber newItem, unsigned long index); SVGNumber replaceItem(SVGNumber newItem, unsigned long index); SVGNumber removeItem(unsigned long index); SVGNumber appendItem(SVGNumber newItem); - setter void (unsigned long index, SVGNumber newItem); + setter undefined (unsigned long index, SVGNumber newItem); }; [Exposed=Window] interface SVGLengthList { readonly attribute unsigned long length; readonly attribute unsigned long numberOfItems; - void clear(); + undefined clear(); SVGLength initialize(SVGLength newItem); getter SVGLength getItem(unsigned long index); SVGLength insertItemBefore(SVGLength newItem, unsigned long index); SVGLength replaceItem(SVGLength newItem, unsigned long index); SVGLength removeItem(unsigned long index); SVGLength appendItem(SVGLength newItem); - setter void (unsigned long index, SVGLength newItem); + setter undefined (unsigned long index, SVGLength newItem); }; [Exposed=Window] interface SVGStringList { readonly attribute unsigned long length; readonly attribute unsigned long numberOfItems; - void clear(); + undefined clear(); DOMString initialize(DOMString newItem); getter DOMString getItem(unsigned long index); DOMString insertItemBefore(DOMString newItem, unsigned long index); DOMString replaceItem(DOMString newItem, unsigned long index); DOMString removeItem(unsigned long index); DOMString appendItem(DOMString newItem); - setter void (unsigned long index, DOMString newItem); + setter undefined (unsigned long index, DOMString newItem); }; [Exposed=Window] interface SVGAnimatedBoolean { attribute boolean baseVal; readonly attribute boolean animVal; }; @@ -238,35 +239,35 @@ interface SVGSVGElement : SVGGraphicsEle attribute float currentScale; [SameObject] readonly attribute DOMPointReadOnly currentTranslate; NodeList getIntersectionList(DOMRectReadOnly rect, SVGElement? referenceElement); NodeList getEnclosureList(DOMRectReadOnly rect, SVGElement? referenceElement); boolean checkIntersection(SVGElement element, DOMRectReadOnly rect); boolean checkEnclosure(SVGElement element, DOMRectReadOnly rect); - void deselectAll(); + undefined deselectAll(); SVGNumber createSVGNumber(); SVGLength createSVGLength(); SVGAngle createSVGAngle(); DOMPoint createSVGPoint(); DOMMatrix createSVGMatrix(); DOMRect createSVGRect(); SVGTransform createSVGTransform(); SVGTransform createSVGTransformFromMatrix(optional DOMMatrix2DInit matrix); Element getElementById(DOMString elementId); // Deprecated methods that have no effect when called, // but which are kept for compatibility reasons. unsigned long suspendRedraw(unsigned long maxWaitMilliseconds); - void unsuspendRedraw(unsigned long suspendHandleID); - void unsuspendRedrawAll(); - void forceRedraw(); + undefined unsuspendRedraw(unsigned long suspendHandleID); + undefined unsuspendRedrawAll(); + undefined forceRedraw(); }; SVGSVGElement includes SVGFitToViewBox; SVGSVGElement includes WindowEventHandlers; [Exposed=Window] interface SVGGElement : SVGGraphicsElement { }; @@ -348,38 +349,38 @@ interface SVGTransform { const unsigned short SVG_TRANSFORM_ROTATE = 4; const unsigned short SVG_TRANSFORM_SKEWX = 5; const unsigned short SVG_TRANSFORM_SKEWY = 6; readonly attribute unsigned short type; [SameObject] readonly attribute DOMMatrix matrix; readonly attribute float angle; - void setMatrix(optional DOMMatrix2DInit matrix); - void setTranslate(float tx, float ty); - void setScale(float sx, float sy); - void setRotate(float angle, float cx, float cy); - void setSkewX(float angle); - void setSkewY(float angle); + undefined setMatrix(optional DOMMatrix2DInit matrix); + undefined setTranslate(float tx, float ty); + undefined setScale(float sx, float sy); + undefined setRotate(float angle, float cx, float cy); + undefined setSkewX(float angle); + undefined setSkewY(float angle); }; [Exposed=Window] interface SVGTransformList { readonly attribute unsigned long length; readonly attribute unsigned long numberOfItems; - void clear(); + undefined clear(); SVGTransform initialize(SVGTransform newItem); getter SVGTransform getItem(unsigned long index); SVGTransform insertItemBefore(SVGTransform newItem, unsigned long index); SVGTransform replaceItem(SVGTransform newItem, unsigned long index); SVGTransform removeItem(unsigned long index); SVGTransform appendItem(SVGTransform newItem); - setter void (unsigned long index, SVGTransform newItem); + setter undefined (unsigned long index, SVGTransform newItem); // Additional methods not common to other list interfaces. SVGTransform createSVGTransformFromMatrix(optional DOMMatrix2DInit matrix); SVGTransform? consolidate(); }; [Exposed=Window] interface SVGAnimatedTransformList { @@ -461,24 +462,24 @@ interface mixin SVGAnimatedPoints { }; [Exposed=Window] interface SVGPointList { readonly attribute unsigned long length; readonly attribute unsigned long numberOfItems; - void clear(); + undefined clear(); DOMPoint initialize(DOMPoint newItem); getter DOMPoint getItem(unsigned long index); DOMPoint insertItemBefore(DOMPoint newItem, unsigned long index); DOMPoint replaceItem(DOMPoint newItem, unsigned long index); DOMPoint removeItem(unsigned long index); DOMPoint appendItem(DOMPoint newItem); - setter void (unsigned long index, DOMPoint newItem); + setter undefined (unsigned long index, DOMPoint newItem); }; [Exposed=Window] interface SVGPolylineElement : SVGGeometryElement { }; SVGPolylineElement includes SVGAnimatedPoints; @@ -502,17 +503,17 @@ interface SVGTextContentElement : SVGGra long getNumberOfChars(); float getComputedTextLength(); float getSubStringLength(unsigned long charnum, unsigned long nchars); DOMPoint getStartPositionOfChar(unsigned long charnum); DOMPoint getEndPositionOfChar(unsigned long charnum); DOMRect getExtentOfChar(unsigned long charnum); float getRotationOfChar(unsigned long charnum); long getCharNumAtPosition(optional DOMPointInit point = {}); - void selectSubString(unsigned long charnum, unsigned long nchars); + undefined selectSubString(unsigned long charnum, unsigned long nchars); }; [Exposed=Window] interface SVGTextPositioningElement : SVGTextContentElement { [SameObject] readonly attribute SVGAnimatedLengthList x; [SameObject] readonly attribute SVGAnimatedLengthList y; [SameObject] readonly attribute SVGAnimatedLengthList dx; [SameObject] readonly attribute SVGAnimatedLengthList dy; @@ -584,18 +585,18 @@ interface SVGMarkerElement : SVGElement [SameObject] readonly attribute SVGAnimatedLength refY; [SameObject] readonly attribute SVGAnimatedEnumeration markerUnits; [SameObject] readonly attribute SVGAnimatedLength markerWidth; [SameObject] readonly attribute SVGAnimatedLength markerHeight; [SameObject] readonly attribute SVGAnimatedEnumeration orientType; [SameObject] readonly attribute SVGAnimatedAngle orientAngle; attribute DOMString orient; - void setOrientToAuto(); - void setOrientToAngle(SVGAngle angle); + undefined setOrientToAuto(); + undefined setOrientToAngle(SVGAngle angle); }; SVGMarkerElement includes SVGFitToViewBox; [Exposed=Window] interface SVGGradientElement : SVGElement { // Spread Method Types @@ -667,14 +668,27 @@ interface SVGAElement : SVGGraphicsEleme attribute DOMString type; attribute DOMString text; attribute DOMString referrerPolicy; }; SVGAElement includes SVGURIReference; -SVGAElement includes HTMLHyperlinkElementUtils; + +// Inline HTMLHyperlinkElementUtils except href, which conflicts. +partial interface SVGAElement { + readonly attribute USVString origin; + [CEReactions] attribute USVString protocol; + [CEReactions] attribute USVString username; + [CEReactions] attribute USVString password; + [CEReactions] attribute USVString host; + [CEReactions] attribute USVString hostname; + [CEReactions] attribute USVString port; + [CEReactions] attribute USVString pathname; + [CEReactions] attribute USVString search; + [CEReactions] attribute USVString hash; +}; [Exposed=Window] interface SVGViewElement : SVGElement {}; SVGViewElement includes SVGFitToViewBox;
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_blend_equation_advanced_coherent.idl @@ -0,0 +1,23 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_blend_equation_advanced_coherent Extension Draft Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_blend_equation_advanced_coherent/) + +[Exposed=Window, LegacyNoInterfaceObject] +interface WEBGL_blend_equation_advanced_coherent { + const GLenum MULTIPLY = 0x9294; + const GLenum SCREEN = 0x9295; + const GLenum OVERLAY = 0x9296; + const GLenum DARKEN = 0x9297; + const GLenum LIGHTEN = 0x9298; + const GLenum COLORDODGE = 0x9299; + const GLenum COLORBURN = 0x929A; + const GLenum HARDLIGHT = 0x929B; + const GLenum SOFTLIGHT = 0x929C; + const GLenum DIFFERENCE = 0x929E; + const GLenum EXCLUSION = 0x92A0; + const GLenum HSL_HUE = 0x92AD; + const GLenum HSL_SATURATION = 0x92AE; + const GLenum HSL_COLOR = 0x92AF; + const GLenum HSL_LUMINOSITY = 0x92B0; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_color_buffer_float.idl @@ -0,0 +1,11 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_color_buffer_float Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_color_buffer_float/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_color_buffer_float { + const GLenum RGBA32F_EXT = 0x8814; + const GLenum FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211; + const GLenum UNSIGNED_NORMALIZED_EXT = 0x8C17; +}; // interface WEBGL_color_buffer_float
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_compressed_texture_astc.idl @@ -0,0 +1,41 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_compressed_texture_astc Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_compressed_texture_astc { + /* Compressed Texture Format */ + const GLenum COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0; + const GLenum COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1; + const GLenum COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2; + const GLenum COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3; + const GLenum COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4; + const GLenum COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5; + const GLenum COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6; + const GLenum COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7; + const GLenum COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8; + const GLenum COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9; + const GLenum COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA; + const GLenum COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB; + const GLenum COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC; + const GLenum COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD; + + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC; + const GLenum COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD; + + // Profile query support. + sequence<DOMString> getSupportedProfiles(); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_compressed_texture_etc.idl @@ -0,0 +1,19 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_compressed_texture_etc Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_compressed_texture_etc { + /* Compressed Texture Formats */ + const GLenum COMPRESSED_R11_EAC = 0x9270; + const GLenum COMPRESSED_SIGNED_R11_EAC = 0x9271; + const GLenum COMPRESSED_RG11_EAC = 0x9272; + const GLenum COMPRESSED_SIGNED_RG11_EAC = 0x9273; + const GLenum COMPRESSED_RGB8_ETC2 = 0x9274; + const GLenum COMPRESSED_SRGB8_ETC2 = 0x9275; + const GLenum COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276; + const GLenum COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277; + const GLenum COMPRESSED_RGBA8_ETC2_EAC = 0x9278; + const GLenum COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_compressed_texture_etc1.idl @@ -0,0 +1,10 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_compressed_texture_etc1 Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc1/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_compressed_texture_etc1 { + /* Compressed Texture Format */ + const GLenum COMPRESSED_RGB_ETC1_WEBGL = 0x8D64; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_compressed_texture_pvrtc.idl @@ -0,0 +1,13 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_compressed_texture_pvrtc Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_compressed_texture_pvrtc { + /* Compressed Texture Formats */ + const GLenum COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00; + const GLenum COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01; + const GLenum COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02; + const GLenum COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_compressed_texture_s3tc.idl @@ -0,0 +1,13 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_compressed_texture_s3tc Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_compressed_texture_s3tc { + /* Compressed Texture Formats */ + const GLenum COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0; + const GLenum COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1; + const GLenum COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2; + const GLenum COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_compressed_texture_s3tc_srgb.idl @@ -0,0 +1,13 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_compressed_texture_s3tc_srgb Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc_srgb/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_compressed_texture_s3tc_srgb { + /* Compressed Texture Formats */ + const GLenum COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C; + const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D; + const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E; + const GLenum COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_debug_renderer_info.idl @@ -0,0 +1,12 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_debug_renderer_info Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_debug_renderer_info { + + const GLenum UNMASKED_VENDOR_WEBGL = 0x9245; + const GLenum UNMASKED_RENDERER_WEBGL = 0x9246; + +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_debug_shaders.idl @@ -0,0 +1,11 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_debug_shaders Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_debug_shaders/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_debug_shaders { + + DOMString getTranslatedShaderSource(WebGLShader shader); + +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_depth_texture.idl @@ -0,0 +1,9 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_depth_texture Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_depth_texture/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_depth_texture { + const GLenum UNSIGNED_INT_24_8_WEBGL = 0x84FA; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_draw_buffers.idl @@ -0,0 +1,46 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_draw_buffers Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_draw_buffers/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_draw_buffers { + const GLenum COLOR_ATTACHMENT0_WEBGL = 0x8CE0; + const GLenum COLOR_ATTACHMENT1_WEBGL = 0x8CE1; + const GLenum COLOR_ATTACHMENT2_WEBGL = 0x8CE2; + const GLenum COLOR_ATTACHMENT3_WEBGL = 0x8CE3; + const GLenum COLOR_ATTACHMENT4_WEBGL = 0x8CE4; + const GLenum COLOR_ATTACHMENT5_WEBGL = 0x8CE5; + const GLenum COLOR_ATTACHMENT6_WEBGL = 0x8CE6; + const GLenum COLOR_ATTACHMENT7_WEBGL = 0x8CE7; + const GLenum COLOR_ATTACHMENT8_WEBGL = 0x8CE8; + const GLenum COLOR_ATTACHMENT9_WEBGL = 0x8CE9; + const GLenum COLOR_ATTACHMENT10_WEBGL = 0x8CEA; + const GLenum COLOR_ATTACHMENT11_WEBGL = 0x8CEB; + const GLenum COLOR_ATTACHMENT12_WEBGL = 0x8CEC; + const GLenum COLOR_ATTACHMENT13_WEBGL = 0x8CED; + const GLenum COLOR_ATTACHMENT14_WEBGL = 0x8CEE; + const GLenum COLOR_ATTACHMENT15_WEBGL = 0x8CEF; + + const GLenum DRAW_BUFFER0_WEBGL = 0x8825; + const GLenum DRAW_BUFFER1_WEBGL = 0x8826; + const GLenum DRAW_BUFFER2_WEBGL = 0x8827; + const GLenum DRAW_BUFFER3_WEBGL = 0x8828; + const GLenum DRAW_BUFFER4_WEBGL = 0x8829; + const GLenum DRAW_BUFFER5_WEBGL = 0x882A; + const GLenum DRAW_BUFFER6_WEBGL = 0x882B; + const GLenum DRAW_BUFFER7_WEBGL = 0x882C; + const GLenum DRAW_BUFFER8_WEBGL = 0x882D; + const GLenum DRAW_BUFFER9_WEBGL = 0x882E; + const GLenum DRAW_BUFFER10_WEBGL = 0x882F; + const GLenum DRAW_BUFFER11_WEBGL = 0x8830; + const GLenum DRAW_BUFFER12_WEBGL = 0x8831; + const GLenum DRAW_BUFFER13_WEBGL = 0x8832; + const GLenum DRAW_BUFFER14_WEBGL = 0x8833; + const GLenum DRAW_BUFFER15_WEBGL = 0x8834; + + const GLenum MAX_COLOR_ATTACHMENTS_WEBGL = 0x8CDF; + const GLenum MAX_DRAW_BUFFERS_WEBGL = 0x8824; + + undefined drawBuffersWEBGL(sequence<GLenum> buffers); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_draw_instanced_base_vertex_base_instance.idl @@ -0,0 +1,14 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_draw_instanced_base_vertex_base_instance Extension Draft Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_draw_instanced_base_vertex_base_instance/) + +[Exposed=Window, LegacyNoInterfaceObject] +interface WEBGL_draw_instanced_base_vertex_base_instance { + undefined drawArraysInstancedBaseInstanceWEBGL( + GLenum mode, GLint first, GLsizei count, + GLsizei instanceCount, GLuint baseInstance); + undefined drawElementsInstancedBaseVertexBaseInstanceWEBGL( + GLenum mode, GLsizei count, GLenum type, GLintptr offset, + GLsizei instanceCount, GLint baseVertex, GLuint baseInstance); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_lose_context.idl @@ -0,0 +1,10 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_lose_context Khronos Ratified Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_lose_context/) + +[Exposed=(Window,Worker), LegacyNoInterfaceObject] +interface WEBGL_lose_context { + undefined loseContext(); + undefined restoreContext(); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_multi_draw.idl @@ -0,0 +1,32 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_multi_draw Extension Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_multi_draw/) + +[Exposed=Window, LegacyNoInterfaceObject] +interface WEBGL_multi_draw { + undefined multiDrawArraysWEBGL( + GLenum mode, + (Int32Array or sequence<GLint>) firstsList, GLuint firstsOffset, + (Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset, + GLsizei drawcount); + undefined multiDrawElementsWEBGL( + GLenum mode, + (Int32Array or sequence<GLint>) countsList, GLuint countsOffset, + GLenum type, + (Int32Array or sequence<GLsizei>) offsetsList, GLuint offsetsOffset, + GLsizei drawcount); + undefined multiDrawArraysInstancedWEBGL( + GLenum mode, + (Int32Array or sequence<GLint>) firstsList, GLuint firstsOffset, + (Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset, + (Int32Array or sequence<GLsizei>) instanceCountsList, GLuint instanceCountsOffset, + GLsizei drawcount); + undefined multiDrawElementsInstancedWEBGL( + GLenum mode, + (Int32Array or sequence<GLint>) countsList, GLuint countsOffset, + GLenum type, + (Int32Array or sequence<GLsizei>) offsetsList, GLuint offsetsOffset, + (Int32Array or sequence<GLsizei>) instanceCountsList, GLuint instanceCountsOffset, + GLsizei drawcount); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/WEBGL_multi_draw_instanced_base_vertex_base_instance.idl @@ -0,0 +1,26 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGL WEBGL_multi_draw_instanced_base_vertex_base_instance Extension Draft Specification (https://www.khronos.org/registry/webgl/extensions/WEBGL_multi_draw_instanced_base_vertex_base_instance/) + +[Exposed=Window, LegacyNoInterfaceObject] +interface WEBGL_multi_draw_instanced_base_vertex_base_instance { + undefined multiDrawArraysInstancedBaseInstanceWEBGL( + GLenum mode, + (Int32Array or sequence<GLint>) firstsList, GLuint firstsOffset, + (Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset, + (Int32Array or sequence<GLsizei>) instanceCountsList, GLuint instanceCountsOffset, + (Uint32Array or sequence<GLuint>) baseInstancesList, GLuint baseInstancesOffset, + GLsizei drawCount + ); + undefined multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL( + GLenum mode, + (Int32Array or sequence<GLsizei>) countsList, GLuint countsOffset, + GLenum type, + (Int32Array or sequence<GLsizei>) offsetsList, GLuint offsetsOffset, + (Int32Array or sequence<GLsizei>) instanceCountsList, GLuint instanceCountsOffset, + (Int32Array or sequence<GLint>) baseVerticesList, GLuint baseVerticesOffset, + (Uint32Array or sequence<GLuint>) baseInstancesList, GLuint baseInstancesOffset, + GLsizei drawCount + ); +};
--- a/testing/web-platform/tests/interfaces/anchors.idl +++ b/testing/web-platform/tests/interfaces/anchors.idl @@ -2,26 +2,27 @@ // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) // Source: WebXR Anchors Module (https://immersive-web.github.io/anchors/) [SecureContext, Exposed=Window] interface XRAnchor { readonly attribute XRSpace anchorSpace; - void delete(); + undefined delete(); }; partial interface XRFrame { Promise<XRAnchor> createAnchor(XRRigidTransform pose, XRSpace space); }; partial interface XRHitTestResult { Promise<XRAnchor> createAnchor(); }; +[Exposed=Window] interface XRAnchorSet { readonly setlike<XRAnchor>; }; partial interface XRFrame { [SameObject] readonly attribute XRAnchorSet trackedAnchors; };
--- a/testing/web-platform/tests/interfaces/background-fetch.idl +++ b/testing/web-platform/tests/interfaces/background-fetch.idl @@ -80,10 +80,10 @@ interface BackgroundFetchEvent : Extenda dictionary BackgroundFetchEventInit : ExtendableEventInit { required BackgroundFetchRegistration registration; }; [Exposed=ServiceWorker] interface BackgroundFetchUpdateUIEvent : BackgroundFetchEvent { constructor(DOMString type, BackgroundFetchEventInit init); - Promise<void> updateUI(optional BackgroundFetchUIOptions options = {}); + Promise<undefined> updateUI(optional BackgroundFetchUIOptions options = {}); };
--- a/testing/web-platform/tests/interfaces/construct-stylesheets.idl +++ b/testing/web-platform/tests/interfaces/construct-stylesheets.idl @@ -1,17 +1,17 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) // Source: Constructable Stylesheet Objects (https://wicg.github.io/construct-stylesheets/) partial interface CSSStyleSheet { constructor(optional CSSStyleSheetInit options = {}); Promise<CSSStyleSheet> replace(USVString text); - void replaceSync(USVString text); + undefined replaceSync(USVString text); }; dictionary CSSStyleSheetInit { (MediaList or DOMString) media = ""; DOMString title = ""; boolean alternate = false; boolean disabled = false; };
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/contact-api.idl @@ -0,0 +1,32 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Contact Picker API (https://wicg.github.io/contact-api/spec/) + +[Exposed=Window] +partial interface Navigator { + [SecureContext, SameObject] readonly attribute ContactsManager contacts; +}; + +enum ContactProperty { "address", "email", "icon", "name", "tel" }; + +[Exposed=Window] +interface ContactAddress : PaymentAddress {}; + +dictionary ContactInfo { + sequence<ContactAddress> address; + sequence<DOMString> email; + sequence<Blob> icon; + sequence<DOMString> name; + sequence<DOMString> tel; +}; + +dictionary ContactsSelectOptions { + boolean multiple = false; +}; + +[Exposed=(Window,SecureContext)] +interface ContactsManager { + Promise<sequence<ContactProperty>> getProperties(); + Promise<sequence<ContactInfo>> select(sequence<ContactProperty> properties, optional ContactsSelectOptions options = {}); +};
--- a/testing/web-platform/tests/interfaces/content-index.idl +++ b/testing/web-platform/tests/interfaces/content-index.idl @@ -25,18 +25,18 @@ dictionary ContentDescription { required DOMString description; ContentCategory category = ""; sequence<ImageResource> icons = []; required USVString url; }; [Exposed=(Window,Worker)] interface ContentIndex { - Promise<void> add(ContentDescription description); - Promise<void> delete(DOMString id); + Promise<undefined> add(ContentDescription description); + Promise<undefined> delete(DOMString id); Promise<sequence<ContentDescription>> getAll(); }; dictionary ContentIndexEventInit : ExtendableEventInit { required DOMString id; }; [Exposed=ServiceWorker]
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/crash-reporting.idl @@ -0,0 +1,10 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Crash Reporting (https://wicg.github.io/crash-reporting/) + +[Exposed=(Window,Worker)] +interface CrashReportBody : ReportBody { + [Default] object toJSON(); + readonly attribute DOMString? reason; +};
--- a/testing/web-platform/tests/interfaces/credential-management.idl +++ b/testing/web-platform/tests/interfaces/credential-management.idl @@ -19,17 +19,17 @@ partial interface Navigator { [SecureContext, SameObject] readonly attribute CredentialsContainer credentials; }; [Exposed=Window, SecureContext] interface CredentialsContainer { Promise<Credential?> get(optional CredentialRequestOptions options = {}); Promise<Credential> store(Credential credential); Promise<Credential?> create(optional CredentialCreationOptions options = {}); - Promise<void> preventSilentAccess(); + Promise<undefined> preventSilentAccess(); }; dictionary CredentialData { required USVString id; }; dictionary CredentialRequestOptions { CredentialMediationRequirement mediation = "optional";
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/css-animations-2.idl @@ -0,0 +1,9 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: CSS Animations Level 2 (https://drafts.csswg.org/css-animations-2/) + +[Exposed=Window] +interface CSSAnimation : Animation { + readonly attribute CSSOMString animationName; +};
--- a/testing/web-platform/tests/interfaces/css-font-loading.idl +++ b/testing/web-platform/tests/interfaces/css-font-loading.idl @@ -51,18 +51,16 @@ dictionary FontFaceSetLoadEventInit : Ev [Exposed=(Window,Worker)] interface FontFaceSetLoadEvent : Event { constructor(CSSOMString type, optional FontFaceSetLoadEventInit eventInitDict = {}); [SameObject] readonly attribute FrozenArray<FontFace> fontfaces; }; enum FontFaceSetLoadStatus { "loading", "loaded" }; -callback ForEachCallback = undefined (FontFace font, long index, FontFaceSet self); - [Exposed=(Window,Worker)] interface FontFaceSet : EventTarget { constructor(sequence<FontFace> initialFaces); // FontFaceSet is Set-like! setlike<FontFace>; FontFaceSet add(FontFace font); boolean delete(FontFace font);
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/css-highlight-api.idl @@ -0,0 +1,20 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: CSS Custom Highlight API Module Level 1 (https://drafts.csswg.org/css-highlight-api-1/) + +[Exposed=Window] +interface Highlight { + constructor(AbstractRange... initialRanges); + setlike<AbstractRange>; + attribute long priority; +}; + +partial namespace CSS { + readonly attribute HighlightRegistry highlights; +}; + +[Exposed=Window] +interface HighlightRegistry { + maplike<DOMString, Highlight>; +};
rename from testing/web-platform/tests/interfaces/css-images.idl rename to testing/web-platform/tests/interfaces/css-images-4.idl
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/css-layout-api.idl @@ -0,0 +1,147 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: CSS Layout API Level 1 (https://drafts.css-houdini.org/css-layout-api-1/) + +partial namespace CSS { + [SameObject] readonly attribute Worklet layoutWorklet; +}; + +[Global=(Worklet,LayoutWorklet),Exposed=LayoutWorklet] +interface LayoutWorkletGlobalScope : WorkletGlobalScope { + undefined registerLayout(DOMString name, VoidFunction layoutCtor); +}; + +[Exposed=LayoutWorklet] +dictionary LayoutOptions { + ChildDisplayType childDisplay = "block"; + LayoutSizingMode sizing = "block-like"; +}; + +[Exposed=LayoutWorklet] +enum ChildDisplayType { + "block", // default - "blockifies" the child boxes. + "normal", +}; + +[Exposed=LayoutWorklet] +enum LayoutSizingMode { + "block-like", // default - Sizing behaves like block containers. + "manual", // Sizing is specified by the web developer. +}; + +[Exposed=LayoutWorklet] +interface LayoutChild { + readonly attribute StylePropertyMapReadOnly styleMap; + + Promise<IntrinsicSizes> intrinsicSizes(); + Promise<LayoutFragment> layoutNextFragment(LayoutConstraintsOptions constraints, ChildBreakToken breakToken); +}; + +[Exposed=LayoutWorklet] +interface LayoutFragment { + readonly attribute double inlineSize; + readonly attribute double blockSize; + + attribute double inlineOffset; + attribute double blockOffset; + + readonly attribute any data; + + readonly attribute ChildBreakToken? breakToken; +}; + +[Exposed=LayoutWorklet] +interface IntrinsicSizes { + readonly attribute double minContentSize; + readonly attribute double maxContentSize; +}; + +[Exposed=LayoutWorklet] +interface LayoutConstraints { + readonly attribute double availableInlineSize; + readonly attribute double availableBlockSize; + + readonly attribute double? fixedInlineSize; + readonly attribute double? fixedBlockSize; + + readonly attribute double percentageInlineSize; + readonly attribute double percentageBlockSize; + + readonly attribute double? blockFragmentationOffset; + readonly attribute BlockFragmentationType blockFragmentationType; + + readonly attribute any data; +}; + +enum BlockFragmentationType { "none", "page", "column", "region" }; + +dictionary LayoutConstraintsOptions { + double availableInlineSize; + double availableBlockSize; + + double fixedInlineSize; + double fixedBlockSize; + + double percentageInlineSize; + double percentageBlockSize; + + double blockFragmentationOffset; + BlockFragmentationType blockFragmentationType = "none"; + + any data; +}; + +[Exposed=LayoutWorklet] +interface ChildBreakToken { + readonly attribute BreakType breakType; + readonly attribute LayoutChild child; +}; + +[Exposed=LayoutWorklet] +interface BreakToken { + readonly attribute FrozenArray<ChildBreakToken> childBreakTokens; + readonly attribute any data; +}; + +dictionary BreakTokenOptions { + sequence<ChildBreakToken> childBreakTokens; + any data = null; +}; + +enum BreakType { "none", "line", "column", "page", "region" }; + +[Exposed=LayoutWorklet] +interface LayoutEdges { + readonly attribute double inlineStart; + readonly attribute double inlineEnd; + + readonly attribute double blockStart; + readonly attribute double blockEnd; + + // Convenience attributes for the sum in one direction. + readonly attribute double inline; + readonly attribute double block; +}; + +// This is the final return value from the author defined layout() method. +dictionary FragmentResultOptions { + double inlineSize = 0; + double blockSize = 0; + double autoBlockSize = 0; + sequence<LayoutFragment> childFragments = []; + any data = null; + BreakTokenOptions breakToken = null; +}; + +[Exposed=LayoutWorklet] +interface FragmentResult { + constructor(optional FragmentResultOptions options = {}); + readonly attribute double inlineSize; + readonly attribute double blockSize; +}; + +dictionary IntrinsicSizesResultOptions { + double maxContentSize; + double minContentSize; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/css-nav.idl @@ -0,0 +1,48 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: CSS Spatial Navigation Level 1 (https://drafts.csswg.org/css-nav-1/) + +enum SpatialNavigationDirection { + "up", + "down", + "left", + "right", +}; + +partial interface Window { + undefined navigate(SpatialNavigationDirection dir); +}; + +enum FocusableAreaSearchMode { + "visible", + "all" +}; + +dictionary FocusableAreasOption { + FocusableAreaSearchMode mode; +}; + +dictionary SpatialNavigationSearchOptions { + sequence<Node>? candidates; + Node? container; +}; + +partial interface Element { + Node getSpatialNavigationContainer(); + sequence<Node> focusableAreas(optional FocusableAreasOption option = {}); + Node? spatialNavigationSearch(SpatialNavigationDirection dir, optional SpatialNavigationSearchOptions options = {}); +}; + +[Exposed=Window] +interface NavigationEvent : UIEvent { + constructor(DOMString type, + optional NavigationEventInit eventInitDict = {}); + readonly attribute SpatialNavigationDirection dir; + readonly attribute EventTarget? relatedTarget; +}; + +dictionary NavigationEventInit : UIEventInit { + SpatialNavigationDirection dir; + EventTarget? relatedTarget = null; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/css-nesting.idl @@ -0,0 +1,19 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: CSS Nesting Module (https://drafts.csswg.org/css-nesting-1/) + +partial interface CSSStyleRule { + [SameObject] readonly attribute CSSRuleList cssRules; + unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0); + undefined deleteRule(unsigned long index); +}; + +[Exposed=Window] +interface CSSNestingRule : CSSRule { + attribute CSSOMString selectorText; + [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style; + [SameObject] readonly attribute CSSRuleList cssRules; + unsigned long insertRule(CSSOMString rule, optional unsigned long index = 0); + undefined deleteRule(unsigned long index); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/css-regions.idl @@ -0,0 +1,29 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: CSS Regions Module Level 1 (https://drafts.csswg.org/css-regions/) + +partial interface Document { + readonly attribute NamedFlowMap namedFlows; +}; + +[Exposed=Window] interface NamedFlowMap { + maplike<CSSOMString, NamedFlow>; +}; + +[Exposed=Window] +interface NamedFlow : EventTarget { + readonly attribute CSSOMString name; + readonly attribute boolean overset; + sequence<Region> getRegions(); + readonly attribute short firstEmptyRegionIndex; + sequence<Node> getContent(); + sequence<Region> getRegionsByContent(Node node); +}; + +interface mixin Region { + readonly attribute CSSOMString regionOverset; + sequence<Range>? getRegionFlowRanges(); +}; + +Element includes Region;
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/css-transitions-2.idl @@ -0,0 +1,9 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: CSS Transitions Level 2 (https://drafts.csswg.org/css-transitions-2/) + +[Exposed=Window] +interface CSSTransition : Animation { + readonly attribute CSSOMString transitionProperty; +};
--- a/testing/web-platform/tests/interfaces/css-typed-om.idl +++ b/testing/web-platform/tests/interfaces/css-typed-om.idl @@ -311,8 +311,80 @@ interface CSSMatrixComponent : CSSTransf dictionary CSSMatrixComponentOptions { boolean is2D; }; [Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] interface CSSImageValue : CSSStyleValue { }; + +[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] +interface CSSColorValue : CSSStyleValue { + CSSRGB toRGB(); + CSSHSL toHSL(); + CSSHWB toHWB(); + CSSGray toGray(); + CSSLCH toLCH(); + CSSLab toLab(); + CSSColor toColor(CSSKeywordish colorspace); + + [Exposed=Window] static CSSColorValue parse(USVString cssText); +}; + +[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] +interface CSSRGB : CSSColorValue { + constructor(CSSNumberish r, CSSNumberish g, CSSNumberish b, optional CSSNumberish alpha = 1); + attribute CSSNumberish r; + attribute CSSNumberish g; + attribute CSSNumberish b; + attribute CSSNumberish alpha; +}; + +[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] +interface CSSHSL : CSSColorValue { + constructor(CSSNumericValue h, CSSNumberish s, CSSNumberish l, optional CSSNumberish alpha = 1); + attribute CSSNumericValue h; + attribute CSSNumberish s; + attribute CSSNumberish l; + attribute CSSNumberish alpha; +}; + +[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] +interface CSSHWB : CSSColorValue { + constructor(CSSNumericValue h, CSSNumberish w, CSSNumberish b, optional CSSNumberish alpha = 1); + attribute CSSNumericValue h; + attribute CSSNumberish w; + attribute CSSNumberish b; + attribute CSSNumberish alpha; +}; + +[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] +interface CSSGray : CSSColorValue { + constructor(CSSNumberish gray, optional CSSNumberish alpha = 1); + attribute CSSNumberish gray; + attribute CSSNumberish alpha; +}; + +[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] +interface CSSLCH : CSSColorValue { + constructor(CSSNumberish l, CSSNumberish c, CSSNumericValue h, optional CSSNumberish alpha = 1); + attribute CSSNumberish l; + attribute CSSNumberish c; + attribute CSSNumericValue h; + attribute CSSNumberish alpha; +}; + +[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] +interface CSSLab : CSSColorValue { + constructor(CSSNumberish l, CSSNumberish a, CSSNumberish b, optional CSSNumberish alpha = 1); + attribute CSSNumberish l; + attribute CSSNumberish a; + attribute CSSNumberish b; + attribute CSSNumberish alpha; +}; + +[Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] +interface CSSColor : CSSColorValue { + constructor(sequence<(DOMString or CSSNumberish)> variant); + /* CSSColor(["foo", 0, 1, .5], ["bar", "yellow"], 1, fallbackColor) */ + /* or just make the alpha and fallback successive optional args? */ +};
--- a/testing/web-platform/tests/interfaces/cssom-view.idl +++ b/testing/web-platform/tests/interfaces/cssom-view.idl @@ -134,35 +134,24 @@ partial interface HTMLImageElement { }; partial interface Range { DOMRectList getClientRects(); [NewObject] DOMRect getBoundingClientRect(); }; partial interface MouseEvent { - readonly attribute double screenX; - readonly attribute double screenY; readonly attribute double pageX; readonly attribute double pageY; - readonly attribute double clientX; - readonly attribute double clientY; readonly attribute double x; readonly attribute double y; readonly attribute double offsetX; readonly attribute double offsetY; }; -partial dictionary MouseEventInit { - double screenX = 0.0; - double screenY = 0.0; - double clientX = 0.0; - double clientY = 0.0; -}; - enum CSSBoxType { "margin", "border", "padding", "content" }; dictionary BoxQuadOptions { CSSBoxType box = "border"; GeometryNode relativeTo; // XXX default document (i.e. viewport) }; dictionary ConvertCoordinateOptions { CSSBoxType fromBox = "border";
--- a/testing/web-platform/tests/interfaces/cssom.idl +++ b/testing/web-platform/tests/interfaces/cssom.idl @@ -139,16 +139,18 @@ interface CSSStyleDeclaration { interface mixin ElementCSSInlineStyle { [SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style; }; HTMLElement includes ElementCSSInlineStyle; SVGElement includes ElementCSSInlineStyle; +MathMLElement includes ElementCSSInlineStyle; + partial interface Window { [NewObject] CSSStyleDeclaration getComputedStyle(Element elt, optional CSSOMString? pseudoElt); }; [Exposed=Window] namespace CSS { CSSOMString escape(CSSOMString ident); };
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/datacue.idl @@ -0,0 +1,12 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: DataCue API (https://wicg.github.io/datacue/) + +[Exposed=Window] +interface DataCue : TextTrackCue { + constructor(double startTime, unrestricted double endTime, + any value, optional DOMString type); + attribute any value; + readonly attribute DOMString type; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/depth-sensing.idl @@ -0,0 +1,57 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebXR Depth Sensing Module (https://immersive-web.github.io/depth-sensing/) + +enum XRDepthUsage { + "cpu-optimized", + "gpu-optimized", +}; + +enum XRDepthDataFormat { + "luminance-alpha", + "float32" +}; + +dictionary XRDepthStateInit { + required sequence<XRDepthUsage> usagePreference; + required sequence<XRDepthDataFormat> dataFormatPreference; +}; + +partial dictionary XRSessionInit { + XRDepthStateInit depthSensing; +}; + +partial interface XRSession { + readonly attribute XRDepthUsage depthUsage; + readonly attribute XRDepthDataFormat depthDataFormat; +}; + +[SecureContext, Exposed=Window] +interface XRDepthInformation { + readonly attribute unsigned long width; + readonly attribute unsigned long height; + + [SameObject] readonly attribute XRRigidTransform normDepthBufferFromNormView; + readonly attribute float rawValueToMeters; +}; + +[Exposed=Window] +interface XRCPUDepthInformation : XRDepthInformation { + [SameObject] readonly attribute ArrayBuffer data; + + float getDepthInMeters(float x, float y); +}; + +partial interface XRFrame { + XRCPUDepthInformation? getDepthInformation(XRView view); +}; + +[Exposed=Window] +interface XRWebGLDepthInformation : XRDepthInformation { + [SameObject] readonly attribute WebGLTexture texture; +}; + +partial interface XRWebGLBinding { + XRWebGLDepthInformation? getDepthInformation(XRView view); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/device-posture.idl @@ -0,0 +1,24 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Device Posture API (https://w3c.github.io/device-posture/) + +[SecureContext] +partial interface Screen { + [SameObject] readonly attribute DevicePosture posture; +}; + +[SecureContext, Exposed=(Window)] +interface DevicePosture : EventTarget { + readonly attribute DevicePostureType type; + attribute EventHandler onchange; +}; + +enum DevicePostureType { + "no-fold", + "laptop", + "flat", + "tent", + "tablet", + "book" +};
--- a/testing/web-platform/tests/interfaces/dom.idl +++ b/testing/web-platform/tests/interfaces/dom.idl @@ -88,16 +88,18 @@ interface AbortController { [SameObject] readonly attribute AbortSignal signal; undefined abort(); }; [Exposed=(Window,Worker)] interface AbortSignal : EventTarget { + [NewObject] static AbortSignal abort(); + readonly attribute boolean aborted; attribute EventHandler onabort; }; interface mixin NonElementParentNode { Element? getElementById(DOMString elementId); }; Document includes NonElementParentNode;
--- a/testing/web-platform/tests/interfaces/encrypted-media.idl +++ b/testing/web-platform/tests/interfaces/encrypted-media.idl @@ -33,18 +33,17 @@ dictionary MediaKeySystemMediaCapability [Exposed=Window, SecureContext] interface MediaKeySystemAccess { readonly attribute DOMString keySystem; MediaKeySystemConfiguration getConfiguration (); Promise<MediaKeys> createMediaKeys (); }; enum MediaKeySessionType { "temporary", - "persistent-license", - "persistent-usage-record" + "persistent-license" }; [Exposed=Window, SecureContext] interface MediaKeys { MediaKeySession createSession (optional MediaKeySessionType sessionType = "temporary"); Promise<boolean> setServerCertificate (BufferSource serverCertificate); }; [Exposed=Window, SecureContext] interface MediaKeySession : EventTarget {
--- a/testing/web-platform/tests/interfaces/filter-effects.idl +++ b/testing/web-platform/tests/interfaces/filter-effects.idl @@ -1,13 +1,14 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) // Source: Filter Effects Module Level 1 (https://drafts.fxtf.org/filter-effects-1/) +[Exposed=Window] interface SVGFilterElement : SVGElement { readonly attribute SVGAnimatedEnumeration filterUnits; readonly attribute SVGAnimatedEnumeration primitiveUnits; readonly attribute SVGAnimatedLength x; readonly attribute SVGAnimatedLength y; readonly attribute SVGAnimatedLength width; readonly attribute SVGAnimatedLength height; }; @@ -17,16 +18,17 @@ SVGFilterElement includes SVGURIReferenc interface mixin SVGFilterPrimitiveStandardAttributes { readonly attribute SVGAnimatedLength x; readonly attribute SVGAnimatedLength y; readonly attribute SVGAnimatedLength width; readonly attribute SVGAnimatedLength height; readonly attribute SVGAnimatedString result; }; +[Exposed=Window] interface SVGFEBlendElement : SVGElement { // Blend Mode Types const unsigned short SVG_FEBLEND_MODE_UNKNOWN = 0; const unsigned short SVG_FEBLEND_MODE_NORMAL = 1; const unsigned short SVG_FEBLEND_MODE_MULTIPLY = 2; const unsigned short SVG_FEBLEND_MODE_SCREEN = 3; const unsigned short SVG_FEBLEND_MODE_DARKEN = 4; @@ -45,38 +47,41 @@ interface SVGFEBlendElement : SVGElement readonly attribute SVGAnimatedString in1; readonly attribute SVGAnimatedString in2; readonly attribute SVGAnimatedEnumeration mode; }; SVGFEBlendElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFEColorMatrixElement : SVGElement { // Color Matrix Types const unsigned short SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0; const unsigned short SVG_FECOLORMATRIX_TYPE_MATRIX = 1; const unsigned short SVG_FECOLORMATRIX_TYPE_SATURATE = 2; const unsigned short SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3; const unsigned short SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4; readonly attribute SVGAnimatedString in1; readonly attribute SVGAnimatedEnumeration type; readonly attribute SVGAnimatedNumberList values; }; SVGFEColorMatrixElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFEComponentTransferElement : SVGElement { readonly attribute SVGAnimatedString in1; }; SVGFEComponentTransferElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGComponentTransferFunctionElement : SVGElement { // Component Transfer Types const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0; const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1; const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2; const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3; const unsigned short SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4; @@ -86,28 +91,33 @@ interface SVGComponentTransferFunctionEl readonly attribute SVGAnimatedNumberList tableValues; readonly attribute SVGAnimatedNumber slope; readonly attribute SVGAnimatedNumber intercept; readonly attribute SVGAnimatedNumber amplitude; readonly attribute SVGAnimatedNumber exponent; readonly attribute SVGAnimatedNumber offset; }; +[Exposed=Window] interface SVGFEFuncRElement : SVGComponentTransferFunctionElement { }; +[Exposed=Window] interface SVGFEFuncGElement : SVGComponentTransferFunctionElement { }; +[Exposed=Window] interface SVGFEFuncBElement : SVGComponentTransferFunctionElement { }; +[Exposed=Window] interface SVGFEFuncAElement : SVGComponentTransferFunctionElement { }; +[Exposed=Window] interface SVGFECompositeElement : SVGElement { // Composite Operators const unsigned short SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0; const unsigned short SVG_FECOMPOSITE_OPERATOR_OVER = 1; const unsigned short SVG_FECOMPOSITE_OPERATOR_IN = 2; const unsigned short SVG_FECOMPOSITE_OPERATOR_OUT = 3; const unsigned short SVG_FECOMPOSITE_OPERATOR_ATOP = 4; @@ -120,16 +130,17 @@ interface SVGFECompositeElement : SVGEle readonly attribute SVGAnimatedNumber k1; readonly attribute SVGAnimatedNumber k2; readonly attribute SVGAnimatedNumber k3; readonly attribute SVGAnimatedNumber k4; }; SVGFECompositeElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFEConvolveMatrixElement : SVGElement { // Edge Mode Values const unsigned short SVG_EDGEMODE_UNKNOWN = 0; const unsigned short SVG_EDGEMODE_DUPLICATE = 1; const unsigned short SVG_EDGEMODE_WRAP = 2; const unsigned short SVG_EDGEMODE_NONE = 3; @@ -144,48 +155,53 @@ interface SVGFEConvolveMatrixElement : S readonly attribute SVGAnimatedEnumeration edgeMode; readonly attribute SVGAnimatedNumber kernelUnitLengthX; readonly attribute SVGAnimatedNumber kernelUnitLengthY; readonly attribute SVGAnimatedBoolean preserveAlpha; }; SVGFEConvolveMatrixElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFEDiffuseLightingElement : SVGElement { readonly attribute SVGAnimatedString in1; readonly attribute SVGAnimatedNumber surfaceScale; readonly attribute SVGAnimatedNumber diffuseConstant; readonly attribute SVGAnimatedNumber kernelUnitLengthX; readonly attribute SVGAnimatedNumber kernelUnitLengthY; }; SVGFEDiffuseLightingElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFEDistantLightElement : SVGElement { readonly attribute SVGAnimatedNumber azimuth; readonly attribute SVGAnimatedNumber elevation; }; +[Exposed=Window] interface SVGFEPointLightElement : SVGElement { readonly attribute SVGAnimatedNumber x; readonly attribute SVGAnimatedNumber y; readonly attribute SVGAnimatedNumber z; }; +[Exposed=Window] interface SVGFESpotLightElement : SVGElement { readonly attribute SVGAnimatedNumber x; readonly attribute SVGAnimatedNumber y; readonly attribute SVGAnimatedNumber z; readonly attribute SVGAnimatedNumber pointsAtX; readonly attribute SVGAnimatedNumber pointsAtY; readonly attribute SVGAnimatedNumber pointsAtZ; readonly attribute SVGAnimatedNumber specularExponent; readonly attribute SVGAnimatedNumber limitingConeAngle; }; +[Exposed=Window] interface SVGFEDisplacementMapElement : SVGElement { // Channel Selectors const unsigned short SVG_CHANNEL_UNKNOWN = 0; const unsigned short SVG_CHANNEL_R = 1; const unsigned short SVG_CHANNEL_G = 2; const unsigned short SVG_CHANNEL_B = 3; const unsigned short SVG_CHANNEL_A = 4; @@ -194,108 +210,119 @@ interface SVGFEDisplacementMapElement : readonly attribute SVGAnimatedString in2; readonly attribute SVGAnimatedNumber scale; readonly attribute SVGAnimatedEnumeration xChannelSelector; readonly attribute SVGAnimatedEnumeration yChannelSelector; }; SVGFEDisplacementMapElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFEDropShadowElement : SVGElement { readonly attribute SVGAnimatedString in1; readonly attribute SVGAnimatedNumber dx; readonly attribute SVGAnimatedNumber dy; readonly attribute SVGAnimatedNumber stdDeviationX; readonly attribute SVGAnimatedNumber stdDeviationY; - void setStdDeviation(float stdDeviationX, float stdDeviationY); + undefined setStdDeviation(float stdDeviationX, float stdDeviationY); }; SVGFEDropShadowElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFEFloodElement : SVGElement { }; SVGFEFloodElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFEGaussianBlurElement : SVGElement { // Edge Mode Values const unsigned short SVG_EDGEMODE_UNKNOWN = 0; const unsigned short SVG_EDGEMODE_DUPLICATE = 1; const unsigned short SVG_EDGEMODE_WRAP = 2; const unsigned short SVG_EDGEMODE_NONE = 3; readonly attribute SVGAnimatedString in1; readonly attribute SVGAnimatedNumber stdDeviationX; readonly attribute SVGAnimatedNumber stdDeviationY; readonly attribute SVGAnimatedEnumeration edgeMode; - void setStdDeviation(float stdDeviationX, float stdDeviationY); + undefined setStdDeviation(float stdDeviationX, float stdDeviationY); }; SVGFEGaussianBlurElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFEImageElement : SVGElement { readonly attribute SVGAnimatedPreserveAspectRatio preserveAspectRatio; readonly attribute SVGAnimatedString crossOrigin; }; SVGFEImageElement includes SVGFilterPrimitiveStandardAttributes; SVGFEImageElement includes SVGURIReference; +[Exposed=Window] interface SVGFEMergeElement : SVGElement { }; SVGFEMergeElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFEMergeNodeElement : SVGElement { readonly attribute SVGAnimatedString in1; }; +[Exposed=Window] interface SVGFEMorphologyElement : SVGElement { // Morphology Operators const unsigned short SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0; const unsigned short SVG_MORPHOLOGY_OPERATOR_ERODE = 1; const unsigned short SVG_MORPHOLOGY_OPERATOR_DILATE = 2; readonly attribute SVGAnimatedString in1; readonly attribute SVGAnimatedEnumeration operator; readonly attribute SVGAnimatedNumber radiusX; readonly attribute SVGAnimatedNumber radiusY; }; SVGFEMorphologyElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFEOffsetElement : SVGElement { readonly attribute SVGAnimatedString in1; readonly attribute SVGAnimatedNumber dx; readonly attribute SVGAnimatedNumber dy; }; SVGFEOffsetElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFESpecularLightingElement : SVGElement { readonly attribute SVGAnimatedString in1; readonly attribute SVGAnimatedNumber surfaceScale; readonly attribute SVGAnimatedNumber specularConstant; readonly attribute SVGAnimatedNumber specularExponent; readonly attribute SVGAnimatedNumber kernelUnitLengthX; readonly attribute SVGAnimatedNumber kernelUnitLengthY; }; SVGFESpecularLightingElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFETileElement : SVGElement { readonly attribute SVGAnimatedString in1; }; SVGFETileElement includes SVGFilterPrimitiveStandardAttributes; +[Exposed=Window] interface SVGFETurbulenceElement : SVGElement { // Turbulence Types const unsigned short SVG_TURBULENCE_TYPE_UNKNOWN = 0; const unsigned short SVG_TURBULENCE_TYPE_FRACTALNOISE = 1; const unsigned short SVG_TURBULENCE_TYPE_TURBULENCE = 2; // Stitch Options
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/floc.idl @@ -0,0 +1,13 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Federated Learning of Cohorts (https://wicg.github.io/floc/) + +dictionary InterestCohort { + DOMString id; + DOMString version; +}; + +partial interface Document { + Promise<InterestCohort> interestCohort(); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/font-metrics-api.idl @@ -0,0 +1,42 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Font Metrics API Level 1 (https://drafts.css-houdini.org/font-metrics-api-1/) + +partial interface Document { + FontMetrics measureElement(Element element); + FontMetrics measureText(DOMString text, StylePropertyMapReadOnly styleMap); +}; + +[Exposed=Window] +interface FontMetrics { + readonly attribute double width; + readonly attribute FrozenArray<double> advances; + + readonly attribute double boundingBoxLeft; + readonly attribute double boundingBoxRight; + + readonly attribute double height; + readonly attribute double emHeightAscent; + readonly attribute double emHeightDescent; + readonly attribute double boundingBoxAscent; + readonly attribute double boundingBoxDescent; + readonly attribute double fontBoundingBoxAscent; + readonly attribute double fontBoundingBoxDescent; + + readonly attribute Baseline dominantBaseline; + readonly attribute FrozenArray<Baseline> baselines; + readonly attribute FrozenArray<Font> fonts; +}; + +[Exposed=Window] +interface Baseline { + readonly attribute DOMString name; + readonly attribute double value; +}; + +[Exposed=Window] +interface Font { + readonly attribute DOMString name; + readonly attribute unsigned long glyphsRendered; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/frame-timing.idl @@ -0,0 +1,8 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Frame Timing (https://wicg.github.io/frame-timing/) + +[Exposed=Window] +interface PerformanceFrameTiming : PerformanceEntry { +};
--- a/testing/web-platform/tests/interfaces/gamepad.idl +++ b/testing/web-platform/tests/interfaces/gamepad.idl @@ -19,16 +19,17 @@ interface GamepadButton { readonly attribute boolean pressed; readonly attribute boolean touched; readonly attribute double value; }; enum GamepadMappingType { "", "standard", + "xr-standard", }; [Exposed=Window] partial interface Navigator { sequence<Gamepad?> getGamepads(); }; [Exposed=Window, SecureContext] @@ -36,8 +37,13 @@ partial interface Navigator { interface GamepadEvent: Event { constructor(DOMString type, GamepadEventInit eventInitDict); [SameObject] readonly attribute Gamepad gamepad; }; dictionary GamepadEventInit : EventInit { required Gamepad gamepad; }; + +partial interface mixin WindowEventHandlers { + attribute EventHandler ongamepadconnected; + attribute EventHandler ongamepaddisconnected; +};
--- a/testing/web-platform/tests/interfaces/geolocation-API.idl +++ b/testing/web-platform/tests/interfaces/geolocation-API.idl @@ -1,52 +1,60 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) -// Source: Geolocation API Specification (https://w3c.github.io/geolocation-api/) +// Source: Geolocation API (https://w3c.github.io/geolocation-api/) partial interface Navigator { [SameObject] readonly attribute Geolocation geolocation; }; [Exposed=Window] interface Geolocation { - undefined getCurrentPosition(PositionCallback successCallback, - optional PositionErrorCallback errorCallback, - optional PositionOptions options = {}); + undefined getCurrentPosition ( + PositionCallback successCallback, + optional PositionErrorCallback? errorCallback = null, + optional PositionOptions options = {} + ); - long watchPosition(PositionCallback successCallback, - optional PositionErrorCallback errorCallback, - optional PositionOptions options = {}); + long watchPosition ( + PositionCallback successCallback, + optional PositionErrorCallback? errorCallback = null, + optional PositionOptions options = {} + ); - undefined clearWatch(long watchId); + undefined clearWatch (long watchId); }; -callback PositionCallback = undefined (GeolocationPosition position); +callback PositionCallback = undefined ( + GeolocationPosition position +); -callback PositionErrorCallback = undefined (GeolocationPositionError positionError); +callback PositionErrorCallback = undefined ( + GeolocationPositionError positionError +); dictionary PositionOptions { boolean enableHighAccuracy = false; [Clamp] unsigned long timeout = 0xFFFFFFFF; [Clamp] unsigned long maximumAge = 0; }; [Exposed=Window, SecureContext] interface GeolocationPosition { readonly attribute GeolocationCoordinates coords; readonly attribute DOMTimeStamp timestamp; }; [Exposed=Window, SecureContext] interface GeolocationCoordinates { + readonly attribute double accuracy; readonly attribute double latitude; readonly attribute double longitude; readonly attribute double? altitude; - readonly attribute double accuracy; readonly attribute double? altitudeAccuracy; readonly attribute double? heading; readonly attribute double? speed; }; [Exposed=Window] interface GeolocationPositionError { const unsigned short PERMISSION_DENIED = 1;
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/gpuweb.idl @@ -0,0 +1,1074 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebGPU (https://gpuweb.github.io/gpuweb/) + +interface mixin GPUObjectBase { + attribute USVString? label; +}; + +dictionary GPUObjectDescriptorBase { + USVString label; +}; + +[Exposed=Window] +interface GPUAdapterLimits { + readonly attribute unsigned long maxTextureDimension1D; + readonly attribute unsigned long maxTextureDimension2D; + readonly attribute unsigned long maxTextureDimension3D; + readonly attribute unsigned long maxTextureArrayLayers; + readonly attribute unsigned long maxBindGroups; + readonly attribute unsigned long maxDynamicUniformBuffersPerPipelineLayout; + readonly attribute unsigned long maxDynamicStorageBuffersPerPipelineLayout; + readonly attribute unsigned long maxSampledTexturesPerShaderStage; + readonly attribute unsigned long maxSamplersPerShaderStage; + readonly attribute unsigned long maxStorageBuffersPerShaderStage; + readonly attribute unsigned long maxStorageTexturesPerShaderStage; + readonly attribute unsigned long maxUniformBuffersPerShaderStage; + readonly attribute unsigned long maxUniformBufferBindingSize; + readonly attribute unsigned long maxStorageBufferBindingSize; + readonly attribute unsigned long maxVertexBuffers; + readonly attribute unsigned long maxVertexAttributes; + readonly attribute unsigned long maxVertexBufferArrayStride; +}; + +[Exposed=Window] +interface GPUSupportedFeatures { + readonly setlike<GPUFeatureName>; +}; + +interface mixin NavigatorGPU { + [SameObject] readonly attribute GPU gpu; +}; +Navigator includes NavigatorGPU; +WorkerNavigator includes NavigatorGPU; + +[Exposed=(Window, DedicatedWorker)] +interface GPU { + Promise<GPUAdapter?> requestAdapter(optional GPURequestAdapterOptions options = {}); +}; + +dictionary GPURequestAdapterOptions { + GPUPowerPreference powerPreference; +}; + +enum GPUPowerPreference { + "low-power", + "high-performance" +}; + +[Exposed=Window] +interface GPUAdapter { + readonly attribute DOMString name; + [SameObject] readonly attribute GPUSupportedFeatures features; + [SameObject] readonly attribute GPUAdapterLimits limits; + + Promise<GPUDevice> requestDevice(optional GPUDeviceDescriptor descriptor = {}); +}; + +dictionary GPUDeviceDescriptor : GPUObjectDescriptorBase { + sequence<GPUFeatureName> nonGuaranteedFeatures = []; + record<DOMString, GPUSize32> nonGuaranteedLimits = {}; +}; + +enum GPUFeatureName { + "depth-clamping", + "depth24unorm-stencil8", + "depth32float-stencil8", + "pipeline-statistics-query", + "texture-compression-bc", + "timestamp-query", +}; + +[Exposed=(Window, DedicatedWorker), Serializable] +interface GPUDevice : EventTarget { + [SameObject] readonly attribute GPUSupportedFeatures features; + readonly attribute object limits; + + [SameObject] readonly attribute GPUQueue queue; + + undefined destroy(); + + GPUBuffer createBuffer(GPUBufferDescriptor descriptor); + GPUTexture createTexture(GPUTextureDescriptor descriptor); + GPUSampler createSampler(optional GPUSamplerDescriptor descriptor = {}); + + GPUBindGroupLayout createBindGroupLayout(GPUBindGroupLayoutDescriptor descriptor); + GPUPipelineLayout createPipelineLayout(GPUPipelineLayoutDescriptor descriptor); + GPUBindGroup createBindGroup(GPUBindGroupDescriptor descriptor); + + GPUShaderModule createShaderModule(GPUShaderModuleDescriptor descriptor); + GPUComputePipeline createComputePipeline(GPUComputePipelineDescriptor descriptor); + GPURenderPipeline createRenderPipeline(GPURenderPipelineDescriptor descriptor); + Promise<GPUComputePipeline> createComputePipelineAsync(GPUComputePipelineDescriptor descriptor); + Promise<GPURenderPipeline> createRenderPipelineAsync(GPURenderPipelineDescriptor descriptor); + + GPUCommandEncoder createCommandEncoder(optional GPUCommandEncoderDescriptor descriptor = {}); + GPURenderBundleEncoder createRenderBundleEncoder(GPURenderBundleEncoderDescriptor descriptor); + + GPUQuerySet createQuerySet(GPUQuerySetDescriptor descriptor); +}; +GPUDevice includes GPUObjectBase; + +[Exposed=Window, Serializable] +interface GPUBuffer { + Promise<undefined> mapAsync(GPUMapModeFlags mode, optional GPUSize64 offset = 0, optional GPUSize64 size); + ArrayBuffer getMappedRange(optional GPUSize64 offset = 0, optional GPUSize64 size); + undefined unmap(); + + undefined destroy(); +}; +GPUBuffer includes GPUObjectBase; + +dictionary GPUBufferDescriptor : GPUObjectDescriptorBase { + required GPUSize64 size; + required GPUBufferUsageFlags usage; + boolean mappedAtCreation = false; +}; + +typedef [EnforceRange] unsigned long GPUBufferUsageFlags; +[Exposed=Window] +interface GPUBufferUsage { + const GPUFlagsConstant MAP_READ = 0x0001; + const GPUFlagsConstant MAP_WRITE = 0x0002; + const GPUFlagsConstant COPY_SRC = 0x0004; + const GPUFlagsConstant COPY_DST = 0x0008; + const GPUFlagsConstant INDEX = 0x0010; + const GPUFlagsConstant VERTEX = 0x0020; + const GPUFlagsConstant UNIFORM = 0x0040; + const GPUFlagsConstant STORAGE = 0x0080; + const GPUFlagsConstant INDIRECT = 0x0100; + const GPUFlagsConstant QUERY_RESOLVE = 0x0200; +}; + +typedef [EnforceRange] unsigned long GPUMapModeFlags; +[Exposed=Window] +interface GPUMapMode { + const GPUFlagsConstant READ = 0x0001; + const GPUFlagsConstant WRITE = 0x0002; +}; + +[Exposed=Window, Serializable] +interface GPUTexture { + GPUTextureView createView(optional GPUTextureViewDescriptor descriptor = {}); + + undefined destroy(); +}; +GPUTexture includes GPUObjectBase; + +dictionary GPUTextureDescriptor : GPUObjectDescriptorBase { + required GPUExtent3D size; + GPUIntegerCoordinate mipLevelCount = 1; + GPUSize32 sampleCount = 1; + GPUTextureDimension dimension = "2d"; + required GPUTextureFormat format; + required GPUTextureUsageFlags usage; +}; + +enum GPUTextureDimension { + "1d", + "2d", + "3d", +}; + +typedef [EnforceRange] unsigned long GPUTextureUsageFlags; +[Exposed=Window] +interface GPUTextureUsage { + const GPUFlagsConstant COPY_SRC = 0x01; + const GPUFlagsConstant COPY_DST = 0x02; + const GPUFlagsConstant SAMPLED = 0x04; + const GPUFlagsConstant STORAGE = 0x08; + const GPUFlagsConstant RENDER_ATTACHMENT = 0x10; +}; + +[Exposed=Window] +interface GPUTextureView { +}; +GPUTextureView includes GPUObjectBase; + +dictionary GPUTextureViewDescriptor : GPUObjectDescriptorBase { + GPUTextureFormat format; + GPUTextureViewDimension dimension; + GPUTextureAspect aspect = "all"; + GPUIntegerCoordinate baseMipLevel = 0; + GPUIntegerCoordinate mipLevelCount; + GPUIntegerCoordinate baseArrayLayer = 0; + GPUIntegerCoordinate arrayLayerCount; +}; + +enum GPUTextureViewDimension { + "1d", + "2d", + "2d-array", + "cube", + "cube-array", + "3d" +}; + +enum GPUTextureAspect { + "all", + "stencil-only", + "depth-only" +}; + +enum GPUTextureFormat { + // 8-bit formats + "r8unorm", + "r8snorm", + "r8uint", + "r8sint", + + // 16-bit formats + "r16uint", + "r16sint", + "r16float", + "rg8unorm", + "rg8snorm", + "rg8uint", + "rg8sint", + + // 32-bit formats + "r32uint", + "r32sint", + "r32float", + "rg16uint", + "rg16sint", + "rg16float", + "rgba8unorm", + "rgba8unorm-srgb", + "rgba8snorm", + "rgba8uint", + "rgba8sint", + "bgra8unorm", + "bgra8unorm-srgb", + // Packed 32-bit formats + "rgb9e5ufloat", + "rgb10a2unorm", + "rg11b10ufloat", + + // 64-bit formats + "rg32uint", + "rg32sint", + "rg32float", + "rgba16uint", + "rgba16sint", + "rgba16float", + + // 128-bit formats + "rgba32uint", + "rgba32sint", + "rgba32float", + + // Depth and stencil formats + "stencil8", + "depth16unorm", + "depth24plus", + "depth24plus-stencil8", + "depth32float", + + // BC compressed formats usable if "texture-compression-bc" is both + // supported by the device/user agent and enabled in requestDevice. + "bc1-rgba-unorm", + "bc1-rgba-unorm-srgb", + "bc2-rgba-unorm", + "bc2-rgba-unorm-srgb", + "bc3-rgba-unorm", + "bc3-rgba-unorm-srgb", + "bc4-r-unorm", + "bc4-r-snorm", + "bc5-rg-unorm", + "bc5-rg-snorm", + "bc6h-rgb-ufloat", + "bc6h-rgb-float", + "bc7-rgba-unorm", + "bc7-rgba-unorm-srgb", + + // "depth24unorm-stencil8" feature + "depth24unorm-stencil8", + + // "depth32float-stencil8" feature + "depth32float-stencil8", +}; + +[Exposed=Window] +interface GPUSampler { +}; +GPUSampler includes GPUObjectBase; + +dictionary GPUSamplerDescriptor : GPUObjectDescriptorBase { + GPUAddressMode addressModeU = "clamp-to-edge"; + GPUAddressMode addressModeV = "clamp-to-edge"; + GPUAddressMode addressModeW = "clamp-to-edge"; + GPUFilterMode magFilter = "nearest"; + GPUFilterMode minFilter = "nearest"; + GPUFilterMode mipmapFilter = "nearest"; + float lodMinClamp = 0; + float lodMaxClamp = 0xffffffff; // TODO: What should this be? Was Number.MAX_VALUE. + GPUCompareFunction compare; + [Clamp] unsigned short maxAnisotropy = 1; +}; + +enum GPUAddressMode { + "clamp-to-edge", + "repeat", + "mirror-repeat" +}; + +enum GPUFilterMode { + "nearest", + "linear" +}; + +enum GPUCompareFunction { + "never", + "less", + "equal", + "less-equal", + "greater", + "not-equal", + "greater-equal", + "always" +}; + +[Exposed=Window, Serializable] +interface GPUBindGroupLayout { +}; +GPUBindGroupLayout includes GPUObjectBase; + +dictionary GPUBindGroupLayoutDescriptor : GPUObjectDescriptorBase { + required sequence<GPUBindGroupLayoutEntry> entries; +}; + +typedef [EnforceRange] unsigned long GPUShaderStageFlags; +[Exposed=Window] +interface GPUShaderStage { + const GPUFlagsConstant VERTEX = 0x1; + const GPUFlagsConstant FRAGMENT = 0x2; + const GPUFlagsConstant COMPUTE = 0x4; +}; + +dictionary GPUBindGroupLayoutEntry { + required GPUIndex32 binding; + required GPUShaderStageFlags visibility; + + GPUBufferBindingLayout buffer; + GPUSamplerBindingLayout sampler; + GPUTextureBindingLayout texture; + GPUStorageTextureBindingLayout storageTexture; +}; + +enum GPUBufferBindingType { + "uniform", + "storage", + "read-only-storage", +}; + +dictionary GPUBufferBindingLayout { + GPUBufferBindingType type = "uniform"; + boolean hasDynamicOffset = false; + GPUSize64 minBindingSize = 0; +}; + +enum GPUSamplerBindingType { + "filtering", + "non-filtering", + "comparison", +}; + +dictionary GPUSamplerBindingLayout { + GPUSamplerBindingType type = "filtering"; +}; + +enum GPUTextureSampleType { + "float", + "unfilterable-float", + "depth", + "sint", + "uint", +}; + +dictionary GPUTextureBindingLayout { + GPUTextureSampleType sampleType = "float"; + GPUTextureViewDimension viewDimension = "2d"; + boolean multisampled = false; +}; + +enum GPUStorageTextureAccess { + "read-only", + "write-only", +}; + +dictionary GPUStorageTextureBindingLayout { + required GPUStorageTextureAccess access; + required GPUTextureFormat format; + GPUTextureViewDimension viewDimension = "2d"; +}; + +[Exposed=Window] +interface GPUBindGroup { +}; +GPUBindGroup includes GPUObjectBase; + +dictionary GPUBindGroupDescriptor : GPUObjectDescriptorBase { + required GPUBindGroupLayout layout; + required sequence<GPUBindGroupEntry> entries; +}; + +typedef (GPUSampler or GPUTextureView or GPUBufferBinding) GPUBindingResource; + +dictionary GPUBindGroupEntry { + required GPUIndex32 binding; + required GPUBindingResource resource; +}; + +dictionary GPUBufferBinding { + required GPUBuffer buffer; + GPUSize64 offset = 0; + GPUSize64 size; +}; + +[Exposed=Window, Serializable] +interface GPUPipelineLayout { +}; +GPUPipelineLayout includes GPUObjectBase; + +dictionary GPUPipelineLayoutDescriptor : GPUObjectDescriptorBase { + required sequence<GPUBindGroupLayout> bindGroupLayouts; +}; + +enum GPUCompilationMessageType { + "error", + "warning", + "info" +}; + +[Exposed=Window, Serializable] +interface GPUCompilationMessage { + readonly attribute DOMString message; + readonly attribute GPUCompilationMessageType type; + readonly attribute unsigned long long lineNum; + readonly attribute unsigned long long linePos; +}; + +[Exposed=Window, Serializable] +interface GPUCompilationInfo { + readonly attribute FrozenArray<GPUCompilationMessage> messages; +}; + +[Exposed=Window, Serializable] +interface GPUShaderModule { + Promise<GPUCompilationInfo> compilationInfo(); +}; +GPUShaderModule includes GPUObjectBase; + +dictionary GPUShaderModuleDescriptor : GPUObjectDescriptorBase { + required USVString code; + object sourceMap; +}; + +dictionary GPUPipelineDescriptorBase : GPUObjectDescriptorBase { + GPUPipelineLayout layout; +}; + +interface mixin GPUPipelineBase { + GPUBindGroupLayout getBindGroupLayout(unsigned long index); +}; + +dictionary GPUProgrammableStage { + required GPUShaderModule module; + required USVString entryPoint; +}; + +[Exposed=Window, Serializable] +interface GPUComputePipeline { +}; +GPUComputePipeline includes GPUObjectBase; +GPUComputePipeline includes GPUPipelineBase; + +dictionary GPUComputePipelineDescriptor : GPUPipelineDescriptorBase { + required GPUProgrammableStage compute; +}; + +[Exposed=Window, Serializable] +interface GPURenderPipeline { +}; +GPURenderPipeline includes GPUObjectBase; +GPURenderPipeline includes GPUPipelineBase; + +dictionary GPURenderPipelineDescriptor : GPUPipelineDescriptorBase { + required GPUVertexState vertex; + GPUPrimitiveState primitive = {}; + GPUDepthStencilState depthStencil; + GPUMultisampleState multisample = {}; + GPUFragmentState fragment; +}; + +enum GPUPrimitiveTopology { + "point-list", + "line-list", + "line-strip", + "triangle-list", + "triangle-strip" +}; + +dictionary GPUPrimitiveState { + GPUPrimitiveTopology topology = "triangle-list"; + GPUIndexFormat stripIndexFormat; + GPUFrontFace frontFace = "ccw"; + GPUCullMode cullMode = "none"; + + // Enable depth clamping (requires "depth-clamping" feature) + boolean clampDepth = false; +}; + +enum GPUFrontFace { + "ccw", + "cw" +}; + +enum GPUCullMode { + "none", + "front", + "back" +}; + +dictionary GPUMultisampleState { + GPUSize32 count = 1; + GPUSampleMask mask = 0xFFFFFFFF; + boolean alphaToCoverageEnabled = false; +}; + +dictionary GPUFragmentState: GPUProgrammableStage { + required sequence<GPUColorTargetState> targets; +}; + +dictionary GPUColorTargetState { + required GPUTextureFormat format; + + GPUBlendState blend; + GPUColorWriteFlags writeMask = 0xF; // GPUColorWrite.ALL +}; + +dictionary GPUBlendState { + required GPUBlendComponent color; + required GPUBlendComponent alpha; +}; + +typedef [EnforceRange] unsigned long GPUColorWriteFlags; +[Exposed=Window] +interface GPUColorWrite { + const GPUFlagsConstant RED = 0x1; + const GPUFlagsConstant GREEN = 0x2; + const GPUFlagsConstant BLUE = 0x4; + const GPUFlagsConstant ALPHA = 0x8; + const GPUFlagsConstant ALL = 0xF; +}; + +dictionary GPUBlendComponent { + GPUBlendFactor srcFactor = "one"; + GPUBlendFactor dstFactor = "zero"; + GPUBlendOperation operation = "add"; +}; + +enum GPUBlendFactor { + "zero", + "one", + "src", + "one-minus-src", + "src-alpha", + "one-minus-src-alpha", + "dst", + "one-minus-dst", + "dst-alpha", + "one-minus-dst-alpha", + "src-alpha-saturated", + "constant", + "one-minus-constant" +}; + +enum GPUBlendOperation { + "add", + "subtract", + "reverse-subtract", + "min", + "max" +}; + +dictionary GPUDepthStencilState { + required GPUTextureFormat format; + + boolean depthWriteEnabled = false; + GPUCompareFunction depthCompare = "always"; + + GPUStencilFaceState stencilFront = {}; + GPUStencilFaceState stencilBack = {}; + + GPUStencilValue stencilReadMask = 0xFFFFFFFF; + GPUStencilValue stencilWriteMask = 0xFFFFFFFF; + + GPUDepthBias depthBias = 0; + float depthBiasSlopeScale = 0; + float depthBiasClamp = 0; +}; + +dictionary GPUStencilFaceState { + GPUCompareFunction compare = "always"; + GPUStencilOperation failOp = "keep"; + GPUStencilOperation depthFailOp = "keep"; + GPUStencilOperation passOp = "keep"; +}; + +enum GPUStencilOperation { + "keep", + "zero", + "replace", + "invert", + "increment-clamp", + "decrement-clamp", + "increment-wrap", + "decrement-wrap" +}; + +enum GPUIndexFormat { + "uint16", + "uint32" +}; + +enum GPUVertexFormat { + "uint8x2", + "uint8x4", + "sint8x2", + "sint8x4", + "unorm8x2", + "unorm8x4", + "snorm8x2", + "snorm8x4", + "uint16x2", + "uint16x4", + "sint16x2", + "sint16x4", + "unorm16x2", + "unorm16x4", + "snorm16x2", + "snorm16x4", + "float16x2", + "float16x4", + "float32", + "float32x2", + "float32x3", + "float32x4", + "uint32", + "uint32x2", + "uint32x3", + "uint32x4", + "sint32", + "sint32x2", + "sint32x3", + "sint32x4", +}; + +enum GPUInputStepMode { + "vertex", + "instance" +}; + +dictionary GPUVertexState: GPUProgrammableStage { + sequence<GPUVertexBufferLayout?> buffers = []; +}; + +dictionary GPUVertexBufferLayout { + required GPUSize64 arrayStride; + GPUInputStepMode stepMode = "vertex"; + required sequence<GPUVertexAttribute> attributes; +}; + +dictionary GPUVertexAttribute { + required GPUVertexFormat format; + required GPUSize64 offset; + + required GPUIndex32 shaderLocation; +}; + +[Exposed=Window] +interface GPUCommandBuffer { + readonly attribute Promise<double> executionTime; +}; +GPUCommandBuffer includes GPUObjectBase; + +dictionary GPUCommandBufferDescriptor : GPUObjectDescriptorBase { +}; + +[Exposed=Window] +interface GPUCommandEncoder { + GPURenderPassEncoder beginRenderPass(GPURenderPassDescriptor descriptor); + GPUComputePassEncoder beginComputePass(optional GPUComputePassDescriptor descriptor = {}); + + undefined copyBufferToBuffer( + GPUBuffer source, + GPUSize64 sourceOffset, + GPUBuffer destination, + GPUSize64 destinationOffset, + GPUSize64 size); + + undefined copyBufferToTexture( + GPUImageCopyBuffer source, + GPUImageCopyTexture destination, + GPUExtent3D copySize); + + undefined copyTextureToBuffer( + GPUImageCopyTexture source, + GPUImageCopyBuffer destination, + GPUExtent3D copySize); + + undefined copyTextureToTexture( + GPUImageCopyTexture source, + GPUImageCopyTexture destination, + GPUExtent3D copySize); + + undefined pushDebugGroup(USVString groupLabel); + undefined popDebugGroup(); + undefined insertDebugMarker(USVString markerLabel); + + undefined writeTimestamp(GPUQuerySet querySet, GPUSize32 queryIndex); + + undefined resolveQuerySet( + GPUQuerySet querySet, + GPUSize32 firstQuery, + GPUSize32 queryCount, + GPUBuffer destination, + GPUSize64 destinationOffset); + + GPUCommandBuffer finish(optional GPUCommandBufferDescriptor descriptor = {}); +}; +GPUCommandEncoder includes GPUObjectBase; + +dictionary GPUCommandEncoderDescriptor : GPUObjectDescriptorBase { + boolean measureExecutionTime = false; + + // TODO: reusability flag? +}; + +dictionary GPUImageDataLayout { + GPUSize64 offset = 0; + GPUSize32 bytesPerRow; + GPUSize32 rowsPerImage; +}; + +dictionary GPUImageCopyBuffer : GPUImageDataLayout { + required GPUBuffer buffer; +}; + +dictionary GPUImageCopyTexture { + required GPUTexture texture; + GPUIntegerCoordinate mipLevel = 0; + GPUOrigin3D origin = {}; + GPUTextureAspect aspect = "all"; +}; + +dictionary GPUImageCopyImageBitmap { + required ImageBitmap imageBitmap; + GPUOrigin2D origin = {}; +}; + +interface mixin GPUProgrammablePassEncoder { + undefined setBindGroup(GPUIndex32 index, GPUBindGroup bindGroup, + optional sequence<GPUBufferDynamicOffset> dynamicOffsets = []); + + undefined setBindGroup(GPUIndex32 index, GPUBindGroup bindGroup, + Uint32Array dynamicOffsetsData, + GPUSize64 dynamicOffsetsDataStart, + GPUSize32 dynamicOffsetsDataLength); + + undefined pushDebugGroup(USVString groupLabel); + undefined popDebugGroup(); + undefined insertDebugMarker(USVString markerLabel); +}; + +[Exposed=Window] +interface GPUComputePassEncoder { + undefined setPipeline(GPUComputePipeline pipeline); + undefined dispatch(GPUSize32 x, optional GPUSize32 y = 1, optional GPUSize32 z = 1); + undefined dispatchIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset); + + undefined beginPipelineStatisticsQuery(GPUQuerySet querySet, GPUSize32 queryIndex); + undefined endPipelineStatisticsQuery(); + + undefined writeTimestamp(GPUQuerySet querySet, GPUSize32 queryIndex); + + undefined endPass(); +}; +GPUComputePassEncoder includes GPUObjectBase; +GPUComputePassEncoder includes GPUProgrammablePassEncoder; + +dictionary GPUComputePassDescriptor : GPUObjectDescriptorBase { +}; + +interface mixin GPURenderEncoderBase { + undefined setPipeline(GPURenderPipeline pipeline); + + undefined setIndexBuffer(GPUBuffer buffer, GPUIndexFormat indexFormat, optional GPUSize64 offset = 0, optional GPUSize64 size = 0); + undefined setVertexBuffer(GPUIndex32 slot, GPUBuffer buffer, optional GPUSize64 offset = 0, optional GPUSize64 size = 0); + + undefined draw(GPUSize32 vertexCount, optional GPUSize32 instanceCount = 1, + optional GPUSize32 firstVertex = 0, optional GPUSize32 firstInstance = 0); + undefined drawIndexed(GPUSize32 indexCount, optional GPUSize32 instanceCount = 1, + optional GPUSize32 firstIndex = 0, + optional GPUSignedOffset32 baseVertex = 0, + optional GPUSize32 firstInstance = 0); + + undefined drawIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset); + undefined drawIndexedIndirect(GPUBuffer indirectBuffer, GPUSize64 indirectOffset); +}; + +[Exposed=Window] +interface GPURenderPassEncoder { + undefined setViewport(float x, float y, + float width, float height, + float minDepth, float maxDepth); + + undefined setScissorRect(GPUIntegerCoordinate x, GPUIntegerCoordinate y, + GPUIntegerCoordinate width, GPUIntegerCoordinate height); + + undefined setBlendConstant(GPUColor color); + undefined setStencilReference(GPUStencilValue reference); + + undefined beginOcclusionQuery(GPUSize32 queryIndex); + undefined endOcclusionQuery(); + + undefined beginPipelineStatisticsQuery(GPUQuerySet querySet, GPUSize32 queryIndex); + undefined endPipelineStatisticsQuery(); + + undefined writeTimestamp(GPUQuerySet querySet, GPUSize32 queryIndex); + + undefined executeBundles(sequence<GPURenderBundle> bundles); + undefined endPass(); +}; +GPURenderPassEncoder includes GPUObjectBase; +GPURenderPassEncoder includes GPUProgrammablePassEncoder; +GPURenderPassEncoder includes GPURenderEncoderBase; + +dictionary GPURenderPassDescriptor : GPUObjectDescriptorBase { + required sequence<GPURenderPassColorAttachment> colorAttachments; + GPURenderPassDepthStencilAttachment depthStencilAttachment; + GPUQuerySet occlusionQuerySet; +}; + +dictionary GPURenderPassColorAttachment { + required GPUTextureView view; + GPUTextureView resolveTarget; + + required (GPULoadOp or GPUColor) loadValue; + required GPUStoreOp storeOp; +}; + +dictionary GPURenderPassDepthStencilAttachment { + required GPUTextureView view; + + required (GPULoadOp or float) depthLoadValue; + required GPUStoreOp depthStoreOp; + boolean depthReadOnly = false; + + required (GPULoadOp or GPUStencilValue) stencilLoadValue; + required GPUStoreOp stencilStoreOp; + boolean stencilReadOnly = false; +}; + +enum GPULoadOp { + "load" +}; + +enum GPUStoreOp { + "store", + "clear" +}; + +[Exposed=Window] +interface GPURenderBundle { +}; +GPURenderBundle includes GPUObjectBase; + +dictionary GPURenderBundleDescriptor : GPUObjectDescriptorBase { +}; + +[Exposed=Window] +interface GPURenderBundleEncoder { + GPURenderBundle finish(optional GPURenderBundleDescriptor descriptor = {}); +}; +GPURenderBundleEncoder includes GPUObjectBase; +GPURenderBundleEncoder includes GPUProgrammablePassEncoder; +GPURenderBundleEncoder includes GPURenderEncoderBase; + +dictionary GPURenderBundleEncoderDescriptor : GPUObjectDescriptorBase { + required sequence<GPUTextureFormat> colorFormats; + GPUTextureFormat depthStencilFormat; + GPUSize32 sampleCount = 1; +}; + +[Exposed=Window] +interface GPUQueue { + undefined submit(sequence<GPUCommandBuffer> commandBuffers); + + Promise<undefined> onSubmittedWorkDone(); + + undefined writeBuffer( + GPUBuffer buffer, + GPUSize64 bufferOffset, + [AllowShared] BufferSource data, + optional GPUSize64 dataOffset = 0, + optional GPUSize64 size); + + undefined writeTexture( + GPUImageCopyTexture destination, + [AllowShared] BufferSource data, + GPUImageDataLayout dataLayout, + GPUExtent3D size); + + undefined copyImageBitmapToTexture( + GPUImageCopyImageBitmap source, + GPUImageCopyTexture destination, + GPUExtent3D copySize); +}; +GPUQueue includes GPUObjectBase; + +[Exposed=Window] +interface GPUQuerySet { + undefined destroy(); +}; +GPUQuerySet includes GPUObjectBase; + +dictionary GPUQuerySetDescriptor : GPUObjectDescriptorBase { + required GPUQueryType type; + required GPUSize32 count; + sequence<GPUPipelineStatisticName> pipelineStatistics = []; +}; + +enum GPUQueryType { + "occlusion", + "pipeline-statistics", + "timestamp" +}; + +enum GPUPipelineStatisticName { + "vertex-shader-invocations", + "clipper-invocations", + "clipper-primitives-out", + "fragment-shader-invocations", + "compute-shader-invocations" +}; + +[Exposed=Window] +interface GPUCanvasContext { + GPUSwapChain configureSwapChain(GPUSwapChainDescriptor descriptor); + + GPUTextureFormat getSwapChainPreferredFormat(GPUAdapter adapter); +}; + +dictionary GPUSwapChainDescriptor : GPUObjectDescriptorBase { + required GPUDevice device; + required GPUTextureFormat format; + GPUTextureUsageFlags usage = 0x10; // GPUTextureUsage.RENDER_ATTACHMENT +}; + +[Exposed=Window] +interface GPUSwapChain { + GPUTexture getCurrentTexture(); +}; +GPUSwapChain includes GPUObjectBase; + +enum GPUDeviceLostReason { + "destroyed", +}; + +[Exposed=Window] +interface GPUDeviceLostInfo { + readonly attribute (GPUDeviceLostReason or undefined) reason; + readonly attribute DOMString message; +}; + +partial interface GPUDevice { + readonly attribute Promise<GPUDeviceLostInfo> lost; +}; + +enum GPUErrorFilter { + "out-of-memory", + "validation" +}; + +[Exposed=Window] +interface GPUOutOfMemoryError { + constructor(); +}; + +[Exposed=Window] +interface GPUValidationError { + constructor(DOMString message); + readonly attribute DOMString message; +}; + +typedef (GPUOutOfMemoryError or GPUValidationError) GPUError; + +partial interface GPUDevice { + undefined pushErrorScope(GPUErrorFilter filter); + Promise<GPUError?> popErrorScope(); +}; + +[ + Exposed=(Window, DedicatedWorker) +] +interface GPUUncapturedErrorEvent : Event { + constructor( + DOMString type, + GPUUncapturedErrorEventInit gpuUncapturedErrorEventInitDict + ); + [SameObject] readonly attribute GPUError error; +}; + +dictionary GPUUncapturedErrorEventInit : EventInit { + required GPUError error; +}; + +partial interface GPUDevice { + [Exposed=(Window, DedicatedWorker)] + attribute EventHandler onuncapturederror; +}; + +typedef [EnforceRange] unsigned long GPUBufferDynamicOffset; +typedef [EnforceRange] unsigned long GPUStencilValue; +typedef [EnforceRange] unsigned long GPUSampleMask; +typedef [EnforceRange] long GPUDepthBias; + +typedef [EnforceRange] unsigned long long GPUSize64; +typedef [EnforceRange] unsigned long GPUIntegerCoordinate; +typedef [EnforceRange] unsigned long GPUIndex32; +typedef [EnforceRange] unsigned long GPUSize32; +typedef [EnforceRange] long GPUSignedOffset32; + +typedef unsigned long GPUFlagsConstant; + +dictionary GPUColorDict { + required double r; + required double g; + required double b; + required double a; +}; +typedef (sequence<double> or GPUColorDict) GPUColor; + +dictionary GPUOrigin2DDict { + GPUIntegerCoordinate x = 0; + GPUIntegerCoordinate y = 0; +}; +typedef (sequence<GPUIntegerCoordinate> or GPUOrigin2DDict) GPUOrigin2D; + +dictionary GPUOrigin3DDict { + GPUIntegerCoordinate x = 0; + GPUIntegerCoordinate y = 0; + GPUIntegerCoordinate z = 0; +}; +typedef (sequence<GPUIntegerCoordinate> or GPUOrigin3DDict) GPUOrigin3D; + +dictionary GPUExtent3DDict { + required GPUIntegerCoordinate width; + GPUIntegerCoordinate height = 1; + GPUIntegerCoordinate depthOrArrayLayers = 1; +}; +typedef (sequence<GPUIntegerCoordinate> or GPUExtent3DDict) GPUExtent3D;
--- a/testing/web-platform/tests/interfaces/hit-test.idl +++ b/testing/web-platform/tests/interfaces/hit-test.idl @@ -18,22 +18,22 @@ dictionary XRHitTestOptionsInit { dictionary XRTransientInputHitTestOptionsInit { required DOMString profile; FrozenArray<XRHitTestTrackableType> entityTypes; XRRay offsetRay; }; [SecureContext, Exposed=Window] interface XRHitTestSource { - void cancel(); + undefined cancel(); }; [SecureContext, Exposed=Window] interface XRTransientInputHitTestSource { - void cancel(); + undefined cancel(); }; [SecureContext, Exposed=Window] interface XRHitTestResult { XRPose? getPose(XRSpace baseSpace); }; [SecureContext, Exposed=Window]
--- a/testing/web-platform/tests/interfaces/html.idl +++ b/testing/web-platform/tests/interfaces/html.idl @@ -1226,16 +1226,17 @@ interface HTMLTemplateElement : HTMLElem [Exposed=Window] interface HTMLSlotElement : HTMLElement { [HTMLConstructor] constructor(); [CEReactions] attribute DOMString name; sequence<Node> assignedNodes(optional AssignedNodesOptions options = {}); sequence<Element> assignedElements(optional AssignedNodesOptions options = {}); + undefined assign((Element or Text)... nodes); }; dictionary AssignedNodesOptions { boolean flatten = false; }; typedef (CanvasRenderingContext2D or ImageBitmapRenderingContext or WebGLRenderingContext or WebGL2RenderingContext) RenderingContext; @@ -1733,18 +1734,18 @@ enum ScrollRestoration { "auto", "manual [Exposed=Window] interface History { readonly attribute unsigned long length; attribute ScrollRestoration scrollRestoration; readonly attribute any state; undefined go(optional long delta = 0); undefined back(); undefined forward(); - undefined pushState(any data, DOMString title, optional USVString? url = null); - undefined replaceState(any data, DOMString title, optional USVString? url = null); + undefined pushState(any data, DOMString unused, optional USVString? url = null); + undefined replaceState(any data, DOMString unused, optional USVString? url = null); }; [Exposed=Window] interface Location { // but see also additional creation steps and overridden internal methods [LegacyUnforgeable] stringifier attribute USVString href; [LegacyUnforgeable] readonly attribute USVString origin; [LegacyUnforgeable] attribute USVString protocol; [LegacyUnforgeable] attribute USVString host;
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/image-resource.idl @@ -0,0 +1,11 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Image Resource (https://w3c.github.io/image-resource/) + +dictionary ImageResource { + required USVString src; + DOMString sizes; + DOMString type; + DOMString label; +};
--- a/testing/web-platform/tests/interfaces/is-input-pending.idl +++ b/testing/web-platform/tests/interfaces/is-input-pending.idl @@ -3,14 +3,14 @@ // (https://github.com/w3c/webref) // Source: Early detection of input events (https://wicg.github.io/is-input-pending/) dictionary IsInputPendingOptions { boolean includeContinuous = false; }; [Exposed=Window] interface Scheduling { - boolean isInputPending(optional IsInputPendingOptions isInputPendingOptions); + boolean isInputPending(optional IsInputPendingOptions isInputPendingOptions = {}); }; partial interface Navigator { readonly attribute Scheduling scheduling; };
--- a/testing/web-platform/tests/interfaces/keyboard-lock.idl +++ b/testing/web-platform/tests/interfaces/keyboard-lock.idl @@ -3,11 +3,11 @@ // (https://github.com/w3c/webref) // Source: Keyboard Lock (https://wicg.github.io/keyboard-lock/) partial interface Navigator { [SecureContext, SameObject] readonly attribute Keyboard keyboard; }; [SecureContext, Exposed=Window] interface Keyboard { - Promise<void> lock(optional sequence<DOMString> keyCodes = []); - void unlock(); + Promise<undefined> lock(optional sequence<DOMString> keyCodes = []); + undefined unlock(); };
--- a/testing/web-platform/tests/interfaces/keyboard-map.idl +++ b/testing/web-platform/tests/interfaces/keyboard-map.idl @@ -1,18 +1,13 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) // Source: Keyboard Map (https://wicg.github.io/keyboard-map/) [Exposed=Window] -partial interface Navigator { - [SecureContext, SameObject] readonly attribute Keyboard keyboard; -}; - -[Exposed=Window] interface KeyboardLayoutMap { readonly maplike<DOMString, DOMString>; }; -[SecureContext, Exposed=Window] interface Keyboard { +partial interface Keyboard { Promise<KeyboardLayoutMap> getLayoutMap(); };
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/lighting-estimation.idl @@ -0,0 +1,39 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebXR Lighting Estimation API Level 1 (https://immersive-web.github.io/lighting-estimation/) + +[SecureContext, Exposed=Window] +interface XRLightProbe : EventTarget { + readonly attribute XRSpace probeSpace; + attribute EventHandler onreflectionchange; +}; + +enum XRReflectionFormat { + "srgba8", + "rgba16f", +}; + +[SecureContext, Exposed=Window] +interface XRLightEstimate { + readonly attribute Float32Array sphericalHarmonicsCoefficients; + readonly attribute DOMPointReadOnly primaryLightDirection; + readonly attribute DOMPointReadOnly primaryLightIntensity; +}; + +dictionary XRLightProbeInit { + XRReflectionFormat reflectionFormat = "srgba8"; +}; + +partial interface XRSession { + Promise<XRLightProbe> requestLightProbe(optional XRLightProbeInit options = {}); + readonly attribute XRReflectionFormat preferredReflectionFormat; +}; + +partial interface XRFrame { + XRLightEstimate? getLightEstimate(XRLightProbe lightProbe); +}; + +partial interface XRWebGLBinding { + WebGLTexture? getReflectionCubeMap(XRLightProbe lightProbe); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/local-font-access.idl @@ -0,0 +1,32 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Local Font Access API (https://wicg.github.io/local-font-access/) + +[SecureContext] +interface mixin NavigatorFonts { + [SameObject] readonly attribute FontManager fonts; +}; +Navigator includes NavigatorFonts; +WorkerNavigator includes NavigatorFonts; + +[SecureContext, + Exposed=(Window,Worker)] +interface FontManager { + Promise<sequence<FontMetadata>> query(optional QueryOptions options = {}); +}; + +dictionary QueryOptions { + boolean persistentAccess = false; + sequence<DOMString> select = []; +}; + +[Exposed=(Window,Worker)] +interface FontMetadata { + Promise<Blob> blob(); + + readonly attribute USVString postscriptName; + readonly attribute USVString fullName; + readonly attribute USVString family; + readonly attribute USVString style; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/mathml-core.idl @@ -0,0 +1,10 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: MathML Core (https://mathml-refresh.github.io/mathml-core/) + +[Exposed=Window] +interface MathMLElement : Element { }; +MathMLElement includes GlobalEventHandlers; +MathMLElement includes DocumentAndElementEventHandlers; +MathMLElement includes HTMLOrSVGElement;
--- a/testing/web-platform/tests/interfaces/media-source.idl +++ b/testing/web-platform/tests/interfaces/media-source.idl @@ -61,21 +61,16 @@ interface SourceBuffer : EventTarget { [Exposed=Window] interface SourceBufferList : EventTarget { readonly attribute unsigned long length; attribute EventHandler onaddsourcebuffer; attribute EventHandler onremovesourcebuffer; getter SourceBuffer (unsigned long index); }; -[Exposed=Window] -partial interface URL { - static DOMString createObjectURL (MediaSource mediaSource); -}; - partial interface AudioTrack { readonly attribute SourceBuffer? sourceBuffer; }; partial interface VideoTrack { readonly attribute SourceBuffer? sourceBuffer; };
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/mediacapture-automation.idl @@ -0,0 +1,36 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Media Capture Automation (https://w3c.github.io/mediacapture-automation/) + +enum MockCapturePromptResult { + "granted", + "denied" +}; + +dictionary MockCapturePromptResultConfiguration { + MockCapturePromptResult getUserMedia; + MockCapturePromptResult getDisplayMedia; +}; + +dictionary MockCaptureDeviceConfiguration { + DOMString label; + DOMString deviceId; + DOMString groupId; +}; + +dictionary MockCameraConfiguration : MockCaptureDeviceConfiguration { + double defaultFrameRate = 30; + DOMString facingMode = "user"; + // TODO: Add more capabilities parameters like: + // ULongRange width; + // ULongRange height; + // DoubleRange frameRate; +}; + +dictionary MockMicrophoneConfiguration : MockCaptureDeviceConfiguration { + unsigned long defaultSampleRate = 44100; + // TODO: Add more capabilities parameters like: + // ULongRange sampleRate; + // sequence echoCancellation; +};
--- a/testing/web-platform/tests/interfaces/orientation-event.idl +++ b/testing/web-platform/tests/interfaces/orientation-event.idl @@ -20,21 +20,16 @@ interface DeviceOrientationEvent : Event dictionary DeviceOrientationEventInit : EventInit { double? alpha = null; double? beta = null; double? gamma = null; boolean absolute = false; }; -enum PermissionState { - "granted", - "denied", -}; - partial interface Window { [SecureContext] attribute EventHandler ondeviceorientationabsolute; }; partial interface Window { attribute EventHandler oncompassneedscalibration; };
--- a/testing/web-platform/tests/interfaces/payment-handler.idl +++ b/testing/web-platform/tests/interfaces/payment-handler.idl @@ -6,34 +6,34 @@ partial interface ServiceWorkerRegistration { [SameObject] readonly attribute PaymentManager paymentManager; }; [SecureContext, Exposed=(Window,Worker)] interface PaymentManager { [SameObject] readonly attribute PaymentInstruments instruments; attribute DOMString userHint; - Promise<void> enableDelegations(sequence<PaymentDelegation> delegations); + Promise<undefined> enableDelegations(sequence<PaymentDelegation> delegations); }; enum PaymentDelegation { "shippingAddress", "payerName", "payerPhone", "payerEmail" }; [SecureContext, Exposed=(Window,Worker)] interface PaymentInstruments { Promise<boolean> delete(DOMString instrumentKey); Promise<any> get(DOMString instrumentKey); Promise<sequence<DOMString>> keys(); Promise<boolean> has(DOMString instrumentKey); - Promise<void> set(DOMString instrumentKey, PaymentInstrument details); - Promise<void> clear(); + Promise<undefined> set(DOMString instrumentKey, PaymentInstrument details); + Promise<undefined> clear(); }; dictionary PaymentInstrument { required DOMString name; sequence<ImageObject> icons; DOMString method; object capabilities; }; @@ -49,17 +49,17 @@ partial interface ServiceWorkerGlobalSco }; [Exposed=ServiceWorker] interface CanMakePaymentEvent : ExtendableEvent { constructor(DOMString type, optional CanMakePaymentEventInit eventInitDict = {}); readonly attribute USVString topOrigin; readonly attribute USVString paymentRequestOrigin; readonly attribute FrozenArray<PaymentMethodData> methodData; - void respondWith(Promise<boolean> canMakePaymentResponse); + undefined respondWith(Promise<boolean> canMakePaymentResponse); }; dictionary CanMakePaymentEventInit : ExtendableEventInit { USVString topOrigin; USVString paymentRequestOrigin; sequence<PaymentMethodData> methodData; }; @@ -88,17 +88,17 @@ interface PaymentRequestEvent : Extendab readonly attribute DOMString instrumentKey; readonly attribute boolean requestBillingAddress; readonly attribute object? paymentOptions; readonly attribute FrozenArray<PaymentShippingOption>? shippingOptions; Promise<WindowClient?> openWindow(USVString url); Promise<PaymentRequestDetailsUpdate?> changePaymentMethod(DOMString methodName, optional object? methodDetails = null); Promise<PaymentRequestDetailsUpdate?> changeShippingAddress(optional AddressInit shippingAddress = {}); Promise<PaymentRequestDetailsUpdate?> changeShippingOption(DOMString shippingOption); - void respondWith(Promise<PaymentHandlerResponse> handlerResponsePromise); + undefined respondWith(Promise<PaymentHandlerResponse> handlerResponsePromise); }; dictionary PaymentRequestEventInit : ExtendableEventInit { USVString topOrigin; USVString paymentRequestOrigin; DOMString paymentRequestId; sequence<PaymentMethodData> methodData; PaymentCurrencyAmount total;
--- a/testing/web-platform/tests/interfaces/performance-timeline.idl +++ b/testing/web-platform/tests/interfaces/performance-timeline.idl @@ -16,26 +16,30 @@ interface PerformanceEntry { readonly attribute DOMString entryType; readonly attribute DOMHighResTimeStamp startTime; readonly attribute DOMHighResTimeStamp duration; [Default] object toJSON(); }; callback PerformanceObserverCallback = undefined (PerformanceObserverEntryList entries, PerformanceObserver observer, - optional boolean hasDroppedEntry = false); + optional PerformanceObserverCallbackOptions options = {}); [Exposed=(Window,Worker)] interface PerformanceObserver { constructor(PerformanceObserverCallback callback); undefined observe (optional PerformanceObserverInit options = {}); undefined disconnect (); PerformanceEntryList takeRecords(); [SameObject] static readonly attribute FrozenArray<DOMString> supportedEntryTypes; }; +dictionary PerformanceObserverCallbackOptions { + unsigned long long droppedEntriesCount; +}; + dictionary PerformanceObserverInit { sequence<DOMString> entryTypes; DOMString type; boolean buffered; }; [Exposed=(Window,Worker)] interface PerformanceObserverEntryList {
--- a/testing/web-platform/tests/interfaces/periodic-background-sync.idl +++ b/testing/web-platform/tests/interfaces/periodic-background-sync.idl @@ -9,27 +9,26 @@ partial interface ServiceWorkerGlobalSco [Exposed=(Window,Worker)] partial interface ServiceWorkerRegistration { readonly attribute PeriodicSyncManager periodicSync; }; [Exposed=(Window,Worker)] interface PeriodicSyncManager { - Promise<void> register(DOMString tag, optional BackgroundSyncOptions options); + Promise<undefined> register(DOMString tag, optional BackgroundSyncOptions options = {}); Promise<sequence<DOMString>> getTags(); - Promise<void> unregister(DOMString tag); + Promise<undefined> unregister(DOMString tag); }; dictionary BackgroundSyncOptions { [EnforceRange] unsigned long long minInterval = 0; }; dictionary PeriodicSyncEventInit : ExtendableEventInit { required DOMString tag; }; -[ - Constructor(DOMString type, PeriodicSyncEventInit init), - Exposed=ServiceWorker -] interface PeriodicSyncEvent : ExtendableEvent { +[Exposed=ServiceWorker] +interface PeriodicSyncEvent : ExtendableEvent { + constructor(DOMString type, PeriodicSyncEventInit init); readonly attribute DOMString tag; - }; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/portals.idl @@ -0,0 +1,48 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Portals (https://wicg.github.io/portals/) + +[Exposed=Window, HTMLConstructor] +interface HTMLPortalElement : HTMLElement { + [CEReactions] attribute USVString src; + [CEReactions] attribute DOMString referrerPolicy; + + [NewObject] Promise<undefined> activate(optional PortalActivateOptions options = {}); + undefined postMessage(any message, optional PostMessageOptions options = {}); + + attribute EventHandler onmessage; + attribute EventHandler onmessageerror; +}; + +dictionary PortalActivateOptions : PostMessageOptions { + any data; +}; + +partial interface Window { + readonly attribute PortalHost? portalHost; +}; + +[Exposed=Window] +interface PortalHost : EventTarget { + undefined postMessage(any message, optional PostMessageOptions options = {}); + + attribute EventHandler onmessage; + attribute EventHandler onmessageerror; +}; + +[Exposed=Window] +interface PortalActivateEvent : Event { + constructor(DOMString type, optional PortalActivateEventInit eventInitDict = {}); + + readonly attribute any data; + HTMLPortalElement adoptPredecessor(); +}; + +dictionary PortalActivateEventInit : EventInit { + any data = null; +}; + +partial interface mixin WindowEventHandlers { + attribute EventHandler onportalactivate; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/private-click-measurement.idl @@ -0,0 +1,9 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Private Click Measurement (https://privacycg.github.io/private-click-measurement/) + +partial interface HTMLAnchorElement { + [CEReactions] attribute unsigned long attributionSourceId; + [CEReactions] attribute DOMString attributionDestination; +};
--- a/testing/web-platform/tests/interfaces/service-workers.idl +++ b/testing/web-platform/tests/interfaces/service-workers.idl @@ -57,17 +57,17 @@ partial interface WorkerNavigator { [SecureContext, Exposed=(Window,Worker)] interface ServiceWorkerContainer : EventTarget { readonly attribute ServiceWorker? controller; readonly attribute Promise<ServiceWorkerRegistration> ready; [NewObject] Promise<ServiceWorkerRegistration> register(USVString scriptURL, optional RegistrationOptions options = {}); - [NewObject] Promise<any> getRegistration(optional USVString clientURL = ""); + [NewObject] Promise<(ServiceWorkerRegistration or undefined)> getRegistration(optional USVString clientURL = ""); [NewObject] Promise<FrozenArray<ServiceWorkerRegistration>> getRegistrations(); undefined startMessages(); // events attribute EventHandler oncontrollerchange; attribute EventHandler onmessage; // event.source of message events is ServiceWorker object attribute EventHandler onmessageerror; @@ -132,17 +132,17 @@ enum FrameType { "top-level", "nested", "none" }; [Exposed=ServiceWorker] interface Clients { // The objects returned will be new instances every time - [NewObject] Promise<any> get(DOMString id); + [NewObject] Promise<(Client or undefined)> get(DOMString id); [NewObject] Promise<FrozenArray<Client>> matchAll(optional ClientQueryOptions options = {}); [NewObject] Promise<WindowClient?> openWindow(USVString url); [NewObject] Promise<undefined> claim(); }; dictionary ClientQueryOptions { boolean includeUncontrolled = false; ClientType type = "window"; @@ -206,34 +206,34 @@ dictionary ExtendableMessageEventInit : }; partial interface mixin WindowOrWorkerGlobalScope { [SecureContext, SameObject] readonly attribute CacheStorage caches; }; [SecureContext, Exposed=(Window,Worker)] interface Cache { - [NewObject] Promise<any> match(RequestInfo request, optional CacheQueryOptions options = {}); + [NewObject] Promise<(Response or undefined)> match(RequestInfo request, optional CacheQueryOptions options = {}); [NewObject] Promise<FrozenArray<Response>> matchAll(optional RequestInfo request, optional CacheQueryOptions options = {}); [NewObject] Promise<undefined> add(RequestInfo request); [NewObject] Promise<undefined> addAll(sequence<RequestInfo> requests); [NewObject] Promise<undefined> put(RequestInfo request, Response response); [NewObject] Promise<boolean> delete(RequestInfo request, optional CacheQueryOptions options = {}); [NewObject] Promise<FrozenArray<Request>> keys(optional RequestInfo request, optional CacheQueryOptions options = {}); }; dictionary CacheQueryOptions { boolean ignoreSearch = false; boolean ignoreMethod = false; boolean ignoreVary = false; }; [SecureContext, Exposed=(Window,Worker)] interface CacheStorage { - [NewObject] Promise<any> match(RequestInfo request, optional MultiCacheQueryOptions options = {}); + [NewObject] Promise<(Response or undefined)> match(RequestInfo request, optional MultiCacheQueryOptions options = {}); [NewObject] Promise<boolean> has(DOMString cacheName); [NewObject] Promise<Cache> open(DOMString cacheName); [NewObject] Promise<boolean> delete(DOMString cacheName); [NewObject] Promise<sequence<DOMString>> keys(); }; dictionary MultiCacheQueryOptions : CacheQueryOptions { DOMString cacheName;
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/svg-animations.idl @@ -0,0 +1,68 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: SVG Animations (https://svgwg.org/specs/animations/) + +[Exposed=Window] +interface TimeEvent : Event { + + readonly attribute WindowProxy? view; + readonly attribute long detail; + + undefined initTimeEvent(DOMString typeArg, Window? viewArg, long detailArg); +}; + +[Exposed=Window] +interface SVGAnimationElement : SVGElement { + + readonly attribute SVGElement? targetElement; + + attribute EventHandler onbegin; + attribute EventHandler onend; + attribute EventHandler onrepeat; + + float getStartTime(); + float getCurrentTime(); + float getSimpleDuration(); + + undefined beginElement(); + undefined beginElementAt(float offset); + undefined endElement(); + undefined endElementAt(float offset); +}; + +SVGAnimationElement includes SVGTests; + +[Exposed=Window] +interface SVGAnimateElement : SVGAnimationElement { +}; + +[Exposed=Window] +interface SVGSetElement : SVGAnimationElement { +}; + +[Exposed=Window] +interface SVGAnimateMotionElement : SVGAnimationElement { +}; + +[Exposed=Window] +interface SVGMPathElement : SVGElement { +}; + +SVGMPathElement includes SVGURIReference; + +[Exposed=Window] +interface SVGAnimateTransformElement : SVGAnimationElement { +}; + +[Exposed=Window] +interface SVGDiscardElement : SVGAnimationElement { +}; + +partial interface SVGSVGElement { + undefined pauseAnimations(); + undefined unpauseAnimations(); + boolean animationsPaused(); + float getCurrentTime(); + undefined setCurrentTime(float seconds); +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/trusted-types.idl @@ -0,0 +1,68 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: Trusted Types (https://w3c.github.io/webappsec-trusted-types/dist/spec/) + +[Exposed=(Window,Worker)] +interface TrustedHTML { + stringifier; + DOMString toJSON(); +}; + +[Exposed=(Window,Worker)] +interface TrustedScript { + stringifier; + DOMString toJSON(); +}; + +[Exposed=(Window,Worker)] +interface TrustedScriptURL { + stringifier; + USVString toJSON(); +}; + +[Exposed=(Window,Worker)] interface TrustedTypePolicyFactory { + TrustedTypePolicy createPolicy( + DOMString policyName, optional TrustedTypePolicyOptions policyOptions = {}); + boolean isHTML(any value); + boolean isScript(any value); + boolean isScriptURL(any value); + readonly attribute TrustedHTML emptyHTML; + readonly attribute TrustedScript emptyScript; + DOMString? getAttributeType( + DOMString tagName, + DOMString attribute, + optional DOMString elementNs = "", + optional DOMString attrNs = ""); + DOMString? getPropertyType( + DOMString tagName, + DOMString property, + optional DOMString elementNs = ""); + readonly attribute TrustedTypePolicy? defaultPolicy; +}; + +[Exposed=(Window,Worker)] +interface TrustedTypePolicy { + readonly attribute DOMString name; + TrustedHTML createHTML(DOMString input, any... arguments); + TrustedScript createScript(DOMString input, any... arguments); + TrustedScriptURL createScriptURL(DOMString input, any... arguments); +}; + +dictionary TrustedTypePolicyOptions { + CreateHTMLCallback? createHTML; + CreateScriptCallback? createScript; + CreateScriptURLCallback? createScriptURL; +}; +callback CreateHTMLCallback = DOMString (DOMString input, any... arguments); +callback CreateScriptCallback = DOMString (DOMString input, any... arguments); +callback CreateScriptURLCallback = USVString (DOMString input, any... arguments); + +typedef [StringContext=TrustedHTML] DOMString HTMLString; +typedef [StringContext=TrustedScript] DOMString ScriptString; +typedef [StringContext=TrustedScriptURL] USVString ScriptURLString; +typedef (TrustedHTML or TrustedScript or TrustedScriptURL) TrustedType; + +partial interface mixin WindowOrWorkerGlobalScope { + readonly attribute TrustedTypePolicyFactory trustedTypes; +};
deleted file mode 100644 --- a/testing/web-platform/tests/interfaces/trusted-types.tentative.idl +++ /dev/null @@ -1,67 +0,0 @@ -// https://github.com/wicg/trusted-types - -typedef [StringContext=TrustedHTML] DOMString HTMLString; -typedef [StringContext=TrustedScript] DOMString ScriptString; -typedef [StringContext=TrustedScriptURL] USVString ScriptURLString; - -[ - Exposed=(Window, Worker), - SecureContext -] interface TrustedHTML { - stringifier; -}; - -[ - Exposed=(Window, Worker), - SecureContext -] interface TrustedScript { - stringifier; -}; - -[ - Exposed=(Window, Worker), - SecureContext -] interface TrustedScriptURL { - stringifier; -}; - -[ - Exposed=(Window, Worker), - SecureContext -] interface TrustedTypePolicyFactory : EventTarget { - TrustedTypePolicy createPolicy(DOMString policyName, optional TrustedTypePolicyOptions policyOptions = {}); - boolean isHTML(any checkedObject); - boolean isScript(any checkedObject); - boolean isScriptURL(any checkedObject); - readonly attribute TrustedHTML emptyHTML; - readonly attribute TrustedScript emptyScript; - DOMString? getAttributeType(DOMString tagName, DOMString attribute, - optional DOMString elementNS, optional DOMString attrNs); - DOMString? getPropertyType(DOMString tagName, DOMString property, - optional DOMString elementNS); - - readonly attribute TrustedTypePolicy defaultPolicy; - object? getTypeMapping(optional DOMString ns); - - attribute EventHandler onbeforecreatepolicy; -}; - -[ - Exposed=(Window, Worker), - SecureContext -] interface TrustedTypePolicy { - readonly attribute DOMString name; - TrustedHTML createHTML(DOMString input); - TrustedScript createScript(DOMString input); - TrustedScriptURL createScriptURL(USVString input); -}; - -dictionary TrustedTypePolicyOptions { - CreateHTMLCallback createHTML; - CreateScriptCallback createScript; - CreateURLCallback createScriptURL; -}; - -callback CreateHTMLCallback = DOMString (DOMString input); -callback CreateScriptCallback = DOMString (DOMString input); -callback CreateURLCallback = USVString (DOMString input);
--- a/testing/web-platform/tests/interfaces/ua-client-hints.idl +++ b/testing/web-platform/tests/interfaces/ua-client-hints.idl @@ -4,27 +4,31 @@ // Source: User-Agent Client Hints (https://wicg.github.io/ua-client-hints/) dictionary NavigatorUABrandVersion { DOMString brand; DOMString version; }; dictionary UADataValues { + FrozenArray<NavigatorUABrandVersion> brands; + boolean mobile; DOMString platform; + DOMString architecture; + DOMString bitness; + DOMString model; DOMString platformVersion; - DOMString architecture; - DOMString model; DOMString uaFullVersion; }; [Exposed=(Window,Worker)] interface NavigatorUAData { readonly attribute FrozenArray<NavigatorUABrandVersion> brands; readonly attribute boolean mobile; + readonly attribute DOMString platform; Promise<UADataValues> getHighEntropyValues(sequence<DOMString> hints); }; interface mixin NavigatorUA { [SecureContext] readonly attribute NavigatorUAData userAgentData; }; Navigator includes NavigatorUA;
--- a/testing/web-platform/tests/interfaces/uievents.idl +++ b/testing/web-platform/tests/interfaces/uievents.idl @@ -1,38 +1,38 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) // Source: UI Events (https://w3c.github.io/uievents/) [Exposed=Window] interface UIEvent : Event { - constructor(DOMString type, optional UIEventInit eventInitDict); + constructor(DOMString type, optional UIEventInit eventInitDict = {}); readonly attribute Window? view; readonly attribute long detail; }; dictionary UIEventInit : EventInit { Window? view = null; long detail = 0; }; [Exposed=Window] interface FocusEvent : UIEvent { - constructor(DOMString type, optional FocusEventInit eventInitDict); + constructor(DOMString type, optional FocusEventInit eventInitDict = {}); readonly attribute EventTarget? relatedTarget; }; dictionary FocusEventInit : UIEventInit { EventTarget? relatedTarget = null; }; [Exposed=Window] interface MouseEvent : UIEvent { - constructor(DOMString type, optional MouseEventInit eventInitDict); + constructor(DOMString type, optional MouseEventInit eventInitDict = {}); readonly attribute long screenX; readonly attribute long screenY; readonly attribute long clientX; readonly attribute long clientY; readonly attribute boolean ctrlKey; readonly attribute boolean shiftKey; readonly attribute boolean altKey; @@ -72,17 +72,17 @@ dictionary EventModifierInit : UIEventIn boolean modifierScrollLock = false; boolean modifierSuper = false; boolean modifierSymbol = false; boolean modifierSymbolLock = false; }; [Exposed=Window] interface WheelEvent : MouseEvent { - constructor(DOMString type, optional WheelEventInit eventInitDict); + constructor(DOMString type, optional WheelEventInit eventInitDict = {}); // DeltaModeCode const unsigned long DOM_DELTA_PIXEL = 0x00; const unsigned long DOM_DELTA_LINE = 0x01; const unsigned long DOM_DELTA_PAGE = 0x02; readonly attribute double deltaX; readonly attribute double deltaY; readonly attribute double deltaZ; @@ -93,31 +93,31 @@ dictionary WheelEventInit : MouseEventIn double deltaX = 0.0; double deltaY = 0.0; double deltaZ = 0.0; unsigned long deltaMode = 0; }; [Exposed=Window] interface InputEvent : UIEvent { - constructor(DOMString type, optional InputEventInit eventInitDict); + constructor(DOMString type, optional InputEventInit eventInitDict = {}); readonly attribute DOMString? data; readonly attribute boolean isComposing; readonly attribute DOMString inputType; }; dictionary InputEventInit : UIEventInit { - DOMString? data = ""; + DOMString? data = null; boolean isComposing = false; DOMString inputType = ""; }; [Exposed=Window] interface KeyboardEvent : UIEvent { - constructor(DOMString type, optional KeyboardEventInit eventInitDict); + constructor(DOMString type, optional KeyboardEventInit eventInitDict = {}); // KeyLocationCode const unsigned long DOM_KEY_LOCATION_STANDARD = 0x00; const unsigned long DOM_KEY_LOCATION_LEFT = 0x01; const unsigned long DOM_KEY_LOCATION_RIGHT = 0x02; const unsigned long DOM_KEY_LOCATION_NUMPAD = 0x03; readonly attribute DOMString key; readonly attribute DOMString code; @@ -139,32 +139,110 @@ dictionary KeyboardEventInit : EventModi DOMString code = ""; unsigned long location = 0; boolean repeat = false; boolean isComposing = false; }; [Exposed=Window] interface CompositionEvent : UIEvent { - constructor(DOMString type, optional CompositionEventInit eventInitDict); + constructor(DOMString type, optional CompositionEventInit eventInitDict = {}); readonly attribute DOMString data; }; dictionary CompositionEventInit : UIEventInit { DOMString data = ""; }; partial interface UIEvent { + // Deprecated in this specification + undefined initUIEvent(DOMString typeArg, + optional boolean bubblesArg = false, + optional boolean cancelableArg = false, + optional Window? viewArg = null, + optional long detailArg = 0); +}; + +partial interface MouseEvent { + // Deprecated in this specification + undefined initMouseEvent(DOMString typeArg, + optional boolean bubblesArg = false, + optional boolean cancelableArg = false, + optional Window? viewArg = null, + optional long detailArg = 0, + optional long screenXArg = 0, + optional long screenYArg = 0, + optional long clientXArg = 0, + optional long clientYArg = 0, + optional boolean ctrlKeyArg = false, + optional boolean altKeyArg = false, + optional boolean shiftKeyArg = false, + optional boolean metaKeyArg = false, + optional short buttonArg = 0, + optional EventTarget? relatedTargetArg = null); +}; + +partial interface KeyboardEvent { + // Originally introduced (and deprecated) in this specification + undefined initKeyboardEvent(DOMString typeArg, + optional boolean bubblesArg = false, + optional boolean cancelableArg = false, + optional Window? viewArg = null, + optional DOMString keyArg = "", + optional unsigned long locationArg = 0, + optional boolean ctrlKey = false, + optional boolean altKey = false, + optional boolean shiftKey = false, + optional boolean metaKey = false); +}; + +partial interface CompositionEvent { + // Originally introduced (and deprecated) in this specification + undefined initCompositionEvent(DOMString typeArg, + optional boolean bubblesArg = false, + optional boolean cancelableArg = false, + optional WindowProxy? viewArg = null, + optional DOMString dataArg = ""); +}; + +partial interface UIEvent { // The following support legacy user agents readonly attribute unsigned long which; }; +partial dictionary UIEventInit { + unsigned long which = 0; +}; + partial interface KeyboardEvent { // The following support legacy user agents readonly attribute unsigned long charCode; readonly attribute unsigned long keyCode; }; partial dictionary KeyboardEventInit { // The following support legacy user agents unsigned long charCode = 0; unsigned long keyCode = 0; }; + +[Exposed=Window] +interface MutationEvent : Event { + // attrChangeType + const unsigned short MODIFICATION = 1; + const unsigned short ADDITION = 2; + const unsigned short REMOVAL = 3; + + readonly attribute Node? relatedNode; + readonly attribute DOMString prevValue; + readonly attribute DOMString newValue; + readonly attribute DOMString attrName; + readonly attribute unsigned short attrChange; + + undefined initMutationEvent(DOMString typeArg, + optional boolean bubblesArg = false, + optional boolean cancelableArg = false, + optional Node? relatedNodeArg = null, + optional DOMString prevValueArg = "", + optional DOMString newValueArg = "", + optional DOMString attrNameArg = "", + optional unsigned short attrChangeArg = 0); +};
--- a/testing/web-platform/tests/interfaces/wai-aria.idl +++ b/testing/web-platform/tests/interfaces/wai-aria.idl @@ -1,12 +1,12 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) -// Source: Accessible Rich Internet Applications (WAI-ARIA) 1.2 (https://w3c.github.io/aria/) +// Source: Accessible Rich Internet Applications (WAI-ARIA) 1.3 (https://w3c.github.io/aria/) interface mixin ARIAMixin { attribute DOMString? role; attribute DOMString ariaAtomic; attribute DOMString ariaAutoComplete; attribute DOMString ariaBusy; attribute DOMString ariaChecked;
--- a/testing/web-platform/tests/interfaces/wasm-js-api.idl +++ b/testing/web-platform/tests/interfaces/wasm-js-api.idl @@ -61,41 +61,44 @@ dictionary MemoryDescriptor { [LegacyNamespace=WebAssembly, Exposed=(Window,Worker,Worklet)] interface Memory { constructor(MemoryDescriptor descriptor); unsigned long grow([EnforceRange] unsigned long delta); readonly attribute ArrayBuffer buffer; }; enum TableKind { + "externref", "anyfunc", // Note: More values may be added in future iterations, // e.g., typed function references, typed GC references }; dictionary TableDescriptor { required TableKind element; required [EnforceRange] unsigned long initial; [EnforceRange] unsigned long maximum; }; [LegacyNamespace=WebAssembly, Exposed=(Window,Worker,Worklet)] interface Table { - constructor(TableDescriptor descriptor); - unsigned long grow([EnforceRange] unsigned long delta); - Function? get([EnforceRange] unsigned long index); - undefined set([EnforceRange] unsigned long index, Function? value); + constructor(TableDescriptor descriptor, optional any value); + unsigned long grow([EnforceRange] unsigned long delta, optional any value); + any get([EnforceRange] unsigned long index); + undefined set([EnforceRange] unsigned long index, optional any value); readonly attribute unsigned long length; }; enum ValueType { "i32", "i64", "f32", - "f64" + "f64", + "externref", + "anyfunc", }; dictionary GlobalDescriptor { required ValueType value; boolean mutable = false; }; [LegacyNamespace=WebAssembly, Exposed=(Window,Worker,Worklet)]
--- a/testing/web-platform/tests/interfaces/web-bluetooth.idl +++ b/testing/web-platform/tests/interfaces/web-bluetooth.idl @@ -16,16 +16,17 @@ dictionary BluetoothLEScanFilterInit { object manufacturerData; // Maps BluetoothServiceUUIDs to BluetoothDataFilters. object serviceData; }; dictionary RequestDeviceOptions { sequence<BluetoothLEScanFilterInit> filters; sequence<BluetoothServiceUUID> optionalServices = []; + sequence<unsigned short> optionalManufacturerData = []; boolean acceptAllDevices = false; }; [Exposed=Window, SecureContext] interface Bluetooth : EventTarget { Promise<boolean> getAvailability(); attribute EventHandler onavailabilitychanged; [SameObject] @@ -38,24 +39,26 @@ Bluetooth includes BluetoothDeviceEventH Bluetooth includes CharacteristicEventHandlers; Bluetooth includes ServiceEventHandlers; dictionary BluetoothPermissionDescriptor : PermissionDescriptor { DOMString deviceId; // These match RequestDeviceOptions. sequence<BluetoothLEScanFilterInit> filters; sequence<BluetoothServiceUUID> optionalServices = []; + sequence<unsigned short> optionalManufacturerData = []; boolean acceptAllDevices = false; }; dictionary AllowedBluetoothDevice { required DOMString deviceId; required boolean mayUseGATT; // An allowedServices of "all" means all services are allowed. required (DOMString or sequence<UUID>) allowedServices; + required sequence<unsigned short> allowedManufacturerData; }; dictionary BluetoothPermissionStorage { required sequence<AllowedBluetoothDevice> allowedDevices; }; [Exposed=Window] interface BluetoothPermissionResult : PermissionStatus { attribute FrozenArray<BluetoothDevice> devices; @@ -75,17 +78,17 @@ dictionary ValueEventInit : EventInit { }; [Exposed=Window, SecureContext] interface BluetoothDevice : EventTarget { readonly attribute DOMString id; readonly attribute DOMString? name; readonly attribute BluetoothRemoteGATTServer? gatt; - Promise<void> watchAdvertisements( + Promise<undefined> watchAdvertisements( optional WatchAdvertisementsOptions options = {}); readonly attribute boolean watchingAdvertisements; }; BluetoothDevice includes BluetoothDeviceEventHandlers; BluetoothDevice includes CharacteristicEventHandlers; BluetoothDevice includes ServiceEventHandlers; dictionary WatchAdvertisementsOptions { @@ -130,17 +133,17 @@ dictionary BluetoothAdvertisingEventInit }; [Exposed=Window, SecureContext] interface BluetoothRemoteGATTServer { [SameObject] readonly attribute BluetoothDevice device; readonly attribute boolean connected; Promise<BluetoothRemoteGATTServer> connect(); - void disconnect(); + undefined disconnect(); Promise<BluetoothRemoteGATTService> getPrimaryService(BluetoothServiceUUID service); Promise<sequence<BluetoothRemoteGATTService>> getPrimaryServices(optional BluetoothServiceUUID service); }; [Exposed=Window, SecureContext] interface BluetoothRemoteGATTService : EventTarget { [SameObject] @@ -165,19 +168,19 @@ interface BluetoothRemoteGATTCharacteris readonly attribute BluetoothRemoteGATTService service; readonly attribute UUID uuid; readonly attribute BluetoothCharacteristicProperties properties; readonly attribute DataView? value; Promise<BluetoothRemoteGATTDescriptor> getDescriptor(BluetoothDescriptorUUID descriptor); Promise<sequence<BluetoothRemoteGATTDescriptor>> getDescriptors(optional BluetoothDescriptorUUID descriptor); Promise<DataView> readValue(); - Promise<void> writeValue(BufferSource value); - Promise<void> writeValueWithResponse(BufferSource value); - Promise<void> writeValueWithoutResponse(BufferSource value); + Promise<undefined> writeValue(BufferSource value); + Promise<undefined> writeValueWithResponse(BufferSource value); + Promise<undefined> writeValueWithoutResponse(BufferSource value); Promise<BluetoothRemoteGATTCharacteristic> startNotifications(); Promise<BluetoothRemoteGATTCharacteristic> stopNotifications(); }; BluetoothRemoteGATTCharacteristic includes CharacteristicEventHandlers; [Exposed=Window, SecureContext] interface BluetoothCharacteristicProperties { readonly attribute boolean broadcast; @@ -193,17 +196,17 @@ interface BluetoothCharacteristicPropert [Exposed=Window, SecureContext] interface BluetoothRemoteGATTDescriptor { [SameObject] readonly attribute BluetoothRemoteGATTCharacteristic characteristic; readonly attribute UUID uuid; readonly attribute DataView? value; Promise<DataView> readValue(); - Promise<void> writeValue(BufferSource value); + Promise<undefined> writeValue(BufferSource value); }; [SecureContext] interface mixin CharacteristicEventHandlers { attribute EventHandler oncharacteristicvaluechanged; }; [SecureContext]
--- a/testing/web-platform/tests/interfaces/web-otp.idl +++ b/testing/web-platform/tests/interfaces/web-otp.idl @@ -1,12 +1,12 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) -// Source: Web OTP API (https://wicg.github.io/web-otp/) +// Source: WebOTP API (https://wicg.github.io/web-otp/) [Exposed=Window, SecureContext] interface OTPCredential : Credential { readonly attribute DOMString code; }; partial dictionary CredentialRequestOptions { OTPCredentialRequestOptions otp;
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/webcodecs.idl @@ -0,0 +1,284 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebCodecs (https://w3c.github.io/webcodecs/) + +[Exposed=(Window,DedicatedWorker)] +interface AudioDecoder { + constructor(AudioDecoderInit init); + + readonly attribute CodecState state; + readonly attribute long decodeQueueSize; + + undefined configure(AudioDecoderConfig config); + undefined decode(EncodedAudioChunk chunk); + Promise<undefined> flush(); + undefined reset(); + undefined close(); + + static Promise<AudioDecoderSupport> isConfigSupported(AudioDecoderConfig config); +}; + +dictionary AudioDecoderInit { + required AudioFrameOutputCallback output; + required WebCodecsErrorCallback error; +}; + +callback AudioFrameOutputCallback = undefined(AudioFrame output); + +[Exposed=(Window,DedicatedWorker)] +interface VideoDecoder { + constructor(VideoDecoderInit init); + + readonly attribute CodecState state; + readonly attribute long decodeQueueSize; + + undefined configure(VideoDecoderConfig config); + undefined decode(EncodedVideoChunk chunk); + Promise<undefined> flush(); + undefined reset(); + undefined close(); + + static Promise<VideoDecoderSupport> isConfigSupported(VideoDecoderConfig config); +}; + +dictionary VideoDecoderInit { + required VideoFrameOutputCallback output; + required WebCodecsErrorCallback error; +}; + +callback VideoFrameOutputCallback = undefined(VideoFrame output); + +[Exposed=(Window,DedicatedWorker)] +interface AudioEncoder { + constructor(AudioEncoderInit init); + + readonly attribute CodecState state; + readonly attribute long encodeQueueSize; + + undefined configure(AudioEncoderConfig config); + undefined encode(AudioFrame frame); + Promise<undefined> flush(); + undefined reset(); + undefined close(); + + static Promise<AudioEncoderSupport> isConfigSupported(AudioEncoderConfig config); +}; + +dictionary AudioEncoderInit { + required EncodedAudioChunkOutputCallback output; + required WebCodecsErrorCallback error; +}; + +callback EncodedAudioChunkOutputCallback = undefined(EncodedAudioChunk output); + +[Exposed=(Window,DedicatedWorker)] +interface VideoEncoder { + constructor(VideoEncoderInit init); + + readonly attribute CodecState state; + readonly attribute long encodeQueueSize; + + undefined configure(VideoEncoderConfig config); + undefined encode(VideoFrame frame, optional VideoEncoderEncodeOptions options = {}); + Promise<undefined> flush(); + undefined reset(); + undefined close(); + + static Promise<boolean> isConfigSupported(VideoEncoderConfig config); +}; + +dictionary VideoEncoderInit { + required EncodedVideoChunkOutputCallback output; + required WebCodecsErrorCallback error; +}; + +callback EncodedVideoChunkOutputCallback = undefined(EncodedVideoChunk output, VideoDecoderConfig? output_config); + +dictionary AudioDecoderSupport { + boolean supported; + AudioDecoderConfig config; +}; + +dictionary VideoDecoderSupport { + boolean supported; + VideoDecoderConfig config; +}; + +dictionary AudioEncoderSupport { + boolean supported; + AudioEncoderConfig config; +}; + +dictionary VideoEncoderSupport { + boolean supported; + VideoEncoderConfig config; +}; + +dictionary AudioDecoderConfig { + required DOMString codec; + required unsigned long sampleRate; + required unsigned long numberOfChannels; + BufferSource description; +}; + +dictionary VideoDecoderConfig { + required DOMString codec; + BufferSource description; + required unsigned long codedWidth; + required unsigned long codedHeight; + unsigned long cropLeft; + unsigned long cropTop; + unsigned long cropWidth; + unsigned long cropHeight; + unsigned long displayWidth; + unsigned long displayHeight; + HardwareAcceleration hardwareAcceleration = "allow"; +}; + +dictionary AudioEncoderConfig { + required DOMString codec; + unsigned long sampleRate; + unsigned long numberOfChannels; + unsigned long long bitrate; +}; + +dictionary VideoEncoderConfig { + required DOMString codec; + unsigned long long bitrate; + required unsigned long cropWidth; + required unsigned long cropHeight; + unsigned long displayWidth; + unsigned long displayHeight; + HardwareAcceleration hardwareAcceleration = "allow"; +}; + +enum HardwareAcceleration { + "allow", + "deny", + "require", +}; + +dictionary VideoEncoderEncodeOptions { + boolean keyFrame = false; +}; + +enum CodecState { + "unconfigured", + "configured", + "closed" +}; + +callback WebCodecsErrorCallback = undefined(DOMException error); + +[Exposed=(Window,DedicatedWorker)] +interface EncodedAudioChunk { + constructor(EncodedAudioChunkInit init); + readonly attribute EncodedAudioChunkType type; + readonly attribute unsigned long long timestamp; // microseconds + readonly attribute ArrayBuffer data; +}; + +dictionary EncodedAudioChunkInit { + required EncodedAudioChunkType type; + required unsigned long long timestamp; + required BufferSource data; +}; + +enum EncodedAudioChunkType { + "key", + "delta", +}; + +[Exposed=(Window,DedicatedWorker)] +interface EncodedVideoChunk { + constructor(EncodedVideoChunkInit init); + readonly attribute EncodedVideoChunkType type; + readonly attribute unsigned long long timestamp; // microseconds + readonly attribute unsigned long long? duration; // microseconds + readonly attribute ArrayBuffer data; +}; + +dictionary EncodedVideoChunkInit { + required EncodedVideoChunkType type; + required unsigned long long timestamp; + unsigned long long duration; + required BufferSource data; +}; + +enum EncodedVideoChunkType { + "key", + "delta", +}; + +[Exposed=(Window,DedicatedWorker)] +interface AudioFrame { + constructor(AudioFrameInit init); + readonly attribute unsigned long long timestamp; + readonly attribute AudioBuffer? buffer; + undefined close(); +}; + +dictionary AudioFrameInit { + required unsigned long long timestamp; + required AudioBuffer buffer; +}; + +[Exposed=(Window,DedicatedWorker)] +interface VideoFrame { + constructor(ImageBitmap imageBitmap, optional VideoFrameInit frameInit = {}); + constructor(PixelFormat pixelFormat, sequence<(Plane or PlaneInit)> planes, + optional VideoFrameInit frameInit = {}); + + readonly attribute PixelFormat format; + readonly attribute FrozenArray<Plane> planes; + readonly attribute unsigned long codedWidth; + readonly attribute unsigned long codedHeight; + readonly attribute unsigned long cropLeft; + readonly attribute unsigned long cropTop; + readonly attribute unsigned long cropWidth; + readonly attribute unsigned long cropHeight; + readonly attribute unsigned long displayWidth; + readonly attribute unsigned long displayHeight; + readonly attribute unsigned long long? duration; + readonly attribute unsigned long long? timestamp; + + undefined destroy(); + VideoFrame clone(); + + Promise<ImageBitmap> createImageBitmap( + optional ImageBitmapOptions options = {}); + +}; + +dictionary VideoFrameInit { + unsigned long codedWidth; + unsigned long codedHeight; + unsigned long cropLeft; + unsigned long cropTop; + unsigned long cropWidth; + unsigned long cropHeight; + unsigned long displayWidth; + unsigned long displayHeight; + unsigned long long duration; + unsigned long long timestamp; +}; + +[Exposed=(Window,DedicatedWorker)] +interface Plane { + readonly attribute unsigned long stride; + readonly attribute unsigned long rows; + readonly attribute unsigned long length; + + undefined readInto(ArrayBufferView dst); +}; + +dictionary PlaneInit { + required BufferSource src; + required unsigned long stride; + required unsigned long rows; +}; + +enum PixelFormat { + "I420" +};
--- a/testing/web-platform/tests/interfaces/webgl1.idl +++ b/testing/web-platform/tests/interfaces/webgl1.idl @@ -726,19 +726,18 @@ interface mixin WebGLRenderingContextOve [Exposed=(Window,Worker)] interface WebGLRenderingContext { }; WebGLRenderingContext includes WebGLRenderingContextBase; WebGLRenderingContext includes WebGLRenderingContextOverloads; -[Exposed=(Window,Worker), - Constructor(DOMString type, - optional WebGLContextEventInit eventInit = {})] +[Exposed=(Window,Worker)] interface WebGLContextEvent : Event { + constructor(DOMString type, optional WebGLContextEventInit eventInit = {}); readonly attribute DOMString statusMessage; }; // EventInit is defined in the DOM4 specification. dictionary WebGLContextEventInit : EventInit { DOMString statusMessage = ""; };
--- a/testing/web-platform/tests/interfaces/webrtc-encoded-transform.idl +++ b/testing/web-platform/tests/interfaces/webrtc-encoded-transform.idl @@ -102,11 +102,10 @@ partial interface DedicatedWorkerGlobalS interface RTCRtpScriptTransformer { readonly attribute ReadableStream readable; readonly attribute WritableStream writable; readonly attribute any options; }; [Exposed=Window] interface RTCRtpScriptTransform { - constructor(Worker worker, optional any options); - // FIXME: add messaging methods. + constructor(Worker worker, optional any options, optional sequence<object> transfer); };
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/webrtc-ice.idl @@ -0,0 +1,24 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: IceTransport Extensions for WebRTC (https://w3c.github.io/webrtc-ice/) + +partial dictionary RTCIceParameters { + boolean iceLite; +}; + +dictionary RTCIceGatherOptions { + RTCIceTransportPolicy gatherPolicy = "all"; + sequence<RTCIceServer> iceServers; +}; + +[Exposed=Window] +partial interface RTCIceTransport { + constructor(); + undefined gather (optional RTCIceGatherOptions options = {}); + undefined start (optional RTCIceParameters remoteParameters = {}, optional RTCIceRole role = "controlled"); + undefined stop (); + undefined addRemoteCandidate (optional RTCIceCandidateInit remoteCandidate = {}); + attribute EventHandler onerror; + attribute EventHandler onicecandidate; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/webrtc-priority.idl @@ -0,0 +1,24 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebRTC Priority Control API (https://w3c.github.io/webrtc-priority/) + +enum RTCPriorityType { + "very-low", + "low", + "medium", + "high" +}; + +partial dictionary RTCRtpEncodingParameters { + RTCPriorityType priority = "low"; + RTCPriorityType networkPriority; +}; + +partial interface RTCDataChannel { + readonly attribute RTCPriorityType priority; +}; + +partial dictionary RTCDataChannelInit { + RTCPriorityType priority = "low"; +};
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/webtransport.idl @@ -0,0 +1,97 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebTransport (https://w3c.github.io/webtransport/) + +interface mixin UnidirectionalStreamsTransport { + Promise<SendStream> createUnidirectionalStream(optional SendStreamParameters parameters = {}); + /* a ReadableStream of ReceiveStream objects */ + readonly attribute ReadableStream incomingUnidirectionalStreams; +}; + +dictionary SendStreamParameters { +}; + +interface mixin BidirectionalStreamsTransport { + Promise<BidirectionalStream> createBidirectionalStream(); + /* a ReadableStream of BidirectionalStream objects */ + readonly attribute ReadableStream incomingBidirectionalStreams; +}; + +interface mixin DatagramTransport { + readonly attribute unsigned short maxDatagramSize; + readonly attribute DatagramDuplexStream datagrams; +}; + +[Exposed=(Window,Worker)] +interface DatagramDuplexStream { + readonly attribute ReadableStream readable; + readonly attribute WritableStream writable; +}; + +[Exposed=(Window,Worker)] +interface WebTransport { + constructor(USVString url, optional WebTransportOptions options = {}); + + Promise<WebTransportStats> getStats(); + readonly attribute WebTransportState state; + readonly attribute Promise<undefined> ready; + readonly attribute Promise<WebTransportCloseInfo> closed; + undefined close(optional WebTransportCloseInfo closeInfo = {}); + attribute EventHandler onstatechange; +}; + +WebTransport includes UnidirectionalStreamsTransport; +WebTransport includes BidirectionalStreamsTransport; +WebTransport includes DatagramTransport; + +dictionary WebTransportOptions { + boolean allowPooling; + sequence<RTCDtlsFingerprint> serverCertificateFingerprints; +}; + +enum WebTransportState { + "connecting", + "connected", + "closed", + "failed" +}; + +dictionary WebTransportCloseInfo { + unsigned long long errorCode = 0; + DOMString reason = ""; +}; + +dictionary WebTransportStats { + DOMHighResTimeStamp timestamp; + unsigned long long bytesSent; + unsigned long long packetsSent; + unsigned long numOutgoingStreamsCreated; + unsigned long numIncomingStreamsCreated; + unsigned long long bytesReceived; + unsigned long long packetsReceived; + DOMHighResTimeStamp minRtt; + unsigned long numReceivedDatagramsDropped; +}; + +[ Exposed=(Window,Worker) ] +interface SendStream : WritableStream /* of Uint8Array */ { + readonly attribute Promise<StreamAbortInfo> writingAborted; + undefined abortWriting(optional StreamAbortInfo abortInfo = {}); +}; + +dictionary StreamAbortInfo { + [EnforceRange] octet errorCode = 0; +}; + +[ Exposed=(Window,Worker) ] +interface ReceiveStream : ReadableStream /* of Uint8Array */ { + readonly attribute Promise<StreamAbortInfo> readingAborted; + undefined abortReading(optional StreamAbortInfo abortInfo = {}); +}; + +[ Exposed=(Window,Worker) ] +interface BidirectionalStream { + readonly attribute ReceiveStream readable; + readonly attribute SendStream writable; +};
--- a/testing/web-platform/tests/interfaces/webxr-gamepads-module.idl +++ b/testing/web-platform/tests/interfaces/webxr-gamepads-module.idl @@ -1,14 +1,8 @@ // GENERATED CONTENT - DO NOT EDIT // Content was automatically extracted by Reffy into webref // (https://github.com/w3c/webref) // Source: WebXR Gamepads Module - Level 1 (https://immersive-web.github.io/webxr-gamepads-module/) partial interface XRInputSource { [SameObject] readonly attribute Gamepad? gamepad; }; - -enum GamepadMappingType { - "", // Defined in the Gamepad API - "standard", // Defined in the Gamepad API - "xr-standard", -};
--- a/testing/web-platform/tests/interfaces/webxr.idl +++ b/testing/web-platform/tests/interfaces/webxr.idl @@ -136,16 +136,19 @@ interface XRRigidTransform { [SameObject] readonly attribute DOMPointReadOnly position; [SameObject] readonly attribute DOMPointReadOnly orientation; readonly attribute Float32Array matrix; [SameObject] readonly attribute XRRigidTransform inverse; }; [SecureContext, Exposed=Window] interface XRPose { [SameObject] readonly attribute XRRigidTransform transform; + [SameObject] readonly attribute DOMPointReadOnly? linearVelocity; + [SameObject] readonly attribute DOMPointReadOnly? angularVelocity; + readonly attribute boolean emulatedPosition; }; [SecureContext, Exposed=Window] interface XRViewerPose : XRPose { [SameObject] readonly attribute FrozenArray<XRView> views; }; enum XRHandedness { @@ -263,16 +266,20 @@ interface XRReferenceSpaceEvent : Event [SameObject] readonly attribute XRRigidTransform? transform; }; dictionary XRReferenceSpaceEventInit : EventInit { required XRReferenceSpace referenceSpace; XRRigidTransform? transform = null; }; +dictionary XRSessionSupportedPermissionDescriptor: PermissionDescriptor { + XRSessionMode mode; +}; + dictionary XRPermissionDescriptor: PermissionDescriptor { XRSessionMode mode; sequence<any> requiredFeatures; sequence<any> optionalFeatures; }; [Exposed=Window] interface XRPermissionStatus: PermissionStatus {
new file mode 100644 --- /dev/null +++ b/testing/web-platform/tests/interfaces/webxrlayers.idl @@ -0,0 +1,203 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: WebXR Layers API Level 1 (https://immersive-web.github.io/layers/) + +enum XRLayerLayout { + "default", + "mono", + "stereo", + "stereo-left-right", + "stereo-top-bottom" +}; + +[Exposed=Window] interface XRCompositionLayer : XRLayer { + readonly attribute XRLayerLayout layout; + + attribute boolean blendTextureSourceAlpha; + attribute boolean? chromaticAberrationCorrection; + readonly attribute unsigned long mipLevels; + + readonly attribute boolean needsRedraw; + + undefined destroy(); +}; + +[Exposed=Window] interface XRProjectionLayer : XRCompositionLayer { + readonly attribute unsigned long textureWidth; + readonly attribute unsigned long textureHeight; + readonly attribute unsigned long textureArrayLength; + + readonly attribute boolean ignoreDepthValues; + attribute float? fixedFoveation; +}; + +[Exposed=Window] interface XRQuadLayer : XRCompositionLayer { + attribute XRSpace space; + attribute XRRigidTransform transform; + + attribute float width; + attribute float height; + + // Events + attribute EventHandler onredraw; +}; + +[Exposed=Window] interface XRCylinderLayer : XRCompositionLayer { + attribute XRSpace space; + attribute XRRigidTransform transform; + + attribute float radius; + attribute float centralAngle; + attribute float aspectRatio; + + // Events + attribute EventHandler onredraw; +}; + +[Exposed=Window] interface XREquirectLayer : XRCompositionLayer { + attribute XRSpace space; + attribute XRRigidTransform transform; + + attribute float radius; + attribute float centralHorizontalAngle; + attribute float upperVerticalAngle; + attribute float lowerVerticalAngle; + + // Events + attribute EventHandler onredraw; +}; + +[Exposed=Window] interface XRCubeLayer : XRCompositionLayer { + attribute XRSpace space; + attribute DOMPointReadOnly orientation; + + // Events + attribute EventHandler onredraw; +}; + +[Exposed=Window] interface XRSubImage { + [SameObject] readonly attribute XRViewport viewport; +}; + +[Exposed=Window] interface XRWebGLSubImage : XRSubImage { + [SameObject] readonly attribute WebGLTexture colorTexture; + [SameObject] readonly attribute WebGLTexture? depthStencilTexture; + readonly attribute unsigned long? imageIndex; + readonly attribute unsigned long textureWidth; + readonly attribute unsigned long textureHeight; +}; + +enum XRTextureType { + "texture", + "texture-array" +}; + +dictionary XRProjectionLayerInit { + XRTextureType textureType = "texture"; + GLenum colorFormat = 0x1908; // RGBA + GLenum depthFormat = 0x1902; // DEPTH_COMPONENT + double scaleFactor = 1.0; +}; + +dictionary XRLayerInit { + required XRSpace space; + GLenum colorFormat = 0x1908; // RGBA + GLenum? depthFormat; + unsigned long mipLevels = 1; + required unsigned long viewPixelWidth; + required unsigned long viewPixelHeight; + XRLayerLayout layout = "mono"; + boolean isStatic = false; +}; + +dictionary XRQuadLayerInit : XRLayerInit { + XRTextureType textureType = "texture"; + XRRigidTransform? transform; + float width = 1.0; + float height = 1.0; +}; + +dictionary XRCylinderLayerInit : XRLayerInit { + XRTextureType textureType = "texture"; + XRRigidTransform? transform; + float radius = 2.0; + float centralAngle = 0.78539; + float aspectRatio = 2.0; +}; + +dictionary XREquirectLayerInit : XRLayerInit { + XRTextureType textureType = "texture"; + XRRigidTransform? transform; + float radius = 0; + float centralHorizontalAngle = 6.28318; + float upperVerticalAngle = 1.570795; + float lowerVerticalAngle = -1.570795; +}; + +dictionary XRCubeLayerInit : XRLayerInit { + DOMPointReadOnly? orientation; +}; + +[Exposed=Window] interface XRWebGLBinding { + constructor(XRSession session, XRWebGLRenderingContext context); + + readonly attribute double nativeProjectionScaleFactor; + + XRProjectionLayer createProjectionLayer(optional XRProjectionLayerInit init = {}); + XRQuadLayer createQuadLayer(optional XRQuadLayerInit init = {}); + XRCylinderLayer createCylinderLayer(optional XRCylinderLayerInit init = {}); + XREquirectLayer createEquirectLayer(optional XREquirectLayerInit init = {}); + XRCubeLayer createCubeLayer(optional XRCubeLayerInit init = {}); + + XRWebGLSubImage getSubImage(XRCompositionLayer layer, XRFrame frame, optional XREye eye = "none"); + XRWebGLSubImage getViewSubImage(XRProjectionLayer layer, XRView view); +}; + +dictionary XRMediaLayerInit { + required XRSpace space; + XRLayerLayout layout = "mono"; + boolean invertStereo = false; +}; + +dictionary XRMediaQuadLayerInit : XRMediaLayerInit { + XRRigidTransform? transform; + float? width; + float? height; +}; + +dictionary XRMediaCylinderLayerInit : XRMediaLayerInit { + XRRigidTransform? transform; + float radius = 2.0; + float centralAngle = 0.78539; + float? aspectRatio; +}; + +dictionary XRMediaEquirectLayerInit : XRMediaLayerInit { + XRRigidTransform? transform; + float radius = 0.0; + float centralHorizontalAngle = 6.28318; + float upperVerticalAngle = 1.570795; + float lowerVerticalAngle = -1.570795; +}; + +[Exposed=Window] interface XRMediaBinding { + constructor(XRSession session); + + XRQuadLayer createQuadLayer(HTMLVideoElement video, optional XRMediaQuadLayerInit init = {}); + XRCylinderLayer createCylinderLayer(HTMLVideoElement video, optional XRMediaCylinderLayerInit init = {}); + XREquirectLayer createEquirectLayer(HTMLVideoElement video, optional XRMediaEquirectLayerInit init = {}); +}; + +[SecureContext, Exposed=Window] interface XRLayerEvent : Event { + constructor(DOMString type, XRLayerEventInit eventInitDict); + [SameObject] readonly attribute XRLayer layer; +}; + +dictionary XRLayerEventInit : EventInit { + required XRLayer layer; +}; + +[SecureContext, Exposed=Window] partial interface XRRenderState { + readonly attribute FrozenArray<XRLayer> layers; +};
--- a/testing/web-platform/tests/keyboard-map/idlharness.https.window.js +++ b/testing/web-platform/tests/keyboard-map/idlharness.https.window.js @@ -2,17 +2,17 @@ // META: script=/resources/idlharness.js // https://wicg.github.io/keyboard-map/ 'use strict'; idl_test( ['keyboard-map'], - ['html'], + ['html', 'keyboard-lock'], async idl_array => { idl_array.add_objects({ Navigator: ['navigator'], Keyboard: ['navigator.keyboard'], KeyboardLayoutMap: ['layout_map'], }); self.layout_map = await navigator.keyboard.getLayoutMap();
--- a/testing/web-platform/tests/trusted-types/idlharness.tentative.window.js +++ b/testing/web-platform/tests/trusted-types/idlharness.tentative.window.js @@ -1,14 +1,14 @@ // META: script=/resources/WebIDLParser.js // META: script=/resources/idlharness.js idl_test( - ['trusted-types.tentative'], - ['dom', 'html'], + ['trusted-types'], + ['html', 'dom'], idl_array => { idl_array.add_objects({ TrustedTypePolicyFactory: ['window.trustedTypes'], TrustedTypePolicy: ['window.trustedTypes.createPolicy("SomeName", { createHTML: s => s })'], TrustedHTML: ['window.trustedTypes.createPolicy("SomeName1", { createHTML: s => s }).createHTML("A string")'], TrustedScript: ['window.trustedTypes.createPolicy("SomeName2", { createScript: s => s }).createScript("A string")'], TrustedScriptURL: ['window.trustedTypes.createPolicy("SomeName3", { createScriptURL: s => s }).createScriptURL("A string")'], });