Commit graph

51446 commits

Author SHA1 Message Date
Jonathan Schwender
d2afe00f7b
Extend --with-asan to support C/C++ code (#36873)
`--with-asan` now also will instrument C/C++ code. This also increases
the requirements on the user environment, since a clang compiler with
the same major version as the LLVM version rustc is using must be in
PATH.
ASAN without C/C++ code is IMHO not so interesting, so I'm not sure if
it would be worth adding a separate flag.

Testing: Manual testing with `--with-asan`. I believe we don't run ASAN
in CI yet, although perhaps we should.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-05-11 07:27:40 +00:00
webbeef
e702bde9bf
Delete WR images when dropping the ImageCacheStore (#36956)
This deletes images from WR when dropping the ImageCacheStore for a
WebView.

Testing: Run `./mach run --enable-experimental-web-platform-features
unsplash.com` and then open `about:memory` in a new tab. On Linux we end
up with ~30MB of WR images. Then close the unsplash.com tab and measure
memory again, it will down to ~1.25MB

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

Signed-off-by: webbeef <me@webbeef.org>
2025-05-11 04:01:49 +00:00
webbeef
9c3069366e
Prevent overflow in intersection observer area evaluation (#36955)
Prevent overflowing by not calculating the area and reordering
arithmetic operations.

Testing: No regression in wpt tests:
1495105545
Fixes: https://github.com/servo/servo/issues/36940

Signed-off-by: webbeef <me@webbeef.org>
2025-05-11 03:05:47 +00:00
Servo WPT Sync
6cd44061d7
Sync WPT with upstream (11-05-2025) (#36954)
Automated downstream sync of changes from upstream as of 11-05-2025
[no-wpt-sync]

Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-05-11 01:41:53 +00:00
Kenzie Raditya Tirtarahardja
924fd06f14
Check receiver response in actions.rs (#36928)
Extend `wait_for_script_response()`
(https://github.com/servo/servo/pull/35024) for `actions.rs`

Signed-off-by: PotatoCP <kenzieradityatirtarahardja.18@gmail.com>
Co-authored-by: PotatoCP <kenzieradityatirtarahardja.18@gmail.com>
2025-05-10 19:27:19 +00:00
Keith Yeung
da1c49299b
Update the list of global and window event handlers (#36894)
There's an expanded list of event handlers content attributes that need
to be forwarded to the corresponding window of the body element, and
this PR adds the remaining ones. The full list can be seen in [this
link](https://html.spec.whatwg.org/multipage/webappapis.html#event-handlers-on-elements%2C-document-objects%2C-and-window-objects%3Aevent-handlers-6).

Testing: Covered by various WPT tests

---------

Signed-off-by: Keith Yeung <kungfukeith11@gmail.com>
2025-05-10 15:54:13 +00:00
dependabot[bot]
d725fb3728
build(deps): bump aws-lc-rs from 1.13.0 to 1.13.1 (#36939)
Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.13.0 to
1.13.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>v1.13.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Implement <code>AsRef&lt;[u8]&gt;</code> for
<code>UnparsedPublicKey</code> by <a
href="https://github.com/Stupremee"><code>@​Stupremee</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/790">aws/aws-lc-rs#790</a></li>
<li>Support for target <code>x86_64-pc-windows-gnullvm</code> by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/702">aws/aws-lc-rs#702</a></li>
<li>Improved support for <code>riscv64gc-unknown-linux-gnu</code> by <a
href="https://github.com/kxxt"><code>@​kxxt</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/774">aws/aws-lc-rs#774</a></li>
<li><code>aws-lc-sys</code> now aligns w/ AWS-LC v1.51.2 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/806">aws/aws-lc-rs#806</a></li>
</ul>
<h3>Build Improvements</h3>
<ul>
<li>Build latancy for <code>aarch64-apple-darwin</code> reduced by ~25%
by <a href="https://github.com/justsmth"><code>@​justsmth</code></a> in
<a
href="https://redirect.github.com/aws/aws-lc-rs/pull/797">aws/aws-lc-rs#797</a></li>
<li>Improved environment variable support by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/763">aws/aws-lc-rs#763</a></li>
<li>Assorted fixes for Windows compilation by <a
href="https://github.com/amyspark"><code>@​amyspark</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/778">aws/aws-lc-rs#778</a></li>
</ul>
<h3>Issues Being Resolved</h3>
<ul>
<li>Invalid numeric argument '/Wextra' with MSVC, how to build with
Clang? -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/571">aws/aws-lc-rs#571</a></li>
<li>Duplicate symbols in libaws_lc_0_28_2_crypto.a -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/795">aws/aws-lc-rs#795</a></li>
</ul>
<h2>Other Merged PRs</h2>
<ul>
<li>Document that BINDGEN_EXTRA_CLANG_ARGS can be used by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/781">aws/aws-lc-rs#781</a></li>
<li>Bump aws-lc-sys to v0.28.1 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/782">aws/aws-lc-rs#782</a></li>
<li>Test packaging w/ SSL build by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/784">aws/aws-lc-rs#784</a></li>
<li>Bump aws-lc-sys to v0.28.2 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/785">aws/aws-lc-rs#785</a></li>
<li>Bump aws-lc-fips-sys to v0.13.6 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/786">aws/aws-lc-rs#786</a></li>
<li>Add new include search path folder for no-cmake build because of
upstream AWS-LC change <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/2324">#2324</a>
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/792">aws/aws-lc-rs#792</a></li>
<li>Fix clippy by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/793">aws/aws-lc-rs#793</a></li>
<li>Update for s2n-bignum-imported by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/794">aws/aws-lc-rs#794</a></li>
<li>Update MacOS GH runners by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/798">aws/aws-lc-rs#798</a></li>
<li>Realign aws-lc-sys v0.29.0 w/ AWS-LC v1.51.1 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/804">aws/aws-lc-rs#804</a></li>
<li>Fix rustls integ tests by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/807">aws/aws-lc-rs#807</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/amyspark"><code>@​amyspark</code></a>
made their first contribution in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/778">aws/aws-lc-rs#778</a></li>
<li><a href="https://github.com/kxxt"><code>@​kxxt</code></a> made their
first contribution in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/774">aws/aws-lc-rs#774</a></li>
<li><a href="https://github.com/Stupremee"><code>@​Stupremee</code></a>
made their first contribution in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/790">aws/aws-lc-rs#790</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/aws/aws-lc-rs/compare/v1.13.0...v1.13.1">https://github.com/aws/aws-lc-rs/compare/v1.13.0...v1.13.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2833d9b00a"><code>2833d9b</code></a>
Build/Test for x86_64-pc-windows-gnullvm (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/702">#702</a>)</li>
<li><a
href="59470c5aa1"><code>59470c5</code></a>
Align w/ AWS-LC v1.51.2 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/806">#806</a>)</li>
<li><a
href="7670bb5bf3"><code>7670bb5</code></a>
Fix rustls integ tests (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/807">#807</a>)</li>
<li><a
href="5b0febbb73"><code>5b0febb</code></a>
Realign aws-lc-sys v0.29.0 w/ AWS-LC v1.51.1 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/804">#804</a>)</li>
<li><a
href="028bcd9b8d"><code>028bcd9</code></a>
Update MacOS GH runners (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/798">#798</a>)</li>
<li><a
href="3cffdbba7c"><code>3cffdbb</code></a>
Prepare aws-lc-sys v0.29.0 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/797">#797</a>)</li>
<li><a
href="27a1015965"><code>27a1015</code></a>
Update for s2n-bignum-imported (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/794">#794</a>)</li>
<li><a
href="e794f85c3f"><code>e794f85</code></a>
Fix clippy (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/793">#793</a>)</li>
<li><a
href="e6bce83094"><code>e6bce83</code></a>
Implement <code>AsRef\&lt;[u8]&gt;</code> for
<code>UnparsedPublicKey</code> (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/790">#790</a>)</li>
<li><a
href="36d24541e2"><code>36d2454</code></a>
Add new include search path folder for no-cmake build because of
upstream AWS...</li>
<li>Additional commits viewable in <a
href="https://github.com/aws/aws-lc-rs/compare/v1.13.0...v1.13.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.13.0&new-version=1.13.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-05-09 17:47:56 +00:00
dependabot[bot]
dea4a97019
build(deps): bump cc from 1.2.21 to 1.2.22 (#36938)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.21 to 1.2.22.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/cc-rs/releases">cc's
releases</a>.</em></p>
<blockquote>
<h2>cc-v1.2.22</h2>
<h3>Other</h3>
<ul>
<li>Add <code>flags</code> method to <code>cc::Build</code> for adding
multiple flags (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1466">#1466</a>)</li>
</ul>
</blockquote>
</details>
<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.21...cc-v1.2.22">1.2.22</a>
- 2025-05-09</h2>
<h3>Other</h3>
<ul>
<li>Add <code>flags</code> method to <code>cc::Build</code> for adding
multiple flags (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1466">#1466</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d61b3b3f39"><code>d61b3b3</code></a>
chore: release v1.2.22 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1467">#1467</a>)</li>
<li><a
href="f50ff26cd7"><code>f50ff26</code></a>
Add <code>flags</code> method to <code>cc::Build</code> for adding
multiple flags (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1466">#1466</a>)</li>
<li>See full diff in <a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.2.21...cc-v1.2.22">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.21&new-version=1.2.22)](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-05-09 17:36:57 +00:00
Tim van der Lippe
d0de4e64d2
Add CSP check for inline style attribute (#36923)
To be able to abort the update, extract the functionality into a
separate method. Otherwise, we don't run the `node.rev_version` at the
end, which according to the comment is probably important.

Not all `style-src` tests pass and I don't fully understand why yet, but
I presume it has to do with some special quirks of stylesheets that
other CSP checks don't have. All `style-src-attr-elem` tests pass
though.

Part of #4577

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-05-09 17:36:55 +00:00
dependabot[bot]
565e16178f
build(deps): bump rustls-webpki from 0.103.2 to 0.103.3 (#36937)
Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.103.2 to
0.103.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rustls/webpki/releases">rustls-webpki's
releases</a>.</em></p>
<blockquote>
<h2>0.103.3</h2>
<p>Add support for RSA signature algorithms that don't include
parameters. Per <a
href="https://www.rfc-editor.org/rfc/rfc4055#section-5">RFC 4055 section
5</a>, implementations of the SHA-1/SHA-2 one-way hash functions
&quot;MUST accept the parameters being absent as well as
present&quot;.</p>
<h2>What's Changed</h2>
<ul>
<li>Support RSA PKCS#1 signatures with absent parameters by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/rustls/webpki/pull/346">rustls/webpki#346</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="34a23922fc"><code>34a2392</code></a>
Bump version to 0.103.3</li>
<li><a
href="16abda163f"><code>16abda1</code></a>
Support RSA PKCS#1 signatures with absent parameters</li>
<li><a
href="0ac75b1726"><code>0ac75b1</code></a>
cargo-check-external-types: update toolchain</li>
<li>See full diff in <a
href="https://github.com/rustls/webpki/compare/v/0.103.2...v/0.103.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls-webpki&package-manager=cargo&previous-version=0.103.2&new-version=0.103.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-05-09 17:29:50 +00:00
Astraea Quinn S
366515f256
[OH] Provide correct geometry offset and fix available screen dimensions (#36915)
This commit corrects the geometry details provided under the OH platform
by getting the offset from the OS. OH port provides correct offset and
available space.

Fixes: #36466

---------

Signed-off-by: Astraea Quinn Skoutelli <astraea.quinn.skoutelli@huawei.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
Co-authored-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
2025-05-09 15:07:49 +00:00
atbrakhi
2aaf9695df
DevTools: Improve resource_available to handle multiple connections (#36933)
This patch improves the `resource_available` trait to handle multiple
connections. In this patch we also remove the redundant
`resource_available` from worker actor

Testing: Existing tests in DevTools already tests for this. We do not
need to add new test
Fixes: part of #36027

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: Delan Azabani <dazabani@igalia.com>
2025-05-09 12:06:33 +00:00
Taym Haddadi
e5347eceac
WebIDL Fix ImageData constructor to take a Uint8ClampedArray instead of js_object (#31398)
<!-- Please describe your changes on the following line: -->

Fix ImageData constructor to take a Uint8ClampedArray instead of
js_object

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by
`[X]` when the step is complete, and replace `___` with appropriate
data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #31320

<!-- Either: -->
- [x] These changes do not require tests because there is not behavior
change.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox
is checked, so that we can help you if you get stuck somewhere along the
way.-->

<!-- Pull requests that do not address these steps are welcome, but they
will require additional verification as part of the review process. -->

---------

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
2025-05-09 11:05:56 +00:00
Martin Robinson
53be79a5b5
layout: Resolve canvas background properties during painting (#36917)
Instead of resolving the canvas background properties (essentially
keeping a possible reference to the `<body>`'s style) during fragment
tree construction, wait until painting to possibly find the style on an
appropriate `<body>` fragment. This is possible now because `Fragment`
keeps a list of flags with relevant information about the root and
`<body>` elements.

A benefit of this approach is that styles aren't cached in the fragment
tree, which would be problematic for incremental layout. In addition,
the old code was making an effort to transform the `<body>`'s background
by the root element's transform. Only Safari does this and there was
a resolution the WG that this should not happen in
https://github.com/w3c/csswg-drafts/issues/6683.

Testing:
 - `/css/css-transforms/transform-translate-background-001.html`
 - `/css/css-transforms/transform-translate-background-002.html`
 - `/css/CSS2/floats/float-root.html`
 
Fixes: #30475.
Closes: #30569.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-05-09 10:36:53 +00:00
delan azabani
c6f61e6b6e
Devtools: add more test cases (#36910)
This patch adds test cases for Debugger > Sources with inline module
scripts and external classic scripts. We also fix the big test case in
#36401 to receive and assert the worker script URLs.

Testing: this patch improves test coverage for the Debugger > Sources
feature
Part of: #36325

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
2025-05-09 08:10:00 +00:00
Jonathan Schwender
063bfc761e
ohos: Set custom log domain (#36913)
This allows us to easily filter logs related to the servo app via our
domain tag, e.g.
The domain value was chosen empirically and doesn't seem to collide as
of now. From the OpenHarmony side there are no requirements on the value
as long as it is between `0x0000` and `0xFFFF`. A value of zero (current
status) doesn't allow filtering in hilog.

```
hdc shell hilog -D 0xE0C3
```



Testing: No functional changes

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
2025-05-08 17:35:45 +00:00
dependabot[bot]
7f38e1e956
build(deps): bump error-code from 3.3.1 to 3.3.2 (#36922)
Bumps [error-code](https://github.com/DoumanAsh/error-code) from 3.3.1
to 3.3.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DoumanAsh/error-code/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=error-code&package-manager=cargo&previous-version=3.3.1&new-version=3.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-05-08 17:17:37 +00:00
Astraea Quinn S
8473946d11
[OH] allow setting log_filter via prefs.json (#36916)
This PR allows us to set the `log_filter` via `prefs.json` as well as
commandline arguments.

Priority goes commandline > prefs.json > compile-time default.

Testing: I compiled and run servo on an OH device, and then checked the
logs:

```
hdc hilog | tee log | rg 'Set log_filter to'
```

```
05-08 15:25:59.389 55824 55993 D A00000/org.servo.servo/servoshell::prefs: Set log_filter to: Some("debug,geometry=trace")
```

Signed-off-by: Astraea Quinn Skoutelli <astraea.quinn.skoutelli@huawei.com>
2025-05-08 16:10:30 +00:00
Euclid Ye
f58b0c6ad4
rework webdriver deserialization to avoid false-positive cycle error (#36908)
1. Avoid false-positive cycle error when deserilizing
 - Only detect cycle for Objects
  - Remove last element of seen when success
2. Cite spec

Testing: `./mach test-wpt --product servodriver -r
tests\wpt\tests\webdriver\tests\classic\element_click\events.py`
Fixes: #36890 
cc @jdm @xiaochengh

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-05-08 13:54:58 +00:00
Tim van der Lippe
b6b80d4f6f
Correct event_target for CSP violations (#36887)
All logic is implemented in `report_csp_violations` to avoid
pulling in various element-logic into SecurityManager.

Update the `icon-blocked.sub.html` WPT test to ensure that
the document is the correct target (verified in Firefox and Chrome).

Fixes #36806

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-05-08 10:46:31 +00:00
Taym Haddadi
f3f4cc5500
Script implement TransformStream and TransformStreamDefaultController (#36739)
Part of https://github.com/servo/servo/issues/34676

---------

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
Signed-off-by: Taym <haddadi.taym@gmail.com>
Co-authored-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-05-08 08:45:57 +00:00
Martin Robinson
d39b9f05ff
webgl: Use glow::Context::supported_extensions() to implement getSupportedExtensions() (#36911)
Not only does this simplify the code, it fixes a problem where we were
attempting to use an OpenGL 3.0 API on an incompatible GL context.

Testing: There are already tests for `getSupportedExtensions()` in the
WebGL
suite, but effectively testing this requires drivers that do not support
a particular version of OpenGL, so it is a bit hard to actually test.
Fixes: #36852.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-05-08 08:34:52 +00:00
Martin Robinson
1a2e0a77d9
Add Zed configuration files to .gitignore (#36909)
The Zed editor (https://zed.dev/) leaves files in a `.zed` directory in
the top-level.

Testing: No tests necessary as this just updates `.gitignore`.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-05-08 08:23:19 +00:00
Andrei Volykhin
bc9f55bcc9
pixels: Actually write pixels in MULTIPLY generic_transform_inplace operations (#36895)
Multiply operations applied in `generic_transform_inplace` were
calculating the new pixel values, but not actually writing them.
This changes fixes that issue.

Testing: /webgl/tests/conformance/context/premultiplyalpha-test.html
Fixes: #35759

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-05-08 07:38:02 +00:00
Martin Robinson
c6de8fc8e6
constellation: Ignore zombie_process warning (#36904)
`rust-analyzer` shows a `zombie_process` warning, but only on macOS as
far
as I can tell. This change ignores the warning here. We aren't currently
in a position where we can reliably `wait()` on spawned processes, which
needs to happen as part of a larger multiprocess / cleanup effort.

Testing: No testing as this just ignores an LSP warning.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-05-07 19:37:27 +00:00
dependabot[bot]
41896c72e7
build(deps): bump web_atoms from 0.1.1 to 0.1.2 (#36903)
Bumps [web_atoms](https://github.com/servo/html5ever) from 0.1.1 to
0.1.2.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0c645e1336"><code>0c645e1</code></a>
Add missing event handler names (<a
href="https://redirect.github.com/servo/html5ever/issues/610">#610</a>)</li>
<li><a
href="559f96ae6a"><code>559f96a</code></a>
Publish web_atoms 0.1.1. (<a
href="https://redirect.github.com/servo/html5ever/issues/609">#609</a>)</li>
<li><a
href="c24853eeb8"><code>c24853e</code></a>
Add <code>innerText</code> and <code>textContent</code> as localname (<a
href="https://redirect.github.com/servo/html5ever/issues/608">#608</a>)</li>
<li><a
href="0eace84090"><code>0eace84</code></a>
Remove unsupported category. (<a
href="https://redirect.github.com/servo/html5ever/issues/607">#607</a>)</li>
<li><a
href="018ecdb941"><code>018ecdb</code></a>
Bump markup5ever to 0.16.1 (<a
href="https://redirect.github.com/servo/html5ever/issues/606">#606</a>)</li>
<li><a
href="0292f3fddf"><code>0292f3f</code></a>
Split atoms out into a separate crate (<a
href="https://redirect.github.com/servo/html5ever/issues/599">#599</a>)</li>
<li><a
href="a02b136d71"><code>a02b136</code></a>
Remove the <code>emit</code> and <code>emit_temp</code> shorthands from
the html tokenizer (<a
href="https://redirect.github.com/servo/html5ever/issues/604">#604</a>)</li>
<li><a
href="a1486b09c1"><code>a1486b0</code></a>
Trigger errors without macros, remove <code>unwrap_or_else!</code> and
<code>go_match!</code> (<a
href="https://redirect.github.com/servo/html5ever/issues/600">#600</a>)</li>
<li><a
href="809eec756c"><code>809eec7</code></a>
Remove all direct uses of unwrap_or_return! (<a
href="https://redirect.github.com/servo/html5ever/issues/598">#598</a>)</li>
<li><a
href="cb63d4f871"><code>cb63d4f</code></a>
Don't import xml5ever enums into the global namespace (<a
href="https://redirect.github.com/servo/html5ever/issues/597">#597</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/servo/html5ever/compare/v0.1.1...web_atoms-v0.1.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=web_atoms&package-manager=cargo&previous-version=0.1.1&new-version=0.1.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-05-07 17:51:56 +00:00
dependabot[bot]
aff2b25bd7
build(deps): bump libm from 0.2.14 to 0.2.15 (#36902)
Bumps [libm](https://github.com/rust-lang/compiler-builtins) from 0.2.14
to 0.2.15.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/compiler-builtins/releases">libm's
releases</a>.</em></p>
<blockquote>
<h2>libm-v0.2.15</h2>
<h3>Other</h3>
<ul>
<li>Require <code>target_has_atomic = &quot;ptr&quot;</code> for runtime
feature detection</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a4c748f72a"><code>a4c748f</code></a>
release-plz: Include the libm changelog in compiler-builtins</li>
<li><a
href="cf00941064"><code>cf00941</code></a>
chore: release</li>
<li><a
href="da8b5829f4"><code>da8b582</code></a>
Require <code>target_has_atomic = &quot;ptr&quot;</code> for runtime
feature detection</li>
<li><a
href="1b1b2ed16e"><code>1b1b2ed</code></a>
ci: Mention <code>ci: skip-extensive</code> in the error message</li>
<li><a
href="6d78c1acc9"><code>6d78c1a</code></a>
Replace <code>super::super</code> with <code>crate::support</code> where
possible</li>
<li><a
href="8e78411a4f"><code>8e78411</code></a>
docs: fix typo in Cargo.toml</li>
<li>See full diff in <a
href="https://github.com/rust-lang/compiler-builtins/compare/libm-v0.2.14...libm-v0.2.15">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libm&package-manager=cargo&previous-version=0.2.14&new-version=0.2.15)](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-05-07 17:37:44 +00:00
dependabot[bot]
264d70b27f
build(deps): bump winnow from 0.7.9 to 0.7.10 (#36901)
Bumps [winnow](https://github.com/winnow-rs/winnow) from 0.7.9 to
0.7.10.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md">winnow's
changelog</a>.</em></p>
<blockquote>
<h2>[0.7.10] - 2025-05-06</h2>
<h3>Compatibility</h3>
<ul>
<li>Deprecated <code>Stream::raw</code></li>
</ul>
<h3>Features</h3>
<ul>
<li>Added <code>Stream::trace</code> for better customization of
<code>trace</code> parsers</li>
</ul>
<h3>Fixes</h3>
<ul>
<li>Remove <code>initial</code> from <code>TokenSlice</code> /
<code>LocatingSlice</code>s Debug impl</li>
<li><code>Stream::trace</code> prints non-pretty output for
<code>&amp;[T]</code> and <code>TokenSlice&lt;T&gt;</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a2eed308b3"><code>a2eed30</code></a>
chore: Release</li>
<li><a
href="af1225adb4"><code>af1225a</code></a>
docs: Update changelog</li>
<li><a
href="ec852b5246"><code>ec852b5</code></a>
Merge pull request <a
href="https://redirect.github.com/winnow-rs/winnow/issues/661">#661</a>
from epage/trace</li>
<li><a
href="5acc4e7ec3"><code>5acc4e7</code></a>
docs: Provide example of custom Debug for lexing</li>
<li><a
href="bc06ccbdb6"><code>bc06ccb</code></a>
fix(stream): Don't use 'pretty' dump for Slice/TokenSlice</li>
<li><a
href="ad874536eb"><code>ad87453</code></a>
fix(stream): Decouple BStr's trace from debug</li>
<li><a
href="0184e67291"><code>0184e67</code></a>
fix(stream): Deprecated Stream::raw</li>
<li><a
href="34480fd561"><code>34480fd</code></a>
feat(stream): Give streams direct control over 'trace' output</li>
<li><a
href="d607525bea"><code>d607525</code></a>
fix(stream): Remove initial input from debug reprs</li>
<li><a
href="07f43d332d"><code>07f43d3</code></a>
test(stream): Use snapbox</li>
<li>See full diff in <a
href="https://github.com/winnow-rs/winnow/compare/v0.7.9...v0.7.10">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=winnow&package-manager=cargo&previous-version=0.7.9&new-version=0.7.10)](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-05-07 17:37:34 +00:00
dependabot[bot]
4cd17e17dc
build(deps): bump backtrace from 0.3.74 to 0.3.75 (#36900)
Bumps [backtrace](https://github.com/rust-lang/backtrace-rs) from 0.3.74
to 0.3.75.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/backtrace-rs/releases">backtrace's
releases</a>.</em></p>
<blockquote>
<h2>0.3.75</h2>
<h2>What's Changed</h2>
<ul>
<li>Add support for symbolicating APK/ZIP-embedded libraries on Android
in <a
href="https://redirect.github.com/rust-lang/backtrace-rs/pull/662">rust-lang/backtrace-rs#662</a></li>
<li>Support zstd-compressed ELF sections in <a
href="https://redirect.github.com/rust-lang/backtrace-rs/pull/626">rust-lang/backtrace-rs#626</a></li>
<li>Recognize windows-sys signatures as &quot;C&quot; or
&quot;system&quot; depending on cfg in <a
href="https://redirect.github.com/rust-lang/backtrace-rs/pull/677">rust-lang/backtrace-rs#677</a></li>
<li>Enable libunwind for rtems in <a
href="https://redirect.github.com/rust-lang/backtrace-rs/pull/682">rust-lang/backtrace-rs#682</a></li>
<li>MSRV is now 1.79</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/thesummer"><code>@​thesummer</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/backtrace-rs/pull/682">rust-lang/backtrace-rs#682</a></li>
<li><a
href="https://github.com/sudoBash418"><code>@​sudoBash418</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/backtrace-rs/pull/662">rust-lang/backtrace-rs#662</a></li>
<li><a href="https://github.com/MarcoIeni"><code>@​MarcoIeni</code></a>
made their first contribution in <a
href="https://redirect.github.com/rust-lang/backtrace-rs/pull/684">rust-lang/backtrace-rs#684</a></li>
<li><a href="https://github.com/madsmtm"><code>@​madsmtm</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/backtrace-rs/pull/681">rust-lang/backtrace-rs#681</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rust-lang/backtrace-rs/compare/0.3.74...0.3.75">https://github.com/rust-lang/backtrace-rs/compare/0.3.74...0.3.75</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f8cc6ac9ac"><code>f8cc6ac</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/backtrace-rs/issues/680">#680</a>
from ChrisDenton/0.3.75</li>
<li><a
href="612c01817b"><code>612c018</code></a>
Cut backtrace 0.3.75</li>
<li><a
href="d7c5a4522d"><code>d7c5a45</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/backtrace-rs/issues/689">#689</a>
from workingjubilee/formalize-lru</li>
<li><a
href="c88b038c34"><code>c88b038</code></a>
Revert &quot;mem::swap, not mem::replace, in LRU backshifts&quot;</li>
<li><a
href="b7fbd04694"><code>b7fbd04</code></a>
mem::swap, not mem::replace, in LRU backshifts</li>
<li><a
href="3afccb194e"><code>3afccb1</code></a>
raise backtrace MSRV to allow <code>inline_const</code></li>
<li><a
href="63b7d260a9"><code>63b7d26</code></a>
Use a custom container for Cache's cache</li>
<li><a
href="154a0eafb9"><code>154a0ea</code></a>
Update libloading dep, run <code>cargo
update</code><code>rust-lang/backtrace-rs#650</code></li>
<li><a
href="4d7906bb24"><code>4d7906b</code></a><code>rust-lang/backtrace-rs#682</code></li>
<li><a
href="a9c4658d49"><code>a9c4658</code></a>
Test Mac Catalyst in CI, and clean up unnecessary iOS env flags
(rust-lang/ba...</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/backtrace-rs/compare/0.3.74...0.3.75">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=backtrace&package-manager=cargo&previous-version=0.3.74&new-version=0.3.75)](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-05-07 17:31:54 +00:00
dependabot[bot]
e29c48a0d0
build(deps): bump rustls-pki-types from 1.11.0 to 1.12.0 (#36899)
Bumps [rustls-pki-types](https://github.com/rustls/pki-types) from
1.11.0 to 1.12.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rustls/pki-types/releases">rustls-pki-types's
releases</a>.</em></p>
<blockquote>
<h2>1.12.0</h2>
<ul>
<li>Implement <code>Zeroize</code> for private key types</li>
<li>Add algorithm identifiers for ML-DSA signing algorithms</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Add support for the zeroize crate by <a
href="https://github.com/jarhodes314"><code>@​jarhodes314</code></a> in
<a
href="https://redirect.github.com/rustls/pki-types/pull/71">rustls/pki-types#71</a></li>
<li>rustfmt: style_edition 2024 by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/rustls/pki-types/pull/74">rustls/pki-types#74</a></li>
<li>Add cargo deny check in CI by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/rustls/pki-types/pull/76">rustls/pki-types#76</a></li>
<li>Add AlgorithmIdentifiers for ML-DSA variants by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/rustls/pki-types/pull/78">rustls/pki-types#78</a></li>
<li>Check external types in public API by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/rustls/pki-types/pull/80">rustls/pki-types#80</a></li>
<li>Prepare 1.12.0 release by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/rustls/pki-types/pull/79">rustls/pki-types#79</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4b52db8f39"><code>4b52db8</code></a>
Bump version to 1.12.0</li>
<li><a
href="812eb3a067"><code>812eb3a</code></a>
ci: sync nightly for cargo-check-external-types</li>
<li><a
href="a15fc87315"><code>a15fc87</code></a>
Enable running CI workflow manually</li>
<li><a
href="df76779e64"><code>df76779</code></a>
Skip push CI for most branches</li>
<li><a
href="939c2c6b9c"><code>939c2c6</code></a>
ci: check external types</li>
<li><a
href="fae72b94cb"><code>fae72b9</code></a>
Allow zeroize::Zeroize to appear in public API</li>
<li><a
href="c5fffabe70"><code>c5fffab</code></a>
Add AlgorithmIdentifiers for ML-DSA variants</li>
<li><a
href="b59e08d499"><code>b59e08d</code></a>
Version Cargo.lock</li>
<li><a
href="bbad87b6c2"><code>bbad87b</code></a>
Add cargo deny check in CI</li>
<li><a
href="864471f5db"><code>864471f</code></a>
rustfmt: style_edition 2024</li>
<li>Additional commits viewable in <a
href="https://github.com/rustls/pki-types/compare/v/1.11.0...v/1.12.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-07 17:26:24 +00:00
Gae24
5b913441d4
async clipboard: implement readText (#36689)
part of #36084
Testing: Only idl harness tests will pass for now

---------

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
2025-05-07 15:11:37 +00:00
Martin Robinson
348eede37b
layout: Store shared styles for table backgrounds in SharedBackgroundStyle (#36893)
Table cells share background styles with their track and track group
boxes. When a track and track group style is repaired, this new data
structure will allow reparing the style of the cell `Fragment`s without
having to lay the table out again or walk through `Fragment`s and
individually repair their background styles.

Testing: This doesn't change behavior and is thus tested by existing
WPT tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-05-07 11:44:59 +00:00
delan azabani
68a76baea3
Devtools: add automated test for Debugger > Sources (#36401)
This patch adds our first automated test for devtools, covering the
changes in #36164. These tests are not run in CI yet, but you can run
them as follows:

```sh
$ ./mach build --release
$ ./mach test-devtools
```

Testing: this patch adds automated tests!
Start of: #36325

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: Aria Edmonds <aria@ar1as.space>
2025-05-07 10:43:18 +00:00
Simon Wülker
23c327a988
script: Serialize a custom element's "is" value as an attribute (#36888)
Testing: Covered by web platform tests

[try
run](1486889324)

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-05-07 10:29:14 +00:00
batu_hoang
b2e51820e4
Set proper button value in WebDriver - ElementClick command (#36871)
Fix ElementClick: `ElementClick` should use `MouseButton::Left` to
create `action`.

Testing: No pass test now. Tests still fail because of other issues.
For: https://github.com/servo/servo/issues/36658

cc: @xiaochengh , @yezhizhen , @PotatoCP

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-05-07 08:58:01 +00:00
Kenzie Raditya Tirtarahardja
eaf9224799
Implement wheel action in webdriver (#36744)
https://w3c.github.io/webdriver/#wheel-actions

Test:
`tests/wpt/tests/webdriver/tests/classic/perform_actions/wheel.py::{test_null_response_value,test_params_actions_origin_outside_viewport[element],test_params_actions_origin_outside_viewport[viewport]},
tests/wpt/tests/webdriver/tests/classic/perform_actions/perform.py`
Fixes: https://github.com/servo/servo/issues/36720

cc: @xiaochengh @longvatrong111 @yezhizhen

Signed-off-by: PotatoCP <kenzieradityatirtarahardja.18@gmail.com>
Co-authored-by: PotatoCP <kenzieradityatirtarahardja.18@gmail.com>
2025-05-07 08:41:34 +00:00
Josh Matthews
f47e69c112
Improve some webdriver conformance tests results (#36673)
These changes allow test_dom_token_list from
/execute_script/collections.py to pass, and various tests in
/execute_script/arguments.py to expose new failures.

Testing: Not run in CI yet, but verified results from
tests/wpt/tests/webdriver/tests/classic/{execute_script,execute_async_script}
locally.
Fixes: #35738

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-05-07 07:22:29 +00:00
Josh Matthews
a18c6e2c78
Fix double borrow panic in Node.childNodes (#36889)
`ensure_rare_data` returns a RefMut that extends the borrow of
Node.rare_data. This can lead to a panic in any method that triggers a
GC while this borrow is outstanding, such as Node.childNodes.

Testing: Manual testing on the testcase from the issue. It is impossible
to create a deterministic WPT crash test that is fast enough and can be
counted upon to continue working in the future.
Fixes: #36868

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-05-07 04:35:26 +00:00
Josh Matthews
ba8f923201
Various memory measurement improvements (#36834)
The two significant changes here are 1) a commit that frees memory used
to perform memory reporting once the reporting is complete, 2) memory
reporting for the system font service. There are various other commits
that remove `#[ignore_malloc_size_of]` attributes for data that we are
now able to measure, but they do not significantly change our
measurements when testing servo.org.

Testing: Comparing the output of about:memory on servo.org.

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-05-07 04:00:12 +00:00
Tim van der Lippe
e9f364ef51
Implement inline CSP check for style element (#36860)
Part of #4577

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-05-06 18:52:27 +00:00
dependabot[bot]
d73b7653b4
build(deps): bump jiff from 0.2.12 to 0.2.13 (#36886)
Bumps [jiff](https://github.com/BurntSushi/jiff) from 0.2.12 to 0.2.13.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md">jiff's
changelog</a>.</em></p>
<blockquote>
<h1>0.2.13 (2025-05-05)</h1>
<p>This release fixes a bug in a corner case where
<code>TimeZone::following</code> could
sometimes omit the last time zone transition. This could only happen in
time
zones that once had daylight saving time, but ended it. This did not
have an
impact on other Jiff APIs that handle daylight saving time.</p>
<p>Bug fixes:</p>
<ul>
<li><a
href="https://redirect.github.com/BurntSushi/jiff/issues/362">#362</a>:
Fix a bug where <code>TimeZone::following</code> could omit the last
historical time zone
transition.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5d60f33c58"><code>5d60f33</code></a>
0.2.13</li>
<li><a
href="677072eb0f"><code>677072e</code></a>
tz: fix case analysis in <code>TimeZone::following</code></li>
<li><a
href="5336ffb811"><code>5336ffb</code></a>
doc: fix outdated reference to <code>Eq</code> implementation on
<code>Span</code></li>
<li><a
href="b3f9c1effe"><code>b3f9c1e</code></a>
doc: some minor clean-ups</li>
<li>See full diff in <a
href="https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.12...jiff-static-0.2.13">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jiff&package-manager=cargo&previous-version=0.2.12&new-version=0.2.13)](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-05-06 17:32:36 +00:00
dependabot[bot]
c582bec3d5
build(deps): bump rustls-webpki from 0.103.1 to 0.103.2 (#36885)
Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.103.1 to
0.103.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rustls/webpki/releases">rustls-webpki's
releases</a>.</em></p>
<blockquote>
<h2>0.103.2</h2>
<ul>
<li>Maintain context for key usage mismatch errors in order to make them
easier to interpret.</li>
<li>Accept certificates with an empty extension sequence.</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>Fix CI build failures, tidy cargo-deny config by <a
href="https://github.com/cpu"><code>@​cpu</code></a> in <a
href="https://redirect.github.com/rustls/webpki/pull/339">rustls/webpki#339</a></li>
<li>Update semver-compatible dependencies by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/rustls/webpki/pull/341">rustls/webpki#341</a></li>
<li>Remove tests from package that is published by <a
href="https://github.com/SwishSwushPow"><code>@​SwishSwushPow</code></a>
in <a
href="https://redirect.github.com/rustls/webpki/pull/340">rustls/webpki#340</a></li>
<li>Allow x509v3 empty extensions (redux) by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/rustls/webpki/pull/342">rustls/webpki#342</a></li>
<li>tests: use rcgen for client_auth tests by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/rustls/webpki/pull/343">rustls/webpki#343</a></li>
<li>tests: remove test certs for client_auth tests by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/rustls/webpki/pull/344">rustls/webpki#344</a></li>
<li>Maintain context for key usage mismatch errors by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/rustls/webpki/pull/337">rustls/webpki#337</a></li>
<li>Refine CI workflow triggers by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/rustls/webpki/pull/345">rustls/webpki#345</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1e923bf9cd"><code>1e923bf</code></a>
ci: enable triggering CI workflow manually</li>
<li><a
href="f4a8783238"><code>f4a8783</code></a>
ci: skip push triggers for most branches</li>
<li><a
href="9cf30f67d6"><code>9cf30f6</code></a>
Bump version to 0.103.2</li>
<li><a
href="baac0b0792"><code>baac0b0</code></a>
Maintain context for key usage mismatch errors</li>
<li><a
href="85d885dae4"><code>85d885d</code></a>
tests: remove test certs for client_auth tests</li>
<li><a
href="7badc0ed34"><code>7badc0e</code></a>
tests: move check_cert() down</li>
<li><a
href="5b3dae134a"><code>5b3dae1</code></a>
tests: use rcgen for client_auth tests</li>
<li><a
href="2efb15ec6e"><code>2efb15e</code></a>
Add test for empty extensions</li>
<li><a
href="e82008ad3b"><code>e82008a</code></a>
Accept empty X509v3 extensions</li>
<li><a
href="ce0385c8f9"><code>ce0385c</code></a>
Remove tests from package that is published</li>
<li>Additional commits viewable in <a
href="https://github.com/rustls/webpki/compare/v/0.103.1...v/0.103.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls-webpki&package-manager=cargo&previous-version=0.103.1&new-version=0.103.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-05-06 17:32:19 +00:00
Josh Matthews
bbfa283518
Remove service worker pref from experimental web features. (#36867)
Most sites that feature detect Service Workers in Servo immediately
break when this pref is enabled, since our implementation is very
incomplete. This provides a poor user experience when recommending the
`--enable-experimental-web-platform-features` flag.

Testing: Existing test coverage should be unchanged.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-05-06 17:25:16 +00:00
dependabot[bot]
81608d1822
build(deps): bump tokio from 1.44.2 to 1.45.0 (#36884)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.44.2 to 1.45.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tokio/releases">tokio's
releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.45.0</h2>
<h3>Added</h3>
<ul>
<li>metrics: stabilize <code>worker_total_busy_duration</code>,
<code>worker_park_count</code>, and <code>worker_unpark_count</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6899">#6899</a>,
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7276">#7276</a>)</li>
<li>process: add <code>Command::spawn_with</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7249">#7249</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>io: do not require <code>Unpin</code> for some trait impls (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7204">#7204</a>)</li>
<li>rt: mark <code>runtime::Handle</code> as unwind safe (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7230">#7230</a>)</li>
<li>time: revert internal sharding implementation (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7226">#7226</a>)</li>
</ul>
<h3>Unstable</h3>
<ul>
<li>rt: remove alt multi-threaded runtime (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7275">#7275</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/tokio/issues/6899">#6899</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/6899">tokio-rs/tokio#6899</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7276">#7276</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7276">tokio-rs/tokio#7276</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7249">#7249</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7249">tokio-rs/tokio#7249</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7204">#7204</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7204">tokio-rs/tokio#7204</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7230">#7230</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7230">tokio-rs/tokio#7230</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7226">#7226</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7226">tokio-rs/tokio#7226</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7275">#7275</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7275">tokio-rs/tokio#7275</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="00754c8f9c"><code>00754c8</code></a>
chore: prepare Tokio v1.45.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7308">#7308</a>)</li>
<li><a
href="1ae9434e8e"><code>1ae9434</code></a>
time: revert &quot;use sharding for timer implementation&quot; related
changes (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7226">#7226</a>)</li>
<li><a
href="8895bba448"><code>8895bba</code></a>
ci: Test AArch64 Windows (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7288">#7288</a>)</li>
<li><a
href="48ca254d92"><code>48ca254</code></a>
time: update <code>sleep</code> documentation to reflect maximum allowed
duration (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7302">#7302</a>)</li>
<li><a
href="a0af02a396"><code>a0af02a</code></a>
compat: add more documentation to <code>tokio_util::compat</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7279">#7279</a>)</li>
<li><a
href="0ce3a1188a"><code>0ce3a11</code></a>
metrics: stabilize <code>worker_park_count</code> and
<code>worker_unpark_count</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7276">#7276</a>)</li>
<li><a
href="1ea9ce11d4"><code>1ea9ce1</code></a>
ci: fix cfg!(miri) declarations in tests (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7286">#7286</a>)</li>
<li><a
href="4d4d12613b"><code>4d4d126</code></a>
chore: prepare tokio-util v0.7.15 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7283">#7283</a>)</li>
<li><a
href="5490267a79"><code>5490267</code></a>
fs: update the mockall dev dependency to 0.13.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7234">#7234</a>)</li>
<li><a
href="1434b32b5a"><code>1434b32</code></a>
examples: improve echo example consistency (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7256">#7256</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-1.44.2...tokio-1.45.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.44.2&new-version=1.45.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-05-06 17:25:15 +00:00
dependabot[bot]
a0e5ee22fb
build(deps): bump rustls from 0.23.26 to 0.23.27 (#36882)
Bumps [rustls](https://github.com/rustls/rustls) from 0.23.26 to
0.23.27.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="260190933b"><code>2601909</code></a>
Bump version to 0.23.27</li>
<li><a
href="a70b0e6a2c"><code>a70b0e6</code></a>
Handle webpki RequiredEkuNotFoundContext errors</li>
<li><a
href="06a704e3c8"><code>06a704e</code></a>
Update to webpki 0.103.2</li>
<li><a
href="9509626f13"><code>9509626</code></a>
Deprecate dangerous_extract_secrets on unbuffered connections</li>
<li><a
href="bf9e874384"><code>bf9e874</code></a>
Add test cases for KernelConnection key updates</li>
<li><a
href="5a12171558"><code>5a12171</code></a>
Add kernel connection API</li>
<li><a
href="35c44d2688"><code>35c44d2</code></a>
Extract tls13 expand_secret function out of extract_secrets</li>
<li><a
href="47ed0c66e4"><code>47ed0c6</code></a>
ci: enable triggering CI workflow manually</li>
<li><a
href="26b8ee3f65"><code>26b8ee3</code></a>
ci: skip push triggers for most branches</li>
<li><a
href="70ed532b33"><code>70ed532</code></a>
Update Rust crate nix to 0.30</li>
<li>Additional commits viewable in <a
href="https://github.com/rustls/rustls/compare/v/0.23.26...v/0.23.27">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls&package-manager=cargo&previous-version=0.23.26&new-version=0.23.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-05-06 17:22:35 +00:00
Martin Robinson
d5e008fd6a
layout: Use ServoLayoutNode directly instead of a generic impl (#36876)
This makes it so that layout is no longer generic on the node type,
depending directly on `script`'s `ServoLayoutNode`. In addition to
greatly simplifying layout, this is necessary because incremental layout
needs to be able to create pseudo-element styles without having a handle
on the original `impl LayoutNode`. We feel this is a reasonable
tradeoff.

Testing: No functional changes, so covered by existing WPT tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-05-06 14:27:51 +00:00
Simon Wülker
51b95a6246
Serialize attribute nodes as the empty string (#36875)
The existing code asserts that attribute nodes are never serialized.
This is wrong, because you can pass an attribute node to
`XMLSerializer::serializeToString`. Instead, the spec mandates that
these are serialized as empty strings
(https://w3c.github.io/DOM-Parsing/#dfn-xml-serialization-algorithm).

Testing: Includes a new web platform test
Fixes: https://github.com/servo/servo/issues/36872

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-05-06 12:26:15 +00:00
Simon Wülker
03abec4148
Replace urlpattern implementation with rust-urlpattern crate (#36826)
This change implements the full URLPattern API using
https://github.com/denoland/rust-urlpattern, except the two most
important functions (`test` and `exec`). These two are blocked on
https://github.com/servo/servo/issues/28679 due to this union:
539ca27284/components/script_bindings/webidls/URLPattern.webidl (L61).

Testing: Covered by existing web platform tests
Makes https://github.com/servo/servo/pull/36421 obsolete

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-05-06 09:42:55 +00:00
Simon Wülker
54c2818974
Don't slice a sliced blob (#36866)
When slicing a blob that is already sliced we should reference it's
parent's data instead of creating a subview into the sliced blob. This
keeps the blob ancestry chain small and reduces the number of blobs that
we have to resolve.

Testing: Includes a new crashtest
Fixes: https://github.com/servo/servo/issues/36843

[try
run](1484487366)

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-05-06 07:25:11 +00:00
Josh Matthews
3b806ca424
script_bindings: Check for null pointer before dereferencing proxy handler custom data (#36869)
While the vast majority of DOM proxy objects created have a non-null
pointer in the handler's extra data field, there is one place we create
a proxy object that has a null pointer:
8b05b7449d/components/script/window_named_properties.rs (L76)
. Before #36818, dereferencing this null pointer was undefined behaviour
that was silently being ignored; now that Rust 1.86 adds debug pointer
validity checks, we get a panic when trying to dereference it.

Testing: Tested about:memory with rustc 1.86.

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-05-06 06:08:31 +00:00