servo/ports/servoshell
Simon Wülker 0e99539dab
Support single-value <select> elements (#35684)
https://github.com/user-attachments/assets/9aba75ff-4190-4a85-89ed-d3f3aa53d3b0



Among other things this adds a new `EmbedderMsg::ShowSelectElementMenu`
to tell the embedder to display a select popup at the given location.

This is a draft because some small style adjustments need to be made:
* the select element should always have the width of the largest option
* the border should be part of the shadow tree

Apart from that, it's mostly ready for review.

<details><summary>HTML for demo video</summary>

```html
<html>

<body>
<select id="c" name="choice">
  <option value="first">First Value</option>
  <option value="second">Second Value</option>
  <option value="third">Third Value</option>
</select>
</body>
</html>
```
</details>

---

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by
`[X]` when the step is complete, and replace `___` with appropriate
data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] Part of https://github.com/servo/servo/issues/3551
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- Also, please make sure that "Allow edits from maintainers" checkbox
is checked, so that we can help you if you get stuck somewhere along the
way.-->

<!-- Pull requests that do not address these steps are welcome, but they
will require additional verification as part of the review process. -->

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-04-03 12:11:55 +00:00
..
desktop Support single-value <select> elements (#35684) 2025-04-03 12:11:55 +00:00
egl libservo: Start moving WindowMethods to WebViewDelegate (#36223) 2025-04-02 11:17:24 +00:00
platform Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
backtrace.rs Add OpenHarmony support to servoshell (#32594) 2024-06-28 12:51:50 +00:00
build.rs Fix a leak in MacOS thread count function (#34862) 2025-01-07 03:28:30 +00:00
Cargo.toml servoshell: Use sRGB colorspace on macOS (#35683) 2025-03-24 23:59:27 +00:00
crash_handler.rs Fix various clippy warnings on OpenHarmony (#34281) 2024-11-19 05:21:48 +00:00
lib.rs Add cli option for tracing-filter (#35370) 2025-02-08 07:10:12 +00:00
main.rs Make tracing available on all platforms, with or without perfetto (#33301) 2024-09-04 12:56:29 +00:00
panic_hook.rs api: Flatten and simplify Servo preferences (#34966) 2025-01-14 13:54:06 +00:00
parser.rs Allow domain-like as URL location input (#35756) 2025-03-10 03:24:48 +00:00
prefs.rs libservo: Remove a couple EmbedderMethods (#36276) 2025-04-01 22:59:50 +00:00
resources.rs libservo: Stop using script_traits in the embedding layer (#35185) 2025-01-28 11:15:36 +00:00
test.rs Allow domain-like as URL location input (#35756) 2025-03-10 03:24:48 +00:00