Commit graph

488 commits

Author SHA1 Message Date
Alex Touchet
975ca3a3f6
Change package.metadata.winres to package.metadata.winresource (#39364)
Use `package.metadata.winresource` per:
https://docs.rs/winresource/0.1.23/winresource/struct.WindowsResource.html#impl-WindowsResource

I think this was missed in #39344.

Testing: No tests for Cargo.toml edit.

Signed-off-by: Alex Touchet <26315797+atouchet@users.noreply.github.com>
2025-09-18 03:39:17 +00:00
Martin Robinson
020b82e1fe
profile: Remove integration with Instruments.app "Points of Interest" (#39354)
This changes removes the integration with Instruments.app "Points of
Interest" track for a variety of reasons:

 - This functionality is made somewhat redundant by Servo's support for
   Perfetto traces.
 - This functionality depends on the `signpost` crate which hasn't seen
   activity for 9 years and only supports macOS.

Testing: This removes some functionality that is only observable via
Instruments.app, so testing it is difficult.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-18 02:37:00 +00:00
Narfinger
76645e5e26
servoshell: Update the debug options (-Z) help to reflect current set of options (#39316)
The command-line help output for `-Z` and `DebugOptions were out of sync
again. This change makes sure they match again.

Testing: No tests necessary as this mainly just updates the help output.
Fixes: #39311

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-17 15:07:39 +00:00
Martin Robinson
5505d00334
libservo: Remove Opts::webrender_stats and -Z wr-stats (#39331)
This option is supported via the WebView API now and you can enable it
in servoshell by pressing `Ctrl` + `F12`. The command-line argument and
`Opts` field are older and I believe are no longer necessary.

Testing: This just removes a redundant command-line option, so no tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-17 11:58:16 +00:00
Martin Robinson
6deb42dbd5
servoshell: Switch from winres to winresources (#39344)
`winres` is unmaintained and it seems like `winresoures` is the
successor.

Testing: This should not have any behavior changes and just modifies
a build step, so shouldn't need tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-17 08:04:45 +00:00
Martin Robinson
7b755471c7
libservo: Remove the Opts::trace_layout (#39332)
This is currently unused, so it can be removed.

Testing: This just removes an unused field, so does not require tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-16 17:12:18 +00:00
dependabot[bot]
d5f055dd98
build(deps): bump the egui-related group with 7 updates (#39298)
Bumps the egui-related group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [egui](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` |
| [egui-winit](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` |
| [egui_glow](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` |
| [ecolor](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` |
| [emath](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` |
| [epaint](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` |
| [epaint_default_fonts](https://github.com/emilk/egui) | `0.32.2` |
`0.32.3` |

Updates `egui` from 0.32.2 to 0.32.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">egui's
releases</a>.</em></p>
<blockquote>
<h2>0.32.3 - Fix tooltips for ellided text</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>egui</h3>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
<li>Optimize <code>Mesh::add_rect_with_uv</code> <a
href="https://redirect.github.com/emilk/egui/pull/7511">#7511</a> by <a
href="https://github.com/valadaptive"><code>@​valadaptive</code></a></li>
</ul>
<h3>egui_extras</h3>
<ul>
<li>Fix deadlock in <code>FileLoader</code> and <code>EhttpLoader</code>
<a href="https://redirect.github.com/emilk/egui/pull/7515">#7515</a> by
<a href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">egui's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.3 - 2025-09-12</h2>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="af96e0373c"><code>af96e03</code></a>
Bumb version numbers to 0.23.3</li>
<li><a
href="b0828814ec"><code>b082881</code></a>
Add snapshot test image that somehow got lost</li>
<li><a
href="a31e4f5657"><code>a31e4f5</code></a>
Add changelog</li>
<li><a
href="53944fa78b"><code>53944fa</code></a>
cargo fmt</li>
<li><a
href="0ebdb484ad"><code>0ebdb48</code></a>
Optimize <code>Mesh::add_rect_with_uv</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7511">#7511</a>)</li>
<li><a
href="b9b860adb1"><code>b9b860a</code></a>
Fix <code>TextEdit</code>'s in RTL layouts (<a
href="https://redirect.github.com/emilk/egui/issues/5547">#5547</a>)</li>
<li><a
href="d3e4a040f4"><code>d3e4a04</code></a>
Reset wrapping in label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7535">#7535</a>)</li>
<li><a
href="5628fe9127"><code>5628fe9</code></a>
Preserve text format in truncated label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7514">#7514</a>)</li>
<li><a
href="995b6a6ef5"><code>995b6a6</code></a>
Improve deadlock detection output (<a
href="https://redirect.github.com/emilk/egui/issues/7515">#7515</a>)</li>
<li>See full diff in <a
href="https://github.com/emilk/egui/compare/0.32.2...0.32.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `egui-winit` from 0.32.2 to 0.32.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">egui-winit's
releases</a>.</em></p>
<blockquote>
<h2>0.32.3 - Fix tooltips for ellided text</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>egui</h3>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
<li>Optimize <code>Mesh::add_rect_with_uv</code> <a
href="https://redirect.github.com/emilk/egui/pull/7511">#7511</a> by <a
href="https://github.com/valadaptive"><code>@​valadaptive</code></a></li>
</ul>
<h3>egui_extras</h3>
<ul>
<li>Fix deadlock in <code>FileLoader</code> and <code>EhttpLoader</code>
<a href="https://redirect.github.com/emilk/egui/pull/7515">#7515</a> by
<a href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">egui-winit's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.3 - 2025-09-12</h2>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a31e4f5657"><code>a31e4f5</code></a>
Add changelog</li>
<li><a
href="53944fa78b"><code>53944fa</code></a>
cargo fmt</li>
<li><a
href="0ebdb484ad"><code>0ebdb48</code></a>
Optimize <code>Mesh::add_rect_with_uv</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7511">#7511</a>)</li>
<li><a
href="b9b860adb1"><code>b9b860a</code></a>
Fix <code>TextEdit</code>'s in RTL layouts (<a
href="https://redirect.github.com/emilk/egui/issues/5547">#5547</a>)</li>
<li><a
href="d3e4a040f4"><code>d3e4a04</code></a>
Reset wrapping in label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7535">#7535</a>)</li>
<li><a
href="5628fe9127"><code>5628fe9</code></a>
Preserve text format in truncated label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7514">#7514</a>)</li>
<li><a
href="995b6a6ef5"><code>995b6a6</code></a>
Improve deadlock detection output (<a
href="https://redirect.github.com/emilk/egui/issues/7515">#7515</a>)</li>
<li>See full diff in <a
href="https://github.com/emilk/egui/compare/0.32.2...0.32.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `egui_glow` from 0.32.2 to 0.32.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">egui_glow's
releases</a>.</em></p>
<blockquote>
<h2>0.32.3 - Fix tooltips for ellided text</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>egui</h3>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
<li>Optimize <code>Mesh::add_rect_with_uv</code> <a
href="https://redirect.github.com/emilk/egui/pull/7511">#7511</a> by <a
href="https://github.com/valadaptive"><code>@​valadaptive</code></a></li>
</ul>
<h3>egui_extras</h3>
<ul>
<li>Fix deadlock in <code>FileLoader</code> and <code>EhttpLoader</code>
<a href="https://redirect.github.com/emilk/egui/pull/7515">#7515</a> by
<a href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">egui_glow's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.3 - 2025-09-12</h2>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a31e4f5657"><code>a31e4f5</code></a>
Add changelog</li>
<li><a
href="53944fa78b"><code>53944fa</code></a>
cargo fmt</li>
<li><a
href="0ebdb484ad"><code>0ebdb48</code></a>
Optimize <code>Mesh::add_rect_with_uv</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7511">#7511</a>)</li>
<li><a
href="b9b860adb1"><code>b9b860a</code></a>
Fix <code>TextEdit</code>'s in RTL layouts (<a
href="https://redirect.github.com/emilk/egui/issues/5547">#5547</a>)</li>
<li><a
href="d3e4a040f4"><code>d3e4a04</code></a>
Reset wrapping in label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7535">#7535</a>)</li>
<li><a
href="5628fe9127"><code>5628fe9</code></a>
Preserve text format in truncated label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7514">#7514</a>)</li>
<li><a
href="995b6a6ef5"><code>995b6a6</code></a>
Improve deadlock detection output (<a
href="https://redirect.github.com/emilk/egui/issues/7515">#7515</a>)</li>
<li>See full diff in <a
href="https://github.com/emilk/egui/compare/0.32.2...0.32.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `ecolor` from 0.32.2 to 0.32.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">ecolor's
releases</a>.</em></p>
<blockquote>
<h2>0.32.3 - Fix tooltips for ellided text</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>egui</h3>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
<li>Optimize <code>Mesh::add_rect_with_uv</code> <a
href="https://redirect.github.com/emilk/egui/pull/7511">#7511</a> by <a
href="https://github.com/valadaptive"><code>@​valadaptive</code></a></li>
</ul>
<h3>egui_extras</h3>
<ul>
<li>Fix deadlock in <code>FileLoader</code> and <code>EhttpLoader</code>
<a href="https://redirect.github.com/emilk/egui/pull/7515">#7515</a> by
<a href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">ecolor's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.3 - 2025-09-12</h2>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="af96e0373c"><code>af96e03</code></a>
Bumb version numbers to 0.23.3</li>
<li><a
href="b0828814ec"><code>b082881</code></a>
Add snapshot test image that somehow got lost</li>
<li><a
href="a31e4f5657"><code>a31e4f5</code></a>
Add changelog</li>
<li><a
href="53944fa78b"><code>53944fa</code></a>
cargo fmt</li>
<li><a
href="0ebdb484ad"><code>0ebdb48</code></a>
Optimize <code>Mesh::add_rect_with_uv</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7511">#7511</a>)</li>
<li><a
href="b9b860adb1"><code>b9b860a</code></a>
Fix <code>TextEdit</code>'s in RTL layouts (<a
href="https://redirect.github.com/emilk/egui/issues/5547">#5547</a>)</li>
<li><a
href="d3e4a040f4"><code>d3e4a04</code></a>
Reset wrapping in label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7535">#7535</a>)</li>
<li><a
href="5628fe9127"><code>5628fe9</code></a>
Preserve text format in truncated label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7514">#7514</a>)</li>
<li><a
href="995b6a6ef5"><code>995b6a6</code></a>
Improve deadlock detection output (<a
href="https://redirect.github.com/emilk/egui/issues/7515">#7515</a>)</li>
<li>See full diff in <a
href="https://github.com/emilk/egui/compare/0.32.2...0.32.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `emath` from 0.32.2 to 0.32.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">emath's
releases</a>.</em></p>
<blockquote>
<h2>0.32.3 - Fix tooltips for ellided text</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>egui</h3>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
<li>Optimize <code>Mesh::add_rect_with_uv</code> <a
href="https://redirect.github.com/emilk/egui/pull/7511">#7511</a> by <a
href="https://github.com/valadaptive"><code>@​valadaptive</code></a></li>
</ul>
<h3>egui_extras</h3>
<ul>
<li>Fix deadlock in <code>FileLoader</code> and <code>EhttpLoader</code>
<a href="https://redirect.github.com/emilk/egui/pull/7515">#7515</a> by
<a href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">emath's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.3 - 2025-09-12</h2>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a31e4f5657"><code>a31e4f5</code></a>
Add changelog</li>
<li><a
href="53944fa78b"><code>53944fa</code></a>
cargo fmt</li>
<li><a
href="0ebdb484ad"><code>0ebdb48</code></a>
Optimize <code>Mesh::add_rect_with_uv</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7511">#7511</a>)</li>
<li><a
href="b9b860adb1"><code>b9b860a</code></a>
Fix <code>TextEdit</code>'s in RTL layouts (<a
href="https://redirect.github.com/emilk/egui/issues/5547">#5547</a>)</li>
<li><a
href="d3e4a040f4"><code>d3e4a04</code></a>
Reset wrapping in label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7535">#7535</a>)</li>
<li><a
href="5628fe9127"><code>5628fe9</code></a>
Preserve text format in truncated label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7514">#7514</a>)</li>
<li><a
href="995b6a6ef5"><code>995b6a6</code></a>
Improve deadlock detection output (<a
href="https://redirect.github.com/emilk/egui/issues/7515">#7515</a>)</li>
<li>See full diff in <a
href="https://github.com/emilk/egui/compare/0.32.2...0.32.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `epaint` from 0.32.2 to 0.32.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">epaint's
releases</a>.</em></p>
<blockquote>
<h2>0.32.3 - Fix tooltips for ellided text</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>egui</h3>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
<li>Optimize <code>Mesh::add_rect_with_uv</code> <a
href="https://redirect.github.com/emilk/egui/pull/7511">#7511</a> by <a
href="https://github.com/valadaptive"><code>@​valadaptive</code></a></li>
</ul>
<h3>egui_extras</h3>
<ul>
<li>Fix deadlock in <code>FileLoader</code> and <code>EhttpLoader</code>
<a href="https://redirect.github.com/emilk/egui/pull/7515">#7515</a> by
<a href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">epaint's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.3 - 2025-09-12</h2>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a31e4f5657"><code>a31e4f5</code></a>
Add changelog</li>
<li><a
href="53944fa78b"><code>53944fa</code></a>
cargo fmt</li>
<li><a
href="0ebdb484ad"><code>0ebdb48</code></a>
Optimize <code>Mesh::add_rect_with_uv</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7511">#7511</a>)</li>
<li><a
href="b9b860adb1"><code>b9b860a</code></a>
Fix <code>TextEdit</code>'s in RTL layouts (<a
href="https://redirect.github.com/emilk/egui/issues/5547">#5547</a>)</li>
<li><a
href="d3e4a040f4"><code>d3e4a04</code></a>
Reset wrapping in label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7535">#7535</a>)</li>
<li><a
href="5628fe9127"><code>5628fe9</code></a>
Preserve text format in truncated label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7514">#7514</a>)</li>
<li><a
href="995b6a6ef5"><code>995b6a6</code></a>
Improve deadlock detection output (<a
href="https://redirect.github.com/emilk/egui/issues/7515">#7515</a>)</li>
<li>See full diff in <a
href="https://github.com/emilk/egui/compare/0.32.2...0.32.3">compare
view</a></li>
</ul>
</details>
<br />

Updates `epaint_default_fonts` from 0.32.2 to 0.32.3
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">epaint_default_fonts's
releases</a>.</em></p>
<blockquote>
<h2>0.32.3 - Fix tooltips for ellided text</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>egui</h3>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
<li>Optimize <code>Mesh::add_rect_with_uv</code> <a
href="https://redirect.github.com/emilk/egui/pull/7511">#7511</a> by <a
href="https://github.com/valadaptive"><code>@​valadaptive</code></a></li>
</ul>
<h3>egui_extras</h3>
<ul>
<li>Fix deadlock in <code>FileLoader</code> and <code>EhttpLoader</code>
<a href="https://redirect.github.com/emilk/egui/pull/7515">#7515</a> by
<a href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">epaint_default_fonts's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.3 - 2025-09-12</h2>
<ul>
<li>Preserve text format in truncated label tooltip <a
href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a
href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>TextEdit</code>'s in RTL layouts <a
href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a
href="https://github.com/zakarumych"><code>@​zakarumych</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a31e4f5657"><code>a31e4f5</code></a>
Add changelog</li>
<li><a
href="53944fa78b"><code>53944fa</code></a>
cargo fmt</li>
<li><a
href="0ebdb484ad"><code>0ebdb48</code></a>
Optimize <code>Mesh::add_rect_with_uv</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7511">#7511</a>)</li>
<li><a
href="b9b860adb1"><code>b9b860a</code></a>
Fix <code>TextEdit</code>'s in RTL layouts (<a
href="https://redirect.github.com/emilk/egui/issues/5547">#5547</a>)</li>
<li><a
href="d3e4a040f4"><code>d3e4a04</code></a>
Reset wrapping in label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7535">#7535</a>)</li>
<li><a
href="5628fe9127"><code>5628fe9</code></a>
Preserve text format in truncated label tooltip (<a
href="https://redirect.github.com/emilk/egui/issues/7514">#7514</a>)</li>
<li><a
href="995b6a6ef5"><code>995b6a6</code></a>
Improve deadlock detection output (<a
href="https://redirect.github.com/emilk/egui/issues/7515">#7515</a>)</li>
<li>See full diff in <a
href="https://github.com/emilk/egui/compare/0.32.2...0.32.3">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-15 00:48:24 +00:00
Integral
2d5eac386f
servoshell: Add ParseResolutionError to parse elegantly (#39289)
When passing an invalid resolution string (such as `1x1x1`) to the
`--screen-size` or `--window-size` argument, Servo starts without any
error. Additionally, if the width or height is set to 0, Servo crashes
with a SIGSEGV (Address boundary error).

This patch addresses the following issue by several changes:

1. Introduce a custom error type ParseResolutionError.
2. Replace the `split()` method with `split_once()`.
3. Make the capital 'X' an acceptable separator.
4. Add a check to prevent crashes when width or height is set to 0.

---

Before: 
```
╰─❯ ./servo --screen-size=0
index out of bounds: the len is 1 but the index is 1 (thread main, at ports/servoshell/prefs.rs:236)
fish: Job 1, './servo --screen-size=0' terminated by signal SIGSEGV (Address boundary error)
```
```
╰─❯ ./servo --screen-size=0x1
xdg_surface#30: error -1: invalid window geometry size (0x1)
assertion `left != right` failed
  left: 0
 right: 0 (thread main, at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/surfman-0.10.0/src/platform/unix/wayland/connection.rs:140)
fish: Job 1, './servo --screen-size=0x1' terminated by signal SIGSEGV (Address boundary error)
```
After:
```
╰─❯ ./servo --screen-size=0
Error: couldn't parse `0`: invalid resolution format
```
```
╰─❯ ./servo --screen-size=0x1
Error: couldn't parse `0x1`: width and height must be greater than 0
```

Signed-off-by: Integral <integral@member.fsf.org>
2025-09-14 02:37:50 +00:00
Tim van der Lippe
2f252c9b78
Remove the dom_trusted_types_enabled preference (#39281)
Everything related to Trusted Types has been implemented. Failing WPT
tests are related to other features such as SVG scripts.

Fixes #36258

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-09-13 09:57:15 +00:00
Shubham Gupta
dfdcba88d4
fixup: Enable viewport <meta> tag support for mobile platforms only (#39207)
1. Adds a pref viewport_meta_enabled.
2. Enable pref for mobile platforms.

Testing: Tested Manually
Fixes: #39157
Fixes: #39002

---------

Signed-off-by: Shubham Gupta <shubham13297@gmail.com>
2025-09-11 17:21:04 +00:00
Euclid Ye
726b456120
webdriver: Focus WebView asynchronously (#39241)
#38160 added a webdriver-specific API to support waiting on focus
operations to complete. Later, #38243 added a unique id to track each
focus operation.

Back then we wait on focusing webview in webdriver hoping to improve
stability, but it does not matter as it turns out later. #39086 also
focuses browsing context asynchronously.

This PR would make webdriver's focusing-webview behaviour same as human
interaction.

Testing: 
[Before 1](https://github.com/yezhizhen/servo/actions/runs/17598288280),
[Before 2](https://github.com/yezhizhen/servo/actions/runs/17598289360),
[Before 3](https://github.com/yezhizhen/servo/actions/runs/17598290532)
[After 1](https://github.com/yezhizhen/servo/actions/runs/17598282988),
[After 2](https://github.com/yezhizhen/servo/actions/runs/17598280603),
[After 3](https://github.com/yezhizhen/servo/actions/runs/17589228530)

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-10 07:36:53 +00:00
Martin Robinson
ebfb5b1abb
libservo: Make Servo (and servoshell) more resilient against extreme sizes (#39204)
Make several changes which should address panics and inconsistent
behavior around attempts to set extreme sizes:

1. Limit the minimum size of the `RenderingContext` to 1 pixel by 1
   pixel. This should address problems where users of the API try to
   directly set the size to a zero or negative dimension. In addition,
   improve the documentation around `WebView::resize` to mention this.
2. Clamp values sent in the `WebViewDelegate::request_resize_to` method
   to be at least 1x1. This prevents Servo from sending nonsense values
   to embedders. Improve documentation in this method.
3. In servoshell:
    - More consistently clamp inner and outer window size values.
    - Clamp all resize values to the available screen size, so that
      large screen sizes aren't processed directly.

Testing: This change fixes an existing WPT and adds two new API tests.
Fixes: #36763.
Fixes: #36841.
Fixes: #39141.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-09 12:51:30 +00:00
Abdelrahman Hossam
7a28fd786c
ohos: Adding support for running WPT on OHOS devices using WebDriver (#38846)
Architecture:
```
Desktop (Test Controller)        OHOS Device (Test Target)
┌─────────────────────────┐     ┌─────────────────────────┐
│ WPT Server (port 8000)  │     │ Servo Browser           │
│ Test Runner Script      │---->│ WebDriver Server (7000) │
│ HDC Port Forwarding     │     │ Test Execution          │
└─────────────────────────┘     └─────────────────────────┘
```
After the test is finished, the script will parse the results and print
them in a readable format.

Tried to handle as many errors as possible and find workarounds for each
error to ensure the testing can be completed, or at least provide
comprehensive logs or information to identify exactly where the problem
is. Note that the used ports are just for testing; you can change them
to any other available ports, but make sure that the ports are
consistent in the script and given commands.

To run a WPT test on an OHOS device, you need to:
1. Connect OHOS device to the desktop via a cable (didn't try any other
way of communication)
2. Build and deploy servo with the changes in this PR using
[servoDemo](https://github.com/jschwe/ServoDemo). You can find there the
instructions to build and deploy servo to OHOS device.
3. While deploying servo to OHOS you need to ensure WebDriver is enabled
with the argument --webdriver=7000
4. Ensure OHOS SDK with HDC in PATH
5. Start WPT server on the desktop on a different terminal in servo
directory: ```bash python -m wpt serve --port 8000 ```
6. Update desktop IP in test scripts:
```python
desktop_ip = "192.168.1.100"  # Your desktop's IP
```
You can find your desktop IP with:
```bash
# Windows
ipconfig | findstr "IPv4"

# macOS/Linux
ifconfig | grep "inet "
```
script can be modified to detect the desktop's IP automatically ...
later.
7. Run tests using the new mach command:

```bash
./mach test-ohos-wpt \
    --test <test relative path> \
    --webdriver-port 7000 \
    --wpt-server-port 8000 \
    --verbose
```

The script will:
1. Set up HDC port forwarding and reverse port forwarding for WPT
automatically
2. Connect to WebDriver server on the device
3. Navigate to the test URL
4. Wait for test completion
5. Show test results

Troubleshooting common Issues and Solutions:

1. HDC command not found:
   - Install OHOS SDK and add HDC to PATH
   - Verify: `hdc --version`

2. Failed to connect to WebDriver:
   - Ensure Servo is running with `--webdriver=7000` argument
   - Check device connection: `hdc list targets`
   - Verify port forwarding: `hdc fport ls`
   - Test WebDriver directly: `curl http://localhost:7000/status`

3. Failed to navigate to test URL:
   - Update `desktop_ip` in the script
   - Ensure both devices are on same network or connected via cable
   - Test connectivity: ping from device to desktop

4. Test timeouts:
   - Increase timeout in script (default: 30 seconds)
   - Check if test requires specific dependencies
   - Verify WPT server is serving the test file

---------

Signed-off-by: abdelrahman1234567 <abdelrahman.hossameldin.awadalla@huawei.com>
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
Co-authored-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-09 08:57:36 +00:00
Narfinger
ed66e0b0ca
servoshell: Replace getopts with bpaf for argument parsing (#37194)
This includes some small refactoring and some small breaking changes as
listed below. Other than these I tried to keep the functionality exactly
the same but because in the old code the parsing and settings of
preferences was intermingled it was difficult to figure out.

Small Breaking:
- Size and resources-path were unused but appeared in the help.
- soft-fail and hard-fail: Soft-fail flag got removed because it is too
  difficult to keep both. The default is now soft-fail and hard-fail can
be enabled.
- The help strings are obviously formatted differently now.
- -V does not work anymore but -v and --version.

Ideally, we want to have the ServoShellPreferences and Preferences be
directly the Argument structure but that needs a bit more discussion
because it would break backwards compatibility with the commandline.

This increases the binary size by ~280kb.

Testing: The testcases are still working but they do not cover much.
I added a unit test for the -p flag because it is the most difficult to
parse in general.
Fixes: This will fix a small number of various parsing misshaps. It will
also show if we are removing an option via unused lint.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-05 08:17:38 +00:00
dependabot[bot]
ae5b40ebf9
build(deps): bump the egui-related group with 7 updates (#39155)
Bumps the egui-related group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [egui](https://github.com/emilk/egui) | `0.32.1` | `0.32.2` |
| [egui-winit](https://github.com/emilk/egui) | `0.32.1` | `0.32.2` |
| [egui_glow](https://github.com/emilk/egui) | `0.32.1` | `0.32.2` |
| [ecolor](https://github.com/emilk/egui) | `0.32.1` | `0.32.2` |
| [emath](https://github.com/emilk/egui) | `0.32.1` | `0.32.2` |
| [epaint](https://github.com/emilk/egui) | `0.32.1` | `0.32.2` |
| [epaint_default_fonts](https://github.com/emilk/egui) | `0.32.1` |
`0.32.2` |

Updates `egui` from 0.32.1 to 0.32.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">egui's
releases</a>.</em></p>
<blockquote>
<h2>0.32.2 - Ui::place, Harness::mask and more bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>Add <code>Ui::place</code></h3>
<p><code>Ui::place</code> is similar to <code>Ui::put</code>, but it
doesn't update the current <code>Ui</code>s cursor. This is very useful
when using the new <code>Atom</code>s or making badge-like widgets.
The following breaks with <code>Ui::put</code> but works just fine with
<code>Ui::place</code>:</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h3>Add <code>Harness::mask</code></h3>
<p><code>Harness::mask</code> allows for simple masking of
<code>Rect</code>s you don't want to be visible in snapshot test images.
The rect will be masked with a ugly color to make it obvious whats going
on:</p>
<!-- raw HTML omitted -->
<h2>egui</h2>
<ul>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
<h2>egui_extras</h2>
<ul>
<li>Fix memory leak when <code>forget_image</code> is called while
loading <a
href="https://redirect.github.com/emilk/egui/pull/7380">#7380</a> by <a
href="https://github.com/Vanadiae"><code>@​Vanadiae</code></a></li>
<li>Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> <a
href="https://redirect.github.com/emilk/egui/pull/7494">#7494</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>egui_kittest</h2>
<ul>
<li>Allow masking widgets in kittest snapshots <a
href="https://redirect.github.com/emilk/egui/pull/7467">#7467</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>epaint</h2>
<ul>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Skip zero-length layout job sections <a
href="https://redirect.github.com/emilk/egui/pull/7430">#7430</a> by <a
href="https://github.com/HactarCE"><code>@​HactarCE</code></a></li>
</ul>
<h2>Unsorted commits</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/0.32.2/CHANGELOG.md">egui's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.2 - 2025-09-04</h2>
<ul>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f49e44e9cc"><code>f49e44e</code></a>
Change version to 0.32.2</li>
<li><a
href="0099ee7a78"><code>0099ee7</code></a>
Update changelogs</li>
<li><a
href="b17d716cdb"><code>b17d716</code></a>
Add track_caller to Mutex and RwLock for deadlock_detection</li>
<li><a
href="94e92a0697"><code>94e92a0</code></a>
Fix: prevent calendar popup from closing on dropdown change (<a
href="https://redirect.github.com/emilk/egui/issues/7409">#7409</a>)</li>
<li><a
href="d0bfc616cf"><code>d0bfc61</code></a>
Skip zero-length layout job sections (<a
href="https://redirect.github.com/emilk/egui/issues/7430">#7430</a>)</li>
<li><a
href="052959d7a3"><code>052959d</code></a>
Add <code>Ui::place</code>, to place widgets without changing the cursor
(<a
href="https://redirect.github.com/emilk/egui/issues/7359">#7359</a>)</li>
<li><a
href="299b43e8bf"><code>299b43e</code></a>
Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7494">#7494</a>)</li>
<li><a
href="0ddcc85f0c"><code>0ddcc85</code></a>
Panic mutexes that can't lock for 30 seconds, in debug builds (<a
href="https://redirect.github.com/emilk/egui/issues/7468">#7468</a>)</li>
<li><a
href="18dc9dcff4"><code>18dc9dc</code></a>
Fix memory leak when <code>forget_image</code> is called while loading
(<a
href="https://redirect.github.com/emilk/egui/issues/7380">#7380</a>)</li>
<li><a
href="ae94d815e2"><code>ae94d81</code></a>
Remove line breaks when pasting into single line TextEdit (<a
href="https://redirect.github.com/emilk/egui/issues/7441">#7441</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.1...0.32.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `egui-winit` from 0.32.1 to 0.32.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">egui-winit's
releases</a>.</em></p>
<blockquote>
<h2>0.32.2 - Ui::place, Harness::mask and more bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>Add <code>Ui::place</code></h3>
<p><code>Ui::place</code> is similar to <code>Ui::put</code>, but it
doesn't update the current <code>Ui</code>s cursor. This is very useful
when using the new <code>Atom</code>s or making badge-like widgets.
The following breaks with <code>Ui::put</code> but works just fine with
<code>Ui::place</code>:</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h3>Add <code>Harness::mask</code></h3>
<p><code>Harness::mask</code> allows for simple masking of
<code>Rect</code>s you don't want to be visible in snapshot test images.
The rect will be masked with a ugly color to make it obvious whats going
on:</p>
<!-- raw HTML omitted -->
<h2>egui</h2>
<ul>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
<h2>egui_extras</h2>
<ul>
<li>Fix memory leak when <code>forget_image</code> is called while
loading <a
href="https://redirect.github.com/emilk/egui/pull/7380">#7380</a> by <a
href="https://github.com/Vanadiae"><code>@​Vanadiae</code></a></li>
<li>Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> <a
href="https://redirect.github.com/emilk/egui/pull/7494">#7494</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>egui_kittest</h2>
<ul>
<li>Allow masking widgets in kittest snapshots <a
href="https://redirect.github.com/emilk/egui/pull/7467">#7467</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>epaint</h2>
<ul>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Skip zero-length layout job sections <a
href="https://redirect.github.com/emilk/egui/pull/7430">#7430</a> by <a
href="https://github.com/HactarCE"><code>@​HactarCE</code></a></li>
</ul>
<h2>Unsorted commits</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/0.32.2/CHANGELOG.md">egui-winit's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.2 - 2025-09-04</h2>
<ul>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0099ee7a78"><code>0099ee7</code></a>
Update changelogs</li>
<li><a
href="b17d716cdb"><code>b17d716</code></a>
Add track_caller to Mutex and RwLock for deadlock_detection</li>
<li><a
href="94e92a0697"><code>94e92a0</code></a>
Fix: prevent calendar popup from closing on dropdown change (<a
href="https://redirect.github.com/emilk/egui/issues/7409">#7409</a>)</li>
<li><a
href="d0bfc616cf"><code>d0bfc61</code></a>
Skip zero-length layout job sections (<a
href="https://redirect.github.com/emilk/egui/issues/7430">#7430</a>)</li>
<li><a
href="052959d7a3"><code>052959d</code></a>
Add <code>Ui::place</code>, to place widgets without changing the cursor
(<a
href="https://redirect.github.com/emilk/egui/issues/7359">#7359</a>)</li>
<li><a
href="299b43e8bf"><code>299b43e</code></a>
Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7494">#7494</a>)</li>
<li><a
href="0ddcc85f0c"><code>0ddcc85</code></a>
Panic mutexes that can't lock for 30 seconds, in debug builds (<a
href="https://redirect.github.com/emilk/egui/issues/7468">#7468</a>)</li>
<li><a
href="18dc9dcff4"><code>18dc9dc</code></a>
Fix memory leak when <code>forget_image</code> is called while loading
(<a
href="https://redirect.github.com/emilk/egui/issues/7380">#7380</a>)</li>
<li><a
href="ae94d815e2"><code>ae94d81</code></a>
Remove line breaks when pasting into single line TextEdit (<a
href="https://redirect.github.com/emilk/egui/issues/7441">#7441</a>)</li>
<li><a
href="c749f372f7"><code>c749f37</code></a>
fix: <code>SubMenu</code> should not display when ui is disabled (<a
href="https://redirect.github.com/emilk/egui/issues/7428">#7428</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.1...0.32.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `egui_glow` from 0.32.1 to 0.32.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">egui_glow's
releases</a>.</em></p>
<blockquote>
<h2>0.32.2 - Ui::place, Harness::mask and more bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>Add <code>Ui::place</code></h3>
<p><code>Ui::place</code> is similar to <code>Ui::put</code>, but it
doesn't update the current <code>Ui</code>s cursor. This is very useful
when using the new <code>Atom</code>s or making badge-like widgets.
The following breaks with <code>Ui::put</code> but works just fine with
<code>Ui::place</code>:</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h3>Add <code>Harness::mask</code></h3>
<p><code>Harness::mask</code> allows for simple masking of
<code>Rect</code>s you don't want to be visible in snapshot test images.
The rect will be masked with a ugly color to make it obvious whats going
on:</p>
<!-- raw HTML omitted -->
<h2>egui</h2>
<ul>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
<h2>egui_extras</h2>
<ul>
<li>Fix memory leak when <code>forget_image</code> is called while
loading <a
href="https://redirect.github.com/emilk/egui/pull/7380">#7380</a> by <a
href="https://github.com/Vanadiae"><code>@​Vanadiae</code></a></li>
<li>Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> <a
href="https://redirect.github.com/emilk/egui/pull/7494">#7494</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>egui_kittest</h2>
<ul>
<li>Allow masking widgets in kittest snapshots <a
href="https://redirect.github.com/emilk/egui/pull/7467">#7467</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>epaint</h2>
<ul>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Skip zero-length layout job sections <a
href="https://redirect.github.com/emilk/egui/pull/7430">#7430</a> by <a
href="https://github.com/HactarCE"><code>@​HactarCE</code></a></li>
</ul>
<h2>Unsorted commits</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/0.32.2/CHANGELOG.md">egui_glow's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.2 - 2025-09-04</h2>
<ul>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0099ee7a78"><code>0099ee7</code></a>
Update changelogs</li>
<li><a
href="b17d716cdb"><code>b17d716</code></a>
Add track_caller to Mutex and RwLock for deadlock_detection</li>
<li><a
href="94e92a0697"><code>94e92a0</code></a>
Fix: prevent calendar popup from closing on dropdown change (<a
href="https://redirect.github.com/emilk/egui/issues/7409">#7409</a>)</li>
<li><a
href="d0bfc616cf"><code>d0bfc61</code></a>
Skip zero-length layout job sections (<a
href="https://redirect.github.com/emilk/egui/issues/7430">#7430</a>)</li>
<li><a
href="052959d7a3"><code>052959d</code></a>
Add <code>Ui::place</code>, to place widgets without changing the cursor
(<a
href="https://redirect.github.com/emilk/egui/issues/7359">#7359</a>)</li>
<li><a
href="299b43e8bf"><code>299b43e</code></a>
Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7494">#7494</a>)</li>
<li><a
href="0ddcc85f0c"><code>0ddcc85</code></a>
Panic mutexes that can't lock for 30 seconds, in debug builds (<a
href="https://redirect.github.com/emilk/egui/issues/7468">#7468</a>)</li>
<li><a
href="18dc9dcff4"><code>18dc9dc</code></a>
Fix memory leak when <code>forget_image</code> is called while loading
(<a
href="https://redirect.github.com/emilk/egui/issues/7380">#7380</a>)</li>
<li><a
href="ae94d815e2"><code>ae94d81</code></a>
Remove line breaks when pasting into single line TextEdit (<a
href="https://redirect.github.com/emilk/egui/issues/7441">#7441</a>)</li>
<li><a
href="c749f372f7"><code>c749f37</code></a>
fix: <code>SubMenu</code> should not display when ui is disabled (<a
href="https://redirect.github.com/emilk/egui/issues/7428">#7428</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.1...0.32.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `ecolor` from 0.32.1 to 0.32.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">ecolor's
releases</a>.</em></p>
<blockquote>
<h2>0.32.2 - Ui::place, Harness::mask and more bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>Add <code>Ui::place</code></h3>
<p><code>Ui::place</code> is similar to <code>Ui::put</code>, but it
doesn't update the current <code>Ui</code>s cursor. This is very useful
when using the new <code>Atom</code>s or making badge-like widgets.
The following breaks with <code>Ui::put</code> but works just fine with
<code>Ui::place</code>:</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h3>Add <code>Harness::mask</code></h3>
<p><code>Harness::mask</code> allows for simple masking of
<code>Rect</code>s you don't want to be visible in snapshot test images.
The rect will be masked with a ugly color to make it obvious whats going
on:</p>
<!-- raw HTML omitted -->
<h2>egui</h2>
<ul>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
<h2>egui_extras</h2>
<ul>
<li>Fix memory leak when <code>forget_image</code> is called while
loading <a
href="https://redirect.github.com/emilk/egui/pull/7380">#7380</a> by <a
href="https://github.com/Vanadiae"><code>@​Vanadiae</code></a></li>
<li>Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> <a
href="https://redirect.github.com/emilk/egui/pull/7494">#7494</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>egui_kittest</h2>
<ul>
<li>Allow masking widgets in kittest snapshots <a
href="https://redirect.github.com/emilk/egui/pull/7467">#7467</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>epaint</h2>
<ul>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Skip zero-length layout job sections <a
href="https://redirect.github.com/emilk/egui/pull/7430">#7430</a> by <a
href="https://github.com/HactarCE"><code>@​HactarCE</code></a></li>
</ul>
<h2>Unsorted commits</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/0.32.2/CHANGELOG.md">ecolor's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.2 - 2025-09-04</h2>
<ul>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f49e44e9cc"><code>f49e44e</code></a>
Change version to 0.32.2</li>
<li><a
href="0099ee7a78"><code>0099ee7</code></a>
Update changelogs</li>
<li><a
href="b17d716cdb"><code>b17d716</code></a>
Add track_caller to Mutex and RwLock for deadlock_detection</li>
<li><a
href="94e92a0697"><code>94e92a0</code></a>
Fix: prevent calendar popup from closing on dropdown change (<a
href="https://redirect.github.com/emilk/egui/issues/7409">#7409</a>)</li>
<li><a
href="d0bfc616cf"><code>d0bfc61</code></a>
Skip zero-length layout job sections (<a
href="https://redirect.github.com/emilk/egui/issues/7430">#7430</a>)</li>
<li><a
href="052959d7a3"><code>052959d</code></a>
Add <code>Ui::place</code>, to place widgets without changing the cursor
(<a
href="https://redirect.github.com/emilk/egui/issues/7359">#7359</a>)</li>
<li><a
href="299b43e8bf"><code>299b43e</code></a>
Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7494">#7494</a>)</li>
<li><a
href="0ddcc85f0c"><code>0ddcc85</code></a>
Panic mutexes that can't lock for 30 seconds, in debug builds (<a
href="https://redirect.github.com/emilk/egui/issues/7468">#7468</a>)</li>
<li><a
href="18dc9dcff4"><code>18dc9dc</code></a>
Fix memory leak when <code>forget_image</code> is called while loading
(<a
href="https://redirect.github.com/emilk/egui/issues/7380">#7380</a>)</li>
<li><a
href="ae94d815e2"><code>ae94d81</code></a>
Remove line breaks when pasting into single line TextEdit (<a
href="https://redirect.github.com/emilk/egui/issues/7441">#7441</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.1...0.32.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `emath` from 0.32.1 to 0.32.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">emath's
releases</a>.</em></p>
<blockquote>
<h2>0.32.2 - Ui::place, Harness::mask and more bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>Add <code>Ui::place</code></h3>
<p><code>Ui::place</code> is similar to <code>Ui::put</code>, but it
doesn't update the current <code>Ui</code>s cursor. This is very useful
when using the new <code>Atom</code>s or making badge-like widgets.
The following breaks with <code>Ui::put</code> but works just fine with
<code>Ui::place</code>:</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h3>Add <code>Harness::mask</code></h3>
<p><code>Harness::mask</code> allows for simple masking of
<code>Rect</code>s you don't want to be visible in snapshot test images.
The rect will be masked with a ugly color to make it obvious whats going
on:</p>
<!-- raw HTML omitted -->
<h2>egui</h2>
<ul>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
<h2>egui_extras</h2>
<ul>
<li>Fix memory leak when <code>forget_image</code> is called while
loading <a
href="https://redirect.github.com/emilk/egui/pull/7380">#7380</a> by <a
href="https://github.com/Vanadiae"><code>@​Vanadiae</code></a></li>
<li>Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> <a
href="https://redirect.github.com/emilk/egui/pull/7494">#7494</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>egui_kittest</h2>
<ul>
<li>Allow masking widgets in kittest snapshots <a
href="https://redirect.github.com/emilk/egui/pull/7467">#7467</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>epaint</h2>
<ul>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Skip zero-length layout job sections <a
href="https://redirect.github.com/emilk/egui/pull/7430">#7430</a> by <a
href="https://github.com/HactarCE"><code>@​HactarCE</code></a></li>
</ul>
<h2>Unsorted commits</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/0.32.2/CHANGELOG.md">emath's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.2 - 2025-09-04</h2>
<ul>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0099ee7a78"><code>0099ee7</code></a>
Update changelogs</li>
<li><a
href="b17d716cdb"><code>b17d716</code></a>
Add track_caller to Mutex and RwLock for deadlock_detection</li>
<li><a
href="94e92a0697"><code>94e92a0</code></a>
Fix: prevent calendar popup from closing on dropdown change (<a
href="https://redirect.github.com/emilk/egui/issues/7409">#7409</a>)</li>
<li><a
href="d0bfc616cf"><code>d0bfc61</code></a>
Skip zero-length layout job sections (<a
href="https://redirect.github.com/emilk/egui/issues/7430">#7430</a>)</li>
<li><a
href="052959d7a3"><code>052959d</code></a>
Add <code>Ui::place</code>, to place widgets without changing the cursor
(<a
href="https://redirect.github.com/emilk/egui/issues/7359">#7359</a>)</li>
<li><a
href="299b43e8bf"><code>299b43e</code></a>
Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7494">#7494</a>)</li>
<li><a
href="0ddcc85f0c"><code>0ddcc85</code></a>
Panic mutexes that can't lock for 30 seconds, in debug builds (<a
href="https://redirect.github.com/emilk/egui/issues/7468">#7468</a>)</li>
<li><a
href="18dc9dcff4"><code>18dc9dc</code></a>
Fix memory leak when <code>forget_image</code> is called while loading
(<a
href="https://redirect.github.com/emilk/egui/issues/7380">#7380</a>)</li>
<li><a
href="ae94d815e2"><code>ae94d81</code></a>
Remove line breaks when pasting into single line TextEdit (<a
href="https://redirect.github.com/emilk/egui/issues/7441">#7441</a>)</li>
<li><a
href="c749f372f7"><code>c749f37</code></a>
fix: <code>SubMenu</code> should not display when ui is disabled (<a
href="https://redirect.github.com/emilk/egui/issues/7428">#7428</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.1...0.32.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `epaint` from 0.32.1 to 0.32.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">epaint's
releases</a>.</em></p>
<blockquote>
<h2>0.32.2 - Ui::place, Harness::mask and more bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>Add <code>Ui::place</code></h3>
<p><code>Ui::place</code> is similar to <code>Ui::put</code>, but it
doesn't update the current <code>Ui</code>s cursor. This is very useful
when using the new <code>Atom</code>s or making badge-like widgets.
The following breaks with <code>Ui::put</code> but works just fine with
<code>Ui::place</code>:</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h3>Add <code>Harness::mask</code></h3>
<p><code>Harness::mask</code> allows for simple masking of
<code>Rect</code>s you don't want to be visible in snapshot test images.
The rect will be masked with a ugly color to make it obvious whats going
on:</p>
<!-- raw HTML omitted -->
<h2>egui</h2>
<ul>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
<h2>egui_extras</h2>
<ul>
<li>Fix memory leak when <code>forget_image</code> is called while
loading <a
href="https://redirect.github.com/emilk/egui/pull/7380">#7380</a> by <a
href="https://github.com/Vanadiae"><code>@​Vanadiae</code></a></li>
<li>Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> <a
href="https://redirect.github.com/emilk/egui/pull/7494">#7494</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>egui_kittest</h2>
<ul>
<li>Allow masking widgets in kittest snapshots <a
href="https://redirect.github.com/emilk/egui/pull/7467">#7467</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>epaint</h2>
<ul>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Skip zero-length layout job sections <a
href="https://redirect.github.com/emilk/egui/pull/7430">#7430</a> by <a
href="https://github.com/HactarCE"><code>@​HactarCE</code></a></li>
</ul>
<h2>Unsorted commits</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/0.32.2/CHANGELOG.md">epaint's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.2 - 2025-09-04</h2>
<ul>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0099ee7a78"><code>0099ee7</code></a>
Update changelogs</li>
<li><a
href="b17d716cdb"><code>b17d716</code></a>
Add track_caller to Mutex and RwLock for deadlock_detection</li>
<li><a
href="94e92a0697"><code>94e92a0</code></a>
Fix: prevent calendar popup from closing on dropdown change (<a
href="https://redirect.github.com/emilk/egui/issues/7409">#7409</a>)</li>
<li><a
href="d0bfc616cf"><code>d0bfc61</code></a>
Skip zero-length layout job sections (<a
href="https://redirect.github.com/emilk/egui/issues/7430">#7430</a>)</li>
<li><a
href="052959d7a3"><code>052959d</code></a>
Add <code>Ui::place</code>, to place widgets without changing the cursor
(<a
href="https://redirect.github.com/emilk/egui/issues/7359">#7359</a>)</li>
<li><a
href="299b43e8bf"><code>299b43e</code></a>
Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7494">#7494</a>)</li>
<li><a
href="0ddcc85f0c"><code>0ddcc85</code></a>
Panic mutexes that can't lock for 30 seconds, in debug builds (<a
href="https://redirect.github.com/emilk/egui/issues/7468">#7468</a>)</li>
<li><a
href="18dc9dcff4"><code>18dc9dc</code></a>
Fix memory leak when <code>forget_image</code> is called while loading
(<a
href="https://redirect.github.com/emilk/egui/issues/7380">#7380</a>)</li>
<li><a
href="ae94d815e2"><code>ae94d81</code></a>
Remove line breaks when pasting into single line TextEdit (<a
href="https://redirect.github.com/emilk/egui/issues/7441">#7441</a>)</li>
<li><a
href="c749f372f7"><code>c749f37</code></a>
fix: <code>SubMenu</code> should not display when ui is disabled (<a
href="https://redirect.github.com/emilk/egui/issues/7428">#7428</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.1...0.32.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `epaint_default_fonts` from 0.32.1 to 0.32.2
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">epaint_default_fonts's
releases</a>.</em></p>
<blockquote>
<h2>0.32.2 - Ui::place, Harness::mask and more bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h3>Add <code>Ui::place</code></h3>
<p><code>Ui::place</code> is similar to <code>Ui::put</code>, but it
doesn't update the current <code>Ui</code>s cursor. This is very useful
when using the new <code>Atom</code>s or making badge-like widgets.
The following breaks with <code>Ui::put</code> but works just fine with
<code>Ui::place</code>:</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h3>Add <code>Harness::mask</code></h3>
<p><code>Harness::mask</code> allows for simple masking of
<code>Rect</code>s you don't want to be visible in snapshot test images.
The rect will be masked with a ugly color to make it obvious whats going
on:</p>
<!-- raw HTML omitted -->
<h2>egui</h2>
<ul>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
<h2>egui_extras</h2>
<ul>
<li>Fix memory leak when <code>forget_image</code> is called while
loading <a
href="https://redirect.github.com/emilk/egui/pull/7380">#7380</a> by <a
href="https://github.com/Vanadiae"><code>@​Vanadiae</code></a></li>
<li>Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> <a
href="https://redirect.github.com/emilk/egui/pull/7494">#7494</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>egui_kittest</h2>
<ul>
<li>Allow masking widgets in kittest snapshots <a
href="https://redirect.github.com/emilk/egui/pull/7467">#7467</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h2>epaint</h2>
<ul>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Skip zero-length layout job sections <a
href="https://redirect.github.com/emilk/egui/pull/7430">#7430</a> by <a
href="https://github.com/HactarCE"><code>@​HactarCE</code></a></li>
</ul>
<h2>Unsorted commits</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/0.32.2/CHANGELOG.md">epaint_default_fonts's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.2 - 2025-09-04</h2>
<ul>
<li>Fix: <code>SubMenu</code> should not display when ui is disabled <a
href="https://redirect.github.com/emilk/egui/pull/7428">#7428</a> by <a
href="https://github.com/ozwaldorf"><code>@​ozwaldorf</code></a></li>
<li>Remove line breaks when pasting into single line TextEdit <a
href="https://redirect.github.com/emilk/egui/pull/7441">#7441</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Panic mutexes that can't lock for 30 seconds, in debug builds <a
href="https://redirect.github.com/emilk/egui/pull/7468">#7468</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Add <code>Ui::place</code>, to place widgets without changing the
cursor <a
href="https://redirect.github.com/emilk/egui/pull/7359">#7359</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix: prevent calendar popup from closing on dropdown change <a
href="https://redirect.github.com/emilk/egui/pull/7409">#7409</a> by <a
href="https://github.com/AStrizh"><code>@​AStrizh</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0099ee7a78"><code>0099ee7</code></a>
Update changelogs</li>
<li><a
href="b17d716cdb"><code>b17d716</code></a>
Add track_caller to Mutex and RwLock for deadlock_detection</li>
<li><a
href="94e92a0697"><code>94e92a0</code></a>
Fix: prevent calendar popup from closing on dropdown change (<a
href="https://redirect.github.com/emilk/egui/issues/7409">#7409</a>)</li>
<li><a
href="d0bfc616cf"><code>d0bfc61</code></a>
Skip zero-length layout job sections (<a
href="https://redirect.github.com/emilk/egui/issues/7430">#7430</a>)</li>
<li><a
href="052959d7a3"><code>052959d</code></a>
Add <code>Ui::place</code>, to place widgets without changing the cursor
(<a
href="https://redirect.github.com/emilk/egui/issues/7359">#7359</a>)</li>
<li><a
href="299b43e8bf"><code>299b43e</code></a>
Fix deadlock in <code>ImageLoader</code>, <code>FileLoader</code>,
<code>EhttpLoader</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7494">#7494</a>)</li>
<li><a
href="0ddcc85f0c"><code>0ddcc85</code></a>
Panic mutexes that can't lock for 30 seconds, in debug builds (<a
href="https://redirect.github.com/emilk/egui/issues/7468">#7468</a>)</li>
<li><a
href="18dc9dcff4"><code>18dc9dc</code></a>
Fix memory leak when <code>forget_image</code> is called while loading
(<a
href="https://redirect.github.com/emilk/egui/issues/7380">#7380</a>)</li>
<li><a
href="ae94d815e2"><code>ae94d81</code></a>
Remove line breaks when pasting into single line TextEdit (<a
href="https://redirect.github.com/emilk/egui/issues/7441">#7441</a>)</li>
<li><a
href="c749f372f7"><code>c749f37</code></a>
fix: <code>SubMenu</code> should not display when ui is disabled (<a
href="https://redirect.github.com/emilk/egui/issues/7428">#7428</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.1...0.32.2">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 00:42:39 +00:00
Josh Matthews
aac6aa6c70
servoshell: Add button to toggle experimental web platform features. (#39125)
This makes it easier to experiment with the impact of experimental
features when browsing around in servoshell. The toggle is global and
causes all webviews to reload with the new preference values.

Testing: Manually tested; no UI testing for servoshell.

Not enabled:
<img width="317" height="82" alt="Screenshot 2025-09-03 at 9 34 30 PM"
src="https://github.com/user-attachments/assets/ca521ad5-ce1b-434e-a0c3-ea1b75d76d53"
/>

Enabled:
<img width="320" height="82" alt="Screenshot 2025-09-03 at 9 34 36 PM"
src="https://github.com/user-attachments/assets/7b6529b5-1055-4ae0-924a-96d57e115714"
/>

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-09-04 02:53:12 +00:00
Euclid Ye
802fdd9068
webdriver: Focus browsing context when switch frame (#39086)
#38889 adds back the mechanism to focus the window when [switch to
window](https://w3c.github.io/webdriver/#switch-to-window). After that,
it causes many flaky TIMEOUT. Turns out the real reason is same as the
phenomenon which I thought was unrelated:
https://github.com/servo/servo/pull/38889#issuecomment-3217512339: we
need to focus the browsing context as well according to spec. This is
important for Servo because it relies on
f4dd2960b8/components/constellation/constellation_webview.rs (L64)
to determine which pipeline to send `InputEvent` to.

Testing: Before, there are 9 ~ 13 flaky results. [Before
1](https://github.com/yezhizhen/servo/actions/runs/17379170889), [Before
2](https://github.com/yezhizhen/servo/actions/runs/17392219417), [Before
3](https://github.com/yezhizhen/servo/actions/runs/17379172612).
Now there are 2 ~ 4 flaky results. [After
1](https://github.com/yezhizhen/servo/actions/runs/17394359570), [After
2](https://github.com/yezhizhen/servo/actions/runs/17394358218), [After
3](https://github.com/yezhizhen/servo/actions/runs/17394357400).
Fixes: https://github.com/servo/servo/pull/38889#issuecomment-3218600566
Fixes: #38906, which is last blocking point to enable WebDriver CI.

---------

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-09-02 08:57:45 +00:00
Josh Matthews
6ab1b5e9dd
servoshell: Hide information about outstanding threads by default. (#39044)
This output doesn't matter to most developers and testers, and it breaks
`./mach test-speedometer`. Let's hide it by default and add a flag to
opt in.

Testing: No testing for debug output.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-08-30 20:40:29 +00:00
Josh Matthews
6565d982bd
servoshell: Support runtime preference manipulation (#38159)
These changes add a custom servo:preferences URL that allows modifying
selected preferences at runtime. The goal of this work is to make it
easy to test pages while toggling experimental web platform features,
and support quickly changing the User-Agent header.

Testing: Manually verified that spacex.com loads correctly after
changing the user agent, and that https://polygon.io/ displays grid
elements correctly and no console errors with the experimental prefs
enabled.
Fixes: #35862

<img width="1136" height="880" alt="Screenshot 2025-07-18 at 1 06 23 AM"
src="https://github.com/user-attachments/assets/2d27c321-6ca0-43c3-a347-7bc4b55272df"
/>

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-08-30 16:51:58 +00:00
lumiscosity
d1da1a995c
servoshell: Redraw on closing a dialog (#39038)
Fixes an issue where clicking to close a dialog didn't redraw the screen
until a key was pressed or the mouse was moved.

Testing: Manual testing.
Fixes: #38968

---------

Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2025-08-30 15:49:32 +00:00
Jonathan Schwender
66d9f957e6
EmbedderMsg: port reply channels to GenericChannel (#39018)
This change ports all `EmbedderMsg` reply channels that don't use the
`ROUTER` to GenericChannel.
The remaining reply channels that use the router are blocked until
#38973 is merged.
This is a breaking change in the API between libservo and embedders.

Future work: A lot of the reply channels in this PR look like they
conceptually should be oneshot ipc channels. It might make sense to
provide a `OneshotGenericChannel` abstraction that encodes this.

Testing: No functional changes - covered by existing tests. None of the
channels changed here uses the Router
Part of #38912

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-29 12:44:21 +00:00
Simon Wülker
d65e16dd84
servoshell: Display favicons in tab bar (#36680)
Before:

![image](https://github.com/user-attachments/assets/476ecc6b-8649-4f29-b138-aa94b938d846)

After:

![image](https://github.com/user-attachments/assets/33a37a64-2070-4c88-963d-719e32e7e8af)

This PR moves the favicon, title and close button into a single egui
Frame. Doing this allows us to get rid of some of the previous layout
magic (like setting a border radius on the left corners of the label and
the right corners of the button so they appear as one widget). It also
ensures that the tab is highlighted when the close button (not the
label) is hovered.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-08-27 20:58:31 +00:00
Martin Robinson
de69040e47
canvas: Remove the raqote backend (#38962)
In general, `raqote` is essentially umaintained and has issues with
quality (for instance text rendering has lots of issues) and removing it
finally lets us remove our dependency on `font-kit`. Although,
`vello_cpu` performance is not yet equal to raqote, rendering quality is
a lot better. It's expected that `vello` and `vello_cpu` performance
will keep improving.

Testing: This is covered by existing WPT tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-27 12:19:27 +00:00
Euclid Ye
8683f97fcc
webdriver: Raise WebView to top when focus (#38909)
- Add a helper function `focus_and_raise_to_top` to `WebView`.
- For webdriver, raise webview to top when focus, to make it consistent
with user interaction.

Testing: Should reduce some flaky TIMEOUT when combined with another PR
later.
Fixes: A small patch before the PR for #38906.

---------

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-26 07:48:38 +00:00
Jonathan Schwender
ebf8a35c84
webdriver: Port WebDriverLoadStatus to Generic Channel (#38915)
Ports the channel for WebDriverLoadStatus to GenericChannel.

Testing: No functional changes - Covered by existing webdriver tests
Part of #38912

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-25 18:11:03 +00:00
Kenzie Raditya Tirtarahardja
cae8d22823
webdriver: Element Send keys use dispatch actions for KeyboardEvent (#38444)
Previously we immediately passed the KeyboardEvent to embedder. Now we
make element send keys go through the dispatch action which required by
spec. CompositionEvent still immediately passed through embedder

Testing: Should make
`./tests/wpt/tests/webdriver/tests/classic/element_send_keys/` more
stable.
Fixes: https://github.com/servo/servo/issues/38354
Fixes: https://github.com/servo/servo/issues/38442

---------

Signed-off-by: PotatoCP <Kenzie.Raditya.Tirtarahardja@huawei.com>
Co-authored-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-22 05:20:54 +00:00
Rahul Menon
e00f39d827
opts: Add a --force-ipc option (#38833)
Testing: servo.org loads properly with `./mach run -- -I`
Fixes: https://github.com/servo/servo/issues/38823

Signed-off-by: Rahul Menon <menonrahul02@gmail.com>
2025-08-21 22:55:14 +00:00
batu_hoang
bce9f06cf8
webdriver: Refactor webdriver session and improve window handles (#38745)
This PR contains 2 parts:

1. Refactor webdriver session.
2. Improve webdriver window handles:
- Webdriver always get window handles from script thread by default.
- If script thread is blocked by user prompt, embedder stores the window
handle before user prompt appears, then webdriver can get window handle
from embedder.

Testing: Clear timeout cause by user prompt blocking script thread:
https://github.com/longvatrong111/servo/actions/runs/17033900026

---------

Signed-off-by: batu_hoang <hoang.binh.trong@huawei.com>
Signed-off-by: batu_hoang <longvatrong111@gmail.com>
Co-authored-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-21 22:46:13 +00:00
Josh Matthews
ed6bf196c9
constellation: Broadcast preference changes to all content processes (#38716)
Building on the preference observer work from #38649, we now
automatically install an observer when multiprocess mode is enabled.
This observer notifies the constellation of updated preferences, which
in turn notifies each content process so the changes will be reflected
into script/layout as expected. There's a unit test that verifies this
works correctly by checking a preference-gated WebIDL property before
and after the preference is toggled.

Testing: New unit test added.
Fixes: #35966

Depends on #38649.

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-08-20 06:43:16 +00:00
Josh Matthews
f1a9ceed4f
allocator: Add optional heap allocation measurement tracking. (#38727)
Add an off-by-default allocator mode that tracks all live allocations
with sizes and associated stack traces. We also track if each allocation
is visited as part of a measuring heap usage in `about:memory`, allowing
us to report on allocations that are not tracked yet. Right now the list
of untracked allocations is dumped to stdout; I have a python script
coming in a separate PR which makes it easier to perform analysis on the
massive output.

Testing: Manually tested with `./mach build -d --features
servo_allocator/allocation-tracking` and visiting about:memory.
Part of: #11559

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-08-19 18:49:27 +00:00
webbeef
3225d19907
cargo: Bump rustc to 1.89 (#36818)
Update Rustc to 1.89.

Reviewable by commit.

Leftover work:
- #37330 
- #38777

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-08-19 11:07:53 +00:00
Jonathan Schwender
25fea1e086
Fix ./mach build --no-default-features (#35922)
Fix build failures when building without default features.

Testing: This was manually tested, but this PR does not add automated
tests of `--no-default-features` to CI.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-18 18:40:08 +00:00
Euclid Ye
ec5872992b
webdriver: Reuse JSValue as WebDriverJSValue (#38751)
After #38748, `WebDriverJSValue` is almost same as `JSValue`. Now we
turn "potentially merge into one in the future" into reality. The only
thing we should be cautious is to properly serialize `WebFrame`,
`WebWindow`, `WebElement` for WebDriver.

Testing: No regression. Some error is fixed previously by #38709 which
didn't update test :)
Binary size reduced by 134KB.

---------

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-18 17:38:48 +00:00
Martin Robinson
8743a11ba4
tidy: Add a rule ensuring that // comments are followed by a space in Rust (#38698)
This shows up sometimes in code reviews, so it makes sense that tidy
enforces it. `rustfmt` supports this via comment normalization, but it
does many other things and is still an unstable feature (with bugs).

Testing: There are new tidy tests for this change.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-18 12:09:09 +00:00
Josh Matthews
f19b2f6e84
Add preference observer API for runtime webxr preference changes (#38649)
Adds a global preference observer that is notified whenever any
preference value is updated. This is used to support runtime
configuration of WebXR automated testing, which is a prerequisite for
running multiple WPT tests in a single browser session.

Testing: Ran `./mach test-wpt /webxr --product=servodriver`
Fixes: #38647

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-08-16 08:49:13 +00:00
dependabot[bot]
3f2bb0eda3
build(deps): bump the egui-related group with 7 updates (#38701)
Bumps the egui-related group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [egui](https://github.com/emilk/egui) | `0.32.0` | `0.32.1` |
| [egui-winit](https://github.com/emilk/egui) | `0.32.0` | `0.32.1` |
| [egui_glow](https://github.com/emilk/egui) | `0.32.0` | `0.32.1` |
| [ecolor](https://github.com/emilk/egui) | `0.32.0` | `0.32.1` |
| [emath](https://github.com/emilk/egui) | `0.32.0` | `0.32.1` |
| [epaint](https://github.com/emilk/egui) | `0.32.0` | `0.32.1` |
| [epaint_default_fonts](https://github.com/emilk/egui) | `0.32.0` |
`0.32.1` |

Updates `egui` from 0.32.0 to 0.32.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">egui's
releases</a>.</em></p>
<blockquote>
<h2>0.32.1 - Misc bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h1>egui changelog</h1>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
<h1>eframe changelog</h1>
<ul>
<li>Enable wgpu default features in eframe / egui_wgpu default features
<a href="https://redirect.github.com/emilk/egui/pull/7344">#7344</a> by
<a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Request a redraw when the url change through the
<code>popstate</code> event listener <a
href="https://redirect.github.com/emilk/egui/pull/7403">#7403</a> by <a
href="https://github.com/irevoire"><code>@​irevoire</code></a></li>
</ul>
<h1>egui_kittest changelog</h1>
<ul>
<li>Fix <code>UPDATE_SNAPSHOTS</code>: only update if we didn't pass the
test <a
href="https://redirect.github.com/emilk/egui/pull/7455">#7455</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">egui's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.1 - 2025-08-15 - Misc bug fixes</h2>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="707a339047"><code>707a339</code></a>
Bump version numbers to 0.32.1</li>
<li><a
href="ead6926895"><code>ead6926</code></a>
Update changelogs</li>
<li><a
href="03fb443669"><code>03fb443</code></a>
Only update snapshot if we didn't pass (<a
href="https://redirect.github.com/emilk/egui/issues/7455">#7455</a>)</li>
<li><a
href="d739a4b880"><code>d739a4b</code></a>
Request a redraw when the url change through the <code>popstate</code>
event listener (#...</li>
<li><a
href="b732992f69"><code>b732992</code></a>
Fix debug-panic in ScrollArea if contents fit without scrolling (<a
href="https://redirect.github.com/emilk/egui/issues/7440">#7440</a>)</li>
<li><a
href="7036d6a982"><code>7036d6a</code></a>
Fix <code>override_text_color</code> priority (<a
href="https://redirect.github.com/emilk/egui/issues/7439">#7439</a>)</li>
<li><a
href="97fe124443"><code>97fe124</code></a>
Fix <code>WidgetText::Text</code> ignoring fallback font and overrides
(<a
href="https://redirect.github.com/emilk/egui/issues/7361">#7361</a>)</li>
<li><a
href="4fcd1d13e3"><code>4fcd1d1</code></a>
Update to winit 0.30.12 (<a
href="https://redirect.github.com/emilk/egui/issues/7420">#7420</a>)</li>
<li><a
href="1ad374f255"><code>1ad374f</code></a>
Fix manual <code>Popup</code> not closing (<a
href="https://redirect.github.com/emilk/egui/issues/7383">#7383</a>)</li>
<li><a
href="1afbb9791a"><code>1afbb97</code></a>
Add <code>ComboBox::popup_style</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7360">#7360</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.0...0.32.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `egui-winit` from 0.32.0 to 0.32.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">egui-winit's
releases</a>.</em></p>
<blockquote>
<h2>0.32.1 - Misc bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h1>egui changelog</h1>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
<h1>eframe changelog</h1>
<ul>
<li>Enable wgpu default features in eframe / egui_wgpu default features
<a href="https://redirect.github.com/emilk/egui/pull/7344">#7344</a> by
<a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Request a redraw when the url change through the
<code>popstate</code> event listener <a
href="https://redirect.github.com/emilk/egui/pull/7403">#7403</a> by <a
href="https://github.com/irevoire"><code>@​irevoire</code></a></li>
</ul>
<h1>egui_kittest changelog</h1>
<ul>
<li>Fix <code>UPDATE_SNAPSHOTS</code>: only update if we didn't pass the
test <a
href="https://redirect.github.com/emilk/egui/pull/7455">#7455</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">egui-winit's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.1 - 2025-08-15 - Misc bug fixes</h2>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ead6926895"><code>ead6926</code></a>
Update changelogs</li>
<li><a
href="03fb443669"><code>03fb443</code></a>
Only update snapshot if we didn't pass (<a
href="https://redirect.github.com/emilk/egui/issues/7455">#7455</a>)</li>
<li><a
href="d739a4b880"><code>d739a4b</code></a>
Request a redraw when the url change through the <code>popstate</code>
event listener (#...</li>
<li><a
href="b732992f69"><code>b732992</code></a>
Fix debug-panic in ScrollArea if contents fit without scrolling (<a
href="https://redirect.github.com/emilk/egui/issues/7440">#7440</a>)</li>
<li><a
href="7036d6a982"><code>7036d6a</code></a>
Fix <code>override_text_color</code> priority (<a
href="https://redirect.github.com/emilk/egui/issues/7439">#7439</a>)</li>
<li><a
href="97fe124443"><code>97fe124</code></a>
Fix <code>WidgetText::Text</code> ignoring fallback font and overrides
(<a
href="https://redirect.github.com/emilk/egui/issues/7361">#7361</a>)</li>
<li><a
href="1ad374f255"><code>1ad374f</code></a>
Fix manual <code>Popup</code> not closing (<a
href="https://redirect.github.com/emilk/egui/issues/7383">#7383</a>)</li>
<li><a
href="1afbb9791a"><code>1afbb97</code></a>
Add <code>ComboBox::popup_style</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7360">#7360</a>)</li>
<li><a
href="85c4b1dce7"><code>85c4b1d</code></a>
Fix glyph rendering: clamp coverage to [0, 1] (<a
href="https://redirect.github.com/emilk/egui/issues/7415">#7415</a>)</li>
<li><a
href="2f7bcf26f2"><code>2f7bcf2</code></a>
Fix multi-line <code>TextShape</code> rotation (<a
href="https://redirect.github.com/emilk/egui/issues/7404">#7404</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.0...0.32.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `egui_glow` from 0.32.0 to 0.32.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">egui_glow's
releases</a>.</em></p>
<blockquote>
<h2>0.32.1 - Misc bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h1>egui changelog</h1>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
<h1>eframe changelog</h1>
<ul>
<li>Enable wgpu default features in eframe / egui_wgpu default features
<a href="https://redirect.github.com/emilk/egui/pull/7344">#7344</a> by
<a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Request a redraw when the url change through the
<code>popstate</code> event listener <a
href="https://redirect.github.com/emilk/egui/pull/7403">#7403</a> by <a
href="https://github.com/irevoire"><code>@​irevoire</code></a></li>
</ul>
<h1>egui_kittest changelog</h1>
<ul>
<li>Fix <code>UPDATE_SNAPSHOTS</code>: only update if we didn't pass the
test <a
href="https://redirect.github.com/emilk/egui/pull/7455">#7455</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">egui_glow's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.1 - 2025-08-15 - Misc bug fixes</h2>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ead6926895"><code>ead6926</code></a>
Update changelogs</li>
<li><a
href="03fb443669"><code>03fb443</code></a>
Only update snapshot if we didn't pass (<a
href="https://redirect.github.com/emilk/egui/issues/7455">#7455</a>)</li>
<li><a
href="d739a4b880"><code>d739a4b</code></a>
Request a redraw when the url change through the <code>popstate</code>
event listener (#...</li>
<li><a
href="b732992f69"><code>b732992</code></a>
Fix debug-panic in ScrollArea if contents fit without scrolling (<a
href="https://redirect.github.com/emilk/egui/issues/7440">#7440</a>)</li>
<li><a
href="7036d6a982"><code>7036d6a</code></a>
Fix <code>override_text_color</code> priority (<a
href="https://redirect.github.com/emilk/egui/issues/7439">#7439</a>)</li>
<li><a
href="97fe124443"><code>97fe124</code></a>
Fix <code>WidgetText::Text</code> ignoring fallback font and overrides
(<a
href="https://redirect.github.com/emilk/egui/issues/7361">#7361</a>)</li>
<li><a
href="1ad374f255"><code>1ad374f</code></a>
Fix manual <code>Popup</code> not closing (<a
href="https://redirect.github.com/emilk/egui/issues/7383">#7383</a>)</li>
<li><a
href="1afbb9791a"><code>1afbb97</code></a>
Add <code>ComboBox::popup_style</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7360">#7360</a>)</li>
<li><a
href="85c4b1dce7"><code>85c4b1d</code></a>
Fix glyph rendering: clamp coverage to [0, 1] (<a
href="https://redirect.github.com/emilk/egui/issues/7415">#7415</a>)</li>
<li><a
href="2f7bcf26f2"><code>2f7bcf2</code></a>
Fix multi-line <code>TextShape</code> rotation (<a
href="https://redirect.github.com/emilk/egui/issues/7404">#7404</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.0...0.32.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `ecolor` from 0.32.0 to 0.32.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">ecolor's
releases</a>.</em></p>
<blockquote>
<h2>0.32.1 - Misc bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h1>egui changelog</h1>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
<h1>eframe changelog</h1>
<ul>
<li>Enable wgpu default features in eframe / egui_wgpu default features
<a href="https://redirect.github.com/emilk/egui/pull/7344">#7344</a> by
<a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Request a redraw when the url change through the
<code>popstate</code> event listener <a
href="https://redirect.github.com/emilk/egui/pull/7403">#7403</a> by <a
href="https://github.com/irevoire"><code>@​irevoire</code></a></li>
</ul>
<h1>egui_kittest changelog</h1>
<ul>
<li>Fix <code>UPDATE_SNAPSHOTS</code>: only update if we didn't pass the
test <a
href="https://redirect.github.com/emilk/egui/pull/7455">#7455</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">ecolor's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.1 - 2025-08-15 - Misc bug fixes</h2>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="707a339047"><code>707a339</code></a>
Bump version numbers to 0.32.1</li>
<li><a
href="ead6926895"><code>ead6926</code></a>
Update changelogs</li>
<li><a
href="03fb443669"><code>03fb443</code></a>
Only update snapshot if we didn't pass (<a
href="https://redirect.github.com/emilk/egui/issues/7455">#7455</a>)</li>
<li><a
href="d739a4b880"><code>d739a4b</code></a>
Request a redraw when the url change through the <code>popstate</code>
event listener (#...</li>
<li><a
href="b732992f69"><code>b732992</code></a>
Fix debug-panic in ScrollArea if contents fit without scrolling (<a
href="https://redirect.github.com/emilk/egui/issues/7440">#7440</a>)</li>
<li><a
href="7036d6a982"><code>7036d6a</code></a>
Fix <code>override_text_color</code> priority (<a
href="https://redirect.github.com/emilk/egui/issues/7439">#7439</a>)</li>
<li><a
href="97fe124443"><code>97fe124</code></a>
Fix <code>WidgetText::Text</code> ignoring fallback font and overrides
(<a
href="https://redirect.github.com/emilk/egui/issues/7361">#7361</a>)</li>
<li><a
href="4fcd1d13e3"><code>4fcd1d1</code></a>
Update to winit 0.30.12 (<a
href="https://redirect.github.com/emilk/egui/issues/7420">#7420</a>)</li>
<li><a
href="1ad374f255"><code>1ad374f</code></a>
Fix manual <code>Popup</code> not closing (<a
href="https://redirect.github.com/emilk/egui/issues/7383">#7383</a>)</li>
<li><a
href="1afbb9791a"><code>1afbb97</code></a>
Add <code>ComboBox::popup_style</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7360">#7360</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.0...0.32.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `emath` from 0.32.0 to 0.32.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">emath's
releases</a>.</em></p>
<blockquote>
<h2>0.32.1 - Misc bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h1>egui changelog</h1>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
<h1>eframe changelog</h1>
<ul>
<li>Enable wgpu default features in eframe / egui_wgpu default features
<a href="https://redirect.github.com/emilk/egui/pull/7344">#7344</a> by
<a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Request a redraw when the url change through the
<code>popstate</code> event listener <a
href="https://redirect.github.com/emilk/egui/pull/7403">#7403</a> by <a
href="https://github.com/irevoire"><code>@​irevoire</code></a></li>
</ul>
<h1>egui_kittest changelog</h1>
<ul>
<li>Fix <code>UPDATE_SNAPSHOTS</code>: only update if we didn't pass the
test <a
href="https://redirect.github.com/emilk/egui/pull/7455">#7455</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">emath's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.1 - 2025-08-15 - Misc bug fixes</h2>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ead6926895"><code>ead6926</code></a>
Update changelogs</li>
<li><a
href="03fb443669"><code>03fb443</code></a>
Only update snapshot if we didn't pass (<a
href="https://redirect.github.com/emilk/egui/issues/7455">#7455</a>)</li>
<li><a
href="d739a4b880"><code>d739a4b</code></a>
Request a redraw when the url change through the <code>popstate</code>
event listener (#...</li>
<li><a
href="b732992f69"><code>b732992</code></a>
Fix debug-panic in ScrollArea if contents fit without scrolling (<a
href="https://redirect.github.com/emilk/egui/issues/7440">#7440</a>)</li>
<li><a
href="7036d6a982"><code>7036d6a</code></a>
Fix <code>override_text_color</code> priority (<a
href="https://redirect.github.com/emilk/egui/issues/7439">#7439</a>)</li>
<li><a
href="97fe124443"><code>97fe124</code></a>
Fix <code>WidgetText::Text</code> ignoring fallback font and overrides
(<a
href="https://redirect.github.com/emilk/egui/issues/7361">#7361</a>)</li>
<li><a
href="1ad374f255"><code>1ad374f</code></a>
Fix manual <code>Popup</code> not closing (<a
href="https://redirect.github.com/emilk/egui/issues/7383">#7383</a>)</li>
<li><a
href="1afbb9791a"><code>1afbb97</code></a>
Add <code>ComboBox::popup_style</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7360">#7360</a>)</li>
<li><a
href="85c4b1dce7"><code>85c4b1d</code></a>
Fix glyph rendering: clamp coverage to [0, 1] (<a
href="https://redirect.github.com/emilk/egui/issues/7415">#7415</a>)</li>
<li><a
href="2f7bcf26f2"><code>2f7bcf2</code></a>
Fix multi-line <code>TextShape</code> rotation (<a
href="https://redirect.github.com/emilk/egui/issues/7404">#7404</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.0...0.32.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `epaint` from 0.32.0 to 0.32.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">epaint's
releases</a>.</em></p>
<blockquote>
<h2>0.32.1 - Misc bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h1>egui changelog</h1>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
<h1>eframe changelog</h1>
<ul>
<li>Enable wgpu default features in eframe / egui_wgpu default features
<a href="https://redirect.github.com/emilk/egui/pull/7344">#7344</a> by
<a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Request a redraw when the url change through the
<code>popstate</code> event listener <a
href="https://redirect.github.com/emilk/egui/pull/7403">#7403</a> by <a
href="https://github.com/irevoire"><code>@​irevoire</code></a></li>
</ul>
<h1>egui_kittest changelog</h1>
<ul>
<li>Fix <code>UPDATE_SNAPSHOTS</code>: only update if we didn't pass the
test <a
href="https://redirect.github.com/emilk/egui/pull/7455">#7455</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">epaint's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.1 - 2025-08-15 - Misc bug fixes</h2>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ead6926895"><code>ead6926</code></a>
Update changelogs</li>
<li><a
href="03fb443669"><code>03fb443</code></a>
Only update snapshot if we didn't pass (<a
href="https://redirect.github.com/emilk/egui/issues/7455">#7455</a>)</li>
<li><a
href="d739a4b880"><code>d739a4b</code></a>
Request a redraw when the url change through the <code>popstate</code>
event listener (#...</li>
<li><a
href="b732992f69"><code>b732992</code></a>
Fix debug-panic in ScrollArea if contents fit without scrolling (<a
href="https://redirect.github.com/emilk/egui/issues/7440">#7440</a>)</li>
<li><a
href="7036d6a982"><code>7036d6a</code></a>
Fix <code>override_text_color</code> priority (<a
href="https://redirect.github.com/emilk/egui/issues/7439">#7439</a>)</li>
<li><a
href="97fe124443"><code>97fe124</code></a>
Fix <code>WidgetText::Text</code> ignoring fallback font and overrides
(<a
href="https://redirect.github.com/emilk/egui/issues/7361">#7361</a>)</li>
<li><a
href="1ad374f255"><code>1ad374f</code></a>
Fix manual <code>Popup</code> not closing (<a
href="https://redirect.github.com/emilk/egui/issues/7383">#7383</a>)</li>
<li><a
href="1afbb9791a"><code>1afbb97</code></a>
Add <code>ComboBox::popup_style</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7360">#7360</a>)</li>
<li><a
href="85c4b1dce7"><code>85c4b1d</code></a>
Fix glyph rendering: clamp coverage to [0, 1] (<a
href="https://redirect.github.com/emilk/egui/issues/7415">#7415</a>)</li>
<li><a
href="2f7bcf26f2"><code>2f7bcf2</code></a>
Fix multi-line <code>TextShape</code> rotation (<a
href="https://redirect.github.com/emilk/egui/issues/7404">#7404</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.0...0.32.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `epaint_default_fonts` from 0.32.0 to 0.32.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/releases">epaint_default_fonts's
releases</a>.</em></p>
<blockquote>
<h2>0.32.1 - Misc bug fixes</h2>
<p>egui is an easy-to-use immediate mode GUI for Rust that runs on both
web and native.</p>
<p>Try it now: <a
href="https://www.egui.rs/">https://www.egui.rs/</a></p>
<p>egui development is sponsored by <a
href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for
visualizing streams of multimodal data.</p>
<h1>egui changelog</h1>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
<h1>eframe changelog</h1>
<ul>
<li>Enable wgpu default features in eframe / egui_wgpu default features
<a href="https://redirect.github.com/emilk/egui/pull/7344">#7344</a> by
<a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Request a redraw when the url change through the
<code>popstate</code> event listener <a
href="https://redirect.github.com/emilk/egui/pull/7403">#7403</a> by <a
href="https://github.com/irevoire"><code>@​irevoire</code></a></li>
</ul>
<h1>egui_kittest changelog</h1>
<ul>
<li>Fix <code>UPDATE_SNAPSHOTS</code>: only update if we didn't pass the
test <a
href="https://redirect.github.com/emilk/egui/pull/7455">#7455</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">epaint_default_fonts's
changelog</a>.</em></p>
<blockquote>
<h2>0.32.1 - 2025-08-15 - Misc bug fixes</h2>
<h3> Added</h3>
<ul>
<li>Add <code>ComboBox::popup_style</code> <a
href="https://redirect.github.com/emilk/egui/pull/7360">#7360</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
</ul>
<h3>🐛 Fixed</h3>
<ul>
<li>Fix glyph rendering: clamp coverage to [0, 1] <a
href="https://redirect.github.com/emilk/egui/pull/7415">#7415</a> by <a
href="https://github.com/emilk"><code>@​emilk</code></a></li>
<li>Fix manual <code>Popup</code> not closing <a
href="https://redirect.github.com/emilk/egui/pull/7383">#7383</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>WidgetText::Text</code> ignoring fallback font and
overrides <a
href="https://redirect.github.com/emilk/egui/pull/7361">#7361</a> by <a
href="https://github.com/lucasmerlin"><code>@​lucasmerlin</code></a></li>
<li>Fix <code>override_text_color</code> priority <a
href="https://redirect.github.com/emilk/egui/pull/7439">#7439</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
<li>Fix debug-panic in ScrollArea if contents fit without scrolling <a
href="https://redirect.github.com/emilk/egui/pull/7440">#7440</a> by <a
href="https://github.com/YgorSouza"><code>@​YgorSouza</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ead6926895"><code>ead6926</code></a>
Update changelogs</li>
<li><a
href="03fb443669"><code>03fb443</code></a>
Only update snapshot if we didn't pass (<a
href="https://redirect.github.com/emilk/egui/issues/7455">#7455</a>)</li>
<li><a
href="d739a4b880"><code>d739a4b</code></a>
Request a redraw when the url change through the <code>popstate</code>
event listener (#...</li>
<li><a
href="b732992f69"><code>b732992</code></a>
Fix debug-panic in ScrollArea if contents fit without scrolling (<a
href="https://redirect.github.com/emilk/egui/issues/7440">#7440</a>)</li>
<li><a
href="7036d6a982"><code>7036d6a</code></a>
Fix <code>override_text_color</code> priority (<a
href="https://redirect.github.com/emilk/egui/issues/7439">#7439</a>)</li>
<li><a
href="97fe124443"><code>97fe124</code></a>
Fix <code>WidgetText::Text</code> ignoring fallback font and overrides
(<a
href="https://redirect.github.com/emilk/egui/issues/7361">#7361</a>)</li>
<li><a
href="1ad374f255"><code>1ad374f</code></a>
Fix manual <code>Popup</code> not closing (<a
href="https://redirect.github.com/emilk/egui/issues/7383">#7383</a>)</li>
<li><a
href="1afbb9791a"><code>1afbb97</code></a>
Add <code>ComboBox::popup_style</code> (<a
href="https://redirect.github.com/emilk/egui/issues/7360">#7360</a>)</li>
<li><a
href="85c4b1dce7"><code>85c4b1d</code></a>
Fix glyph rendering: clamp coverage to [0, 1] (<a
href="https://redirect.github.com/emilk/egui/issues/7415">#7415</a>)</li>
<li><a
href="2f7bcf26f2"><code>2f7bcf2</code></a>
Fix multi-line <code>TextShape</code> rotation (<a
href="https://redirect.github.com/emilk/egui/issues/7404">#7404</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/emilk/egui/compare/0.32.0...0.32.1">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-15 17:13:58 +00:00
Euclid Ye
494493ceb7
Rename InputEvent::MouseLeave to InputEvent::MouseLeftViewport (#38695)
1. `InputEvent::MouseLeave` indicates that mouse has left the viewport
(fired by embedder) or iframe (synthesized in Constellation
f24f225db8/components/constellation/constellation_webview.rs (L119-L122)).
Its handler in script is named as `handle_mouse_leave_event`, which is
very misleading as we have DOM event
[mouseleave](https://w3c.github.io/uievents/#event-type-mouseleave). I
rename it to `MouseLeftViewport` to be consistent with
`WindowEvent::CursorLeft`:
f24f225db8/ports/servoshell/desktop/headed_window.rs (L632-L638)
2. Add doc and rename function, such as `handle_mouse_move_event` to
`handle_native_mouse_move_event` to be closer to
[spec](https://w3c.github.io/uievents/#handle-native-mouse-move).

Testing: Just renaming + skipping unnecessary hit-test in simple case.
Fixes: Nothing but preparing for #38670 and #38435.

---------

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-15 09:54:54 +00:00
Euclid Ye
aca4bde93d
servoshell: Do not send mouse button events to Servo that happen outside the WebView (#38696)
`webview_relative_mouse_point` can have negative y-coordinate when at
toolbar, but we still would notify compositor the native mousebutton
event to do hit-test.

Testing: This fixes the way that mouse events are passed from servoshell
to Servo,
but there is currently no way to test those kind of interactions.

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-15 08:55:25 +00:00
batu_hoang
f24f225db8
webdriver: Implement the "Get Window Handles" command (#38622)
Implment get window handles according to
[spec](https://w3c.github.io/webdriver/#dfn-window-handles).
- Window handles are supposed to identify `browsing context`. However,
based on `get window handle command` and `get window handles command`,
we only need to care about top level browsing context.
- Back then, we use a random generated uuid for eacch webview id, it is
not correct but still work because all commands depend on `webview id`
and `browsing context id`. The only case we need window handle is is
when webdriver gets window object with js script. Since the object is
converted to the id of window's document node, `get window handle`
should return the same thing.

Action run (with updated expectation):
https://github.com/longvatrong111/servo/actions/runs/16957610535
https://github.com/longvatrong111/servo/actions/runs/16957612027

Some tests may sporadically timeout due to unstable hit test.

cc: @xiaochengh

---------

Signed-off-by: batu_hoang <hoang.binh.trong@huawei.com>
2025-08-15 03:30:56 +00:00
dependabot[bot]
18f0d92e99
build(deps): bump the napi-ohos-related group with 4 updates (#38555)
Bumps the napi-ohos-related group with 4 updates:
[napi-derive-ohos](https://github.com/ohos-rs/ohos-rs),
[napi-ohos](https://github.com/ohos-rs/ohos-rs),
[napi-derive-backend-ohos](https://github.com/ohos-rs/ohos-rs) and
[napi-sys-ohos](https://github.com/ohos-rs/ohos-rs).

Updates `napi-derive-ohos` from 1.0.4 to 1.1.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="eaba5da8af"><code>eaba5da</code></a>
Merge pull request <a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/139">#139</a>
from ohos-rs/feat-0719</li>
<li><a
href="165538b516"><code>165538b</code></a>
fix: lint warning</li>
<li><a
href="19530e3598"><code>19530e3</code></a>
Bump version</li>
<li><a
href="ed8d46d825"><code>ed8d46d</code></a>
Merge branch 'main' into feat-0719</li>
<li><a
href="7c3dc968c1"><code>7c3dc96</code></a>
perf(napi): optimize HashMap allocation in FromNapiValue implementation
for H...</li>
<li><a
href="06a48c5e18"><code>06a48c5</code></a>
Merge branch 'main' into feat-0719</li>
<li><a
href="9f0dc581be"><code>9f0dc58</code></a>
chore(release): publish</li>
<li><a
href="cf6d8b0334"><code>cf6d8b0</code></a>
fix(cli): rename options (<a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/2804">#2804</a>)</li>
<li><a
href="5816924e6e"><code>5816924</code></a>
chore(release): publish</li>
<li><a
href="c6cf127e7e"><code>c6cf127</code></a>
chore(cli): upgrade all NAPI-RS projects (<a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/2803">#2803</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.4...ohrs@1.1.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `napi-ohos` from 1.0.4 to 1.1.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="eaba5da8af"><code>eaba5da</code></a>
Merge pull request <a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/139">#139</a>
from ohos-rs/feat-0719</li>
<li><a
href="165538b516"><code>165538b</code></a>
fix: lint warning</li>
<li><a
href="19530e3598"><code>19530e3</code></a>
Bump version</li>
<li><a
href="ed8d46d825"><code>ed8d46d</code></a>
Merge branch 'main' into feat-0719</li>
<li><a
href="7c3dc968c1"><code>7c3dc96</code></a>
perf(napi): optimize HashMap allocation in FromNapiValue implementation
for H...</li>
<li><a
href="06a48c5e18"><code>06a48c5</code></a>
Merge branch 'main' into feat-0719</li>
<li><a
href="9f0dc581be"><code>9f0dc58</code></a>
chore(release): publish</li>
<li><a
href="cf6d8b0334"><code>cf6d8b0</code></a>
fix(cli): rename options (<a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/2804">#2804</a>)</li>
<li><a
href="5816924e6e"><code>5816924</code></a>
chore(release): publish</li>
<li><a
href="c6cf127e7e"><code>c6cf127</code></a>
chore(cli): upgrade all NAPI-RS projects (<a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/2803">#2803</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.4...ohrs@1.1.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `napi-derive-backend-ohos` from 1.0.4 to 1.1.0
<details>
<summary>Commits</summary>
<ul>
<li><a
href="eaba5da8af"><code>eaba5da</code></a>
Merge pull request <a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/139">#139</a>
from ohos-rs/feat-0719</li>
<li><a
href="165538b516"><code>165538b</code></a>
fix: lint warning</li>
<li><a
href="19530e3598"><code>19530e3</code></a>
Bump version</li>
<li><a
href="ed8d46d825"><code>ed8d46d</code></a>
Merge branch 'main' into feat-0719</li>
<li><a
href="7c3dc968c1"><code>7c3dc96</code></a>
perf(napi): optimize HashMap allocation in FromNapiValue implementation
for H...</li>
<li><a
href="06a48c5e18"><code>06a48c5</code></a>
Merge branch 'main' into feat-0719</li>
<li><a
href="9f0dc581be"><code>9f0dc58</code></a>
chore(release): publish</li>
<li><a
href="cf6d8b0334"><code>cf6d8b0</code></a>
fix(cli): rename options (<a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/2804">#2804</a>)</li>
<li><a
href="5816924e6e"><code>5816924</code></a>
chore(release): publish</li>
<li><a
href="c6cf127e7e"><code>c6cf127</code></a>
chore(cli): upgrade all NAPI-RS projects (<a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/2803">#2803</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.4...ohrs@1.1.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `napi-sys-ohos` from 1.0.4 to 1.1.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/ohos-rs/ohos-rs/releases">napi-sys-ohos's
releases</a>.</em></p>
<blockquote>
<h2>ohrs@1.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>feat: allow build and artifact skip libs logic by <a
href="https://github.com/richerfu"><code>@​richerfu</code></a> in <a
href="https://redirect.github.com/ohos-rs/ohos-rs/pull/119">ohos-rs/ohos-rs#119</a></li>
<li>fix: remove ArkRuntime Send and Sync implenment by <a
href="https://github.com/richerfu"><code>@​richerfu</code></a> in <a
href="https://redirect.github.com/ohos-rs/ohos-rs/pull/120">ohos-rs/ohos-rs#120</a></li>
<li>feat 0306 by <a
href="https://github.com/richerfu"><code>@​richerfu</code></a> in <a
href="https://redirect.github.com/ohos-rs/ohos-rs/pull/121">ohos-rs/ohos-rs#121</a></li>
<li>feat: add export default for template by <a
href="https://github.com/richerfu"><code>@​richerfu</code></a> in <a
href="https://redirect.github.com/ohos-rs/ohos-rs/pull/128">ohos-rs/ohos-rs#128</a></li>
<li>fix: should ignore some path and convert path to absolute path by <a
href="https://github.com/richerfu"><code>@​richerfu</code></a> in <a
href="https://redirect.github.com/ohos-rs/ohos-rs/pull/129">ohos-rs/ohos-rs#129</a></li>
<li>Merge code by <a
href="https://github.com/richerfu"><code>@​richerfu</code></a> in <a
href="https://redirect.github.com/ohos-rs/ohos-rs/pull/133">ohos-rs/ohos-rs#133</a></li>
<li>feat: add vscode setting by default by <a
href="https://github.com/richerfu"><code>@​richerfu</code></a> in <a
href="https://redirect.github.com/ohos-rs/ohos-rs/pull/134">ohos-rs/ohos-rs#134</a></li>
<li>feat(cli): support dtsCache flag by <a
href="https://github.com/richerfu"><code>@​richerfu</code></a> in <a
href="https://redirect.github.com/ohos-rs/ohos-rs/pull/135">ohos-rs/ohos-rs#135</a></li>
<li>feat: Sync napi-rs by <a
href="https://github.com/richerfu"><code>@​richerfu</code></a> in <a
href="https://redirect.github.com/ohos-rs/ohos-rs/pull/139">ohos-rs/ohos-rs#139</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.4...ohrs@1.1.0">https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.4...ohrs@1.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="eaba5da8af"><code>eaba5da</code></a>
Merge pull request <a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/139">#139</a>
from ohos-rs/feat-0719</li>
<li><a
href="165538b516"><code>165538b</code></a>
fix: lint warning</li>
<li><a
href="19530e3598"><code>19530e3</code></a>
Bump version</li>
<li><a
href="ed8d46d825"><code>ed8d46d</code></a>
Merge branch 'main' into feat-0719</li>
<li><a
href="7c3dc968c1"><code>7c3dc96</code></a>
perf(napi): optimize HashMap allocation in FromNapiValue implementation
for H...</li>
<li><a
href="06a48c5e18"><code>06a48c5</code></a>
Merge branch 'main' into feat-0719</li>
<li><a
href="9f0dc581be"><code>9f0dc58</code></a>
chore(release): publish</li>
<li><a
href="cf6d8b0334"><code>cf6d8b0</code></a>
fix(cli): rename options (<a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/2804">#2804</a>)</li>
<li><a
href="5816924e6e"><code>5816924</code></a>
chore(release): publish</li>
<li><a
href="c6cf127e7e"><code>c6cf127</code></a>
chore(cli): upgrade all NAPI-RS projects (<a
href="https://redirect.github.com/ohos-rs/ohos-rs/issues/2803">#2803</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.4...ohrs@1.1.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-13 12:52:00 +00:00
Jonathan Schwender
d0d952d1fa
build(deps): bump nix from 0.29.0 to 0.30.1 (#38650)
Bumps [nix](https://github.com/nix-rust/nix) from 0.29.0 to 0.30.1.
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.29.0...v0.30.1)

Closes: #38145
Testing: Covered by existing tests

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-13 09:51:40 +00:00
Euclid Ye
6029976365
webdriver: Synchronize "close window" command & Return correct error type (#38620)
1. Synchronize [Close
Window](https://w3c.github.io/webdriver/#dfn-close-window) command to
reduce intermittency
2. There was a update last month exposing that we are not returning
correct error type for Session getter.
https://github.com/web-platform-tests/wpt/pull/53735
3. Other trivial fix

Testing: 
- `/webdriver/tests/classic/close_window/close.py` can now fully pass.
- `/webdriver/tests/classic/delete_session/*` can now fully pass.

---------

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-13 04:06:39 +00:00
Abdelrahman Hossam
2e2bfc6067
Basic webdriver support to servoshell on ohos (#38386)
Adding basic webdriver support to servoshell on ohos and basic
communication between the ohos device and script.

Testing: Manual testing and tracing logs

Signed-off-by: abdelrahman1234567 <abdelrahman.hossameldin.awadalla@huawei.com>
2025-08-12 06:26:53 +00:00
Martin Robinson
b75c3feb97
script/compositor: Send mouseleave events when cursor moves between <iframe>s (#38539)
Properly send `mouseleave` events when the cursor moves between
`<iframe>`s. This allows a better handling of cursor changes and status
text updates. Specifically, we do not need to continuously update the
cursor and the value can be cached in the `Document`. In addition,
status updates can now be sent properly when moving focus between
`<iframe>`s.

Note that style updates for `:hover` values are still broken, but less
so than before. Now the hover state on the `Node` is updated, but for
some
reason the restyle isn't taking place properly. This maintains the
status quo as far as behavior goes when hover moves between `<iframe>`s.

This change also adds a helper data structure to `Document` which will
eventually be responsible for event handling.

Testing: Cursor and status change are currently very hard to test as
the API test harness makes this difficult at the moment.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-08-11 12:31:54 +00:00
Mukilan Thiyagarajan
4c05758ded
script: support inline SVG by serializing the subtree (#38188)
This patch adds support for rendering static inline SVG documents in the
DOM tree by serializing the SVGElement's subtree and leveraging the
existing resvg based SVG stack for rendering. Serialiing the subtree is
necessary as resvg's tree representation (roxmltree) is immutable, so we
can't construct the tree incrementally.

Few other design choices here:
1. The `SVGSVGElement` is now treated as a replaced element and the
   layout code is responsible for plumbing the serialized SVG source
   (encoded as a base64 data: url) into the image cache, much like how
   background images are handled.
2. The serialization is done on the script thread after an initial
   layout pass. This is necessary because the serialization code asserts
that it is invoked from script thread i.e we can't call it from layout
   workers.
3. The serialized SVG data: url is cached to avoid recomputing it on
   subsequent layouts. The cache is invalidated when the SVGSVGElement's
   subtree is mutated.

The original SVGSVGElement code was behind the `dom_svg_enabled` pref.
This patch also removes the preference and make SVG support using resvg
available unconditionally.

Below is the analysis of the new test failures:

These tests use inline SVG but used to pass by accident.
They now fail because they contain SVG with no intrinsic
sizing which is not handled by resvg in a way that would
allows us to distinguish it from the sized case. The same
limitation applies to non-inline SVG.

 - /css/CSS2/positioning/absolute-replaced-width-003a.xht
 - /css/CSS2/positioning/absolute-replaced-width-003b.xht
 - /css/CSS2/positioning/absolute-replaced-width-003c.xht

These tests employ CSS styles in the HTML that
target the elements in inline SVG, which is not currently
supported.

-
/css/compositing/mix-blend-mode/mix-blend-mode-plus-lighter-svg-basic.html
 - /css/compositing/mix-blend-mode/mix-blend-mode-plus-lighter-svg.html

This is a tentative test that uses the unsupported 'border-shape' CSS
property. The ref uses SVG, so it used to pass accidentally. The ref
still doesn't render correctly since it also relies on styling SVG
elements using CSS classes in the HTML (instead of inline in SVG).

 - /css/css-borders/tentative/border-shape/border-shape-stroke.html

These tests use the attribute 'clip-path=circle(...)' in the
test, but this doesn't seem to work in resvg.

 - /css/css-masking/clip-path/clip-path-borderBox-1b.html
 - /css/css-masking/clip-path/clip-path-contentBox-1b.html
 - /css/css-masking/clip-path/clip-path-contentBox-1c.html
 - /css/css-masking/clip-path/clip-path-fillBox-1b.html
 - /css/css-masking/clip-path/clip-path-marginBox-1a.html
 - /css/css-masking/clip-path/clip-path-paddingBox-1b.html
 - /css/css-masking/clip-path/clip-path-strokeBox-1b.html
 - /css/css-masking/clip-path/clip-path-strokeBox-1c.html
 - /css/css-masking/clip-path/clip-path-viewBox-1a.html
 - /css/css-masking/clip-path/clip-path-viewBox-1b.html
 - /css/css-masking/clip-path/clip-path-viewBox-1d.html
 - /css/css-masking/clip-path/svg-clip-path-circle-offset.html
 - /css/css-masking/clip-path/svg-clip-path-ellipse-offset.html

Additionally, the below two tests use a `foreignObject` SVG element
which
embeds a html div fragment. This is also not supported by resvg.

 - /css/css-masking/clip-path/clip-path-viewBox-1d.html
 - /css/css-masking/clip-path/clip-path-fillBox-1b.html

The following test fails because of apparent pixel differences
between a circle rendered purely using CSS clip-path vs a circle
rendered in SVG using resvg.

 - /css/css-masking/clip-path/clip-path-contentBox-1c.html

These tests style the inline SVG elements using CSS in the HTML or
separate stylesheet. This is not supported by this implementation.

 - /css-transforms/document-styles/svg-document-styles-{001..004}.html
 - /css-transforms/document-styles/svg-document-styles-012.html
 - /css-transforms/external-styles/svg-external-styles-{001..004}.html
 - /css-transforms/external-styles/svg-external-styles-014.html

These tests seem like they should pass, but they fail because of what
seems like an anti-aliasing issue in the rendering engine. The
transformed element has a thin outline which is causing pixel difference
with the ref:

 - /css/css-transforms/group/svg-transform-group-008.html
 - /css/css-transforms/group/svg-transform-group-009.html
 - /css/css-transforms/group/svg-transform-nested-009.html
 - /css/css-transforms/group/svg-transform-nested-013.html
 - /css/css-transforms/group/svg-transform-nested-014.html
 - /css/css-transforms/group/svg-transform-nested-018.html
 - /css/css-transforms/group/svg-transform-nested-019.html
 - /css/css-transforms/group/svg-transform-nested-008.html

The below tests fail because resvg is calculating the wrong size for the
'rect' inside the SVG. The dimensions of the SVG are established via the
CSS in the HTML, so it seems resvg is using incorrect coordinates for
the children of the svg when explict width/height are not specified in
the root svg element.

 - /css/css-transforms/group/svg-transform-group-011.html
 - /css/css-transforms/group/svg-transform-nested-021.html
 - /css/css-transforms/group/svg-transform-nested-029.html

All these tests use an SVG that doesn't have width nor height attributes
and this causes resvg to use incorrect coordinates for the SVG's
children. In addition, the following tests use the CSS syntax for
transforms inside the SVG (using style attribute) which is not supported
by resvg (it only supports the SVG 1.1 transform syntax).

 - /css/css-transforms/inline-styles/svg-inline-styles-{001..004}.html
 - /css/css-transforms/inline-styles/svg-inline-styles-012.html

In the case of these four tests, the `style` attribute specifies an
invalid transform, but resvg doesn't fallback to the transform specified
via the `transform`  attribute on the same element.

 - /css/css-transforms/inline-styles/svg-inline-styles-005.html
 - /css/css-transforms/inline-styles/svg-inline-styles-006.html
 - /css/css-transforms/inline-styles/svg-inline-styles-010.html
 - /css/css-transforms/inline-styles/svg-inline-styles-013.html

The following test fails because of the lack of width/height in SVG as
described above but it also exposes gaps in our CSS tranform
implementation.

 - /css/css-transforms/preserve3d-and-filter-with-perspective.html

These tests failure because resvg doesn't handle the SVG without
explicit width and height, but specified via CSS in the HTML. In
addition, there are pixel differences between the ref due to
antialiasing issues.

 - /css/css-transforms/matrix/svg-matrix-{005...008}.html
 - /css/css-transforms/matrix/svg-matrix-010.html
 - /css/css-transforms/matrix/svg-matrix-012.html
 - /css/css-transforms/matrix/svg-matrix-{015..069}.html
 - /css/css-transforms/rotate/svg-rotate-angle-45-001.html
 - /css/css-transforms/rotate/svg-rotate-angle-45-011.html
 - /css/css-transforms/rotate/svg-rotate-angle-45-022.html
 - /css/css-transforms/scale/svg-scale-006.html
 - /css/css-transforms/scale/svg-scale-007.html

These tests seem to be failing due to some sort of antialiasing issue,
where a transformed SVG element has a thin border that causes pixel
differences compared to the solid colored reference.

 - /css/css-transforms/skewX/svg-skewx-001.html
 - /css/css-transforms/skewX/svg-skewx-006.html
 - /css/css-transforms/skewX/svg-skewx-011.html
 - /css/css-transforms/skewX/svg-skewx-016.html
 - /css/css-transforms/skewX/svg-skewx-021.html
 - /css/css-transforms/skewX/svg-skewxy-001.html
 - /css/css-transforms/skewY/svg-skewy-001.html
 - /css/css-transforms/skewY/svg-skewy-006.html
 - /css/css-transforms/skewY/svg-skewy-011.html
 - /css/css-transforms/skewY/svg-skewy-016.html
 - /css/css-transforms/skewY/svg-skewy-021.html

These tests specify several SVG attributes such as transform,
vector-effect etc via CSS in the HTML (rather than inline in SVG). The
current implementation doesn't support this.

 - /css/css-transforms/transform-box/stroke-box-mutation-001.html
 - /css/css-transforms/transform-box/stroke-box-mutation-002.html
 - /css/css-transforms/transform-box/stroke-box-mutation-003.html
 - /css/css-transforms/transform-box/stroke-box-mutation-004.html
 - /css/css-transforms/transform-box/svgbox-stroke-box-002.html
 - /css/css-transforms/transform-box/svgbox-stroke-box-003.html
 - /css/css-transforms/transform-box/svgbox-stroke-box-004.html
 - /css/css-transforms/transform-box/svgbox-stroke-box-005.html

These tests depend on 'transform-origin' specified on an element inside
an SVG, but this transform is influenced by the 'tranform-box' set via
CSS in the HTML itself (not the SVG). The current implementation doesn't
support styling the SVG using document styles, so these tests just fail.

- /css/css-transforms/transform-origin/svg-origin-relative-length-*.html

These tests check the fallback behaviour when invalid syntax is
encountered in the 'transform-origin' value. resvg doesn't correctly
fallback to 0,0 causing the tests to fail.

-
/css/css-transforms/transform-origin/svg-origin-relative-length-invalid-001.html
-
/css/css-transforms/transform-origin/svg-origin-relative-length-invalid-002.html
-
/css/css-transforms/transform-origin/svg-origin-relative-length-invalid-003.html
-
/css/css-transforms/transform-origin/svg-origin-relative-length-invalid-004.html

These tests use unimplemented Canvas APIs like 'beginLayer' and
the 'CanvasFilter' constructor and hence fail at runtime.

-
/html/canvas/element/filters/2d.filter.canvasFilterObject.gaussianBlur.tentative.html
-
/html/canvas/element/filters/2d.filter.layers.gaussianBlur.tentative.html
-
/html/canvas/element/layers/2d.layer.anisotropic-blur.isotropic.tentative.html
-
/html/canvas/element/layers/2d.layer.anisotropic-blur.mostly-x.tentative.html
-
/html/canvas/element/layers/2d.layer.anisotropic-blur.mostly-y.tentative.html
-
/html/canvas/element/layers/2d.layer.anisotropic-blur.x-only.tentative.html
-
/html/canvas/element/layers/2d.layer.anisotropic-blur.y-only.tentative.html
-
/html/canvas/element/layers/2d.layer.css-filters.blur-and-shadow.tentative.html
 - /html/canvas/element/layers/2d.layer.css-filters.blur.tentative.html
- /html/canvas/element/layers/2d.layer.css-filters.shadow.tentative.html
 - /html/canvas/element/layers/2d.layer.ctm.layer-filter.tentative.html
-
/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.dropShadow.tentative.html
-
/html/canvas/offscreen/filters/2d.filter.canvasFilterObject.gaussianBlur.tentative.html
-
/html/canvas/offscreen/filters/2d.filter.layers.dropShadow.tentative.html
-
/html/canvas/offscreen/filters/2d.filter.layers.gaussianBlur.tentative.html
-
/html/canvas/offscreen/layers/2d.layer.anisotropic-blur.isotropic.tentative.html
-
/html/canvas/offscreen/layers/2d.layer.anisotropic-blur.mostly-x.tentative.html
-
/html/canvas/offscreen/layers/2d.layer.anisotropic-blur.mostly-y.tentative.html
-
/html/canvas/offscreen/layers/2d.layer.anisotropic-blur.x-only.tentative.html
-
/html/canvas/offscreen/layers/2d.layer.anisotropic-blur.y-only.tentative.html
-
/html/canvas/offscreen/layers/2d.layer.css-filters.blur-and-shadow.tentative.html
- /html/canvas/offscreen/layers/2d.layer.css-filters.blur.tentative.html
-
/html/canvas/offscreen/layers/2d.layer.css-filters.shadow.tentative.html
- /html/canvas/offscreen/layers/2d.layer.ctm.layer-filter.tentative.html

These tests fail because resvg doesn't seem to honour the 'translate'
CSS property specified on an SVG element using an inline 'style'
attribute.

 - /css/css-transforms/translate/svg-translate-with-units.html
-
/css/css-transforms/translate/translate-and-transform-attribute-in-svg.html
-
/css/css-transforms/translate/translate-and-transform-css-property-in-svg.html
 - /css/css-transforms/translate/translate-in-svg.html

These tests seem to fail due to the filter effect implementation in
resvg either not being complete or spec compliant.

 - /css/filter-effects/feconvolve-divisor.html
 - /css/filter-effects/feconvolve-region-001.html
 - /css/filter-effects/feconvolve-region-002.html
 - /css/filter-effects/filter-subregion-01.html
 - /css/filter-effects/svg-feimage-002.html
 - /css/filter-effects/svg-feimage-003.html
 - /css/filter-effects/svg-feimage-004.html
 - /css/filter-effects/svg-feoffset-001.html

The test /css/filter-effects/svg-feimage-004.html should ideally PASS
but currently fails because we don't propagate height/width set using
CSS in HTML element to the root SVG, so resvg uses the wrong dimensions
when rendering the children of the SVG.

These failures are due to deficienies in our current implementation
i.e we don't support styling SVG elements using CSS in HTML.

-
/css/css-transforms/gradientTransform/svg-gradientTransform-combination-001.html
 - /css/selectors/sharing-in-svg-use.html

The below test fails as our current implementation relies on resvg to
tell us the intrinsic ratio of the SVG, but this doesn't always work
correctly.

 - /css/css-sizing/svg-intrinsic-size-005.html

This failure is due to lack of proper fallback to no-op transform in
resvg when the `rotate()` syntax is specified with an invalid list e.g
`rotate(90,)`.

 - /css/css-transforms/rotate/svg-rotate-3args-invalid-002.html

This test only passes in CI and based on the raw log output, it seems
that no text inside the SVG is rendered in the CI. This could be an font
stack related issue.

 - /css/css-display/display-contents-svg-elements.html

This test asserts that the CSP blocks loads triggered using `use`
elements in SVG. It used to TIMEOUT as without inline SVG support, no
CSP violation event was triggered. It fails now since the event is now
triggered for the load of the SVG itself (our current implementation
loads inline SVGs as serialized base64 data: urls). This doesn't match
the blocked URL in the use element though.

 - /content-security-policy/img-src/svg-use-blocked.tentative.html

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-08-11 11:07:59 +00:00
Martin Robinson
be7625fc1e
tidy: Replace custom panic/unwrap lint with clippy lint (#38593)
This change replaces our custom `panic` / `unwrap` lint with the one
from clippy. This rule as not properly applied in servoshell, so this
change fixes some clippy errors raised by the new configuration.

Testing: This change removes the tidy tests for the custom lints, but
otherwise the behavior is tested as part of clippy itself.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-11 11:04:11 +00:00
lumiscosity
757dbc0eda
servoshell: make the color picker and select picker closeable (#38373)
Addresses the first half of #38347 by making it possible to close the
select picker and the color picker by pressing ESC or clicking off the
modal. Marking this as draft since I need some help with squashing a bug
- the "clicking off" part only triggers after moving the mouse or
pressing any key, and I'm not sure why.

Testing: Manual.
Fixes: First half of #38347.

---------

Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2025-08-06 11:49:47 +00:00
Leo Ring
bcc8314dd5
Servoshell: Update Window::inner_size on WindowEvent::Resized (fix resize bug) (#38461)
Just adds back a line that was omitted when a different commit was
reverted, see the issue for details, I've tested on Gnome Wayland with
Fedora 42 and the bug is fixed

Fixes: https://github.com/servo/servo/issues/38441
cc @yezhizhen

Signed-off-by: Leo Ring <leoring03@gmail.com>
2025-08-04 13:56:54 +00:00
Euclid Ye
f0eb6c2b97
servoshell: Sync window toolbar height with minibrowser (#38328)
Toolbar size can be changed if resized, such as entering fullscreen.
Hit-test had wrong offsets after fullscreen/resize as
`WindowEvent::CursorMoved` set wrong coordinates for
`webview_relative_mouse_point` due to outdated toolbar height.

Testing: #38297 now works properly.
Fixes: #38297

---------

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-03 19:16:15 +00:00
Tim van der Lippe
dbb886fad2
Implement initial version of navigator.sendBeacon (#38301)
Gated behind the feature flag `dom_navigator_sendbeacon_enabled` as the
`keep-alive` fetch parameter is crucial for real-life use cases such as
analytics requests.

Part of #4577
Part of #38302

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-08-02 15:14:07 +00:00