LibWeb: Honor appearance: none when creating input element layout node

Per css-ui-4, setting `appearance: none` is supposed to suppress the
creation of a native-looking widget for stuff like checkboxes, radio
buttons, etc.

This patch implements this behavior by simply falling back to creating
a layout node based on the CSS `display` property in such cases.

This fixes an issue on the hey.com imbox page where we were rendering
checkboxes on top of sender profile photos.
This commit is contained in:
Andreas Kling 2024-10-20 18:20:42 +02:00 committed by Andreas Kling
commit 58c523ae46
Notes: github-actions[bot] 2024-10-20 19:59:49 +00:00
3 changed files with 98 additions and 3 deletions

View file

@ -0,0 +1,7 @@
<!doctype html>
<input type="button">Normal button<br>
<input type="button" style="appearance: none">No appearance button<br>
<input type="checkbox">Normal checkbox<br>
<input type="checkbox" style="appearance: none">No appearance checkbox<br>
<input type="radio">Normal radio<br>
<input type="radio" style="appearance: none">No appearance radio<br>