Implement form-associated custom elements and their ElementInternals (#31980)

* FACEs work, setFormValue test is awful so now has _mozilla backup

* 1. Impl Validatable in ElementInternals instead of HTMLElement. 2. Reuse the code in Validatable trait. 3. The form associated custom element is not a customized built-in element.

* add some comments

* support readonly attribute and complete barred from constraint validation

* Addressed the code review comments

* Updated the legacy-layout results

* Fixed the WPT failures in ElementInternals-validation.html

* Addressed the code review comments

* Review suggestions

* Fixed silly mistakes and update the test result outside elementinternals

* update the test results

---------

Co-authored-by: Patrick Shaughnessy <pshaughn@comcast.net>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
cathiechen 2024-04-11 15:17:11 +02:00 committed by GitHub
parent 2eb959a159
commit 4e4a4c0a28
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
67 changed files with 1641 additions and 619 deletions

View file

@ -62,12 +62,6 @@
[SVGElement interface: attribute onended]
expected: FAIL
[ElementInternals interface object length]
expected: FAIL
[ElementInternals interface: operation reportValidity()]
expected: FAIL
[SVGSVGElement interface: attribute onbeforeprint]
expected: FAIL
@ -92,9 +86,6 @@
[OffscreenCanvas interface: operation convertToBlob(optional ImageEncodeOptions)]
expected: FAIL
[ElementInternals interface: operation setValidity(ValidityStateFlags, optional DOMString, optional HTMLElement)]
expected: FAIL
[DOMStringList interface: calling item(unsigned long) on location.ancestorOrigins with too few arguments must throw TypeError]
expected: FAIL
@ -167,9 +158,6 @@
[OffscreenCanvasRenderingContext2D interface: attribute strokeStyle]
expected: FAIL
[ElementInternals interface: attribute labels]
expected: FAIL
[SVGElement interface: attribute oncopy]
expected: FAIL
@ -323,9 +311,6 @@
[CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "getLineDash()" with the proper type]
expected: FAIL
[ElementInternals interface: existence and properties of interface object]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: attribute imageSmoothingEnabled]
expected: FAIL
@ -389,9 +374,6 @@
[Navigator interface: calling unregisterProtocolHandler(DOMString, USVString) on window.navigator with too few arguments must throw TypeError]
expected: FAIL
[ElementInternals interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[SVGElement interface: attribute ondurationchange]
expected: FAIL
@ -461,9 +443,6 @@
[Path2D interface: operation rect(unrestricted double, unrestricted double, unrestricted double, unrestricted double)]
expected: FAIL
[ElementInternals interface: attribute validationMessage]
expected: FAIL
[DataTransfer interface: attribute dropEffect]
expected: FAIL
@ -806,15 +785,9 @@
[DragEvent interface: existence and properties of interface object]
expected: FAIL
[ElementInternals interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[Path2D interface: operation arc(unrestricted double, unrestricted double, unrestricted double, unrestricted double, unrestricted double, optional boolean)]
expected: FAIL
[ElementInternals interface: attribute willValidate]
expected: FAIL
[OffscreenCanvas interface object length]
expected: FAIL
@ -851,9 +824,6 @@
[Navigator interface: window.navigator must inherit property "registerProtocolHandler(DOMString, USVString)" with the proper type]
expected: FAIL
[ElementInternals interface: existence and properties of interface prototype object]
expected: FAIL
[OffscreenCanvas interface object name]
expected: FAIL
@ -959,9 +929,6 @@
[SVGSVGElement interface: attribute onmessage]
expected: FAIL
[ElementInternals interface object name]
expected: FAIL
[SVGElement interface: attribute onmouseup]
expected: FAIL
@ -971,9 +938,6 @@
[OffscreenCanvasRenderingContext2D interface: operation isPointInPath(unrestricted double, unrestricted double, optional CanvasFillRule)]
expected: FAIL
[ElementInternals interface: attribute validity]
expected: FAIL
[OffscreenCanvasRenderingContext2D interface: operation restore()]
expected: FAIL
@ -983,9 +947,6 @@
[DataTransferItem interface: existence and properties of interface object]
expected: FAIL
[ElementInternals interface: operation checkValidity()]
expected: FAIL
[Location interface: stringifier]
expected: FAIL
@ -1112,9 +1073,6 @@
[SVGSVGElement interface: attribute onrejectionhandled]
expected: FAIL
[ElementInternals interface: attribute form]
expected: FAIL
[SVGElement interface: attribute onratechange]
expected: FAIL
@ -1205,15 +1163,6 @@
[ApplicationCache interface: attribute onobsolete]
expected: FAIL
[ElementInternals interface: operation setFormValue((File or USVString or FormData)?, optional (File or USVString or FormData)?)]
expected: FAIL
[ElementInternals interface: operation setValidity(optional ValidityStateFlags, optional DOMString, optional HTMLElement)]
expected: FAIL
[ElementInternals interface: attribute shadowRoot]
expected: FAIL
[Worklet interface object length]
expected: FAIL
@ -1838,9 +1787,6 @@
[Element interface: operation setHTMLUnsafe(DOMString)]
expected: FAIL
[ElementInternals interface: attribute states]
expected: FAIL
[CustomStateSet interface: existence and properties of interface object]
expected: FAIL
@ -2021,6 +1967,12 @@
[Element interface: operation setHTMLUnsafe(HTMLString)]
expected: FAIL
[ElementInternals interface: attribute shadowRoot]
expected: FAIL
[ElementInternals interface: attribute states]
expected: FAIL
[idlharness.https.html?include=(Document|Window)]
[Document interface: documentWithHandlers must inherit property "queryCommandEnabled(DOMString)" with the proper type]
@ -2718,9 +2670,6 @@
[HTMLInputElement interface: createInput("image") must inherit property "useMap" with the proper type]
expected: FAIL
[HTMLElement interface: operation attachInternals()]
expected: FAIL
[HTMLVideoElement interface: attribute playsInline]
expected: FAIL
@ -3879,9 +3828,6 @@
[HTMLMarqueeElement interface: attribute direction]
expected: FAIL
[HTMLElement interface: document.createElement("noscript") must inherit property "attachInternals()" with the proper type]
expected: FAIL
[HTMLInputElement interface: createInput("radio") must inherit property "width" with the proper type]
expected: FAIL