servo/components/layout
Simon Wülker b100a98e1d
Fully support <input type=color> (#36992)
This change adds a shadow-tree widget for `<input type=color>` elements.
It also involves some changes to the way layout interacts with the DOM,
because currently all `input` and `textarea` elements are rendered as
plain text and their descendants are ignored. This obviously doesn't
work for `<input type={color, date, range, etc}>`.


![image](https://github.com/user-attachments/assets/4f16c3b0-1f79-4095-b19d-1153f5853dd5)

<details><summary>HTML used for the screenshot above</summary>

```html
<input type=color>
```

</details>



Testing: I doubt that this affects WPT tests, because the appearance and
behaviour of the widget is almost entirely unspecified.

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-05-15 17:30:38 +00:00
..
display_list layout: Add a repaint-only incremental layout mode (#36978) 2025-05-12 17:03:50 +00:00
flexbox layout: Obey intrinsic min/max block sizes on flex containers (#36973) 2025-05-15 07:57:07 +00:00
flow layout: Inform child layout about final block size (#36980) 2025-05-14 20:35:49 +00:00
fragment_tree layout: Add a repaint-only incremental layout mode (#36978) 2025-05-12 17:03:50 +00:00
stylesheets Fully support <input type=color> (#36992) 2025-05-15 17:30:38 +00:00
table layout: Add a repaint-only incremental layout mode (#36978) 2025-05-12 17:03:50 +00:00
taffy layout: Inform child layout about final block size (#36980) 2025-05-14 20:35:49 +00:00
tests layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
Cargo.toml layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
cell.rs layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
construct_modern.rs layout: Share styles to inline box children via SharedInlineStyles (#36896) 2025-05-12 09:38:50 +00:00
context.rs devtools: Allow highlighting elements from the inspector (#35822) 2025-05-05 10:10:25 +00:00
dom.rs layout: Add a repaint-only incremental layout mode (#36978) 2025-05-12 17:03:50 +00:00
dom_traversal.rs Fully support <input type=color> (#36992) 2025-05-15 17:30:38 +00:00
formatting_contexts.rs layout: Obey intrinsic min/max block sizes on flex containers (#36973) 2025-05-15 07:57:07 +00:00
geom.rs layout: Inform child layout about final block size (#36980) 2025-05-14 20:35:49 +00:00
layout_box_base.rs layout: Add a repaint-only incremental layout mode (#36978) 2025-05-12 17:03:50 +00:00
layout_impl.rs layout: Add a repaint-only incremental layout mode (#36978) 2025-05-12 17:03:50 +00:00
lib.rs layout: Share styles to inline box children via SharedInlineStyles (#36896) 2025-05-12 09:38:50 +00:00
lists.rs layout: Use ServoLayoutNode directly instead of a generic impl (#36876) 2025-05-06 14:27:51 +00:00
positioned.rs layout: Inform child layout about final block size (#36980) 2025-05-14 20:35:49 +00:00
query.rs layout: Use ServoLayoutNode directly instead of a generic impl (#36876) 2025-05-06 14:27:51 +00:00
quotes.rs layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
replaced.rs layout: Use ServoLayoutNode directly instead of a generic impl (#36876) 2025-05-06 14:27:51 +00:00
sizing.rs layout: Combine layout_2020 and layout_thread_2020 into a crate called layout (#36613) 2025-04-19 10:17:03 +00:00
style_ext.rs Upgrade Stylo to 2025-05-01 (#36835) 2025-05-05 14:08:49 +00:00
traversal.rs layout: Add a repaint-only incremental layout mode (#36978) 2025-05-12 17:03:50 +00:00