script: Support custom element states (#38564)

Also adds support for `:state`.

Testing: Covered by existing tests

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This commit is contained in:
Simon Wülker 2025-08-27 19:25:16 +02:00 committed by GitHub
parent dcd25072d3
commit 04dd74dddb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 209 additions and 152 deletions

View file

@ -244,7 +244,7 @@ DOMInterfaces = {
},
'ElementInternals': {
'canGc': ['CheckValidity', 'GetLabels', 'SetValidity', 'ReportValidity'],
'canGc': ['CheckValidity', 'GetLabels', 'SetValidity', 'ReportValidity', 'States'],
},
'EventSource': {

View file

@ -26,6 +26,9 @@ interface ElementInternals {
[Throws] boolean reportValidity();
[Throws] readonly attribute NodeList labels;
// Custom state pseudo-class
[SameObject] readonly attribute CustomStateSet states;
};
// https://html.spec.whatwg.org/multipage/#elementinternals
@ -42,3 +45,8 @@ dictionary ValidityStateFlags {
boolean customError = false;
};
// https://html.spec.whatwg.org/multipage/#customstateset
[Exposed=Window]
interface CustomStateSet {
setlike<DOMString>;
};