Commit graph

52772 commits

Author SHA1 Message Date
dependabot[bot]
da64921877
build(deps): bump errno from 0.3.13 to 0.3.14 (#39250)
Bumps [errno](https://github.com/lambda-fairy/rust-errno) from 0.3.13 to
0.3.14.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/lambda-fairy/rust-errno/blob/main/CHANGELOG.md">errno's
changelog</a>.</em></p>
<blockquote>
<h1>[0.3.14] - 2025-09-08</h1>
<ul>
<li>Update windows-sys requirement from &gt;=0.52, &lt;=0.59 to
&gt;=0.52, &lt;0.62
<a
href="https://redirect.github.com/lambda-fairy/rust-errno/pull/117">#117</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/lambda-fairy/rust-errno/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=errno&package-manager=cargo&previous-version=0.3.13&new-version=0.3.14)](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-11 01:24:43 +00:00
dependabot[bot]
4670136a12
build(deps): bump unicode-ident from 1.0.18 to 1.0.19 (#39249)
Bumps [unicode-ident](https://github.com/dtolnay/unicode-ident) from
1.0.18 to 1.0.19.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/unicode-ident/releases">unicode-ident's
releases</a>.</em></p>
<blockquote>
<h2>1.0.19</h2>
<ul>
<li>Update to Unicode 17.0.0 (<a
href="https://redirect.github.com/dtolnay/unicode-ident/issues/37">#37</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="dc018bf1ca"><code>dc018bf</code></a>
Release 1.0.19</li>
<li><a
href="9dce213946"><code>9dce213</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/unicode-ident/issues/37">#37</a>
from dtolnay/unicode17.0.0</li>
<li><a
href="17da3fe9b7"><code>17da3fe</code></a>
Force latest=17.0.0 in CI</li>
<li><a
href="acbaf6a39e"><code>acbaf6a</code></a>
Update to Unicode 17.0.0</li>
<li><a
href="e4cceeded0"><code>e4cceed</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/unicode-ident/issues/36">#36</a>
from dtolnay/ucdgenerate</li>
<li><a
href="f871463773"><code>f871463</code></a>
Regenerate comparison tests with ucd-generate 0.3.1</li>
<li><a
href="ff8590b968"><code>ff8590b</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/unicode-ident/issues/35">#35</a>
from dtolnay/latest</li>
<li><a
href="6a0743712f"><code>6a07437</code></a>
Update UCD.zip download URL</li>
<li><a
href="83d3bdfe5d"><code>83d3bdf</code></a>
Update actions/checkout@v4 -&gt; v5</li>
<li><a
href="be1614805e"><code>be16148</code></a>
Make .gitattributes match only paths from repo root</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/unicode-ident/compare/1.0.18...1.0.19">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=unicode-ident&package-manager=cargo&previous-version=1.0.18&new-version=1.0.19)](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-11 01:10:22 +00:00
dependabot[bot]
ac6898efec
build(deps): bump color from 0.3.1 to 0.3.2 (#39248)
Bumps [color](https://github.com/linebender/color) from 0.3.1 to 0.3.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/linebender/color/releases">color's
releases</a>.</em></p>
<blockquote>
<h2>v0.3.2</h2>
<p><strong><a href="https://crates.io/crates/color/0.3.2">Crates.io</a>
| <a href="https://docs.rs/color/0.3.2/">Docs</a></strong></p>
<p>This release has an <a
href="README.md#minimum-supported-rust-version-msrv">MSRV</a> of
1.82.</p>
<h3>Added</h3>
<ul>
<li>
<p>Add <code>interpolate_unpremultiplied</code> and
<code>gradient_unpremultiplied</code> for interpolating in
unpremultiplied (straight) alpha space.</p>
<p>While such interpolation will often give perceptually undesired
results, this allows using Color to implement rendering features where
such interpolation is specified, like in the <a
href="https://html.spec.whatwg.org/commit-snapshots/a93c6fa9fa95e31f1caa05f2f8abc650669df7c3/#interpolation">HTML
Canvas element</a>. (<a
href="https://redirect.github.com/linebender/color/issues/185">#185</a>
by <a href="https://github.com/sagudev"><code>@​sagudev</code></a>)</p>
</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Specify XYZ-D65 color space conversion matrices as exact rationals.
(<a
href="https://redirect.github.com/linebender/color/issues/171">#171</a>
by <a href="https://github.com/tomcur"><code>@​tomcur</code></a>)</li>
<li>Improve documentation of <code>AlphaColor</code> vs
<code>PremulColor</code> to clarify alpha premultiplication, and make
both types more discoverable from each other. (<a
href="https://redirect.github.com/linebender/color/issues/190">#190</a>
by <a href="https://github.com/tomcur"><code>@​tomcur</code></a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/ProgramCrafter"><code>@​ProgramCrafter</code></a>
made their first contribution in <a
href="https://redirect.github.com/linebender/color/pull/186">linebender/color#186</a></li>
<li><a href="https://github.com/sagudev"><code>@​sagudev</code></a> made
their first contribution in <a
href="https://redirect.github.com/linebender/color/pull/191">linebender/color#191</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/linebender/color/compare/v0.3.1...v0.3.2">https://github.com/linebender/color/compare/v0.3.1...v0.3.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/linebender/color/blob/main/CHANGELOG.md">color's
changelog</a>.</em></p>
<blockquote>
<h2>[0.3.2][] (2025-09-10)</h2>
<p>This release has an [MSRV][] of 1.82.</p>
<h3>Added</h3>
<ul>
<li>
<p>Add <code>interpolate_unpremultiplied</code> and
<code>gradient_unpremultiplied</code> for interpolating in
unpremultiplied (straight) alpha space.</p>
<p>While such interpolation will often give perceptually undesired
results, this allows using Color to implement rendering features where
such interpolation is specified, like in the <a
href="https://html.spec.whatwg.org/commit-snapshots/a93c6fa9fa95e31f1caa05f2f8abc650669df7c3/#interpolation">HTML
Canvas element</a>. (<a
href="https://redirect.github.com/linebender/color/issues/185">#185</a>[]
by [<a
href="https://github.com/sagudev"><code>@​sagudev</code></a>][])</p>
</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Specify XYZ-D65 color space conversion matrices as exact rationals.
(<a
href="https://redirect.github.com/linebender/color/issues/171">#171</a>[]
by [<a
href="https://github.com/tomcur"><code>@​tomcur</code></a>][])</li>
<li>Improve documentation of <code>AlphaColor</code> vs
<code>PremulColor</code> to clarify alpha premultiplication, and make
both types more discoverable from each other. (<a
href="https://redirect.github.com/linebender/color/issues/190">#190</a>[]
by [<a
href="https://github.com/tomcur"><code>@​tomcur</code></a>][])</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="82ffed8fa7"><code>82ffed8</code></a>
Release 0.3.2 (<a
href="https://redirect.github.com/linebender/color/issues/198">#198</a>)</li>
<li><a
href="b92ec29677"><code>b92ec29</code></a>
Bump dependencies for release (<a
href="https://redirect.github.com/linebender/color/issues/194">#194</a>)</li>
<li><a
href="d529b4fd47"><code>d529b4f</code></a>
Use stronger wording in unpremultiplied interpolation changelog entry
(<a
href="https://redirect.github.com/linebender/color/issues/195">#195</a>)</li>
<li><a
href="36f7e0f5eb"><code>36f7e0f</code></a>
(Temporarily) disable Miri's float randomization (<a
href="https://redirect.github.com/linebender/color/issues/196">#196</a>)</li>
<li><a
href="6a61376761"><code>6a61376</code></a>
Bump dependencies for release (<a
href="https://redirect.github.com/linebender/color/issues/193">#193</a>)</li>
<li><a
href="4c16a60ba6"><code>4c16a60</code></a>
Better document <code>AlphaColor</code> vs <code>PremulColor</code>
premultiplication (<a
href="https://redirect.github.com/linebender/color/issues/190">#190</a>)</li>
<li><a
href="c52903f2f7"><code>c52903f</code></a>
Specify XYZ-D65&lt;-&gt;sRGB conversion as exact rationals (<a
href="https://redirect.github.com/linebender/color/issues/171">#171</a>)</li>
<li><a
href="e630049db7"><code>e630049</code></a>
More <code>to_degrees</code> (<a
href="https://redirect.github.com/linebender/color/issues/188">#188</a>)</li>
<li><a
href="1b9af98a37"><code>1b9af98</code></a>
Support interpolating in unpremultiplied (straight) alpha space (<a
href="https://redirect.github.com/linebender/color/issues/191">#191</a>)</li>
<li><a
href="aee3b0db63"><code>aee3b0d</code></a>
Test interpolation of transparent colors (<a
href="https://redirect.github.com/linebender/color/issues/187">#187</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/linebender/color/compare/v0.3.1...v0.3.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=color&package-manager=cargo&previous-version=0.3.1&new-version=0.3.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-09-11 01:07:32 +00:00
webbeef
bc496b08e7
Enable the zstd decoder (#36530)
Uses the `zstd` support from `async-compression` to support zstd
Content-Encoding.

Testing: Covered by wpt tests.

Signed-off-by: webbeef <me@webbeef.org>
2025-09-10 14:58:45 +00:00
Narfinger
84465e7768
Removed FnvHash and transformed the rest to FxHashmap (#39233)
This should be the final PR for the Hash Function series that is
trivial.

Of note: I decided to transform `HashMapTracedValues<Atom,..>` to use
FxBuildHasher. This is likely not going to improve performance as Atom's
already have a unique u32 that is used as the Hash but it safes a few
bytes for the RandomState that is normally in the HashMap.

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

Testing: Hash function changes should not change functionality, we
slightly decrease the size and unit tests still work.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-10 13:34:54 +00:00
Euclid Ye
726b456120
webdriver: Focus WebView asynchronously (#39241)
#38160 added a webdriver-specific API to support waiting on focus
operations to complete. Later, #38243 added a unique id to track each
focus operation.

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

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

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

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-10 07:36:53 +00:00
Oriol Brufau
433a6bf47b
layout: Set baseline even if line box has no fragment (#39235)
`InlineFormattingContextLayout::finish_current_line_and_reset()` has an
early return in case the line has no fragment. However, if the line only
has a forced line break, then we still need to set the baseline.

Testing: Adding new test.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-10 05:17:25 +00:00
dependabot[bot]
aea3467781
build(deps): bump aws-lc-rs from 1.13.3 to 1.14.0 (#39238)
Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.13.3 to
1.14.0.
<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.0</h2>
<h2>What's Changed</h2>
<ul>
<li>MSRV bumped to 1.70.0 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/822">aws/aws-lc-rs#822</a></li>
<li>aws-lc-sys v0.31.0 aligned with <a
href="https://github.com/aws/aws-lc/releases/tag/v1.59.0">AWS-LC
v1.59.0</a> by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/867">aws/aws-lc-rs#867</a>
<ul>
<li>Performance improvements for ML-KEM:
<ul>
<li>x86-64: <a
href="https://redirect.github.com/aws/aws-lc/pull/2631">aws/aws-lc#2631</a></li>
<li>arm64: <a
href="https://redirect.github.com/aws/aws-lc/pull/2498">aws/aws-lc#2498</a></li>
</ul>
</li>
</ul>
</li>
<li>Support for <a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/struct.EcdsaKeyPair.html#method.sign_digest">sign</a>/<a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/trait.VerificationAlgorithm.html#tymethod.verify_digest_sig">verify</a>
on digests by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/826">aws/aws-lc-rs#826</a></li>
<li>Support for <a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/cipher/struct.PaddedBlockDecryptingKey.html#method.cbc_iso10126">decrypting
ANSI X9.23 / ISO 10126-padded</a> AES by <a
href="https://github.com/tstenner"><code>@​tstenner</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/847">aws/aws-lc-rs#847</a></li>
<li>Support <a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/aead/struct.RandomizedNonceKey.html">SIV
in RandomizedNonceKey</a> by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/846">aws/aws-lc-rs#846</a></li>
<li>Support verification of <a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/index.html">P256/P384+SHA512
signatures</a> by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/857">aws/aws-lc-rs#857</a></li>
<li><a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/struct.RsaSignatureEncoding.html"><code>RsaSignatureEncoding</code></a>
type is public by <a
href="https://github.com/soundofspace"><code>@​soundofspace</code></a>
in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/864">aws/aws-lc-rs#864</a></li>
<li><a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/struct.ParsedPublicKey.html"><code>ParsedPublicKey</code></a>
for signature operations by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/863">aws/aws-lc-rs#863</a></li>
<li><a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/agreement/struct.ParsedPublicKey.html"><code>ParsedPublicKey</code></a>
for agreement operations by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/862">aws/aws-lc-rs#862</a></li>
</ul>
<h3>Build Improvements</h3>
<ul>
<li>Allow prebuilt-NASM w/ Cmake toolchain by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/852">aws/aws-lc-rs#852</a></li>
<li>Add support for Apple tvOS builds by <a
href="https://github.com/matszczygiel"><code>@​matszczygiel</code></a>
in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/848">aws/aws-lc-rs#848</a></li>
</ul>
<h3>Issues Being Resolved</h3>
<ul>
<li>Feature Request: RandomizedNonceKey for AES-GCM-SIV -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/842">aws/aws-lc-rs#842</a></li>
<li>Add way to pre-parse signature keys (i.e. turn
<code>signature::UnparsedPublicKey</code> to <code>PublicKey</code>) --
<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/849">aws/aws-lc-rs#849</a></li>
<li>Build failed for x86_64-pc-windows-gnu target regardless of
AWS_LC_SYS_PREBUILT_NASM=1 -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/850">aws/aws-lc-rs#850</a></li>
</ul>
<h2>Other Merged PRs</h2>
<ul>
<li>Exclude CI jobs for invalid param combinations by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/866">aws/aws-lc-rs#866</a></li>
<li>Prepare aws-lc-rs v1.14.0 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/876">aws/aws-lc-rs#876</a></li>
<li>Fix + refactor &quot;ios-simulator-runner.sh&quot; by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/868">aws/aws-lc-rs#868</a></li>
<li>Support CPU Jitter Entropy from upstream RAGDOLL by <a
href="https://github.com/torben-hansen"><code>@​torben-hansen</code></a>
in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/865">aws/aws-lc-rs#865</a></li>
<li>Avoid doctests in cross-compile CI by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/855">aws/aws-lc-rs#855</a></li>
<li>Consolidate agreement functions into LcPtr&lt;EVP_PKEY&gt; by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/854">aws/aws-lc-rs#854</a></li>
<li>Fix unexpected +1.70.0 compiler error by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/861">aws/aws-lc-rs#861</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/tstenner"><code>@​tstenner</code></a>
made their first contribution in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/847">aws/aws-lc-rs#847</a></li>
<li><a
href="https://github.com/matszczygiel"><code>@​matszczygiel</code></a>
made their first contribution in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/848">aws/aws-lc-rs#848</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/aws/aws-lc-rs/compare/v1.13.3...v1.14.0">https://github.com/aws/aws-lc-rs/compare/v1.13.3...v1.14.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="18bd3cb715"><code>18bd3cb</code></a>
Prepare aws-lc-rs v1.14.0 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/876">#876</a>)</li>
<li><a
href="9a2b0ccd7b"><code>9a2b0cc</code></a>
ParsedPublicKey for agreement (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/862">#862</a>)</li>
<li><a
href="f139e68a2f"><code>f139e68</code></a>
Allow prebuilt-NASM w/ Cmake toolchain (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/852">#852</a>)</li>
<li><a
href="6aaec4a76a"><code>6aaec4a</code></a>
Fix unexpected +1.70.0 compiler error (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/861">#861</a>)</li>
<li><a
href="beef8151ae"><code>beef815</code></a>
ParsedPublicKey for signature (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/863">#863</a>)</li>
<li><a
href="124f67495d"><code>124f674</code></a>
Expose RsaSignatureEncoding (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/864">#864</a>)</li>
<li><a
href="86de8dfe9f"><code>86de8df</code></a>
Add support for Apple tvOS builds (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/848">#848</a>)</li>
<li><a
href="8e8b957032"><code>8e8b957</code></a>
Fix + refactor &quot;ios-simulator-runner.sh&quot; (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/868">#868</a>)</li>
<li><a
href="f012503737"><code>f012503</code></a>
Exclude jobs w/ invalid params (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/866">#866</a>)</li>
<li><a
href="2630afad94"><code>2630afa</code></a>
Prepare aws-lc-sys v0.31.0 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/867">#867</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aws/aws-lc-rs/compare/v1.13.3...v1.14.0">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.13.3&new-version=1.14.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-10 01:17:04 +00:00
dependabot[bot]
4915ef7df8
build(deps): bump zbus_macros from 5.10.0 to 5.11.0 (#39237)
Bumps [zbus_macros](https://github.com/dbus2/zbus) from 5.10.0 to
5.11.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dbus2/zbus/releases">zbus_macros's
releases</a>.</em></p>
<blockquote>
<h2>🔖 zbus_macros 3.14.0.</h2>
<p> Allow unicast signals through the <code>dbus_interface</code>.
Fixes <a
href="https://redirect.github.com/dbus2/zbus/issues/374">#374</a>.
⬆️ Bump our MSRV. More and more dependencies are requiring Rust 1.64.0,
so let's bump our MSRV
to match.
🔥 Drop manual <code>Default</code> impl of
<code>PropertyEmitsChangedSignal</code>. After Rust 1.64, we can use the
derive for this.
️ Revert locking of <code>winnow</code> version. We've bumped our MSRV
so there is no need for this
workaround anymore.
🎨 Code comments should also adhere to 100 character limit.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="edd9a3c3d3"><code>edd9a3c</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1494">#1494</a> from
zeenix/prep-zb-5.11</li>
<li><a
href="ee3fb1b4f7"><code>ee3fb1b</code></a>
🔖 zb,zm: Release 5.11.0</li>
<li><a
href="9f85ee4b3d"><code>9f85ee4</code></a>
 zb: Much shorter timeout in method timeout test</li>
<li><a
href="000039a7d8"><code>000039a</code></a>
♻️ zb: Micro simplification</li>
<li><a
href="dbd853e3be"><code>dbd853e</code></a>
⬆️ micro: Update chrono to v0.4.42 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1493">#1493</a>)</li>
<li><a
href="bd4d5c722e"><code>bd4d5c7</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1491">#1491</a> from
dbus2/security-policy</li>
<li><a
href="29825e74cc"><code>29825e7</code></a>
🔒️ Add comprehensive security policy</li>
<li><a
href="e46151c9ad"><code>e46151c</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1477">#1477</a> from
sergeyfd/main</li>
<li><a
href="979f5f9030"><code>979f5f9</code></a>
 zb: API to specify timeouts for method calls</li>
<li><a
href="442063d295"><code>442063d</code></a>
⬆️ micro: Update time to v0.3.43 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1490">#1490</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/dbus2/zbus/compare/zbus-5.10.0...zbus-5.11.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zbus_macros&package-manager=cargo&previous-version=5.10.0&new-version=5.11.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-10 01:11:40 +00:00
JasonHonKL
839878c743
script: Make root_from_handle_value a safe function by accepting SafeJSContext (#39193)
Change from unsafe pointer of root_from_handle_value  to SafeJSContext. 

#39131

---------

Signed-off-by: JasonHonKL <j2004nol@gmail.com>
Signed-off-by: Jason <jason@198-61-252-113-on-nets.com>
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Co-authored-by: Jason <jason@198-61-252-113-on-nets.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2025-09-09 19:26:02 +00:00
lumiscosity
721fc01c30
script: Fix building with webgl_backtrace feature (#39231)
I think this is the correct solution? GlobalScope::get_cx() doesn't take
a self parameter anymore.

Testing: WebGL tests should suffice.
Fixes: #39228

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

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

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

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-09 12:51:30 +00:00
Simon Wülker
406eab4ec2
script: Remove three duplicated log functions from webgl (#39227)
We have the standard library at our disposal, let's use it.

Testing: Covered by existing tests

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-09-09 11:31:55 +00:00
Abdelrahman Hossam
7a28fd786c
ohos: Adding support for running WPT on OHOS devices using WebDriver (#38846)
Architecture:
```
Desktop (Test Controller)        OHOS Device (Test Target)
┌─────────────────────────┐     ┌─────────────────────────┐
│ WPT Server (port 8000)  │     │ Servo Browser           │
│ Test Runner Script      │---->│ WebDriver Server (7000) │
│ HDC Port Forwarding     │     │ Test Execution          │
└─────────────────────────┘     └─────────────────────────┘
```
After the test is finished, the script will parse the results and print
them in a readable format.

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

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

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

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

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

Troubleshooting common Issues and Solutions:

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

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

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

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

---------

Signed-off-by: abdelrahman1234567 <abdelrahman.hossameldin.awadalla@huawei.com>
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
Co-authored-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-09 08:57:36 +00:00
Narfinger
177f6d6502
Replace Hash Algorithm in HashMap/Set with FxHashMap/Set for simple types (#39166)
FxHash is faster than FnvHash and SipHash for simple types up to at
least 64 bytes. The cryptographic guarantees are not needed for any
types changed here because they are simple ids.
This changes the types in script and net crates.
In a future PR we will change the remaining Fnv to be also Fx unless
there is a reason to keep them as Fnv.

Testing: Should not change functionality but unit test and wpt will find
it.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-09 08:33:46 +00:00
Sam
1deb7b5957
script: Document need for always sending an image update to compositor (#39210)
I hit this many times while working on #38717

Testing: Not needed because we just update the docs

---------

Signed-off-by: Sam <16504129+sagudev@users.noreply.github.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-09-09 08:19:57 +00:00
lumiscosity
ccecb18a9c
script: Propagate CanGc argument through DictionaryFromJSVal trait (#39223)
Testing: Internal changes only, shouldn't change behaviour.
Fixes: #39206

Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2025-09-09 06:46:53 +00:00
Sam
1f0f079203
webgpu: Simplify presentation and handle cleared in script (#38717)
There are many important changes here:

- Generalize the presentation buffer into standalone staging buffers
that hold their own state. This allow them to be used by getImage.
- Move all clear handling to the ScriptThread and send the configuration
on each request present/getimage, thus avoiding any recreate/clearing
messages. This means that we prepare staging buffers lazily, on the
first request.

Try run for this change:
https://github.com/sagudev/servo/actions/runs/17341982368
Testing: This is covered by existing WebGPU CTS tests. There are some
bad expectations updates, but they are also on main (presumably from
last update the rendering work) although I think CTS is actually wrong
(see https://github.com/gpuweb/cts/issues/4440).
Fixes: #36820
Fixes: #37705
Fixes: #33368 (we now keep reference alive in hashmap)

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-09-09 03:35:12 +00:00
Jo Steven Novaryo
8d2723b2c9
layout: Fix Textual <input> Vertical Align Style (#39014)
Reincorporate the styles to help with the vertical alignment of textual
`<input>` element that was removed by #38775. Followed by adding Servo
specific WPTs to help with these kinds of problem.

Testing: New WPT

Signed-off-by: Jo Steven Novaryo <jo.steven.novaryo@huawei.com>
2025-09-09 03:09:38 +00:00
dependabot[bot]
2895ff233a
build(deps): bump indexmap from 2.11.0 to 2.11.1 (#39220)
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=indexmap&package-manager=cargo&previous-version=2.11.0&new-version=2.11.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-09 03:03:28 +00:00
dependabot[bot]
b2cd55dfd9
build(deps): bump chrono from 0.4.41 to 0.4.42 (#39219)
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.41 to
0.4.42.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chronotope/chrono/releases">chrono's
releases</a>.</em></p>
<blockquote>
<h2>0.4.42</h2>
<h2>What's Changed</h2>
<ul>
<li>Add fuzzer for DateTime::parse_from_str by <a
href="https://github.com/tyler92"><code>@​tyler92</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1700">chronotope/chrono#1700</a></li>
<li>Fix wrong amount of micro/milliseconds by <a
href="https://github.com/nmlt"><code>@​nmlt</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1703">chronotope/chrono#1703</a></li>
<li>Add warning about MappedLocalTime and wasm by <a
href="https://github.com/lutzky"><code>@​lutzky</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1702">chronotope/chrono#1702</a></li>
<li>Fix incorrect parsing of fixed-length second fractions by <a
href="https://github.com/chris-leach"><code>@​chris-leach</code></a> in
<a
href="https://redirect.github.com/chronotope/chrono/pull/1705">chronotope/chrono#1705</a></li>
<li>Fix cfgs for <code>wasm32-linux</code> support by <a
href="https://github.com/arjunr2"><code>@​arjunr2</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1707">chronotope/chrono#1707</a></li>
<li>Fix OpenHarmony's <code>tzdata</code> parsing by <a
href="https://github.com/ldm0"><code>@​ldm0</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1679">chronotope/chrono#1679</a></li>
<li>Convert NaiveDate to/from days since unix epoch by <a
href="https://github.com/findepi"><code>@​findepi</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1715">chronotope/chrono#1715</a></li>
<li>Add <code>?Sized</code> bound to related methods of
<code>DelayedFormat::write_to</code> by <a
href="https://github.com/Huliiiiii"><code>@​Huliiiiii</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1721">chronotope/chrono#1721</a></li>
<li>Add <code>from_timestamp_secs</code> method to <code>DateTime</code>
by <a href="https://github.com/jasonaowen"><code>@​jasonaowen</code></a>
in <a
href="https://redirect.github.com/chronotope/chrono/pull/1719">chronotope/chrono#1719</a></li>
<li>Migrate to core::error::Error by <a
href="https://github.com/benbrittain"><code>@​benbrittain</code></a> in
<a
href="https://redirect.github.com/chronotope/chrono/pull/1704">chronotope/chrono#1704</a></li>
<li>Upgrade to windows-bindgen 0.63 by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1730">chronotope/chrono#1730</a></li>
<li>strftime: simplify error handling by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1731">chronotope/chrono#1731</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f3fd15f976"><code>f3fd15f</code></a>
Bump version to 0.4.42</li>
<li><a
href="5cf5603500"><code>5cf5603</code></a>
strftime: add regression test case</li>
<li><a
href="a6231701ee"><code>a623170</code></a>
strftime: simplify error handling</li>
<li><a
href="36fbfb1221"><code>36fbfb1</code></a>
strftime: move specifier handling out of match to reduce rightward
drift</li>
<li><a
href="7f413c363b"><code>7f413c3</code></a>
strftime: yield None early</li>
<li><a
href="9d5dfe1640"><code>9d5dfe1</code></a>
strftime: outline constants</li>
<li><a
href="e5f6be7db4"><code>e5f6be7</code></a>
strftime: move error() method below caller</li>
<li><a
href="d516c2764d"><code>d516c27</code></a>
strftime: merge impl blocks</li>
<li><a
href="0ee2172fb9"><code>0ee2172</code></a>
strftime: re-order items to keep impls together</li>
<li><a
href="757a8b0226"><code>757a8b0</code></a>
Upgrade to windows-bindgen 0.63</li>
<li>Additional commits viewable in <a
href="https://github.com/chronotope/chrono/compare/v0.4.41...v0.4.42">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chrono&package-manager=cargo&previous-version=0.4.41&new-version=0.4.42)](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-09 02:32:20 +00:00
dependabot[bot]
ec4bad90ba
build(deps): bump cc from 1.2.35 to 1.2.36 (#39217)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.35 to 1.2.36.
<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.35...cc-v1.2.36">1.2.36</a>
- 2025-09-05</h2>
<h3>Other</h3>
<ul>
<li>Regenerate windows sys bindings (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1548">#1548</a>)</li>
<li>Update windows-bindgen requirement from 0.62 to 0.63 (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1547">#1547</a>)</li>
<li>Add fn get_ucrt_dir for find-msvc-tools (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1546">#1546</a>)</li>
<li>Regenerate target info (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1544">#1544</a>)</li>
<li>fix publish.yml (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1543">#1543</a>)</li>
<li>Replace periods with underscores as well when parsing env variables
(<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1541">#1541</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c8a378e0a1"><code>c8a378e</code></a>
chore: release (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1542">#1542</a>)</li>
<li><a
href="f43595b843"><code>f43595b</code></a>
Regenerate windows sys bindings (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1548">#1548</a>)</li>
<li><a
href="6e1e2c5baa"><code>6e1e2c5</code></a>
Update windows-bindgen requirement from 0.62 to 0.63 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1547">#1547</a>)</li>
<li><a
href="52bc4ebdca"><code>52bc4eb</code></a>
Add fn get_ucrt_dir for find-msvc-tools (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1546">#1546</a>)</li>
<li><a
href="4d2d2f672e"><code>4d2d2f6</code></a>
Regenerate target info (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1544">#1544</a>)</li>
<li><a
href="52c54ac171"><code>52c54ac</code></a>
ci: fix publish.yml (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1543">#1543</a>)</li>
<li><a
href="ee81cbf9ae"><code>ee81cbf</code></a>
Replace periods with underscores as well when parsing env variables (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1541">#1541</a>)</li>
<li>See full diff in <a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.2.35...cc-v1.2.36">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.35&new-version=1.2.36)](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-09 01:06:40 +00:00
dependabot[bot]
3e90029629
build(deps): bump find-msvc-tools from 0.1.0 to 0.1.1 (#39218)
Bumps [find-msvc-tools](https://github.com/rust-lang/cc-rs) from 0.1.0
to 0.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/cc-rs/releases">find-msvc-tools's
releases</a>.</em></p>
<blockquote>
<h2>find-msvc-tools-v0.1.1</h2>
<h3>Other</h3>
<ul>
<li>Regenerate windows sys bindings (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1548">#1548</a>)</li>
<li>Add fn get_ucrt_dir for find-msvc-tools (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1546">#1546</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c8a378e0a1"><code>c8a378e</code></a>
chore: release (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1542">#1542</a>)</li>
<li><a
href="f43595b843"><code>f43595b</code></a>
Regenerate windows sys bindings (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1548">#1548</a>)</li>
<li><a
href="6e1e2c5baa"><code>6e1e2c5</code></a>
Update windows-bindgen requirement from 0.62 to 0.63 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1547">#1547</a>)</li>
<li><a
href="52bc4ebdca"><code>52bc4eb</code></a>
Add fn get_ucrt_dir for find-msvc-tools (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1546">#1546</a>)</li>
<li><a
href="4d2d2f672e"><code>4d2d2f6</code></a>
Regenerate target info (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1544">#1544</a>)</li>
<li><a
href="52c54ac171"><code>52c54ac</code></a>
ci: fix publish.yml (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1543">#1543</a>)</li>
<li><a
href="ee81cbf9ae"><code>ee81cbf</code></a>
Replace periods with underscores as well when parsing env variables (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1541">#1541</a>)</li>
<li><a
href="9b4389c788"><code>9b4389c</code></a>
chore(cc): release v1.2.35 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1533">#1533</a>)</li>
<li><a
href="36948abc38"><code>36948ab</code></a>
Fix semver-checks: Add back functino <code>windows_registry::find</code>
(<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1539">#1539</a>)</li>
<li><a
href="0a1c2a3b70"><code>0a1c2a3</code></a>
ci: fix crates-io trusted publishing in publish.yml (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1538">#1538</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/cc-rs/compare/0.1.0...find-msvc-tools-v0.1.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=find-msvc-tools&package-manager=cargo&previous-version=0.1.0&new-version=0.1.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-09 01:04:40 +00:00
Simon Wülker
eec56acd12
net: Don't prompt for credentials when 401 response has no WWW-Authenticate header (#39215)
Testing: Includes a new unit test
Fixes: https://github.com/servo/servo/issues/39214

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-09-09 00:56:49 +00:00
Oriol Brufau
d469e5e564
Add test for resizeTo(-1, -1) (#39211)
This test crashes in Servo, and passes on Gecko, Blink and Webkit.
The crash should be addressed by #39204.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-08 23:16:57 +00:00
Simon Wülker
fcf4beeac0
Seperate freetype face and named instance indices (#39213)
In servo, each `LocalFontIdentifier` has an `fn index() -> u32`, which
returns the index of the font within the font file in case it is a font
collection (`.ttc` instead of `.ttf`). The way this index is obtained is
platform-dependent.

On systems using `fontconfig`, we get the index by querying `FC_INDEX`:


d2c78db981/components/fonts/platform/freetype/font_list.rs (L109-L112)

There is a sneaky bug here: In addition to the aforementioned face
index, the value for `FC_INDEX` contains the index of the named instance
of the face in the upper 16 bits. This behaviour is completely
undocumented, but FreeType uses the same format:
https://freetype.org/freetype2/docs/reference/ft2-face_creation.html#ft_open_face.

This wasn't a problem for the longest time, because the only consumer of
the `index` value coming from fontconfig was FreeType. However, sometime
after
29e618dcf7,
we started also passing it to`read-fonts` . `read-fonts` expects only
the face index, causing it to return errors as seen in
https://github.com/servo/servo/issues/39209.

The fix is to seperate the two indices when storing them in a
`LocalFontDescriptor` and pass only the lower 16 bits to `read-fonts`.
I'm unsure whether we should continue passing the named instance index
to FreeType since we don't actually support variable fonts, but I've
opted to keep the current behaviour for now.

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

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-09-08 22:29:33 +00:00
Narfinger
d2c78db981
Moves to FxHashMap for Allocator, BHM, Canvas, Media, Servo, WebGL and WebGPU (#39202)
This moves more of HashMap/FnvHashMap to FxHashmap. Again we only
changed instances that do not look security related and have small keys.

Additionally, allocator used the fnv feature which did not seem to be
used.

Testing: Unit Tests and WPT should cover this and functionality change
is highly unlikely.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-08 16:06:03 +00:00
Sam
228b240635
layout: Convert animated image delays < 10ms into 100 ms delays (#39189)
Some animated images in the wild have delays <10ms and browsers usually
change them into 100ms as such small timings are unusual.

Relevant code in FF:
https://searchfox.org/firefox-main/source/image/FrameTimeout.h#35

Testing: Manually tested
Fixes: #39187

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-09-08 14:16:21 +00:00
JoeDow
30d3706a2b
layout: allow only repaint when css background and border image loaded (#39201)
This change allows that only new display list is built when css
background and border image loaded.

Testing: This change should not change any behaviors so covered by
existing WPT tests.

Signed-off-by: sharpshooter_pt <ibluegalaxy_taoj@163.com>
2025-09-08 13:23:11 +00:00
Josh Matthews
e00bfb525b
script: Replace webcrypto-specific macro with trait abstraction. (#39205)
The value_from_js_object macro exists to paper over differences between
dictionary types that require rooting (via `RootedTraceableBox`) and
those that do not. However, I need to read the macro source every time I
look at the code that uses it because I can never remember what it's
doing. These changes replace the macro with a trait abstraction that is
clearer, and should be a code size win as well.

Testing: Existing WPT tests suffice.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-09-08 10:45:40 +00:00
lumiscosity
9584b9e57d
script: Add can_gc to WebIDL dictionary constructors (#39195)
More progress on can_gc!

Testing: Internal change only, shouldn't change behavior.
Fixes: #38708

---------

Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2025-09-08 09:21:42 +00:00
dependabot[bot]
1b9dc3e672
build(deps): bump lebe from 0.5.2 to 0.5.3 (#39200)
Bumps [lebe](https://github.com/johannesvollmer/lebe) from 0.5.2 to
0.5.3.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/johannesvollmer/lebe/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lebe&package-manager=cargo&previous-version=0.5.2&new-version=0.5.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-08 02:17:27 +00:00
dependabot[bot]
4588088dcd
build(deps): bump wit-bindgen from 0.45.0 to 0.45.1 (#39198)
Bumps [wit-bindgen](https://github.com/bytecodealliance/wit-bindgen)
from 0.45.0 to 0.45.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5d37dfb192"><code>5d37dfb</code></a>
Release wit-bindgen 0.45.1 (<a
href="https://redirect.github.com/bytecodealliance/wit-bindgen/issues/1378">#1378</a>)</li>
<li><a
href="3db0056513"><code>3db0056</code></a>
Fill out missing <code>StreamRead::cancel</code> implementation (<a
href="https://redirect.github.com/bytecodealliance/wit-bindgen/issues/1376">#1376</a>)</li>
<li><a
href="ca55f12b7c"><code>ca55f12</code></a>
fix(core): results for async task generation (<a
href="https://redirect.github.com/bytecodealliance/wit-bindgen/issues/1374">#1374</a>)</li>
<li><a
href="93c9ee3d6f"><code>93c9ee3</code></a>
Disable unused-import warnings on <code>__with_name*</code> aliases. (<a
href="https://redirect.github.com/bytecodealliance/wit-bindgen/issues/1372">#1372</a>)</li>
<li>See full diff in <a
href="https://github.com/bytecodealliance/wit-bindgen/compare/v0.45.0...v0.45.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=wit-bindgen&package-manager=cargo&previous-version=0.45.0&new-version=0.45.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-08 01:29:58 +00:00
dependabot[bot]
de7ee105cd
build(deps): bump zune-jpeg from 0.4.20 to 0.4.21 (#39199)
Bumps [zune-jpeg](https://github.com/etemesi254/zune-image) from 0.4.20
to 0.4.21.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/etemesi254/zune-image/releases">zune-jpeg's
releases</a>.</em></p>
<blockquote>
<h2>v0.1.0</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/etemesi254/zune-image/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zune-jpeg&package-manager=cargo&previous-version=0.4.20&new-version=0.4.21)](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-08 01:29:49 +00:00
dependabot[bot]
a9f20998db
build(deps): bump winapi-util from 0.1.10 to 0.1.11 (#39197)
Bumps [winapi-util](https://github.com/BurntSushi/winapi-util) from
0.1.10 to 0.1.11.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="803874c57d"><code>803874c</code></a>
0.1.11</li>
<li><a
href="c14bbd7bfa"><code>c14bbd7</code></a>
deps: support windows-sys 0.61</li>
<li>See full diff in <a
href="https://github.com/BurntSushi/winapi-util/compare/0.1.10...0.1.11">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=winapi-util&package-manager=cargo&previous-version=0.1.10&new-version=0.1.11)](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-08 01:16:25 +00:00
dependabot[bot]
641be94ab8
build(deps): bump zerocopy from 0.8.26 to 0.8.27 (#39196)
Bumps [zerocopy](https://github.com/google/zerocopy) from 0.8.26 to
0.8.27.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/zerocopy/releases">zerocopy's
releases</a>.</em></p>
<blockquote>
<h2>v0.8.27</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>Add <code>KnownLayout::size_for_metadata</code> by <a
href="https://github.com/jswrenn"><code>@​jswrenn</code></a> in <a
href="https://redirect.github.com/google/zerocopy/pull/2674">google/zerocopy#2674</a></li>
<li>Support <code>repr(u128)</code> and <code>repr(i128)</code> in
<code>derive(IntoBytes)</code> by <a
href="https://github.com/jswrenn"><code>@​jswrenn</code></a> in <a
href="https://redirect.github.com/google/zerocopy/pull/2676">google/zerocopy#2676</a></li>
<li>[derive] <code>IntoBytes</code> padding error says number of bytes
by <a href="https://github.com/joshlf"><code>@​joshlf</code></a> in <a
href="https://redirect.github.com/google/zerocopy/pull/2699">google/zerocopy#2699</a></li>
<li>[derive] Clarify FromBytes enum support by <a
href="https://github.com/joshlf"><code>@​joshlf</code></a> in <a
href="https://redirect.github.com/google/zerocopy/pull/2696">google/zerocopy#2696</a></li>
<li>Implement traits for unsafe function values by <a
href="https://github.com/joshlf"><code>@​joshlf</code></a> in <a
href="https://redirect.github.com/google/zerocopy/pull/2697">google/zerocopy#2697</a></li>
<li><code>derive(IntoBytes)</code>: support <code>repr(C)</code> structs
with explicit trailing slices by <a
href="https://github.com/jswrenn"><code>@​jswrenn</code></a> in <a
href="https://redirect.github.com/google/zerocopy/pull/2679">google/zerocopy#2679</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/google/zerocopy/compare/v0.8.26...v0.8.27">https://github.com/google/zerocopy/compare/v0.8.26...v0.8.27</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="53013612da"><code>5301361</code></a>
Release 0.8.27 (<a
href="https://redirect.github.com/google/zerocopy/issues/2710">#2710</a>)</li>
<li><a
href="a55463eac4"><code>a55463e</code></a>
<code>derive(IntoBytes)</code>: support <code>repr(C)</code> structs
with explicit trailing slices ...</li>
<li><a
href="e546da9664"><code>e546da9</code></a>
[ci] Roll pinned nightly toolchain (<a
href="https://redirect.github.com/google/zerocopy/issues/2709">#2709</a>)</li>
<li><a
href="5b52ab013e"><code>5b52ab0</code></a>
[ci] Roll pinned nightly toolchain (<a
href="https://redirect.github.com/google/zerocopy/issues/2708">#2708</a>)</li>
<li><a
href="2f931afa65"><code>2f931af</code></a>
[ci] Roll pinned nightly toolchain (<a
href="https://redirect.github.com/google/zerocopy/issues/2707">#2707</a>)</li>
<li><a
href="cd0ea7f686"><code>cd0ea7f</code></a>
[ci] Roll pinned nightly toolchain (<a
href="https://redirect.github.com/google/zerocopy/issues/2706">#2706</a>)</li>
<li><a
href="e95a779a6c"><code>e95a779</code></a>
[ci] Roll pinned nightly toolchain (<a
href="https://redirect.github.com/google/zerocopy/issues/2705">#2705</a>)</li>
<li><a
href="3d35f06f2c"><code>3d35f06</code></a>
[ci] Roll pinned nightly toolchain (<a
href="https://redirect.github.com/google/zerocopy/issues/2704">#2704</a>)</li>
<li><a
href="fb1cf4c242"><code>fb1cf4c</code></a>
[ci] Roll pinned nightly toolchain (<a
href="https://redirect.github.com/google/zerocopy/issues/2702">#2702</a>)</li>
<li><a
href="c1a3796d30"><code>c1a3796</code></a>
[ci] Roll pinned nightly toolchain (<a
href="https://redirect.github.com/google/zerocopy/issues/2700">#2700</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/google/zerocopy/compare/v0.8.26...v0.8.27">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zerocopy&package-manager=cargo&previous-version=0.8.26&new-version=0.8.27)](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-08 00:57:06 +00:00
Narfinger
ec8b5fc70b
Elaborate documentation of notify_history_changed in WebViewDelegate (#39134)
Elaborate documentation of on_history_changed in WebViewDelegate

Testing: Just documentation.

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-08 00:42:45 +00:00
Martin Robinson
9f4f598f44
script: Use HTMLElement.scrollParent to implement Element.scrollIntoView (#39144)
To find scrolling ancestors, we need to walk up the flat tree and only
consider the elements that are in the chain of containing block
ancestors of an element. `scrollParent` now does this so we can use it
to properly implement `scrollIntoView`.

Testing: There are WPT tests for this change.

---------

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-09-07 21:44:11 +00:00
Sam
286bbe6cb1
CI: Change APT mirror priorities (#39190)
We noticed many times that bootstrap sometimes takes a lot of time due
to slow download speed: [#general > Bootstrap is slow in CI @
💬](https://servo.zulipchat.com/#narrow/channel/263398-general/topic/Bootstrap.20is.20slow.20in.20CI/near/537610373).
We [reported this to
github](https://github.com/actions/runner-images/issues/12949) and they
said we should just use different mirrors. Based on
https://github.com/CrowdStrike/glide-core/pull/1113 we change Ubuntu's
mirror priorities from:
```
http://azure.archive.ubuntu.com/ubuntu priority:0
https://archive.ubuntu.com/ubuntu priority:1
https://security.ubuntu.com/ubuntu priority:2
```
to:
```
https://archive.ubuntu.com/ubuntu priority:0
http://azure.archive.ubuntu.com/ubuntu priority:1
https://security.ubuntu.com/ubuntu priority:2
```
I also set more strict timeout (10 min; usually it takes 2-3 min but
always less then 4 min) for bootstrap to alert us on problems.

Testing: Manual CI run:
https://github.com/sagudev/servo/actions/runs/17527791255

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-09-07 13:38:42 +00:00
Tim van der Lippe
a672ffb850
Add resource header for mime sniffing (#39167)
The concept of a "resource header" is not well specced, since it is
unclear what a "resource" is. That said, it most closely matches a
"response" as part of the navigation params.

With this change, we now delay loading the document until either two
things happen:
1. We reached the end of the file
2. We processed 1445 bytes (as defined by spec)

We initially store bytes in the resource header and then after loading
parse the stored bytes. Any subsequent loading will process as before.

Part of #14024

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-09-07 12:31:57 +00:00
Tim van der Lippe
e3de39893f
Disable scripting when sandbox flag is set (#39163)
While I adding spec comments to the CSP crate, I discovered two issues:
1. We should only use the last sandbox value (WPT test added)
2. We weren't checking for the scripting sandbox flag in document

Also, the autoplay test should have allowed scripts to run, otherwise
the test doesn't run. Since we weren't checking the flag before, the
test ran fine for Servo. However, it wouldn't run for other browsers.

Also realized that an existing test was pointing to a non-existent file
(since it doesn't have `.sub`). Updated that and confirmed that in other
browsers it now properly works (it no longer shows a 404). However,
Servo now fails that test as we don't fire an load event.

Part of #913

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-09-07 12:31:40 +00:00
lumiscosity
088d16d634
script: Make set_dictionary_property a safe function (#39191)
Makes `set_dictionary_property` safe.

Testing: Changes are internal, this shouldn't affect behavior.
Fixes: #39128

Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2025-09-07 11:56:20 +00:00
Servo WPT Sync
af8723c0b1
Sync WPT with upstream (07-09-2025) (#39188)
Automated downstream sync of changes from upstream as of 07-09-2025
[no-wpt-sync]

Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-09-07 01:47:40 +00:00
Ashwin Naren
3ac8875697
script: Initial stubs for Credential Management API (#38839)
Stubs `Credential`, `CredentialContainer`, and `PasswordCredential` and
adds the credentials attribute to navigator.

Testing: WPT
Fixes: Partially #38788

---------

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2025-09-06 19:48:38 +00:00
Sam
643ac08cf0
canvas: Implement strokeText (#39183)
Mostly it's just reusing/copy&edit fillText stuff.

Testing: Existing WPT tests
Fixes: #29973

Try run: https://github.com/sagudev/servo/actions/runs/17511337550

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-09-06 18:01:21 +00:00
Euclid Ye
bd3231847e
webdriver: Serialize as i64 if the JS Number has no fractional part (#39186)
JavaScript Number does not have Integer type, except for recently added
`BigInt`. That's why we removed `Int` variant from `JSValue` earlier in
#38748. However, the Serde deserialization is strict: when it expects
`u64`, it cannot deserialize "3.0". But when it expects `f64`, it can
still deserialize "3".

Now, we serialize as i64 if the JS Number has no fractional part. This
not only fixes regression, but also improves the case where we have an
integer not representable by i32 and previously would be parsed as f64
again.

Testing: `./mach test-wpt -r
/infrastructure/testdriver/actions/eventOrder.html --headless --product
servodriver` no longer fails when deserializing HTTP request.
Fixes: #39181

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-09-06 14:38:32 +00:00
Sam
7f5533d0b5
cargo: Bump MSRV to 1.86.0 (#39185)
Per discussions in [#general > RFC: Bump MSRV to 1.86 @
💬](https://servo.zulipchat.com/#narrow/channel/263398-general/topic/RFC.3A.20Bump.20MSRV.20to.201.2E86/near/537822241)
it's okay to do this. LLVM/clang used by this rust version is still 19,
so there should be no problems on that front.

This will be needed for future vello bumps:
65eea2c43b/Cargo.toml (L45)

Testing: CI MSRV check

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-09-06 13:38:44 +00:00
Oriol Brufau
506e186d03
layout: Simplify effective_overflow() a little (#39172)
This implements the Default trait for `AxesOverflow`, to avoid having to
manually set both axes to `Overflow::Visible`.

Also implements the conversion from `&ComputedValues` to `AxesOverflow`,
which is the also used for overflow viewport propagation.

And moves the `is_inline_box()` checkinto the `ignores_overflow` logic.

Testing: Not needed, no change in behavior

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-06 09:10:15 +00:00
Josh Matthews
c490033c52
indexeddb: Support enabling IndexedDB after startup (#39177)
The servodriver harness requires preference-gated web platform features
to be toggleable at any point in the browsing session's lifetime, rather
than at startup. To support toggling IndexedDB, we need to ensure the
IDB manager thread is always started.

Testing: Verified when running `./mach test-wpt /IndexedDB --headless
--product servodriver`. We don't run servodriver in CI yet.
Fixes: #39175

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-09-06 06:55:20 +00:00
Ashwin Naren
b5d6555238
indexeddb: Implement getAll and getAllKeys (#38885)
Implement getAll and getAllKeys for IDBObjectStore.

Testing: WPT & Unit testing
Fixes: Part of #6963.

---------

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2025-09-06 05:48:11 +00:00