Commit graph

52937 commits

Author SHA1 Message Date
Tim van der Lippe
93e2fed79f
Add abort signal preference to experimental web features (#39421)
This way we have full coverage on WPT rather than the
specific folders with tests.

Part of #34866

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-09-26 13:27:40 +00:00
Martin Robinson
4886d1e39c
servoshell: Do not hide window in macOS when taking screenshot (#39500)
Screenshots for tests are taken in headless mode now, in which case the
window does not show up Dock.app. In addition, servoshell now supports
taking a screenshot in headed mode, in which case one can keep using the
browser after the screenshot happens. Hiding the window makes this
impossible. Given these two things, it seems that this functionality
isn't necessary any longer.

Testing: It's difficult to test this kind of system integration with
servoshell.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-26 10:45:58 +00:00
Oriol Brufau
38a63a7977
stylo: Add support for -webkit-fill-available sizing keyword (#39492)
This keyword is de-facto required for web compatibility, Firefox is also
enabling it (https://bugzil.la/1988938).

This patch just aliases it to `stretch`.

Stylo PR: https://github.com/servo/stylo/pull/243

Testing: Various tests pass

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-26 10:45:56 +00:00
Oriol Brufau
858208bd25
layout: Align table-cell contents safely (#39491)
As resolved in https://github.com/w3c/csswg-drafts/issues/12220, when
resolving `align-content: normal` on a table cell, we will now use safe
alignment.

The difference only matters when the contents of the cell are taller
than the cell, which doesn't typically happen. But in Servo it's
observable when there are collapsed rows.

Testing: Adding new tests. Some fail because we don't support
`align-content` yet.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-26 07:44:23 +00:00
dependabot[bot]
92dd54b1ec
build(deps): bump the serde-related group with 2 updates (#39493)
Bumps the serde-related group with 2 updates:
[serde](https://github.com/serde-rs/serde) and
[serde_core](https://github.com/serde-rs/serde).

Updates `serde` from 1.0.226 to 1.0.227
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/serde/releases">serde's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.227</h2>
<ul>
<li>Documentation improvements (<a
href="https://redirect.github.com/serde-rs/serde/issues/2991">#2991</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="415d9fc560"><code>415d9fc</code></a>
Release 1.0.227</li>
<li><a
href="7c58427e12"><code>7c58427</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2991">#2991</a>
from dtolnay/inlinecoredoc</li>
<li><a
href="9d3410e3f4"><code>9d3410e</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2992">#2992</a>
from dtolnay/inplaceseed</li>
<li><a
href="2fb6748bf1"><code>2fb6748</code></a>
Remove InPlaceSeed public re-export</li>
<li><a
href="f8137c79a2"><code>f8137c7</code></a>
Inline serde_core into serde in docsrs mode</li>
<li><a
href="b7dbf7e3cb"><code>b7dbf7e</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2990">#2990</a>
from dtolnay/integer128</li>
<li><a
href="7c836915fc"><code>7c83691</code></a>
No longer macro_use integer128 module</li>
<li><a
href="aa2d9b208a"><code>aa2d9b2</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2989">#2989</a>
from dtolnay/pr2987</li>
<li><a
href="3a7c11c82c"><code>3a7c11c</code></a>
Rename enum_untagged::generate_newtype_variant -&gt;
deserialize_newtype_variant</li>
<li><a
href="11ce4402bd"><code>11ce440</code></a>
Rename enum_untagged::generate_variant -&gt; deserialize_variant</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.226...v1.0.227">compare
view</a></li>
</ul>
</details>
<br />

Updates `serde_core` from 1.0.226 to 1.0.227
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/serde/releases">serde_core's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.227</h2>
<ul>
<li>Documentation improvements (<a
href="https://redirect.github.com/serde-rs/serde/issues/2991">#2991</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="415d9fc560"><code>415d9fc</code></a>
Release 1.0.227</li>
<li><a
href="7c58427e12"><code>7c58427</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2991">#2991</a>
from dtolnay/inlinecoredoc</li>
<li><a
href="9d3410e3f4"><code>9d3410e</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2992">#2992</a>
from dtolnay/inplaceseed</li>
<li><a
href="2fb6748bf1"><code>2fb6748</code></a>
Remove InPlaceSeed public re-export</li>
<li><a
href="f8137c79a2"><code>f8137c7</code></a>
Inline serde_core into serde in docsrs mode</li>
<li><a
href="b7dbf7e3cb"><code>b7dbf7e</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2990">#2990</a>
from dtolnay/integer128</li>
<li><a
href="7c836915fc"><code>7c83691</code></a>
No longer macro_use integer128 module</li>
<li><a
href="aa2d9b208a"><code>aa2d9b2</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2989">#2989</a>
from dtolnay/pr2987</li>
<li><a
href="3a7c11c82c"><code>3a7c11c</code></a>
Rename enum_untagged::generate_newtype_variant -&gt;
deserialize_newtype_variant</li>
<li><a
href="11ce4402bd"><code>11ce440</code></a>
Rename enum_untagged::generate_variant -&gt; deserialize_variant</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.226...v1.0.227">compare
view</a></li>
</ul>
</details>
<br />


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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-26 01:00:12 +00:00
Tim van der Lippe
0ed853102a
Move Request constructor to impl (#39490)
Doing so allows us to change the type of `init` to take a deref, so that
we can also call it when
implementing `FetchLater` which takes a
`RootedTraceableBox<DeferredRequestInit>`

For more information, see this Zulip thread:

https://servo.zulipchat.com/#narrow/channel/263398-general/topic/How.20to.20upcast.20.60RootedTraceableBox.3CDeferredRequestInit.3E.60/with/540672042

Part of #39448

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-09-25 19:30:58 +00:00
dependabot[bot]
9804bb9d7b
build(deps): bump async-compression from 0.4.30 to 0.4.31 (#39489)
Bumps
[async-compression](https://github.com/Nullus157/async-compression) from
0.4.30 to 0.4.31.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fcd9e87710"><code>fcd9e87</code></a>
chore(async-compression): release v0.4.31 (<a
href="https://redirect.github.com/Nullus157/async-compression/issues/386">#386</a>)</li>
<li><a
href="4ebce398de"><code>4ebce39</code></a>
Flush compressed data out of encoders more often (<a
href="https://redirect.github.com/Nullus157/async-compression/issues/383">#383</a>)</li>
<li>See full diff in <a
href="https://github.com/Nullus157/async-compression/compare/async-compression-v0.4.30...async-compression-v0.4.31">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-compression&package-manager=cargo&previous-version=0.4.30&new-version=0.4.31)](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-09-25 19:23:13 +00:00
dependabot[bot]
0b97404007
build(deps): bump aws-lc-rs from 1.14.0 to 1.14.1 (#39488)
Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.14.0 to
1.14.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aws/aws-lc-rs/releases">aws-lc-rs's
releases</a>.</em></p>
<blockquote>
<h2>aws-lc-rs  v1.14.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Align aws-lc-sys v0.32.0 w/ <a
href="https://github.com/aws/aws-lc/releases">AWS-LC v1.61.2</a> by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/884">aws/aws-lc-rs#884</a>
<ul>
<li>New aarch64 SHA3 now enabled w/ build fix by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/878">aws/aws-lc-rs#878</a></li>
</ul>
</li>
<li>Impl of common traits for ParsedPublicKey by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/879">aws/aws-lc-rs#879</a></li>
<li><code>impl AsDer&lt;PublicKeyX509Der&lt;'static&gt;&gt; for
ParsedPublicKey</code> by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/885">aws/aws-lc-rs#885</a></li>
</ul>
<h3>Issues Being Resolved</h3>
<ul>
<li>&quot;Cross&quot; cross compiler fails in GitHub action building
aws-lc-sys for aarch64-unknown-linux-gnu (ARMv8) -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/889">#889</a></li>
<li>iOS Simulator build fails: 'arm64-apple-ios-sim' target invalid --
<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/761">#761</a></li>
<li>Add way to pre-parse signature keys (i.e. turn
signature::UnparsedPublicKey to PublicKey) -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/849">#849</a></li>
</ul>
<h2>Other Merged PRs</h2>
<ul>
<li>Update to aws-lc-fips-sys v0.13.8 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/883">aws/aws-lc-rs#883</a></li>
<li>Fix MSRV CI - libloading by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/888">aws/aws-lc-rs#888</a></li>
<li>Bump version to v1.14.1 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/893">aws/aws-lc-rs#893</a></li>
<li>Fix CI - prebuilt NASM by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/886">aws/aws-lc-rs#886</a></li>
<li>Fix publish script by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/880">aws/aws-lc-rs#880</a></li>
<li>More arm64 targets in CI by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/877">aws/aws-lc-rs#877</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/aws/aws-lc-rs/compare/v1.14.0...v1.14.1">https://github.com/aws/aws-lc-rs/compare/v1.14.0...v1.14.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ee368e0689"><code>ee368e0</code></a>
Bump version to v1.14.1 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/893">#893</a>)</li>
<li><a
href="4f45d3d05e"><code>4f45d3d</code></a>
impl AsDer&lt;PublicKeyX509Der&lt;'static&gt;&gt; for ParsedPublicKey
(<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/885">#885</a>)</li>
<li><a
href="4895a7991d"><code>4895a79</code></a>
Fix MSRV CI - libloading (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/888">#888</a>)</li>
<li><a
href="d120394ad7"><code>d120394</code></a>
Align aws-lc-sys v0.32.0 w/ AWS-LC v1.61.2 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/884">#884</a>)</li>
<li><a
href="5153ad371a"><code>5153ad3</code></a>
Fix CI - prebuilt NASM (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/886">#886</a>)</li>
<li><a
href="446445428f"><code>4464454</code></a>
Update to aws-lc-fips-sys v0.13.8 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/883">#883</a>)</li>
<li><a
href="ab1ab3deee"><code>ab1ab3d</code></a>
Common traits for ParsedPublicKey (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/879">#879</a>)</li>
<li><a
href="520bb36b9e"><code>520bb36</code></a>
Fix publish script (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/880">#880</a>)</li>
<li><a
href="fcd2ba0ca8"><code>fcd2ba0</code></a>
Guard NEON+SHA3 s2n-bignum assembly (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/878">#878</a>)</li>
<li><a
href="88c7f50a7e"><code>88c7f50</code></a>
More arm64 targets in CI (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/877">#877</a>)</li>
<li>See full diff in <a
href="https://github.com/aws/aws-lc-rs/compare/v1.14.0...v1.14.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-lc-rs&package-manager=cargo&previous-version=1.14.0&new-version=1.14.1)](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-09-25 18:34:06 +00:00
dependabot[bot]
1b89e30a3f
build(deps): bump deranged from 0.5.3 to 0.5.4 (#39487)
Bumps [deranged](https://github.com/jhpratt/deranged) from 0.5.3 to
0.5.4.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/jhpratt/deranged/commits">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=deranged&package-manager=cargo&previous-version=0.5.3&new-version=0.5.4)](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-09-25 18:33:07 +00:00
dependabot[bot]
29248c9342
build(deps): bump memchr from 2.7.5 to 2.7.6 (#39485)
Bumps [memchr](https://github.com/BurntSushi/memchr) from 2.7.5 to
2.7.6.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9ba486e4ba"><code>9ba486e</code></a>
2.7.6</li>
<li><a
href="ec25b8077f"><code>ec25b80</code></a>
aarch64: fix NEON optimization on big-endian</li>
<li>See full diff in <a
href="https://github.com/BurntSushi/memchr/compare/2.7.5...2.7.6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=memchr&package-manager=cargo&previous-version=2.7.5&new-version=2.7.6)](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-09-25 18:12:00 +00:00
dependabot[bot]
db423c8e18
build(deps): bump regex from 1.11.2 to 1.11.3 (#39486)
Bumps [regex](https://github.com/rust-lang/regex) from 1.11.2 to 1.11.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's
changelog</a>.</em></p>
<blockquote>
<h1>1.11.3 (2025-09-25)</h1>
<p>This is a small patch release with an improvement in memory usage in
some
cases.</p>
<p>Improvements:</p>
<ul>
<li>[BUG <a
href="https://redirect.github.com/rust-lang/regex/issues/1297">#1297</a>](<a
href="https://redirect.github.com/rust-lang/regex/issues/1297">rust-lang/regex#1297</a>):
Improve memory usage by trimming excess memory capacity in some
spots.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ef1c2c309e"><code>ef1c2c3</code></a>
1.11.3</li>
<li><a
href="ad5cd6c602"><code>ad5cd6c</code></a>
deps: bump regex-automata</li>
<li><a
href="ee69d9ebc4"><code>ee69d9e</code></a>
changelog: 1.11.3</li>
<li><a
href="159fa3e1e0"><code>159fa3e</code></a>
regex-automata-0.4.11</li>
<li><a
href="02a62baf2a"><code>02a62ba</code></a>
automata: call <code>Vec::shrink_to_fit</code> in a few strategic
places</li>
<li><a
href="a76e0a0ef0"><code>a76e0a0</code></a>
cargo: exclude <code>tests/fuzz</code> from the package</li>
<li><a
href="19172cc2de"><code>19172cc</code></a>
style: inline formatting arguments</li>
<li><a
href="2695e29200"><code>2695e29</code></a>
ci: fix cross testing</li>
<li>See full diff in <a
href="https://github.com/rust-lang/regex/compare/1.11.2...1.11.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=regex&package-manager=cargo&previous-version=1.11.2&new-version=1.11.3)](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-09-25 18:06:30 +00:00
Oriol Brufau
7a3a28c7f1
layout: Correctly handle margins in sticky positioning (#39393)
This fixes the logic that computes sticky offset bounds in order to
correctly take margins into account.

Testing: One test passes
Fixes: #39389

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-25 16:27:10 +00:00
Narfinger
e3e2dcb5a2
Allow hyper_serde to only depend on serde_core for potentially faster compile times. (#39467)
Serde_core was released which has all the traits and allows some crates
to have parallel compile times.
More information can be found here:
https://github.com/serde-rs/serde/tree/master/serde_core
serde_bytes already depends on on serde_core. Additionally added serde
and serde_core to dependabot group.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>

Testing: Compilation is the test.

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-25 15:54:21 +00:00
Narfinger
a4c8ffe753
Script: Change script/dom/{bluetooth,canvas,html} to not rely on Deref<str> for DOMString (#39480)
This is part of the future work of implementing LazyDOMString as
outlined in https://github.com/servo/servo/issues/39479.

We use str() method or direct implementations on DOMString for these
methods. We also change some types.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>


Testing: This is essentially just renaming a method and a type and
should not change functionality.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-25 15:53:21 +00:00
Narfinger
1e471b9b41
Script: Change the rest of script to not rely on Deref<str> for DOMString (#39481)
This is part of the future work of implementing LazyDOMString as
outlined in issue #39479.

We use str() method or direct implementations on DOMString for these
methods. We also change some types.
This is independent of https://github.com/servo/servo/pull/39480

Signed-off-by: Narfinger Narfinger@users.noreply.github.com

Testing: This is essentially just renaming a method and a type and
should not change functionality.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-25 12:27:42 +00:00
Rodion Borovyk
9713bb9e1b
script: Add message to NotFoundError (#39394)
Adding an optional message to be attached to a NotFoundError.

Testing: Just a refactor
Part of #39053

---------

Signed-off-by: Rodion Borovyk <rodion.borovyk@gmail.com>
2025-09-25 12:16:50 +00:00
Martin Robinson
ffdb7d3663
script: Chain up keyboard scrolling to parent <iframe>s (#39469)
When an `<iframe>` cannot scroll because the size of the frame is
greater than or
equal to the size of page contents, chain up the keyboard scroll
operation to the parent frame.

Testing: A new Servo-only WPT tests is added, though needs to be
manually
run with `--product servodriver`.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Delan Azabani <dazabani@igalia.com>
2025-09-25 11:16:41 +00:00
Gae24
75e32ba5a4
script: implement ClipboardItem getType and supports (#39296)
Implement ClipboardItem's getType and supports

Testing: covered by existing tests

---------

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
2025-09-25 08:05:01 +00:00
Oriol Brufau
454d6052b4
layout: Avoid fixed table layout when inline-size is max-content (#39474)
This undoes #35882 according to the last CSSWG resolution, since this is
required by web compat.

Testing: Modifying the relevant test

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-24 18:21:04 +00:00
Martin Robinson
e4f3705494
servoshell: Scale WebDriver mouse button coordinates by HiDPI scale factor (#39472)
Mouse button events are sent in CSSPixel coordinates, but these need to
so they need to converted into device coordinates when creating an input
event for them. This isn't an issue for automated test because they
always use a scale factor of 1. This is a problem when running
interactively and not in headless mode.

Testing: This isn't really testable in an automated way, but is very
obviously
causes tests to pass when run with WebDriver and without headless mode.
Fixes: Part of #38087.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-24 17:06:32 +00:00
Kingsley Yung
c15495b3e7
script: Refactoring of algorithm normalization in SubtleCrypto (#39431)
In our current implementation, we have multiple functions such as
`normalize_algoirthm_for_encrypt_or_decrypt` and
`normalize_algorithm_for_sign_or_verify` to normalize an algorithm, and
each of them works slightly differently. However, the spec defines a
single normalization procedure to handle all normalization.

This patch tries to consolidate our functions into a single
spec-compliant normalization function named `normalize_algorithm`.

The refactoring involves many existing code, so this patch only
introduces the new infrastructure without touching the existing. When
this patch gets approved and merged, we can then start migrating the
existing to the new infrastructure. (Note that SHA's digestion and
AES_CTR's encryption are also copied to the new infrastructure as
demonstration.)

More details about the refactoring can be found in the comment:
https://github.com/servo/servo/issues/39368#issuecomment-3316943206

Testing: The new code is not in used right now. No test is needed.
Fixes: Part of #39368

---------

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>
2025-09-24 17:05:34 +00:00
Simon Wülker
2ccaf86ff6
Invalidate iterator over elements of a XPathResult when the document changes (#39411)
Also includes a fix to not throw a type error in
`XPathResult.invalidIteratorState`.

Testing: Includes a new web platform test
Part of https://github.com/servo/servo/issues/34527

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-09-24 16:39:38 +00:00
Kingsley Yung
9d7b438d6b
script: Enable crypto task source at task manager (#39453)
The Web Cryptography API has the "crypto task source"
(https://w3c.github.io/webcrypto/#dfn-crypto-task-source-0) to queue
tasks to resolve or reject promises created in response to calls to
methods of `SubtleCrypto`.

This patch enables this task source at the script task manager, and
queue tasks on this task source from existing steps.

A few WPT error expectations are also added to WPT meta. The related
cryptographic algorithms have not yet implemented, so the errors are
expected. I don't know why WPT test did not capture them before.

Testing: Existing tests suffice.

---------

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>
2025-09-24 16:21:03 +00:00
webbeef
da221d4045
constellation: Store pending viewport changes (#39447)
It is possible for viewport changes to be received before the
constellation adds a browsing context to its managed set when
navigating. When that happens, the viewport change is ignored, and eg.
the hidpi will keep the default 1.0 value.
On later page navigation, this value is not updated and leads to
incorrect display zooming. The initial page load is fine in the current
embedders because they update the compositor and webview renderer even
if the constellation is not fully ready.

Testing: Testing is difficult because it's device dependent, but I
reproduce 100% of the time running winit_minimal on a Pinephone Pro.

Signed-off-by: webbeef <me@webbeef.org>
2025-09-24 15:31:13 +00:00
Andrei Volykhin
f91dc33350
html: Add the reflected 'sizes' IDL attribute for <image> (#39466)
Add the reflected 'sizes' IDL attribute for <image> element's DOM
interface which defines image sizes for different page layouts.

See https://html.spec.whatwg.org/multipage/#dom-img-sizes

Testing: Improvements in the following tests
- custom-elements/reactions/customized-builtins/HTMLImageElement.html
- html/dom/idlharness.https.html
-
html/semantics/embedded-content/the-img-element/relevant-mutations.html

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-09-24 09:29:44 +00:00
Simon Wülker
72555de341
Never disconnect shadow roots from their hosts (#39459)
Regular shadow roots can never be detached once they are created.
However we were specifically detaching shadow roots from media elements
when they were disconnected. This is actually one of the very few
aspects of shadow roots that predate the implementation work I did
earlier this year.

I'm not sure why we ever did this. Maybe its for efficiency reasons,
because keeping the shadow tree around is not necessary when the media
element is not connected. But I can't imagine this yields any benefits,
especially since you would have to reconstruct the shadow tree when the
media element is re-connected (as is the case in the crash we observe).

For simplicities sake, I have completely removed this functionality.
Doing so ends up simplifying the code quite a bit.

Testing: This change adds a new crashtest
Fixes https://github.com/servo/servo/issues/36722

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-09-24 08:04:56 +00:00
Josh Matthews
0348234a28
Ensure test_multiprocess_preference_observer waits for reload to complete. (#39465)
The test could intermittently fail if the second evaluate_javascript()
command was received in the script thread before the reloaded page
actually existed. By serializing the steps so that the page is
completely loaded after the reload command is issued, we avoid this
race.

Testing: Locally reproduced, could not reproduce after the changes.
Fixes: #38920

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-09-24 07:19:32 +00:00
Wu Yuwei
bb70c35a96
WebGPU: expose GPUObjectBase to worker (#39463)
Label attribute in several WebGPU object should be available to worker
as well.
[Firefox](https://searchfox.org/firefox-main/source/dom/webidl/WebGPU.webidl#10)
doesn't limit it to window either.

Testing: CTS [try
run](https://github.com/wusyong/servo/actions/runs/17942843000) from my
fork

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>
2025-09-24 04:10:56 +00:00
dependabot[bot]
afd061e9b3
build(deps): bump libc from 0.2.175 to 0.2.176 (#39462)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.175 to 0.2.176.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/libc/releases">libc's
releases</a>.</em></p>
<blockquote>
<h2>0.2.176</h2>
<h3>Support</h3>
<ul>
<li>The default FreeBSD version has been raised from 11 to 12. This
matches <code>rustc</code> since 1.78. (<a
href="https://redirect.github.com/rust-lang/libc/pull/2406">#2406</a>)</li>
<li><code>Debug</code> is now always implemented, rather than being
gated behind the <code>extra_traits</code> feature. (<a
href="https://redirect.github.com/rust-lang/libc/pull/4624">#4624</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>AIX: Restore some non-POSIX functions guarded by the
<code>_KERNEL</code> macro. (<a
href="https://redirect.github.com/rust-lang/libc/pull/4607">#4607</a>)</li>
<li>FreeBSD 14: Add <code>st_fileref</code> to <code>struct stat</code>
(<a
href="https://redirect.github.com/rust-lang/libc/pull/4642">#4642</a>)</li>
<li>Haiku: Add the <code>accept4</code> POSIX call (<a
href="https://redirect.github.com/rust-lang/libc/pull/4586">#4586</a>)</li>
<li>Introduce a wrapper for representing padding (<a
href="https://redirect.github.com/rust-lang/libc/pull/4632">#4632</a>)</li>
<li>Linux: Add <code>EM_RISCV</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4659">#4659</a>)</li>
<li>Linux: Add <code>MS_NOSYMFOLLOW</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4389">#4389</a>)</li>
<li>Linux: Add <code>backtrace_symbols(_fd)</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4668">#4668</a>)</li>
<li>Linux: Add missing <code>SOL_PACKET</code> optnames (<a
href="https://redirect.github.com/rust-lang/libc/pull/4669">#4669</a>)</li>
<li>Musl s390x: Add <code>SYS_mseal</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4549">#4549</a>)</li>
<li>NuttX: Add <code>__errno</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4687">#4687</a>)</li>
<li>Redox: Add <code>dirfd</code>, <code>VDISABLE</code>, and resource
consts (<a
href="https://redirect.github.com/rust-lang/libc/pull/4660">#4660</a>)</li>
<li>Redox: Add more <code>resource.h</code>, <code>fcntl.h</code>
constants (<a
href="https://redirect.github.com/rust-lang/libc/pull/4666">#4666</a>)</li>
<li>Redox: Enable <code>strftime</code> and <code>mkostemp[s]</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4629">#4629</a>)</li>
<li>Unix, Windows: Add <code>qsort_r</code> (Unix), and
<code>qsort(_s)</code> (Windows) (<a
href="https://redirect.github.com/rust-lang/libc/pull/4677">#4677</a>)</li>
<li>Unix: Add <code>dlvsym</code> for Linux-gnu, FreeBSD, and NetBSD (<a
href="https://redirect.github.com/rust-lang/libc/pull/4671">#4671</a>)</li>
<li>Unix: Add <code>sigqueue</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4620">#4620</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>FreeBSD 15: Mark <code>kinfo_proc</code> as non-exhaustive (<a
href="https://redirect.github.com/rust-lang/libc/pull/4553">#4553</a>)</li>
<li>FreeBSD: Set the ELF symbol version for <code>readdir_r</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4694">#4694</a>)</li>
<li>Linux: Correct the config for whether or not
<code>epoll_event</code> is packed (<a
href="https://redirect.github.com/rust-lang/libc/pull/4639">#4639</a>)</li>
<li>Tests: Replace the old <code>ctest</code> with the much more
reliable new implementation (<a
href="https://redirect.github.com/rust-lang/libc/pull/4655">#4655</a>
and many related PRs)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>AIX: Fix the type of the 4th arguement of <code>getgrnam_r</code>
([#4656](<a
href="https://redirect.github.com/rust-lang/libc/pull/4656">rust-lang/libc#4656</a></li>
<li>FreeBSD: Limit <code>P_IDLEPROC</code> to FreeBSD 15 (<a
href="https://redirect.github.com/rust-lang/libc/pull/4640">#4640</a>)</li>
<li>FreeBSD: Limit <code>mcontext_t::mc_tlsbase</code> to FreeBSD 15 (<a
href="https://redirect.github.com/rust-lang/libc/pull/464">#4640</a>)</li>
<li>FreeBSD: Update gating of <code>mcontext_t.mc_tlsbase</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4703">#4703</a>)</li>
<li>Musl s390x: Correct the definition of <code>statfs[64]</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4549">#4549</a>)</li>
<li>Musl s390x: Make <code>fpreg_t</code> a union (<a
href="https://redirect.github.com/rust-lang/libc/pull/4549">#4549</a>)</li>
<li>Redox: Fix the types of <code>gid_t</code> and <code>uid_t</code>
(<a
href="https://redirect.github.com/rust-lang/libc/pull/4689">#4689</a>)</li>
<li>Redox: Fix the value of <code>MAP_FIXED</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4684">#4684</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>Apple: Correct the <code>deprecated</code> attribute for
<code>iconv</code> (<a
href="a97a0b53fb"><code>a97a0b53</code></a>)</li>
<li>FreeBSD: Deprecate <code>TIOCMGDTRWAIT</code> and
<code>TIOCMSDTRWAIT</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4685">#4685</a>)</li>
</ul>
<h3>Removed</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/libc/blob/0.2.176/CHANGELOG.md">libc's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/rust-lang/libc/compare/0.2.175...0.2.176">0.2.176</a>
- 2025-09-23</h2>
<h3>Support</h3>
<ul>
<li>The default FreeBSD version has been raised from 11 to 12. This
matches <code>rustc</code> since 1.78. (<a
href="https://redirect.github.com/rust-lang/libc/pull/2406">#2406</a>)</li>
<li><code>Debug</code> is now always implemented, rather than being
gated behind the <code>extra_traits</code> feature. (<a
href="https://redirect.github.com/rust-lang/libc/pull/4624">#4624</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li>AIX: Restore some non-POSIX functions guarded by the
<code>_KERNEL</code> macro. (<a
href="https://redirect.github.com/rust-lang/libc/pull/4607">#4607</a>)</li>
<li>FreeBSD 14: Add <code>st_fileref</code> to <code>struct stat</code>
(<a
href="https://redirect.github.com/rust-lang/libc/pull/4642">#4642</a>)</li>
<li>Haiku: Add the <code>accept4</code> POSIX call (<a
href="https://redirect.github.com/rust-lang/libc/pull/4586">#4586</a>)</li>
<li>Introduce a wrapper for representing padding (<a
href="https://redirect.github.com/rust-lang/libc/pull/4632">#4632</a>)</li>
<li>Linux: Add <code>EM_RISCV</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4659">#4659</a>)</li>
<li>Linux: Add <code>MS_NOSYMFOLLOW</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4389">#4389</a>)</li>
<li>Linux: Add <code>backtrace_symbols(_fd)</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4668">#4668</a>)</li>
<li>Linux: Add missing <code>SOL_PACKET</code> optnames (<a
href="https://redirect.github.com/rust-lang/libc/pull/4669">#4669</a>)</li>
<li>Musl s390x: Add <code>SYS_mseal</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4549">#4549</a>)</li>
<li>NuttX: Add <code>__errno</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4687">#4687</a>)</li>
<li>Redox: Add <code>dirfd</code>, <code>VDISABLE</code>, and resource
consts (<a
href="https://redirect.github.com/rust-lang/libc/pull/4660">#4660</a>)</li>
<li>Redox: Add more <code>resource.h</code>, <code>fcntl.h</code>
constants (<a
href="https://redirect.github.com/rust-lang/libc/pull/4666">#4666</a>)</li>
<li>Redox: Enable <code>strftime</code> and <code>mkostemp[s]</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4629">#4629</a>)</li>
<li>Unix, Windows: Add <code>qsort_r</code> (Unix), and
<code>qsort(_s)</code> (Windows) (<a
href="https://redirect.github.com/rust-lang/libc/pull/4677">#4677</a>)</li>
<li>Unix: Add <code>dlvsym</code> for Linux-gnu, FreeBSD, and NetBSD (<a
href="https://redirect.github.com/rust-lang/libc/pull/4671">#4671</a>)</li>
<li>Unix: Add <code>sigqueue</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4620">#4620</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>FreeBSD 15: Mark <code>kinfo_proc</code> as non-exhaustive (<a
href="https://redirect.github.com/rust-lang/libc/pull/4553">#4553</a>)</li>
<li>FreeBSD: Set the ELF symbol version for <code>readdir_r</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4694">#4694</a>)</li>
<li>Linux: Correct the config for whether or not
<code>epoll_event</code> is packed (<a
href="https://redirect.github.com/rust-lang/libc/pull/4639">#4639</a>)</li>
<li>Tests: Replace the old <code>ctest</code> with the much more
reliable new implementation (<a
href="https://redirect.github.com/rust-lang/libc/pull/4655">#4655</a>
and many related PRs)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>AIX: Fix the type of the 4th arguement of <code>getgrnam_r</code>
([#4656](<a
href="https://redirect.github.com/rust-lang/libc/pull/4656">rust-lang/libc#4656</a></li>
<li>FreeBSD: Limit <code>P_IDLEPROC</code> to FreeBSD 15 (<a
href="https://redirect.github.com/rust-lang/libc/pull/4640">#4640</a>)</li>
<li>FreeBSD: Limit <code>mcontext_t::mc_tlsbase</code> to FreeBSD 15 (<a
href="https://redirect.github.com/rust-lang/libc/pull/464">#4640</a>)</li>
<li>FreeBSD: Update gating of <code>mcontext_t.mc_tlsbase</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4703">#4703</a>)</li>
<li>Musl s390x: Correct the definition of <code>statfs[64]</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4549">#4549</a>)</li>
<li>Musl s390x: Make <code>fpreg_t</code> a union (<a
href="https://redirect.github.com/rust-lang/libc/pull/4549">#4549</a>)</li>
<li>Redox: Fix the types of <code>gid_t</code> and <code>uid_t</code>
(<a
href="https://redirect.github.com/rust-lang/libc/pull/4689">#4689</a>)</li>
<li>Redox: Fix the value of <code>MAP_FIXED</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4684">#4684</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li>Apple: Correct the <code>deprecated</code> attribute for
<code>iconv</code> (<a
href="a97a0b53fb"><code>a97a0b53</code></a>)</li>
<li>FreeBSD: Deprecate <code>TIOCMGDTRWAIT</code> and
<code>TIOCMSDTRWAIT</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/4685">#4685</a>)</li>
</ul>
<h3>Removed</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="15e1389ae8"><code>15e1389</code></a>
chore: Release libc 0.2.176</li>
<li><a
href="6ca5571adf"><code>6ca5571</code></a>
Warn on missing debug implementations</li>
<li><a
href="e653c54b2d"><code>e653c54</code></a>
cleanup: Remove the <code>const_fn!</code> macro</li>
<li><a
href="e447441a8c"><code>e447441</code></a>
cleanup: Simplify the syntax of <code>f!</code> and similar macros</li>
<li><a
href="776a61416e"><code>776a614</code></a>
cleanup: Use <code>target_vendor = &quot;apple&quot;</code></li>
<li><a
href="d32f60d670"><code>d32f60d</code></a>
doc: Remove an unneeded link to the old ctest repo</li>
<li><a
href="8c8584b7b1"><code>8c8584b</code></a>
Resolve a ctest FIXME regarding use of <code>size_of</code> in array
lengths</li>
<li><a
href="09c8436f5a"><code>09c8436</code></a>
Remove the <code>libc_ctest</code> feature</li>
<li><a
href="fd3ffe46a5"><code>fd3ffe4</code></a>
Remove <code>libc_const_extern_fn</code></li>
<li><a
href="9b77a49ecd"><code>9b77a49</code></a>
Add a note about why <code>Padding</code> requires <code>T:
Copy</code></li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/libc/compare/0.2.175...0.2.176">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libc&package-manager=cargo&previous-version=0.2.175&new-version=0.2.176)](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-09-24 01:26:09 +00:00
dependabot[bot]
e6cb31bdab
build(deps): bump imgref from 1.11.0 to 1.12.0 (#39461)
Bumps [imgref](https://github.com/kornelski/imgref) from 1.11.0 to
1.12.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c987cc5333"><code>c987cc5</code></a>
Bump</li>
<li><a
href="03fd698f3e"><code>03fd698</code></a>
Clippy</li>
<li><a
href="5dcca7b33d"><code>5dcca7b</code></a>
Dedicated error for row indexing</li>
<li><a
href="94726c8afb"><code>94726c8</code></a>
Don't require Copy for pixels_mut</li>
<li><a
href="dd315f436d"><code>dd315f4</code></a>
Merge pull request <a
href="https://redirect.github.com/kornelski/imgref/issues/28">#28</a>
from kpreid/mut-sub</li>
<li><a
href="dac9922dcb"><code>dac9922</code></a>
Add <code>ImgRefMut::into_sub_image_mut()</code>.</li>
<li>See full diff in <a
href="https://github.com/kornelski/imgref/compare/v1.11.0...v1.12.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=imgref&package-manager=cargo&previous-version=1.11.0&new-version=1.12.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-09-24 01:02:52 +00:00
dependabot[bot]
73bb6433cc
build(deps): bump the servo-media-related group with 12 updates (#39460)
Bumps the servo-media-related group with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [servo-media](https://github.com/servo/media) | ``de1ebef`` |
``9186e6a`` |
| [servo-media-dummy](https://github.com/servo/media) | ``de1ebef`` |
``9186e6a`` |
| [servo-media-gstreamer](https://github.com/servo/media) | ``de1ebef``
| ``9186e6a`` |
| servo-media-audio | ``de1ebef`` | ``9186e6a`` |
| servo-media-derive | ``de1ebef`` | ``9186e6a`` |
| servo-media-gstreamer-render | ``de1ebef`` | ``9186e6a`` |
| servo-media-gstreamer-render-android | ``de1ebef`` | ``9186e6a`` |
| servo-media-gstreamer-render-unix | ``de1ebef`` | ``9186e6a`` |
| servo-media-player | ``de1ebef`` | ``9186e6a`` |
| servo-media-streams | ``de1ebef`` | ``9186e6a`` |
| servo-media-traits | ``de1ebef`` | ``9186e6a`` |
| servo-media-webrtc | ``de1ebef`` | ``9186e6a`` |

Updates `servo-media` from `de1ebef` to `9186e6a`
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9186e6abf4"><code>9186e6a</code></a>
Fix a couple clippy warnings (<a
href="https://redirect.github.com/servo/media/issues/449">#449</a>)</li>
<li>See full diff in <a
href="de1ebef583...9186e6abf4">compare
view</a></li>
</ul>
</details>
<br />

Updates `servo-media-dummy` from `de1ebef` to `9186e6a`
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9186e6abf4"><code>9186e6a</code></a>
Fix a couple clippy warnings (<a
href="https://redirect.github.com/servo/media/issues/449">#449</a>)</li>
<li>See full diff in <a
href="de1ebef583...9186e6abf4">compare
view</a></li>
</ul>
</details>
<br />

Updates `servo-media-gstreamer` from `de1ebef` to `9186e6a`
<details>
<summary>Commits</summary>
<ul>
<li><a
href="9186e6abf4"><code>9186e6a</code></a>
Fix a couple clippy warnings (<a
href="https://redirect.github.com/servo/media/issues/449">#449</a>)</li>
<li>See full diff in <a
href="de1ebef583...9186e6abf4">compare
view</a></li>
</ul>
</details>
<br />

Updates `servo-media-audio` from `de1ebef` to `9186e6a`

Updates `servo-media-derive` from `de1ebef` to `9186e6a`

Updates `servo-media-gstreamer-render` from `de1ebef` to `9186e6a`

Updates `servo-media-gstreamer-render-android` from `de1ebef` to
`9186e6a`

Updates `servo-media-gstreamer-render-unix` from `de1ebef` to `9186e6a`

Updates `servo-media-player` from `de1ebef` to `9186e6a`

Updates `servo-media-streams` from `de1ebef` to `9186e6a`

Updates `servo-media-traits` from `de1ebef` to `9186e6a`

Updates `servo-media-webrtc` from `de1ebef` to `9186e6a`


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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-24 01:00:27 +00:00
Simon Wülker
206dcff080
Assert that style element has an owner in parse_own_css (#39458)
The existing `assert!(node.is_connected())` is wrong. What it *wants* to
assert is that the style element has an owner, which is either a
Document or a ShadowRoot that the element is a descendant of. However,
if the element is descendant of a ShadowRoot which is itself not
connected to a document then the assertion would fail.

Instead, we use `node.is_in_a_document_tree() ||
node.is_in_a_shadow_tree()`, which more accurately reflects the intent.

Testing: This change adds the test case from
https://github.com/servo/servo/issues/37781 as a crashtest
Fixes https://github.com/servo/servo/issues/39457
Fixes https://github.com/servo/servo/issues/37781

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-09-23 23:00:11 +00:00
Simon Wülker
dd8e4f231c
script: Remove dead code in xpath implementation (#39454)
Testing: Verified by the fact that the code still compiles, and existing
web platform tests of course
Part of https://github.com/servo/servo/issues/34527

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-09-23 21:58:17 +00:00
shuppy
ac8895c3ae
script: Move keyboard scrolling to script (#39371)
Instead of having every single embedder implement keyboard scrolling,
handle it in script in the default key event handler. This allows
properly targeting the scroll events to their scroll containers as well
as appropriately sizing "page up" and "page down" scroll deltas.

This change means that when you use the keyboard to scroll, the focused
or most recently clicked `<iframe>` or overflow scroll container is
scrolled, rather than the main frame.

In addition, when a particular scroll frame is larger than its content
in the axis of the scroll, the scrolling operation is chained to
the parent (as in other browsers). One exception is for `<iframe>`s,
which will be implemented in a followup change.

Testing: automated tests runnable locally with `mach test-wpt --product
servodriver`

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-09-23 20:35:08 +00:00
Andrei Volykhin
99fbd36b5d
html: Properly count <image>/<source> insertion/removal steps as the relevant mutations (#39452)
Follow the HTML specification and take into account that the HTML
`<image>/<source>` element inserting/removal steps should only be
counted as relevant mutations for `<image>` element if the parent of the
inclusive ancestor that was inserted/removed is the parent `<picture>`
element.

See <https://html.spec.whatwg.org/multipage/#relevant-mutations>.

Testing: Improvements in the following tests
-
html/semantics/embedded-content/the-img-element/relevant-mutations.html

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-09-23 12:40:03 +00:00
Martin Robinson
c63311af02
script: Remove absolute positioning workaround from scrollIntoView implementation (#39441)
This isn't needed as the border box query already takes into account the
containing block chain. Instead, consistently calculate the new
scroll position for a scroller relative to its current scroll offset.

In addition, fix a small bug where the border of a scroll container was
considered part of scrollport.

Testing: A new WPT test is added.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-09-23 10:10:00 +00:00
Oriol Brufau
16d2e030eb
layout: Clamp sticky positioning offset bounds by zero (#39443)
Sticky positioning tries to keep an element visible within the nearest
scrollport. However, the element can't be offset to go beyond its
containing block. We implement this as offset bounds.

The problem was that, if the element would already be overflowing its
containing block before applying the sticky positioning, then we were
forcing it to move inside the containing block. That was wrong, and is
solved by flooring or ceiling the offset bounds by zero.

Testing: Adding new tests

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-09-23 07:22:10 +00:00
Martin Robinson
b73538a676
servoshell: Move touch event simulation to servoshell (#39352)
This change removes the `DebugOption` (`-Z`) for touch event simulation
and moves the implementation of the feature to servoshell. The resaoning
for this is:

 - This is really a servoshell feature and can be implemented on top of
   the API. This moves more code out of the already too-complicated
   renderer.
 - I would like to consolidate `DebugOptions` into a `ServoLogOptions`
   to collect all options for configuring Servo logging. This requires
   moving away all of the non-logging options.
 - Eventually touch event simulation will be able to reuse the fling
   implementation from servoshell as we are actually simulating touch
   events sent to the `WebView`.

Testing: This changes a conditional feature that's used for manual
debugging.
It is difficult to write tests for this as there are no servoshell tests
that
verify input handling.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-23 07:00:11 +00:00
Euclid Ye
70d54e86bd
deps: Update xattr from 1.5.1 to 1.6.1 & cc from 1.2.37 to 1.2.38 (#39449)
Dependabot is broken somehow, and fail to recreate the PRs with command
given.

Fixes: #39446
Fixes: #39426

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-23 02:57:39 +00:00
dependabot[bot]
1728ad5b01
build(deps): bump libloading from 0.8.8 to 0.8.9 (#39444)
Bumps [libloading](https://github.com/nagisa/rust_libloading) from 0.8.8
to 0.8.9.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f4ec9e702d"><code>f4ec9e7</code></a>
test: try to fix msys (<a
href="https://redirect.github.com/nagisa/rust_libloading/issues/182">#182</a>)</li>
<li><a
href="9b798ebd29"><code>9b798eb</code></a>
Prepare for 0.8.9 release</li>
<li><a
href="f5f8cb0431"><code>f5f8cb0</code></a>
Migrate from windows-targets to windows-link</li>
<li><a
href="7c04beb665"><code>7c04beb</code></a>
Bump MSRV to 1.71 for windows-link</li>
<li><a
href="559e4657ad"><code>559e465</code></a>
Format with cargo fmt</li>
<li><a
href="db358134ce"><code>db35813</code></a>
Fix elided lifetimes warning</li>
<li>See full diff in <a
href="https://github.com/nagisa/rust_libloading/compare/0.8.8...0.8.9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libloading&package-manager=cargo&previous-version=0.8.8&new-version=0.8.9)](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-09-22 22:30:44 +00:00
dependabot[bot]
4638f8a2a8
build(deps): bump serde from 1.0.225 to 1.0.226 (#39445)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.225 to
1.0.226.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/serde/releases">serde's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.226</h2>
<ul>
<li>Deduplicate variant matching logic inside generated Deserialize impl
for adjacently tagged enums (<a
href="https://redirect.github.com/serde-rs/serde/issues/2935">#2935</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1799547846"><code>1799547</code></a>
Release 1.0.226</li>
<li><a
href="2dbeefb11b"><code>2dbeefb</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2935">#2935</a>
from Mingun/dedupe-adj-enums</li>
<li><a
href="8a3c29ff19"><code>8a3c29f</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2986">#2986</a>
from dtolnay/didnotwork</li>
<li><a
href="defc24d361"><code>defc24d</code></a>
Remove &quot;did not work&quot; comment from test suite</li>
<li><a
href="2316610760"><code>2316610</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2929">#2929</a>
from Mingun/flatten-enum-tests</li>
<li><a
href="c09e2bd690"><code>c09e2bd</code></a>
Add tests for flatten unit variant in adjacently tagged (tag + content)
enums</li>
<li><a
href="fe7dcc4cd8"><code>fe7dcc4</code></a>
Test all possible orders of map entries for enum-flatten-in-struct
representa...</li>
<li><a
href="a20e66e131"><code>a20e66e</code></a>
Check serialization in
flatten::enum_::internally_tagged::unit_enum_with_unkn...</li>
<li><a
href="1c1a5d95cd"><code>1c1a5d9</code></a>
Reorder struct_ and newtype tests of adjacently_tagged enums to match
order i...</li>
<li><a
href="ee3c2372fb"><code>ee3c237</code></a>
Opt in to generate-macro-expansion when building on docs.rs</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.225...v1.0.226">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.225&new-version=1.0.226)](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-09-22 20:34:53 +00:00
lumiscosity
d0bf02d00c
Convert Android resources to lossless .webp (#39437)
Another tiny binary size win for Android! .webp assets are supported
since API level 17, and Servo is built against 33, so this shouldn't
cause issues.

Testing: Manual.

Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2025-09-22 16:00:14 +00:00
Nico Burns
9bddb432cd
codeowners: remove /layout and add /layout/taffy and /fonts for nicoburns (#39435)
This configuration more accurately reflects what I have time to commit
to reviewing.

Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-09-22 15:13:14 +00:00
Integral
466641310f
mach: Format package hash files to ensure sha256sum command compatibility (#39432)
Format the package hash files to include the package hash and filename
separated by two spaces, ensuring compatibility with the `sha256sum -c`
and `shasum -c` command.

---

Before:
```
╰─❯ sha256sum -c servo-latest.tar.gz.sha256
sha256sum: servo-latest.tar.gz.sha256: no properly formatted checksum lines found
```

After:
```
╰─❯ sha256sum -c servo-latest.tar.gz.sha256
servo-latest.tar.gz: OK
```

Signed-off-by: Integral <integral@member.fsf.org>
2025-09-22 14:39:47 +00:00
Ashwin Naren
f766b66a97
storage: Move shared functionality to base (#39419)
Part of #39418. See that PR for a full description.

Moves:
- `read_json_from_file`
- `write_json_to_file`
- `IpcSendResult`
- `IpcSend`

Renames:
- `CoreResourceThreadPool` to `ThreadPool` (shorter and more
descriptive, as we use it for more than the core resource thread now)

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2025-09-22 13:59:36 +00:00
dependabot[bot]
ba208b19cc
build(deps): bump time from 0.3.43 to 0.3.44 (#39423)
Bumps [time](https://github.com/time-rs/time) from 0.3.43 to 0.3.44.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/time-rs/time/releases">time's
releases</a>.</em></p>
<blockquote>
<h2>v0.3.44</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's
changelog</a>.</em></p>
<blockquote>
<h2>0.3.44 [2025-09-19]</h2>
<h3>Fixed</h3>
<ul>
<li>Comparisons of <code>PrimitiveDateTime</code>,
<code>UtcDateTime</code>, and <code>OffsetDateTime</code> with differing
signs (i.e.
one negative and one positive year) would return the inverse result of
what was expected. This was
introduced in v0.3.42 and has been fixed.</li>
<li>Type inference would fail due to feature unification when
<code>wasm-bindgen</code> enabled <code>serde_json</code>.
This has been fixed by explicitly specifying the type in the relevant
locations.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="04c0ef2838"><code>04c0ef2</code></a>
v0.3.44 release</li>
<li><a
href="b9420633a3"><code>b942063</code></a>
Compare datetimes with signed integers</li>
<li><a
href="dcdfbf62a9"><code>dcdfbf6</code></a>
Add explicit type to avoid inference errors</li>
<li><a
href="f20385296a"><code>f203852</code></a>
Revert &quot;Remove dependency on <code>itoa</code>&quot;</li>
<li>See full diff in <a
href="https://github.com/time-rs/time/compare/v0.3.43...v0.3.44">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.43&new-version=0.3.44)](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-09-22 12:28:08 +00:00
dependabot[bot]
9ba9a732fa
build(deps): bump rustls from 0.23.31 to 0.23.32 (#39425)
Bumps [rustls](https://github.com/rustls/rustls) from 0.23.31 to
0.23.32.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6a188a70a0"><code>6a188a7</code></a>
Take semver-compatible updates</li>
<li><a
href="5abe33e71d"><code>5abe33e</code></a>
Prepare 0.23.32</li>
<li><a
href="d3c502e0f5"><code>d3c502e</code></a>
Improve compatibility of TLS1.2 with ECDSA+SHA512</li>
<li><a
href="ef7063d21f"><code>ef7063d</code></a>
take webpki 0.103.5</li>
<li><a
href="77a01488bf"><code>77a0148</code></a>
ci-bench: RUSTSEC-2025-0057 fxhash -&gt; rustc-hash</li>
<li><a
href="1492c951b2"><code>1492c95</code></a>
Fix <code>clippy::needless_borrows_for_generic_args</code></li>
<li><a
href="e029d31522"><code>e029d31</code></a>
cargo-check-external-types: take updated nightly</li>
<li><a
href="2d03fa7bef"><code>2d03fa7</code></a>
Remove test of async-std example</li>
<li><a
href="20f548aab7"><code>20f548a</code></a>
Withdraw use of async-std in example code</li>
<li><a
href="0cb4244a9c"><code>0cb4244</code></a>
Track 1.89 lint changes</li>
<li>Additional commits viewable in <a
href="https://github.com/rustls/rustls/compare/v/0.23.31...v/0.23.32">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls&package-manager=cargo&previous-version=0.23.31&new-version=0.23.32)](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-09-22 12:15:37 +00:00
Oriol Brufau
7ae2c754c5
compositing_traits: Properly cache cumulative node transforms (#39402)
`cumulative_node_transform()` returns the cached value if present, and
otherwise calls `cumulative_node_transform_inner()` to compute it.
However, `cumulative_node_transform_inner()` was just calling itself
recursively to compute the ancestor transforms, ignoring the cache.

Therefore, this patch makes `cumulative_node_transform_inner()` call
`cumulative_node_transform()` for the parent. This requires merging
`AncestorStickyInfo` into `ScrollTreeNodeTransformationCache` in order
to cache that data too.

Testing: Not needed, no behavior change

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-22 09:52:47 +00:00
dependabot[bot]
54ba027db6
build(deps): bump gilrs-core from 0.6.4 to 0.6.5 (#39424)
Bumps [gilrs-core](https://gitlab.com/gilrs-project/gilrs) from 0.6.4 to
0.6.5.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e07b360284"><code>e07b360</code></a>
Prepare for gilrs-core 0.6.5</li>
<li><a
href="4b074c18cf"><code>4b074c1</code></a>
Update nix</li>
<li><a
href="583ad9b658"><code>583ad9b</code></a>
core: Expand <code>windows</code> version range to include
<code>0.62</code> release</li>
<li><a
href="f165d80b62"><code>f165d80</code></a>
Fix new Jitter comment</li>
<li><a
href="9490be58ad"><code>9490be5</code></a>
refactor: fixed some inconsistencies</li>
<li><a
href="e27689dda8"><code>e27689d</code></a>
add fallback warning for no uuid found</li>
<li>See full diff in <a
href="https://gitlab.com/gilrs-project/gilrs/compare/gilrs-core-v0.6.4...gilrs-core-v0.6.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gilrs-core&package-manager=cargo&previous-version=0.6.4&new-version=0.6.5)](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>
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-22 01:43:03 +00:00
dependabot[bot]
e10465d788
build(deps): bump anyhow from 1.0.99 to 1.0.100 (#39428)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.99 to
1.0.100.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/anyhow/releases">anyhow's
releases</a>.</em></p>
<blockquote>
<h2>1.0.100</h2>
<ul>
<li>Teach clippy to lint formatting arguments in <code>bail!</code>,
<code>ensure!</code>, <code>anyhow!</code> (<a
href="https://redirect.github.com/dtolnay/anyhow/issues/426">#426</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="18c2598afa"><code>18c2598</code></a>
Release 1.0.100</li>
<li><a
href="f2719888cb"><code>f271988</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/426">#426</a>
from dtolnay/clippyfmt</li>
<li><a
href="52f2115a1f"><code>52f2115</code></a>
Mark macros with clippy::format_args</li>
<li><a
href="da5fd9d5a3"><code>da5fd9d</code></a>
Raise minimum tested compiler to rust 1.76</li>
<li><a
href="211e4092b7"><code>211e409</code></a>
Opt in to generate-macro-expansion when building on docs.rs</li>
<li><a
href="b48fc02c32"><code>b48fc02</code></a>
Enforce trybuild &gt;= 1.0.108</li>
<li><a
href="d5f59fbd45"><code>d5f59fb</code></a>
Update ui test suite to nightly-2025-09-07</li>
<li><a
href="238415d25b"><code>238415d</code></a>
Update ui test suite to nightly-2025-08-24</li>
<li><a
href="3bab0709a3"><code>3bab070</code></a>
Update actions/checkout@v4 -&gt; v5</li>
<li><a
href="42492546e3"><code>4249254</code></a>
Order cap-lints flag in the same order as thiserror build script</li>
<li>See full diff in <a
href="https://github.com/dtolnay/anyhow/compare/1.0.99...1.0.100">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.99&new-version=1.0.100)](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-09-22 01:35:26 +00:00