Commit graph

52968 commits

Author SHA1 Message Date
Narfinger
389f0d4cc2
Split WindowProxies in script to own struct and allow to get an Rc to it. (#39274)
Split the window_proxies in script thread into its own struct with
appropiate methods. ScriptThread allows to get an Rc to it.
HtmlIFrameElement, Window and WindowProxy now get the Rc on construction
from ScriptThread.


Testing: Just a refactor so should not change any behavior.
Fixes: Addresses part of https://github.com/servo/servo/issues/37969

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-29 09:46:49 +00:00
webbeef
47382e0c2c
script: display top-level SVG image documents. (#39494)
SVG images served with the image/svg+xml mime type were recognized as
XML documents instead of images, so were not displayed.

Testing: compare the results of `./mach run
https://raw.githubusercontent.com/servo/servo/467821598b59bd84273d91c9d8a33651e10578b8/resources/resource_protocol/servo-color-negative-no-container.svg`

Signed-off-by: webbeef <me@webbeef.org>
2025-09-29 09:16:22 +00:00
Gae24
7a7129edd7
script: when fetching a worker script abort if response status is not ok (#39468)
According to
[spec](https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-classic-worker-script)
we should abort if the response status is not ok.

Testing: Check tests listed inside issue are not intermittent anymore
Fixes: #39413
Fixes: #22991

---------

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
2025-09-29 09:08:12 +00:00
Andrei Volykhin
af74db4e92
html: Count <image> attributes state changes as the relevant mutations (#39483)
Follow the HTML specification and take into account that state changes
of the <image> 'crossorigin' and 'referrerpolicy' content attributes
(not 'crossOrigin' and 'referrerPolicy' IDL attributes) should be
counted as relevant mutations.

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

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

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-09-29 09:00:51 +00:00
Sam
aaa7f83176
crown: Check closure bodies for unrooted types and fix root TransmitBodyPromise* (#39534)
We should also check closure bodies for unrooted expressions. 

Testing: New crown tests
Fixes: #37331
Fixes (partial): #37330

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-09-29 08:57:23 +00:00
Simon Wülker
6c062bbea8
Remove references to stylo from mach test-unit (#39562)
`stylo` does not live in the servo repository anymore.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-09-29 07:55:02 +00:00
dependabot[bot]
2560543ac7
build(deps): bump aws-lc-sys from 0.32.0 to 0.32.1 (#39555)
Bumps [aws-lc-sys](https://github.com/aws/aws-lc-rs) from 0.32.0 to
0.32.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="08c02c9a70"><code>08c02c9</code></a>
Prepare aws-lc-sys v0.32.1 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/898">#898</a>)</li>
<li>See full diff in <a
href="https://github.com/aws/aws-lc-rs/compare/aws-lc-sys/v0.32.0...aws-lc-sys/v0.32.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-lc-sys&package-manager=cargo&previous-version=0.32.0&new-version=0.32.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-29 04:27:27 +00:00
dependabot[bot]
41cb185333
build(deps): bump async-compression from 0.4.31 to 0.4.32 (#39556)
Bumps
[async-compression](https://github.com/Nullus157/async-compression) from
0.4.31 to 0.4.32.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b79f66d406"><code>b79f66d</code></a>
chore: release (<a
href="https://redirect.github.com/Nullus157/async-compression/issues/389">#389</a>)</li>
<li><a
href="15eb2e1aba"><code>15eb2e1</code></a>
Use io::ErrorKind::OutOfMemory for xz2/bzip2 codecs (<a
href="https://redirect.github.com/Nullus157/async-compression/issues/387">#387</a>)</li>
<li>See full diff in <a
href="https://github.com/Nullus157/async-compression/compare/async-compression-v0.4.31...async-compression-v0.4.32">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.31&new-version=0.4.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-29 02:12:04 +00:00
dependabot[bot]
a6412c0e47
build(deps): bump compression-codecs from 0.4.30 to 0.4.31 (#39559)
Bumps
[compression-codecs](https://github.com/Nullus157/async-compression)
from 0.4.30 to 0.4.31.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/Nullus157/async-compression/releases">compression-codecs's
releases</a>.</em></p>
<blockquote>
<h2>compression-codecs-v0.4.31</h2>
<h3>Other</h3>
<ul>
<li>Use io::ErrorKind::OutOfMemory for xz2/bzip2 codecs (<a
href="https://redirect.github.com/Nullus157/async-compression/pull/387">#387</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b79f66d406"><code>b79f66d</code></a>
chore: release (<a
href="https://redirect.github.com/Nullus157/async-compression/issues/389">#389</a>)</li>
<li><a
href="15eb2e1aba"><code>15eb2e1</code></a>
Use io::ErrorKind::OutOfMemory for xz2/bzip2 codecs (<a
href="https://redirect.github.com/Nullus157/async-compression/issues/387">#387</a>)</li>
<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/compression-codecs-v0.4.30...compression-codecs-v0.4.31">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=compression-codecs&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-29 02:11:45 +00:00
dependabot[bot]
c48241dbdd
build(deps): bump ab_glyph from 0.2.31 to 0.2.32 (#39557)
Bumps [ab_glyph](https://github.com/alexheretic/ab-glyph) from 0.2.31 to
0.2.32.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/alexheretic/ab-glyph/releases">ab_glyph's
releases</a>.</em></p>
<blockquote>
<h2>ab-glyph-0.2.32</h2>
<ul>
<li>Add <code>FontArc</code> support for no_std targets with
cfg(target_has_atomic = &quot;ptr&quot;).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ffde4c677f"><code>ffde4c6</code></a>
Release ab_glyph 0.2.32</li>
<li><a
href="d551d510e3"><code>d551d51</code></a>
Add FontArc support for no_std targets with cfg(target_has_atomic =
&quot;ptr&quot;) (#...</li>
<li><a
href="971e5a9b33"><code>971e5a9</code></a>
Release ab_glyph_rasterizer 0.1.10</li>
<li><a
href="f2e376ac04"><code>f2e376a</code></a>
Fix remaining <code>draw_line_scalar</code> index oob panic scenarios
(<a
href="https://redirect.github.com/alexheretic/ab-glyph/issues/120">#120</a>)</li>
<li><a
href="c476792ab6"><code>c476792</code></a>
Fix 1.89 clippy lints</li>
<li><a
href="727737fbe9"><code>727737f</code></a>
Update dev-dependencies</li>
<li>See full diff in <a
href="https://github.com/alexheretic/ab-glyph/compare/ab-glyph-0.2.31...ab-glyph-0.2.32">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ab_glyph&package-manager=cargo&previous-version=0.2.31&new-version=0.2.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-29 01:29:59 +00:00
dependabot[bot]
b9451b1729
build(deps): bump tokio-rustls from 0.26.3 to 0.26.4 (#39558)
Bumps [tokio-rustls](https://github.com/rustls/tokio-rustls) from 0.26.3
to 0.26.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rustls/tokio-rustls/releases">tokio-rustls's
releases</a>.</em></p>
<blockquote>
<h2>0.26.4</h2>
<h2>What's Changed</h2>
<ul>
<li>Add TLS certificate compression features by <a
href="https://github.com/manifest"><code>@​manifest</code></a> in <a
href="https://redirect.github.com/rustls/tokio-rustls/pull/130">rustls/tokio-rustls#130</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0c14e1496e"><code>0c14e14</code></a>
Bump version to 0.26.4</li>
<li><a
href="9074308f09"><code>9074308</code></a>
Add TLS certificate compression features</li>
<li><a
href="7ee318d670"><code>7ee318d</code></a>
build(deps): bump seanmiddleditch/gha-setup-ninja from 4 to 6</li>
<li><a
href="6f740df495"><code>6f740df</code></a>
build(deps): bump rcgen from 0.14.4 to 0.14.5</li>
<li><a
href="dc01fcd2b0"><code>dc01fcd</code></a>
build(deps): bump actions/checkout from 3 to 5</li>
<li><a
href="fb76ce36ff"><code>fb76ce3</code></a>
Add Dependabot configuration</li>
<li>See full diff in <a
href="https://github.com/rustls/tokio-rustls/compare/v/0.26.3...v/0.26.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-rustls&package-manager=cargo&previous-version=0.26.3&new-version=0.26.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-29 01:27:26 +00:00
dependabot[bot]
7af96a9f22
build(deps): bump the serde-related group with 2 updates (#39553)
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.227 to 1.0.228
<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.228</h2>
<ul>
<li>Allow building documentation with
<code>RUSTDOCFLAGS='--cfg=docsrs'</code> set for the whole dependency
graph (<a
href="https://redirect.github.com/serde-rs/serde/issues/2995">#2995</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a866b336f1"><code>a866b33</code></a>
Release 1.0.228</li>
<li><a
href="5adc9e816c"><code>5adc9e8</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2995">#2995</a>
from dtolnay/rustdocflags</li>
<li><a
href="ab581789f4"><code>ab58178</code></a>
Workaround for RUSTDOCFLAGS='--cfg=docsrs'</li>
<li>See full diff in <a
href="https://github.com/serde-rs/serde/compare/v1.0.227...v1.0.228">compare
view</a></li>
</ul>
</details>
<br />

Updates `serde_core` from 1.0.227 to 1.0.228
<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.228</h2>
<ul>
<li>Allow building documentation with
<code>RUSTDOCFLAGS='--cfg=docsrs'</code> set for the whole dependency
graph (<a
href="https://redirect.github.com/serde-rs/serde/issues/2995">#2995</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a866b336f1"><code>a866b33</code></a>
Release 1.0.228</li>
<li><a
href="5adc9e816c"><code>5adc9e8</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2995">#2995</a>
from dtolnay/rustdocflags</li>
<li><a
href="ab581789f4"><code>ab58178</code></a>
Workaround for RUSTDOCFLAGS='--cfg=docsrs'</li>
<li>See full diff in <a
href="https://github.com/serde-rs/serde/compare/v1.0.227...v1.0.228">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-29 01:09:57 +00:00
dependabot[bot]
4972a83fba
build(deps): bump windows-sys from 0.61.0 to 0.61.1 (#39554)
Bumps [windows-sys](https://github.com/microsoft/windows-rs) from 0.61.0
to 0.61.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/microsoft/windows-rs/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=windows-sys&package-manager=cargo&previous-version=0.61.0&new-version=0.61.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-29 01:00:47 +00:00
Ashwin Naren
d12dc23083
storage: Move storage related backend threads to their own crate (#39418)
This PR moves storage related APIs (currently just webstorage and
indexeddb) into their own crate. This reduces the congestion in the net
thread.

Related Zulip thread:
https://servo.zulipchat.com/#narrow/channel/263398-general/topic/indexedDB.20location/with/535911631

Sub PRs:
- [x] Move shared storage/net stuff to base (`IpcSend` and
`CoreResourcePool`) #39419

---------

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-09-28 08:00:20 +00:00
Tim van der Lippe
ba5f36b671
script: Implement parsing of Link HTTP headers (#39052)
The Link HTTP header can do the same as link elements,
in that they can preload/prefetch/etc... This implements
the basics of header parsing and hooks it up for preload.

Note that we use a new nom-rfc8288 crate that implements
the parsing behavior. However, that crate is too strict
in that empty attributes (;; as part of the header) are
discarded and resulting in a parsing failure. Therefore,
we use its lenient parsing mode.

Part of #35035

---------

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
Signed-off-by: Tim van der Lippe <TimvdLippe@users.noreply.github.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2025-09-28 07:22:09 +00:00
Euclid Ye
41b1a8706b
webdriver: Safely converting to OpenGL coordinates when taking (element) screenshot (#39543)
When taking element screenshot, we need to convert y-coordinates to
comply with OpenGL. With dpi > 1, sometimes y can be -1 due to rounding,
resulting in panic when
660f90f687/components/shared/compositing/rendering_context.rs (L655)

This PR safely converts.

Testing: When running in headed mode with dpi > 1,
`/webdriver/tests/classic/take_element_screenshot/scroll_into_view.py`
always passes locally now without panic.
Fixes the panic:
https://github.com/servo/servo/issues/39306#issuecomment-3342204869

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-28 04:50:16 +00:00
Servo WPT Sync
660f90f687
Sync WPT with upstream (28-09-2025) (#39541)
Automated downstream sync of changes from upstream as of 28-09-2025
[no-wpt-sync]

Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-09-28 01:59:05 +00:00
Narfinger
3ccb7540c0
net: Do not send data scheme requests to DevTools (#39318)
Simple check to not send data urls to devtools.


Testing: Looked at reddit.com which sends data url and tested it with
this fix.
Fixes: Should fix https://github.com/servo/servo/issues/39127.

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-09-27 21:46:17 +00:00
Excitable Snowball
601ad7e5c6
script: Add message to InvalidStateError (#39535)
Adding an optional message to be attached to an InvalidStateError.

Testing: Only a refactor, no behavior change
Fixes: Partially #39053

Signed-off-by: Excitable Snowball <excitablesnowball@gmail.com>
2025-09-27 19:23:05 +00:00
Martin Robinson
55d094a871
script: Make stylesheets loaded via <link> elements block the rendering (#39536)
Stylesheets loaded via the `<link>` element should block the rendering
of the page according to the HTML specification [1]. This change makes
it so that they do this and, in addition, we do not take reftest
screenshots until all no element is blocking the rendering.

This change does not add support for the `blocking` attribute of
`<link>`, but that can be added in a follow change. In addition to
fixing a few tests, this change likely makes other tests no longer
intermittent. We will need to watch CI runs after this lands in order to
verify that though.

Testing: This change fixes at least two WPT tests.
Fixes: #26424.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-27 13:32:26 +00:00
Euclid Ye
6aa82309c3
webdriver: Wait animation frame callbacks before taking (element) screenshot (#39539)
According to spec, we should wait animation frame callbacks before
taking (element) screenshot. As "element screenshot" would automatically
scroll into view, this solves intermittency.

Testing: Manually tested on pages, and
`take_element_screenshot/scroll_into_view.py` passes stably now.
Fixes: #39306

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-27 13:29:44 +00:00
Martin Robinson
5f5f2abc0f
script: Rename StylesheetLoader to ElementStylesheetLoader (#39537)
`StylesheetLoader` implements the `StylesheetLoader` trait from Stylo.
This is pretty confusing as the names are the same. This change renames
the Servo version to `ElementStyleSheet` loader so that it's clearer
from reading the code what each of these things are.

Testing: This change just makes a few renames so shouldn't change test
results.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-27 13:04:46 +00:00
Josh Matthews
3f68bdacfe
Revert "Add abort signal preference to experimental web features" (#39538)
Reverts servo/servo#39421 . There are too many new intermittent
failures.

Fixes: https://github.com/servo/servo/issues/39516 
Fixes: https://github.com/servo/servo/issues/39521 
Fixes: https://github.com/servo/servo/issues/39522 
Fixes: https://github.com/servo/servo/issues/39523 
Fixes: https://github.com/servo/servo/issues/39524 
Fixes: https://github.com/servo/servo/issues/39527 
Fixes: https://github.com/servo/servo/issues/39532 
Fixes: https://github.com/servo/servo/issues/39512 
Fixes: https://github.com/servo/servo/issues/39503
2025-09-27 12:42:15 +00:00
blueguy1
19da3bc14e
servoshell(egl): Adjust WebViewRenderer size when resizing surface size (#39507)
For egl, previously, the resize function only set rendering_context
size. It needs to change webview_renderer size at the same time.

Testing: Testing the Mossel [homepage](https://www.huaweimossel.com/) on
mobile devices shows no issues when resizing.

---------

Signed-off-by: yjx <yangjingxiao1@huawei.com>
Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
Co-authored-by: yjx <yangjingxiao1@huawei.com>
Co-authored-by: Euclid Ye <euclid.ye@huawei.com>
2025-09-27 06:32:43 +00:00
Euclid Ye
2e8fac9395
webdriver: Elegantly handle "element screenshot" when bounding box has area zero (#39499)
It is possible that the bounding rectangle of an element has area 0.
This PR avoids panic in this case.

It is worth to mention that the panic itself won't kill the entire
program for interaction, but only the webdriver thread.

Testing: Manually tested on the case of #39495

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-27 02:20:35 +00:00
Tim van der Lippe
4c25039d35
Fully implement request constructor body handling (#39514)
This aligns the implementation with the spec, where both input body and
init body are now set. In doing so, it fixes a fetch abort test, since
the stream was missing for the input body.

It also introduces the `unusable` method, as that's the one the spec
uses. The other two getters no longer exist in the spec.

Fixes #39448

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-09-27 01:52:01 +00:00
batu_hoang
043425cae5
Establish baselines for testdriver.js infrastructure tests (#39496)
Update testdriver infrastructure test expectation.
For now, most failures of testdriver tests are caused by missing
implementation or issue in Servo.

Signed-off-by: batu_hoang <hoang.binh.trong@huawei.com>
2025-09-27 01:51:18 +00:00
Narfinger
18a1da0d80
Script: Remove last instances of Deref<str> and DerefMut<str> used for DOMString (#39504)
This removes the last instances of Deref<str> and DerefMut<str> used for
DOMString.
The goal is outlined in https://github.com/servo/servo/issues/39479.

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

Testing: Compilation is the test as it just changes function names
essentially.

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-27 01:48:24 +00:00
Oriol Brufau
89293995f0
script: Chain up scrollIntoView() scrolling to parent <iframe>s (#39475)
Calling `scrollIntoView()` on an element within an `<iframe>` will now
scroll scrolling boxes from the parent document(s), as long as they have
the same origin.

Testing: One existing subtest passes, and adding a new test.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-09-26 22:12:37 +00:00
Tim van der Lippe
b38bf3e606
Avoid crash when non-trusted-script object is passed into Function constructor (#39451)
It is possible to pass in objects that are not trusted scripts into the
Function constructor. Rather than crashing, we now treat these as
untrusted. `can_compile_string_with_trusted_type` doesn't need to know
the contents of a string, as it always marks it as untrusted.

We can make the same optimization in the string case, where we no longer
need to convert the string.

Testing: This change adds a WPT crash test.
Fixes #39436

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-09-26 18:33:56 +00:00
Oriol Brufau
d29ad5b9c3
compositing: Don't reset scroll positions when receiving a new frame tree (#39515)
In the past, all scroll offsets were reset when navigating between
pages,
and layouts probably didn't preserve their scroll positions between back
and forward operations. Whatever the reason, the compositor was still
trying to
reset these positions right after a load.

This is an issue, because a page can request a scroll during a load, and
this
scroll might be requested from `<iframe>` content. In that case, the
scroll
positions should be the ones that layout reflects and not cleared from
the
Compositor. This reset operation had the potential to stomp on scroll
positions
set during load.

It's quite likely that the Compositor shouldn't be trying to reset them
at all,
so just stop doing that. This removes a source of intermittency when
running
tests that set scroll positions.

Testing: Once #39475 lands after this, its test should always pass.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-26 17:14:45 +00:00
Tim van der Lippe
461c2427f3
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 14:41:53 +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