layout: Add very basic support for showing text in input boxes (#32365)

This only paints text in input fields. Selection and cursor are still
not painted.

In addition to adding this feature, the change also updates the
user-agent.css with the latest from the HTML specification. Extra
padding and extraneous settings (such as a bogus line-height and
min-height) are also removed from servo.css. This leads to some new
passes.

There are some new passes, this introduces failures as inserting text
reveals issues that were hidden before. Notably:

- failures in `/html/editing/editing-0/spelling-and-grammar-checking/`:
  We do not support spell-checking.
- Most of the rest of the new failures are missing features of input
  boxes that are also missing in legacy layout.
This commit is contained in:
Martin Robinson 2024-06-20 12:13:50 +02:00 committed by GitHub
parent 3d6accbbe3
commit 44064b1439
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
65 changed files with 225 additions and 204 deletions

View file

@ -1,34 +1,6 @@
[flex-item-compressible-001.html]
[.flexbox 14]
expected: FAIL
[.flexbox 15]
expected: FAIL
[.flexbox 12]
expected: FAIL
[.flexbox 13]
expected: FAIL
[.flexbox 10]
expected: FAIL
[.flexbox 11]
expected: FAIL
[.flexbox 4]
expected: FAIL
[.flexbox 5]
expected: FAIL
[.flexbox 3]
expected: FAIL
[.flexbox 8]
expected: FAIL
[.flexbox 9]
expected: FAIL

View file

@ -1,15 +1,9 @@
[baseline-source-first-textarea-001.tentative.html]
[.target > * 9]
expected: FAIL
[.target > * 1]
expected: FAIL
[.target > * 5]
expected: FAIL
[.target > * 7]
expected: FAIL
[.target > * 9]
expected: FAIL
[.target > * 11]
expected: FAIL

View file

@ -1,9 +0,0 @@
[baseline-source-last-textarea-001.tentative.html]
[.target > * 7]
expected: FAIL
[.target > * 9]
expected: FAIL
[.target > * 11]
expected: FAIL

View file

@ -0,0 +1,2 @@
[input-scrollable-region-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[scrollable-overflow-input-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[scrollable-overflow-input-002.html]
expected: FAIL

View file

@ -19,3 +19,15 @@
[Replaced elements outside a table cannot be table-row-group and are considered inline -- input=file elements]
expected: FAIL
[Replaced elements outside a table cannot be table-row and are considered inline -- input=text elements]
expected: FAIL
[Replaced elements outside a table cannot be table-row and are considered inline -- input=button elements]
expected: FAIL
[Replaced elements outside a table cannot be table-row-group and are considered inline -- input=text elements]
expected: FAIL
[Replaced elements outside a table cannot be table-row-group and are considered inline -- input=button elements]
expected: FAIL

View file

@ -1,2 +0,0 @@
[transform-input-002.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[appearance-textfield-001.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[input-security-none-sensitive-text-input.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[webkit-appearance-textfield-001.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[spelling-markers-009.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[spelling-markers-010.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[text-transform.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[textarea-padding-bend-overlaps-content-001.tentative.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[textarea-padding-bstart-moves-content-001.tentative.html]
expected: FAIL

View file

@ -316,3 +316,21 @@
[<input type="button" value="x" style="overflow: scroll; appearance: none;">]
expected: FAIL
[<input type="range" style="overflow: visible; appearance: auto;">]
expected: FAIL
[<input type="range" style="overflow: visible; appearance: none;">]
expected: FAIL
[<input type="color" value="#000000" style="overflow: visible; appearance: auto;">]
expected: FAIL
[<input type="color" value="#000000" style="overflow: visible; appearance: none;">]
expected: FAIL
[<input type="image" src="data:(png)" alt="x" style="overflow: visible; appearance: auto;">]
expected: FAIL
[<input type="image" src="data:(png)" alt="x" style="overflow: visible; appearance: none;">]
expected: FAIL

View file

@ -7,6 +7,3 @@
[align-items:stretch should work]
expected: FAIL
[align-items:flex-start should work]
expected: FAIL

View file

@ -1,2 +0,0 @@
[input-type-button-newline-2.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[input-type-button-newline.html]
expected: FAIL

View file

@ -8,9 +8,6 @@
[number: Explicit height and auto width]
expected: FAIL
[number: Text caret is taller than the placeholder]
expected: FAIL
[number: Text caret is shorter than the placeholder]
expected: FAIL

View file

@ -0,0 +1,2 @@
[input-checkbox-switch-rtl.tentative.html]
expected: FAIL

View file

@ -1,3 +0,0 @@
[selection.html]
[test scrollLeft preservation for input]
expected: FAIL

View file

@ -1,3 +0,0 @@
[input-type-button.html]
[label value]
expected: FAIL