Commit graph

52459 commits

Author SHA1 Message Date
Jonathan Schwender
73e0f2f7e6
uv: Fix warning by adding project table to pyproject.toml (#38774)
`uv` logs a warning if the pyproject.toml does not contain a project
table.
There is not really much point in adding the table, but no downsides
either,
so lets just add the table to make `uv` happy.

Testing: Manual run of `RUST_LOG=warn ./mach run`
Fixes: #38761

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-19 06:38:00 +00:00
Kenzie Raditya Tirtarahardja
60e6fe8cb5
webdriver: Change TickActions to vector rather than hashmap (#38747)
Based on
[spec](https://w3c.github.io/webdriver/#dfn-extract-an-action-sequence),
`TickActions` should be a list. Previously we used Hashmap, which when
iterated has arbitrary order. This causes some tests to be unstable
previously (see the linked issue).

Testing:
`./webdriver/tests/classic/perform_actions/{pointer_contextmenu,
pointer_modifier_click}.py` consistently pass now.
Fixes: https://github.com/servo/servo/issues/38387

---------

Signed-off-by: PotatoCP <Kenzie.Raditya.Tirtarahardja@huawei.com>
2025-08-19 06:25:56 +00:00
dependabot[bot]
ea506140c8
build(deps): bump bitflags from 2.9.1 to 2.9.2 (#38767)
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.9.1 to
2.9.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/bitflags/bitflags/releases">bitflags's
releases</a>.</em></p>
<blockquote>
<h2>2.9.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix difference in the spec by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/446">bitflags/bitflags#446</a></li>
<li>Fix up inaccurate docs on bitflags_match by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/453">bitflags/bitflags#453</a></li>
<li>Remove rustc internal crate feature by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/454">bitflags/bitflags#454</a></li>
<li>Prepare for 2.9.2 release by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/456">bitflags/bitflags#456</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/bitflags/bitflags/compare/2.9.1...2.9.2">https://github.com/bitflags/bitflags/compare/2.9.1...2.9.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md">bitflags's
changelog</a>.</em></p>
<blockquote>
<h1>2.9.2</h1>
<h2>What's Changed</h2>
<ul>
<li>Fix difference in the spec by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/446">bitflags/bitflags#446</a></li>
<li>Fix up inaccurate docs on bitflags_match by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/453">bitflags/bitflags#453</a></li>
<li>Remove rustc internal crate feature by <a
href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
href="https://redirect.github.com/bitflags/bitflags/pull/454">bitflags/bitflags#454</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/bitflags/bitflags/compare/2.9.1...2.9.2">https://github.com/bitflags/bitflags/compare/2.9.1...2.9.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="85b5e603ea"><code>85b5e60</code></a>
Merge pull request <a
href="https://redirect.github.com/bitflags/bitflags/issues/456">#456</a>
from KodrAus/cargo/2.9.2</li>
<li><a
href="d185ca57b0"><code>d185ca5</code></a>
remove reference to std internal features</li>
<li><a
href="82a365fc54"><code>82a365f</code></a>
prepare for 2.9.2 release</li>
<li><a
href="f1beb28eb3"><code>f1beb28</code></a>
Merge pull request <a
href="https://redirect.github.com/bitflags/bitflags/issues/454">#454</a>
from KodrAus/fix/rustc-dep-of-std</li>
<li><a
href="ef247c5046"><code>ef247c5</code></a>
update more error messages</li>
<li><a
href="c8e235463c"><code>c8e2354</code></a>
update compiler errors</li>
<li><a
href="fe4c49da68"><code>fe4c49d</code></a>
remove rustc internal crate feature</li>
<li><a
href="2b786c963b"><code>2b786c9</code></a>
Merge pull request <a
href="https://redirect.github.com/bitflags/bitflags/issues/453">#453</a>
from bitflags/fix/match-docs</li>
<li><a
href="15519b01b8"><code>15519b0</code></a>
fix up inaccurate docs on bitflags_match</li>
<li><a
href="80684fdce6"><code>80684fd</code></a>
Merge pull request <a
href="https://redirect.github.com/bitflags/bitflags/issues/446">#446</a>
from bitflags/KodrAus-patch-1</li>
<li>Additional commits viewable in <a
href="https://github.com/bitflags/bitflags/compare/2.9.1...2.9.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bitflags&package-manager=cargo&previous-version=2.9.1&new-version=2.9.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 05:14:57 +00:00
dependabot[bot]
40ac1dad8a
build(deps): bump brotli from 8.0.1 to 8.0.2 (#38770)
Bumps [brotli](https://github.com/dropbox/rust-brotli) from 8.0.1 to
8.0.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/dropbox/rust-brotli/commits/8.0.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=brotli&package-manager=cargo&previous-version=8.0.1&new-version=8.0.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 05:14:47 +00:00
dependabot[bot]
97c762ec7c
build(deps): bump syn from 2.0.105 to 2.0.106 (#38768)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.105 to 2.0.106.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/syn/releases">syn's
releases</a>.</em></p>
<blockquote>
<h2>2.0.106</h2>
<ul>
<li>Replace <code>~const</code> syntax with <code>[const]</code>
conditionally const syntax in trait bounds (<a
href="https://redirect.github.com/dtolnay/syn/issues/1896">#1896</a>, <a
href="https://redirect.github.com/rust-lang/rust/pull/139858">rust-lang/rust#139858</a>)</li>
<li>Support conditionally const impl Trait types (<a
href="https://redirect.github.com/dtolnay/syn/issues/1897">#1897</a>)</li>
<li>Reject polarity modifier and lifetime binder used in the same trait
bound (<a
href="https://redirect.github.com/dtolnay/syn/issues/1899">#1899</a>, <a
href="https://redirect.github.com/rust-lang/rust/pull/127054">rust-lang/rust#127054</a>)</li>
<li>Parse const trait bounds with bound lifetimes (<a
href="https://redirect.github.com/dtolnay/syn/issues/1902">#1902</a>)</li>
<li>Parse bound lifetimes with lifetime bounds (<a
href="https://redirect.github.com/dtolnay/syn/issues/1903">#1903</a>)</li>
<li>Allow type parameters and const parameters in trait bounds and
generic closures (<a
href="https://redirect.github.com/dtolnay/syn/issues/1904">#1904</a>, <a
href="https://redirect.github.com/dtolnay/syn/issues/1907">#1907</a>, <a
href="https://redirect.github.com/dtolnay/syn/issues/1908">#1908</a>, <a
href="https://redirect.github.com/dtolnay/syn/issues/1909">#1909</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0e4bc64fe1"><code>0e4bc64</code></a>
Release 2.0.106</li>
<li><a
href="4fb776a12e"><code>4fb776a</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1910">#1910</a>
from dtolnay/traitboundissue</li>
<li><a
href="41b24a588b"><code>41b24a5</code></a>
Fix duplicated async trait bound issue</li>
<li><a
href="a64f024cf8"><code>a64f024</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1909">#1909</a>
from dtolnay/fortype</li>
<li><a
href="176099e868"><code>176099e</code></a>
Parse type parameter introducer on closures</li>
<li><a
href="b790b39351"><code>b790b39</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1908">#1908</a>
from dtolnay/genericvsqpath</li>
<li><a
href="96496390a3"><code>9649639</code></a>
Synchronize generics-vs-qpath heuristic with rust parser</li>
<li><a
href="60de3318e0"><code>60de331</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1907">#1907</a>
from dtolnay/forconst</li>
<li><a
href="2aac6d7607"><code>2aac6d7</code></a>
Allow const parameters in for&lt;&gt;</li>
<li><a
href="11934e5365"><code>11934e5</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1905">#1905</a>
from dtolnay/unsafestatic</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/syn/compare/2.0.105...2.0.106">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=2.0.105&new-version=2.0.106)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 00:28:53 +00:00
dependabot[bot]
d321d8a13d
build(deps): bump proc-macro2 from 1.0.97 to 1.0.101 (#38766)
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.97
to 1.0.101.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/proc-macro2/releases">proc-macro2's
releases</a>.</em></p>
<blockquote>
<h2>1.0.101</h2>
<ul>
<li>Optimize Span location accessors (<a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/519">#519</a>)</li>
</ul>
<h2>1.0.100</h2>
<ul>
<li>Stabilize <code>Span</code> methods on Rust 1.88+:
<code>start</code>, <code>end</code>, <code>line</code>,
<code>column</code>, <code>file</code>, <code>local_file</code> (<a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/517">#517</a>,
<a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/518">#518</a>)</li>
</ul>
<h2>1.0.99</h2>
<ul>
<li>Prevent Span's unstable API becoming unavailable from a future new
compiler lint (<a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/515">#515</a>)</li>
</ul>
<h2>1.0.98</h2>
<ul>
<li>Disallow prefixed identifier as name of lifetime:
<code>'prefix#lifetime</code> (<a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/514">#514</a>,
<a
href="https://redirect.github.com/rust-lang/rust/pull/126452">rust-lang/rust#126452</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d3188ea889"><code>d3188ea</code></a>
Release 1.0.101</li>
<li><a
href="cbd1286d36"><code>cbd1286</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/519">#519</a>
from dtolnay/binarysearch</li>
<li><a
href="fab4cb6df2"><code>fab4cb6</code></a>
Convert SourceMap scan to binary search</li>
<li><a
href="f4708a855b"><code>f4708a8</code></a>
Factor out SourceMap linear search to method</li>
<li><a
href="fdc853a4af"><code>fdc853a</code></a>
Release 1.0.100</li>
<li><a
href="848ed0b742"><code>848ed0b</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/518">#518</a>
from dtolnay/spanfile</li>
<li><a
href="76ce1a35a3"><code>76ce1a3</code></a>
Stabilize Span::file and Span::local_file</li>
<li><a
href="b5dd3c6baf"><code>b5dd3c6</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/517">#517</a>
from dtolnay/startend</li>
<li><a
href="1d0ffc026c"><code>1d0ffc0</code></a>
Use Span's start, end, line, column methods on stable 1.88+</li>
<li><a
href="4f5845e1ee"><code>4f5845e</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/proc-macro2/issues/516">#516</a>
from dtolnay/probe</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/proc-macro2/compare/1.0.97...1.0.101">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=proc-macro2&package-manager=cargo&previous-version=1.0.97&new-version=1.0.101)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 00:17:20 +00:00
dependabot[bot]
efd0926c63
build(deps): bump hyper from 1.6.0 to 1.7.0 (#38765)
Bumps [hyper](https://github.com/hyperium/hyper) from 1.6.0 to 1.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hyperium/hyper/releases">hyper's
releases</a>.</em></p>
<blockquote>
<h2>v1.7.0</h2>
<h2>Highlights</h2>
<h3>Features</h3>
<ul>
<li><strong>client:</strong>
<ul>
<li>add a <code>TrySendError::error()</code> method (<a
href="https://redirect.github.com/hyperium/hyper/issues/3885">#3885</a>)
(<a
href="efa0b26958">efa0b269</a>)</li>
<li>add a <code>TrySendError::message()</code> method (<a
href="https://redirect.github.com/hyperium/hyper/issues/3884">#3884</a>)
(<a
href="03fd6aff88">03fd6aff</a>)</li>
</ul>
</li>
<li><strong>error:</strong> add <code>Error::is_shutdown()</code> (<a
href="https://redirect.github.com/hyperium/hyper/issues/3863">#3863</a>)
(<a
href="b8affd8a2e">b8affd8a</a>,
closes <a
href="https://redirect.github.com/hyperium/hyper/issues/2745">#2745</a>)</li>
<li><strong>server:</strong> add
<code>allow_multiple_spaces_in_request_line_delimiters</code> http1
builder method (<a
href="https://redirect.github.com/hyperium/hyper/issues/3929">#3929</a>)
(<a
href="9749184f8a">9749184f</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>server:</strong> improve caching accuracy of Date header (<a
href="https://redirect.github.com/hyperium/hyper/issues/3887">#3887</a>)
(<a
href="436cadd1ac">436cadd1</a>)</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>chore: remove redundant backticks by <a
href="https://github.com/jimmycathy"><code>@​jimmycathy</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3855">hyperium/hyper#3855</a></li>
<li>Gate tests with features they test by <a
href="https://github.com/WhyNotHugo"><code>@​WhyNotHugo</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3864">hyperium/hyper#3864</a></li>
<li>docs(service): add <code>HttpService</code> documentation by <a
href="https://github.com/cratelyn"><code>@​cratelyn</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3869">hyperium/hyper#3869</a></li>
<li>docs(examples): alias Builder for clarity by <a
href="https://github.com/Muffeter"><code>@​Muffeter</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3873">hyperium/hyper#3873</a></li>
<li>docs(MAINTAINERS): add katelyn martin as collaborator by <a
href="https://github.com/seanmonstar"><code>@​seanmonstar</code></a> in
<a
href="https://redirect.github.com/hyperium/hyper/pull/3878">hyperium/hyper#3878</a></li>
<li>chore(proto/h2): fix module-level documentation by <a
href="https://github.com/cratelyn"><code>@​cratelyn</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3881">hyperium/hyper#3881</a></li>
<li>feat(client): add a <code>TrySendError::message()</code> method by
<a href="https://github.com/cratelyn"><code>@​cratelyn</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3884">hyperium/hyper#3884</a></li>
<li>feat(client): add a <code>TrySendError::error()</code> method by <a
href="https://github.com/cratelyn"><code>@​cratelyn</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3885">hyperium/hyper#3885</a></li>
<li>fix(http2): add decriptive error for non-zero connect request by <a
href="https://github.com/samp5"><code>@​samp5</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3886">hyperium/hyper#3886</a></li>
<li>refactor(lib): drop futures-util except in ffi by <a
href="https://github.com/hanna-kruppe"><code>@​hanna-kruppe</code></a>
in <a
href="https://redirect.github.com/hyperium/hyper/pull/3890">hyperium/hyper#3890</a></li>
<li>fix(date): improve caching accuracy by <a
href="https://github.com/Patryk27"><code>@​Patryk27</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3887">hyperium/hyper#3887</a></li>
<li>docs(SECURITY): update policy to use GSA drafts when reporting
vulnerabilities by <a
href="https://github.com/seanmonstar"><code>@​seanmonstar</code></a> in
<a
href="https://redirect.github.com/hyperium/hyper/pull/3894">hyperium/hyper#3894</a></li>
<li>feat: add Error::is_shutdown() by <a
href="https://github.com/joshka"><code>@​joshka</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3863">hyperium/hyper#3863</a></li>
<li>docs: improve ext module overview by <a
href="https://github.com/seanmonstar"><code>@​seanmonstar</code></a> in
<a
href="https://redirect.github.com/hyperium/hyper/pull/3921">hyperium/hyper#3921</a></li>
<li>docs(rt): improve rt module overview by <a
href="https://github.com/seanmonstar"><code>@​seanmonstar</code></a> in
<a
href="https://redirect.github.com/hyperium/hyper/pull/3920">hyperium/hyper#3920</a></li>
<li>chore(ci): update to cargo-check-external-types-0.3.0 by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3928">hyperium/hyper#3928</a></li>
<li>test(common): add missing assertion in full_rewind test by <a
href="https://github.com/1911860538"><code>@​1911860538</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3926">hyperium/hyper#3926</a></li>
<li>fix(lib): avoid implicit cargo feature by <a
href="https://github.com/hanna-kruppe"><code>@​hanna-kruppe</code></a>
in <a
href="https://redirect.github.com/hyperium/hyper/pull/3931">hyperium/hyper#3931</a></li>
<li>feat(http1): add allow_multiple_spaces_in_request_line_delimiters h1
builder config method by <a
href="https://github.com/mccordryan"><code>@​mccordryan</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3929">hyperium/hyper#3929</a></li>
<li>Prepare v1.7.0 by <a
href="https://github.com/seanmonstar"><code>@​seanmonstar</code></a> in
<a
href="https://redirect.github.com/hyperium/hyper/pull/3933">hyperium/hyper#3933</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/jimmycathy"><code>@​jimmycathy</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/hyper/pull/3855">hyperium/hyper#3855</a></li>
<li><a href="https://github.com/Muffeter"><code>@​Muffeter</code></a>
made their first contribution in <a
href="https://redirect.github.com/hyperium/hyper/pull/3873">hyperium/hyper#3873</a></li>
<li><a href="https://github.com/samp5"><code>@​samp5</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/hyper/pull/3886">hyperium/hyper#3886</a></li>
<li><a
href="https://github.com/hanna-kruppe"><code>@​hanna-kruppe</code></a>
made their first contribution in <a
href="https://redirect.github.com/hyperium/hyper/pull/3890">hyperium/hyper#3890</a></li>
<li><a href="https://github.com/Patryk27"><code>@​Patryk27</code></a>
made their first contribution in <a
href="https://redirect.github.com/hyperium/hyper/pull/3887">hyperium/hyper#3887</a></li>
<li><a href="https://github.com/joshka"><code>@​joshka</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/hyper/pull/3863">hyperium/hyper#3863</a></li>
<li><a
href="https://github.com/1911860538"><code>@​1911860538</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/hyper/pull/3926">hyperium/hyper#3926</a></li>
<li><a
href="https://github.com/mccordryan"><code>@​mccordryan</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/hyper/pull/3929">hyperium/hyper#3929</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hyperium/hyper/blob/master/CHANGELOG.md">hyper's
changelog</a>.</em></p>
<blockquote>
<h2>v1.7.0 (2025-08-18)</h2>
<h4>Bug Fixes</h4>
<ul>
<li><strong>server:</strong> improve caching accuracy of Date header (<a
href="https://redirect.github.com/hyperium/hyper/issues/3887">#3887</a>)
(<a
href="436cadd1ac">436cadd1</a>)</li>
</ul>
<h4>Features</h4>
<ul>
<li><strong>client:</strong>
<ul>
<li>add a <code>TrySendError::error()</code> method (<a
href="https://redirect.github.com/hyperium/hyper/issues/3885">#3885</a>)
(<a
href="efa0b26958">efa0b269</a>)</li>
<li>add a <code>TrySendError::message()</code> method (<a
href="https://redirect.github.com/hyperium/hyper/issues/3884">#3884</a>)
(<a
href="03fd6aff88">03fd6aff</a>)</li>
</ul>
</li>
<li><strong>error:</strong> add <code>Error::is_shutdown()</code> (<a
href="https://redirect.github.com/hyperium/hyper/issues/3863">#3863</a>)
(<a
href="b8affd8a2e">b8affd8a</a>,
closes <a
href="https://redirect.github.com/hyperium/hyper/issues/2745">#2745</a>)</li>
<li><strong>server:</strong> add
<code>allow_multiple_spaces_in_request_line_delimiters</code> http1
builder method (<a
href="https://redirect.github.com/hyperium/hyper/issues/3929">#3929</a>)
(<a
href="9749184f8a">9749184f</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="400bdfdace"><code>400bdfd</code></a>
v1.7.0</li>
<li><a
href="9749184f8a"><code>9749184</code></a>
feat(server): add
<code>allow_multiple_spaces_in_request_line_delimiters</code> http1
bu...</li>
<li><a
href="caa166c756"><code>caa166c</code></a>
chore(dependencies): avoid implicit cargo feature of futures-util (<a
href="https://redirect.github.com/hyperium/hyper/issues/3931">#3931</a>)</li>
<li><a
href="8ad2595c03"><code>8ad2595</code></a>
test(common): add missing assertion in full_rewind test (<a
href="https://redirect.github.com/hyperium/hyper/issues/3926">#3926</a>)</li>
<li><a
href="24f0da8636"><code>24f0da8</code></a>
chore(ci): update to cargo-check-external-types-0.3.0 (<a
href="https://redirect.github.com/hyperium/hyper/issues/3928">#3928</a>)</li>
<li><a
href="974289fb3d"><code>974289f</code></a>
docs(rt): improve <code>rt</code> module overview (<a
href="https://redirect.github.com/hyperium/hyper/issues/3920">#3920</a>)</li>
<li><a
href="283fd2381d"><code>283fd23</code></a>
docs: improve <code>ext</code> module overview and <code>Protocol</code>
docs (<a
href="https://redirect.github.com/hyperium/hyper/issues/3921">#3921</a>)</li>
<li><a
href="b8affd8a2e"><code>b8affd8</code></a>
feat(error): add <code>Error::is_shutdown()</code> (<a
href="https://redirect.github.com/hyperium/hyper/issues/3863">#3863</a>)</li>
<li><a
href="c88df7886c"><code>c88df78</code></a>
docs(SECURITY): update policy to use GSA drafts when reporting
vulnerabilitie...</li>
<li><a
href="436cadd1ac"><code>436cadd</code></a>
fix(server): improve caching accuracy of Date header (<a
href="https://redirect.github.com/hyperium/hyper/issues/3887">#3887</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/hyperium/hyper/compare/v1.6.0...v1.7.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper&package-manager=cargo&previous-version=1.6.0&new-version=1.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-18 23:53:21 +00:00
dependabot[bot]
688ef9e64a
build(deps): bump cc from 1.2.32 to 1.2.33 (#38764)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.32 to 1.2.33.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md">cc's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.2.32...cc-v1.2.33">1.2.33</a>
- 2025-08-15</h2>
<h3>Other</h3>
<ul>
<li>Regenerate target info (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1521">#1521</a>)</li>
<li>[win][arm64ec] Add testing for Arm64EC Windows (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1512">#1512</a>)</li>
<li>Fix parsing of nigthly targets (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1517">#1517</a>)</li>
<li>[win][arm64ec] Fix finding assembler and setting is_arm for Arm64EC
(<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1511">#1511</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a92892393c"><code>a928923</code></a>
chore: release v1.2.33 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1522">#1522</a>)</li>
<li><a
href="9c33178e20"><code>9c33178</code></a>
Regenerate target info (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1521">#1521</a>)</li>
<li><a
href="220d772624"><code>220d772</code></a>
Bump actions/checkout from 4 to 5 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1520">#1520</a>)</li>
<li><a
href="9de267d18b"><code>9de267d</code></a>
[win][arm64ec] Add testing for Arm64EC Windows (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1512">#1512</a>)</li>
<li><a
href="37fc899632"><code>37fc899</code></a>
Fix gen-windows-sys-binding (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1518">#1518</a>)</li>
<li><a
href="de7e8d5f32"><code>de7e8d5</code></a>
Fix parsing of nigthly targets (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1517">#1517</a>)</li>
<li><a
href="ca81dcc1a7"><code>ca81dcc</code></a>
[win][arm64ec] Fix finding assembler and setting is_arm for Arm64EC (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1511">#1511</a>)</li>
<li>See full diff in <a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.2.32...cc-v1.2.33">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cc&package-manager=cargo&previous-version=1.2.32&new-version=1.2.33)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-18 23:47:12 +00:00
Taym Haddadi
c4d2b63ef1
Implement AbortSignal static abort(reason) (#38746)
Implement AbortSignal static abort(reason)

part of #36936

---------

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
2025-08-18 21:32:39 +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
Simon Wülker
7471ad7730
fonts: Implement CSS font-variation-settings property for FreeType platforms (#38642)
This change adds support for variable fonts via the
[`font-variation-settings`](https://developer.mozilla.org/en-US/docs/Web/CSS/font-variation-settings)
property.

There are three areas where we need to set the variation values:
* Webrender (`compositor.rs`), for drawing the glyphs
* Harfbuzz (`shaper.rs`), for most shaping tasks
* PlatformFont (`fonts/platform/`), for horizontal advances and kerning

For now, freetype is the only platform shaper that supports variable
fonts. I can't easily test the fonts with non-freetype shapers. Thats
why variable fonts are behind the `layout_variable_fonts_enabled` pref,
which is disabled by default.

<img width="1250" height="710" alt="image"
src="https://github.com/user-attachments/assets/1aee1407-f3a2-42f6-a106-af0443fcd588"
/>

<details><summary>HTML test file</summary>

```html
<style>
@font-face {
  font-family: "Amstelvar VF";
  src: url("https://mdn.github.io/shared-assets/fonts/variable-fonts/AmstelvarAlpha-VF.woff2")
    format("woff2-variations");
  font-weight: 300 900;
  font-stretch: 35% 100%;
  font-style: normal;
  font-display: swap;
}

p {
  font:
    1.2em "Amstelvar VF",
    Georgia,
    serif;
  font-size: 4rem;
  margin: 1rem;
  display: inline-block;
}

.p1 {
  font-variation-settings: "wght" 300;
}

.p2 {
  font-variation-settings: "wght" 625;
}

.p3 {
  font-variation-settings: "wght" 900;
}

</style>
<div>
  <p class="p1">Weight</p>
  <span>(font-variation-settings: "wght" 300)</span>
</div>
<div>
  <p class="p2">Weight</p>
  <span>(font-variation-settings: "wght" 625)</span>
</div>
<div>
  <p class="p3">Weight</p>
  <span>(font-variation-settings: "wght" 900)</span>
</div>
</div>
```
</details>



https://github.com/user-attachments/assets/9e21101a-796a-49fe-b82c-8999d8fa9ee1


Testing: Needs decision on whether we want to enable the pref in CI
Works towards https://github.com/servo/servo/issues/37236

Depends on https://github.com/servo/stylo/pull/230

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-08-18 16:30:14 +00:00
JoeDow
ce16fbce75
script: Mark the entire shadow tree for restyle when its stylesheet is invalidated (#38529)
This change fix this bugs: modify stylesheet of shadow tree does not
take effect if there is no other Dom change within the shadow tree
happens.

Fixes: This change fix some bugs reported by this issue #38211. 
Testing: This fixes some subtests in
`/css/cssom/CSSStyleSheet-constructable.html` and
`/css/cssom/CSSStyleSheet-constructable-disallow-import.tentative.html`,
and make some subtest failed in
`/css/cssom/CSSStyleSheet-constructable-baseURL.html`, because the
`BaseUrl` is not yet supported for `CSSStylesheet`.

Signed-off-by: sharpshooter_pt <ibluegalaxy_taoj@163.com>
2025-08-18 12:48:35 +00:00
Martin Robinson
5c885d61ad
fonts: Have CoreTextFontCache::core_text_font return a PlatformFont (#38758)
This will make it easier in a followup to include the normalized font
variations in the return value. This also make
`PlatformFont::ensure_h_kern_subtable` work on the instance instead of
being a struct method. Finally, all `PlatformFont` methods are combined
into a single impl block.

Testing: This should not change behavior and is thus covered by existing
tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-18 12:32:20 +00:00
Martin Robinson
6fdf40dce7
layout: Always build Tag and BaseFragmentInfo with ServoThreadSafeLayoutNode (#38680)
This cleanup makes the interface a bit simpler and prevents problems
where the pseudo-element information is not passed by accident.

Testing: This should not change behavior, so is covered by existing
tests.

---------

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-08-18 12:19:09 +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
Simon Wülker
8ca00a3b0c
Add missing backtick in README.md (#38757)
The build instructions for OHOS were missing a backtick.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-08-18 11:53:08 +00:00
Jo Steven Novaryo
7489a0349f
layout: Do not include position:fixed children when calculating scrollable overflow for root element (#38618)
Reimplementation of: #35931

For a `FragmentTree` we define a scrollable overflow calculation that
includes the overflow all of it's children `Fragments`. In practice we
are using this calculation for scrolling area of the viewport and
defining the root scroll frames. However, since uncontained fixed
positioned element is located outside of the document and should not be
scrolled, and therefore it would make no sense to include them in the
calculation of its scrollable overflow as well.

Testing: New and existing WPT tests
Fixes: #38617
Fixes: #38182

---------

Signed-off-by: Jo Steven Novaryo <jo.steven.novaryo@huawei.com>
2025-08-18 11:25:31 +00:00
Nico Burns
7dcd89a6f9
Use built-in conversion function from unicode_script to convert script for harfbuzz (#38704)
Replaces a big match statement with a call to `unicode_script`'s
`Script::short_name` method which has the same big match statement. We
special case `Script::Unknown` because the `short_name` method returns
empty string for that variant, but harfbuzz represents it with `Zzzz`.

EDIT: `Zzzz` seems to be in the spec so I've sent a PR to
`unicode_script` to use it:
https://github.com/unicode-rs/unicode-script/pull/23
EDIT: And https://github.com/unicode-rs/unicode-script/pull/24 which
would allow us to remove this method entirely.

Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-08-18 08:16:29 +00:00
Jerens Lensun
788d6db94d
script_bindings(python): Add ruff rule for strict typing in function (#38694)
This is part of introducing the Ruff rule [flake8-annotations
(ANN)](https://docs.astral.sh/ruff/rules/#flake8-annotations-ann) into
the script_bindings folder.

Since `codegen.py` has 10k lines of code, the strategy is to introduce
the rule first while ignoring the `ANN` Ruff rule for `codegen.py`. We
will then gradually add type annotations slice by slice to ensure no new
errors occur outside of `ANN`.

Testing: `./mach test-wpt webidl`

---------

Signed-off-by: Jerens Lensun <jerensslensun@gmail.com>
2025-08-18 07:26:30 +00:00
Josh Matthews
27dededa65
Enable dom_abort_controller_enabled for AbortController test subdirectory (#38749)
Since we don't enable the preference as part of
`--enable-experimental-web-platform-features` yet, we don't run any
automated tests for the AbortController feature. This change means that
we at least explicitly test the interface.

Testing: Just enabling new tests.
Part of: https://github.com/servo/servo/issues/34866

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-08-18 07:25:04 +00:00
Jonathan Schwender
2e6219b52d
CI: Bump setup-ohos-sdk to 0.2.3 (#38741)
Includes a fix, which deletes the SDK for ohos-native hosts, saving some
disk and cache space, since we only need the version for linux hosts.

Testing: [mach try
ohos](https://github.com/jschwe/servo/actions/runs/17024914816)

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-18 05:54:31 +00:00
Euclid Ye
ce9425f3e8
embedder: Remove Int variant from WebDriverJSValue (#38748)
According to
[spec](https://w3c.github.io/webdriver/#dfn-json-deserialize), we should
only care about
[Number](https://262.ecma-international.org/5.1/#sec-4.3.19) that is
f64.

This change also closes the gap between `JSValue` and `WebDriverJSValue`
and potentially merge into one in the future.

Testing: No regression. However, we have lots of TIMEOUT due to
https://github.com/servo/servo/pull/38622.

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-18 04:39:52 +00:00
Simon Wülker
e19fade481
Replace FreeTypeFaceHelpers with a safe wrapper struct (#38634)
Testing: only safety annotations change, no tests are required.
Fixes: https://github.com/servo/servo/issues/38627

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-08-17 21:46:16 +00:00
Tim van der Lippe
4de9a9d100
Implement trusted types for setTimeout/setInterval (#38736)
I had a difficult time figuring out where the relevant steps had to be
added. Therefore, I aggressively commented the spec steps so eventually
I discovered where I should add them.

Part of #36258

---------

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
Signed-off-by: Tim van der Lippe <TimvdLippe@users.noreply.github.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2025-08-17 20:53:16 +00:00
Tim van der Lippe
a31235e52b
Add trusted type checks for global event handler attributes (#38718)
This only covers the global event handlers for now, while I figure out
which others we are missing. We don't seem to be missing the
WindowEventHandlers, but not sure where the others coming from.

Part of #36258

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-08-17 19:44:22 +00:00
Josh Matthews
9da8142e2a
fonts: Measure more FontContext heap usage. (#38733)
Replace a hand-written MallocSizeOf implementation with an automatically
derived one. This exposes more than 1MB of previously-untracked heap
data on servo.org.

Testing: Compared about:memory output for servo.org before and after.
Part of: #11559

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-08-17 18:59:30 +00:00
Kingsley Yung
d490c5c06b
script: Throw error when lower is greater than upper in IDBKeyRange (#38735)
IDBKeyRange::Bound doesn't check if the lower bound is greater than the
upper bound. When this happens, it should throw DataError.

Reference: Step 5 of
<https://www.w3.org/TR/IndexedDB-2/#dom-idbkeyrange-bound>

Testing: Passing WPT tests that were expected to fail before.

---------

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>
2025-08-17 15:21:45 +00:00
Jonathan Schwender
ee781b71b4
tests: Vendor blink perf tests (#38654)
Vendors the [blink perf
tests](https://chromium.googlesource.com/chromium/src/+/HEAD/third_party/blink/perf_tests/).
These perf tests are useful to evaluate the performance of servo. 
The license that governs the perf tests is included in the folder. 
Running benchmark cases automatically is left to future work.

The update.py script is taken from mozjs and slightly adapted, so we can
easily filter
(and patch if this should be necessary in the future.

Testing: This PR just adds the perf_tests, but does not use or modify
them in any way.

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-17 09:54:04 +00:00
Ashwin Naren
7621332824
tests: Turn on IndexedDB tests and update results (#38722)
Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2025-08-17 08:32:29 +00:00
Servo WPT Sync
fbf0eb11a2
Sync WPT with upstream (17-08-2025) (#38721)
Automated downstream sync of changes from upstream as of 17-08-2025
[no-wpt-sync]

Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-08-17 01:49:38 +00:00
Rahul Menon
389277fa72
content: Make QuotaExceededError serializable (#38720)
Implements (de)serialization behavior for QuotaExceededError and enables
the annotation on the WebIDL spec.

Testing: Adds its own WPT tests
Fixes: https://github.com/servo/servo/issues/38685

---------

Signed-off-by: Rahul Menon <menonrahul02@gmail.com>
2025-08-16 20:33:37 +00:00
Josh Matthews
e80d36783a
script: Ensure JS->webdriver conversions have a non-empty settings stack (#38709)
JS scripts that are evaluated already run with an [entry
script](https://html.spec.whatwg.org/#entry) on the script settings
stack. The codepaths that do something with the return value (eg.
WebDriver and embedder JS evaluation) have the potential to run
additional JS, since they can trigger getters for arbitrary properties
of objects, so they also need an entry script present in case code like
e649b9b91d/components/script/dom/location.rs (L182)
is executed.

Testing: Added a regression unit test.
Fixes: #38692

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-08-16 17:14:56 +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
Ashwin Naren
fc3feceee5
Switch indexeddb backend to sqlite and improve IPC messaging (#38187)
- Use sqlite instead of heed. (one indexed database = one sqlite
database)
- Implement the backend for indexes
- Use keyranges where needed (as specified by the spec)
- Implement `getKey`
- Fix channel error messaging (led to a bunch of changes to how async
requests are handled)

Note: `components/net/indexeddb/engines/sqlite/serialize.rs` is unused;
I can delete it if needed.

Testing: Switching to sqlite eliminated many panics (exposing some new
failures).
Fixes: #38040

---------

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2025-08-16 07:27:17 +00:00
Ashwin Naren
f4bbdf8010
net: Fix possible indexeddb key range singleton related panic (#38281)
If `.as_singleton()` was called on a range that had both lower and upper
set as `None`, it would have panicked.

Testing: Nothing seems to have changed
Fixes: #37647

---------

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2025-08-16 03:19:01 +00:00
Servo WPT Sync
e649b9b91d
Sync WPT with upstream (16-08-2025) (#38706)
Automated downstream sync of changes from upstream as of 16-08-2025
[no-wpt-sync]

Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-08-16 00:46:10 +00:00
sagudev
85588fada0
compositing: Use webrender_api::ExternalImageSource instead of WebRenderImageSource (#38703)
There is no reason to roll our own type.

Motivation: I need `ExternalImageSource::Invalid`.

Testing: Covered by existing WPT tests, but it's just refactor

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-08-15 19:39:07 +00:00
Tim van der Lippe
18e05d3aab
Implement trusted types for setAttribute (#38700)
Callers now call `set_attribute` directly, to avoid the trusted types
machinery, as well as skip validation. That's not required by spec as
well.

This implements part of the DOM integration from
https://github.com/whatwg/dom/pull/1268

Part of #36258

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-08-15 19:18:19 +00:00
dependabot[bot]
8290761066
build(deps): bump async-trait from 0.1.88 to 0.1.89 (#38702)
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.88
to 0.1.89.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/async-trait/releases">async-trait's
releases</a>.</em></p>
<blockquote>
<h2>0.1.89</h2>
<ul>
<li>Improve IDE functionality (<a
href="https://redirect.github.com/dtolnay/async-trait/issues/293">#293</a>,
thanks <a
href="https://github.com/Veykril"><code>@​Veykril</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a7e91e98a5"><code>a7e91e9</code></a>
Release 0.1.89</li>
<li><a
href="fbcfcaca02"><code>fbcfcac</code></a>
Merge pull request 293 from Veykril/lw/quote_spanned</li>
<li><a
href="fd93990620"><code>fd93990</code></a>
Improve use of spans in <code>quote_spanned</code></li>
<li><a
href="a5093fe762"><code>a5093fe</code></a>
Add type-mismatch ui test</li>
<li><a
href="6d12b44116"><code>6d12b44</code></a>
Revert &quot;Pin nightly toolchain used for miri job&quot;</li>
<li><a
href="dd9e4bad1b"><code>dd9e4ba</code></a>
Hide unused_variables warning in consider-restricting.rs ui test</li>
<li><a
href="b454fc869a"><code>b454fc8</code></a>
Update ui test suite to nightly-2025-08-03</li>
<li><a
href="9c880e85d8"><code>9c880e8</code></a>
Update ui test suite to nightly-2025-07-30</li>
<li><a
href="7ca751d0b3"><code>7ca751d</code></a>
Ignore unused_parens warning in test</li>
<li><a
href="2bccfeb461"><code>2bccfeb</code></a>
Update ui test suite to nightly-2025-05-28</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/async-trait/compare/0.1.88...0.1.89">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.88&new-version=0.1.89)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</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:25:36 +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
Martin Robinson
8d60353d14
script: Add presentation attributes as part of a single PropertyDeclarationBlock (#38684)
Instead of making a block for each attribute, use a single block as
described in a `FIXME` comment by @emilio. This also switch to using
`map` and `and_then` in more places to make the code a bit more concise.

Testing: This should not change behavior other than to incraese
efficiency a
bit and is thus covered by existing tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-15 16:26:00 +00:00
Nico Burns
046dbd86a1
fonts: Use skrifa to get raw font table data on Linux (#38690)
Use skrifa instead of freetype for extracting raw table data. Allows us
to replace unsafe Freetype code with safe Skrifa code. Also allows us to
avoid copying the table data. Instead we return Arc'd data.

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-08-15 11:30:29 +00:00
Jerens Lensun
a4fdbe8be3
mach: add type annotation in function for 'python/servo' folder (#38592)
This part of function strictly typed in python by adding ANN rule in
ruff, similiar to #38531.

Testing: `./mach test-tidy`
Fixes: Not related to any issues

---------

Signed-off-by: Jerens Lensun <jerensslensun@gmail.com>
2025-08-15 10:37:24 +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
JoeDow
8b574539d1
script: Ensure notify_invalidations() is always called when modifying stylesheets (#38530)
This change supplements the missing stylesheet invalidation
notifications to fix some bugs that the modification of stylesheet does
not take effect. Additionally, this PR add a RAII thing to mark the
modification scope of stylesheet rules, which will facilitate to add
extra logic before the modification happens.

Fixes: there is relevant issue #38211 , but it can't be fixed by this
PR.
Testing: This fixes some subtests in
`/css/cssom/CSSStyleSheet-constructable.html`.

Signed-off-by: sharpshooter_pt <ibluegalaxy_taoj@163.com>
2025-08-15 09:14:34 +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
Usman Yahaya Baba
02dca0fb21
net: Send ResponseContentObj to Devtools (#38625)
Currently, the response tab for a request's detail in devtools does not
show the available data, this was due to how the content is being
structured (not the way firefox's devtools client expects it) and also
the body being discarded and not stored in the actor.
This PR stores the body in the actor , which is then retrieved in
`getResponseContent` and then use it to instantiate the new struct
`ResponseContentObj` which matches the format firefox's expects

Fixes: https://github.com/servo/servo/issues/38128

---------

Signed-off-by: uthmaniv <uthmanyahayababa@gmail.com>
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2025-08-15 08:26:24 +00:00
minghuaw
d409137e4c
Script: Implement TextEncoderStream (#38466)
This implements the `TextEncoderStream` WebIDL interface. 

Testing: Existing WPT tests should be sufficient
Fixes: #37724

---------

Signed-off-by: minghuaw <wuminghua7@huawei.com>
2025-08-15 07:57:00 +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