Commit graph

50960 commits

Author SHA1 Message Date
Gregory Terzian
6e9d01b908
Add license for WHATWG specifications in code (#36282)
Add license for WHATWG specs incorporated into source code, as per the
[TSC
discussion](db2f4074d4/governance/tsc/tsc-2025-03-31.md (add-license-for-whatwg-specs-incorporated-into-source-code)).

As per for example https://html.spec.whatwg.org/#ipr

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-04-03 04:33:06 +00:00
dependabot[bot]
f53652e61b
build(deps): bump clap from 4.5.34 to 4.5.35 (#36296)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.34 to 4.5.35.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.5.35</h2>
<h2>[4.5.35] - 2025-04-01</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Align positionals and flags when put in the same
<code>help_heading</code></li>
<li><em>(help)</em> Don't leave space for shorts if there are none</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.5.35] - 2025-04-01</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Align positionals and flags when put in the same
<code>help_heading</code></li>
<li><em>(help)</em> Don't leave space for shorts if there are none</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="55a18f518b"><code>55a18f5</code></a>
chore: Release</li>
<li><a
href="3b0563580d"><code>3b05635</code></a>
fix(complete): Ensure new enough clap is used</li>
<li>See full diff in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.34...clap_complete-v4.5.35">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.5.34&new-version=4.5.35)](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-04-02 17:36:20 +00:00
dependabot[bot]
03e43c5a23
build(deps): bump env_logger from 0.11.7 to 0.11.8 (#36294)
Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.11.7
to 0.11.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-cli/env_logger/releases">env_logger's
releases</a>.</em></p>
<blockquote>
<h2>v0.11.8</h2>
<h2>[0.11.8] - 2025-04-01</h2>
<h3>Compatibility</h3>
<ul>
<li><em>(kv)</em> Deprecate the <code>unstable-kv</code> feature which
may be removed in a future patch release</li>
</ul>
<h3>Features</h3>
<ul>
<li><em>(kv)</em> Stabilize key-value support behind the <code>kv</code>
feature</li>
<li>Expose <code>ConfigurableFormat</code> to build custom
[<code>Builder::format</code>]s that leverage this</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md">env_logger's
changelog</a>.</em></p>
<blockquote>
<h2>[0.11.8] - 2025-04-01</h2>
<h3>Compatibility</h3>
<ul>
<li><em>(kv)</em> Deprecate the <code>unstable-kv</code> feature which
may be removed in a future patch release</li>
</ul>
<h3>Features</h3>
<ul>
<li><em>(kv)</em> Stabilize key-value support behind the <code>kv</code>
feature</li>
<li>Expose <code>ConfigurableFormat</code> to build custom
[<code>Builder::format</code>]s that leverage this</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f0443b26fe"><code>f0443b2</code></a>
chore: Release</li>
<li><a
href="d8b5e1e884"><code>d8b5e1e</code></a>
docs: Update changelog</li>
<li><a
href="3ca671fe6d"><code>3ca671f</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/env_logger/issues/360">#360</a>
from epage/format</li>
<li><a
href="bc02d61e0a"><code>bc02d61</code></a>
feat(fmt): Expose ConfigurableFormat</li>
<li><a
href="c567fdee73"><code>c567fde</code></a>
refactor(fmt): Pull out format logic</li>
<li><a
href="ce25c73961"><code>ce25c73</code></a>
refactor(fmt): Make DefaultFormats name more specific</li>
<li><a
href="739ebb1d37"><code>739ebb1</code></a>
refactor(fmt): Pull out logger's builder methods</li>
<li><a
href="3acb571daa"><code>3acb571</code></a>
refactor(fmt): Delegate formatting to DefaultFormat</li>
<li><a
href="e351bcb92d"><code>e351bcb</code></a>
refactor(fmt): Reduce duplication in DefaultFormatWriter</li>
<li><a
href="3c9e6ff528"><code>3c9e6ff</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/env_logger/issues/359">#359</a>
from epage/kv</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/env_logger/compare/v0.11.7...v0.11.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=env_logger&package-manager=cargo&previous-version=0.11.7&new-version=0.11.8)](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-04-02 17:19:36 +00:00
dependabot[bot]
26069ad5be
build(deps): bump aws-lc-rs from 1.12.6 to 1.13.0 (#36293)
Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.12.6 to
1.13.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aws/aws-lc-rs/releases">aws-lc-rs's
releases</a>.</em></p>
<blockquote>
<h2>aws-lc-rs v1.13.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Support serializing <code>RsaSubjectPublicKey</code> to/from X509 by
<a href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/742">aws/aws-lc-rs#742</a></li>
<li>ML-DSA support in <code>unstable</code> module by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/690">aws/aws-lc-rs#690</a></li>
<li>Remove Kyber, KDF from <code>unstable</code> module by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/747">aws/aws-lc-rs#747</a></li>
</ul>
<h3>Build improvements</h3>
<ul>
<li>Fix CMake submodule warning by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/730">aws/aws-lc-rs#730</a></li>
<li>Prefixing applied to all external symbols in
<code>aws-lc-sys</code>:
<ul>
<li>Align aws-lc-sys v0.27.2 w/ AWS-LC v1.48.5 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/740">aws/aws-lc-rs#740</a></li>
</ul>
</li>
<li>Improve cross-build support to <code>x86_64-pc-windows-gnu</code>:
<ul>
<li>Include Go source in <code>aws-lc-sys</code> crate by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/754">aws/aws-lc-rs#754</a></li>
</ul>
</li>
<li>Support build using CMake 4.0:
<ul>
<li>Bump aws-lc-fips-sys to v0.13.5 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/760">aws/aws-lc-rs#760</a></li>
<li>Regenerate aws-lc-sys @ v1.48.3 by <a
href="https://github.com/skmcgrail"><code>@​skmcgrail</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/734">aws/aws-lc-rs#734</a></li>
</ul>
</li>
<li>CI for <code>x86_64-unknown-illumos</code> build target:
<ul>
<li>Try to support illumos by <a
href="https://github.com/LecrisUT"><code>@​LecrisUT</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/709">aws/aws-lc-rs#709</a></li>
</ul>
</li>
</ul>
<h3>Issues Being Resolved</h3>
<ul>
<li>implement
<code>encoding::AsDer&lt;PublicKeyX509Der&lt;'a&gt;&gt;</code> for
<code>rsa::PublicKey</code> -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/741">aws/aws-lc-rs#741</a></li>
<li>-sys: include aws-lc/crypto/err/err_data_generate.go in published
crates -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/752">aws/aws-lc-rs#752</a></li>
<li>Failing to cross build for <code>x86_64-pc-windows-gnu</code> -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/753">aws/aws-lc-rs#753</a></li>
<li>Failure to build with CMake 4 -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/755">aws/aws-lc-rs#755</a></li>
</ul>
<h2>Other Merged PRs</h2>
<ul>
<li>Update rustls integ test by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/717">aws/aws-lc-rs#717</a></li>
<li>Bump aws-lc-fips-sys to v0.13.4 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/731">aws/aws-lc-rs#731</a></li>
<li>Test script for bindings pregeneration by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/732">aws/aws-lc-rs#732</a></li>
<li>No libssl cross test for arm-linux-androideabi by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/739">aws/aws-lc-rs#739</a></li>
<li>aws-lc-sys: output only one library by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/749">aws/aws-lc-rs#749</a></li>
<li>Align aws-lc-sys v0.28.0 w/ AWS-LC 1.49.0 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/757">aws/aws-lc-rs#757</a></li>
<li>Bump to aws-lc-rs v1.13.0 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/758">aws/aws-lc-rs#758</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/LecrisUT"><code>@​LecrisUT</code></a>
made their first contribution in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/709">aws/aws-lc-rs#709</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/aws/aws-lc-rs/compare/v1.12.6...v1.13.0">https://github.com/aws/aws-lc-rs/compare/v1.12.6...v1.13.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8ed1be8f6c"><code>8ed1be8</code></a>
Bump to aws-lc-rs v1.13.0 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/758">#758</a>)</li>
<li><a
href="1e96391d40"><code>1e96391</code></a>
Bump aws-lc-fips-sys to v0.13.5 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/760">#760</a>)</li>
<li><a
href="706565c162"><code>706565c</code></a>
Include Go source in <code>aws-lc-sys</code> crate (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/754">#754</a>)</li>
<li><a
href="344a56fc86"><code>344a56f</code></a>
Align aws-lc-sys v0.28.0 w/ AWS-LC 1.49.0 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/757">#757</a>)</li>
<li><a
href="b6d070b12a"><code>b6d070b</code></a>
Remove Kyber, KDF from unstable (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/747">#747</a>)</li>
<li><a
href="2e8b15872e"><code>2e8b158</code></a>
Unstable API for ML-DSA (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/690">#690</a>)</li>
<li><a
href="d998c017ad"><code>d998c01</code></a>
Try to support illumos (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/709">#709</a>)</li>
<li><a
href="44de3d2110"><code>44de3d2</code></a>
aws-lc-sys: output only one library (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/749">#749</a>)</li>
<li><a
href="bfe34e8636"><code>bfe34e8</code></a>
Support RsaSubjectPublicKey to/from X509; Bump version (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/742">#742</a>)</li>
<li><a
href="4fe81985d8"><code>4fe8198</code></a>
Align aws-lc-sys v0.27.2 w/ AWS-LC v1.48.5 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/740">#740</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aws/aws-lc-rs/compare/v1.12.6...v1.13.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-lc-rs&package-manager=cargo&previous-version=1.12.6&new-version=1.13.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-04-02 17:18:05 +00:00
dependabot[bot]
fa1d55b440
build(deps): bump flate2 from 1.1.0 to 1.1.1 (#36292)
Bumps [flate2](https://github.com/rust-lang/flate2-rs) from 1.1.0 to
1.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/flate2-rs/releases">flate2's
releases</a>.</em></p>
<blockquote>
<h2>1.1.1</h2>
<p>This release should be smaller and thus faster to download.
Additionally, when using the <code>zlib-rs</code> backend, duplicate
symbol issues shouldn't occur anymore.</p>
<h2>What's Changed</h2>
<ul>
<li>docs: Update README to promote zlib-rs by <a
href="https://github.com/Xuanwo"><code>@​Xuanwo</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/470">rust-lang/flate2-rs#470</a></li>
<li>Update miniz_oxide to 0.8.5 by <a
href="https://github.com/oyvindln"><code>@​oyvindln</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/475">rust-lang/flate2-rs#475</a></li>
<li>Remove stale CHANGELOG.md by <a
href="https://github.com/jayvdb"><code>@​jayvdb</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/476">rust-lang/flate2-rs#476</a></li>
<li>More informative README on backends by <a
href="https://github.com/Shnatsel"><code>@​Shnatsel</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/480">rust-lang/flate2-rs#480</a></li>
<li>Rewrite outdated backend notes in lib.rs by <a
href="https://github.com/Shnatsel"><code>@​Shnatsel</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/481">rust-lang/flate2-rs#481</a></li>
<li>upgrade zlib-rs to version <code>0.5.0</code> by <a
href="https://github.com/folkertdev"><code>@​folkertdev</code></a> in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/482">rust-lang/flate2-rs#482</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Xuanwo"><code>@​Xuanwo</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/470">rust-lang/flate2-rs#470</a></li>
<li><a href="https://github.com/jayvdb"><code>@​jayvdb</code></a> made
their first contribution in <a
href="https://redirect.github.com/rust-lang/flate2-rs/pull/476">rust-lang/flate2-rs#476</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rust-lang/flate2-rs/compare/1.1.0...1.1.1">https://github.com/rust-lang/flate2-rs/compare/1.1.0...1.1.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="98c98c8a57"><code>98c98c8</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/flate2-rs/issues/482">#482</a>
from folkertdev/update-zlib-rs-0.5.0</li>
<li><a
href="94b36b01e6"><code>94b36b0</code></a>
upgrade zlib-rs to version <code>0.5.0</code></li>
<li><a
href="a79bfe495a"><code>a79bfe4</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/flate2-rs/issues/481">#481</a>
from Shnatsel/backend-docs</li>
<li><a
href="694e822cd1"><code>694e822</code></a>
less editorializing</li>
<li><a
href="6debe9512b"><code>6debe95</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/flate2-rs/issues/480">#480</a>
from Shnatsel/zlib-rs-readme</li>
<li><a
href="a24e276931"><code>a24e276</code></a>
Rewrite outdated backend notes in lib.rs</li>
<li><a
href="78ca1741a6"><code>78ca174</code></a>
More informative README on backends</li>
<li><a
href="c9a3efaf1f"><code>c9a3efa</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/flate2-rs/issues/476">#476</a>
from jayvdb/rm-changelog</li>
<li><a
href="0b2137d8d8"><code>0b2137d</code></a>
Remove stale CHANGELOG.md</li>
<li><a
href="0abbd1c0e6"><code>0abbd1c</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/flate2-rs/issues/475">#475</a>
from oyvindln/patch-1</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/flate2-rs/compare/1.1.0...1.1.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-02 17:13:18 +00:00
Richard Dushime
60baa8ce11
Use Window in new methods instead of GlobalScope for interfaces with … (#36133)
…Window-only constructors

<!-- Please describe your changes on the following line: -->


---
<!-- 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 #36118 (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- 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: richarddushime <mudaherarich@gmail.com>
Signed-off-by: Richard Dushime <45734838+richarddushime@users.noreply.github.com>
2025-04-02 14:50:56 +00:00
Martin Robinson
2ce306f450
script: Create CSSStyleOwner::Null for getComputedStyle (#36272)
This new `CSSStyleOwner` variant is used when the pseudo-element
argument fails to parse properly or is for some unknown or unsupported
pseudo-element.

Testing: There are tests for this change. Various tests start to pass
and some start to
fail. New failures are due to partial or fully missing support for
pseudo-elements such
as:
 - `::selection`
 - `::first-letter` and `::first-line`
 - `::marker`

Co-authored-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-04-02 13:54:42 +00:00
Oriol Brufau
1f13e8b596
layout: Allow collapsing bottom margins with any indefinite block size (#36278)
According to CSS2, the bottom margin of a block container can collapse
with the bottom margin of its last in-flow child if `height` computes to
`auto`.

However, according to CSS Sizing, that was "legacy spec prose" and
should be interpreted as "behaves as `auto`".

Therefore, cyclic percentages and intrinsic keywords like `min-content`
shouldn't prevent margin collapse, because they behave as `auto`.

This change aligns Servo with Gecko and Blink, but diverges from WebKit.

https://www.w3.org/TR/CSS22/box.html#collapsing-margins
https://www.w3.org/TR/css-sizing/#behave-auto

Testing:
-
`tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-001.html`
-
`tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-002.html`
-
`tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-003.html`
-
`tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-004.html`
-
`tests/wpt/tests/css/css-sizing/margin-collapse-with-indefinite-block-size-005.html`

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-04-02 12:10:04 +00:00
Andrei Volykhin
3bc0eeab8f
dom: Firing "click" event as synthetic pointer event (#36274)
According to specification

https://html.spec.whatwg.org/multipage/webappapis.html#fire-a-click-event
"Firing a click event at target means firing a synthetic pointer event
named click at target"

So need to replace synthetic mouse event with "click" type to pointer
event.

https://w3c.github.io/pointerevents/#the-click-auxclick-and-contextmenu-events
https://www.w3.org/TR/uievents/#event-type-click

Firing "click" event could be triggered from script or by UA:
- element.click()
(https://html.spec.whatwg.org/multipage/interaction.html#dom-click)
- form implicit submission
(https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#implicit-submission)
- keyboard activation (space)

---
- [x] ./mach build -d does not report any errors
- [x] ./mach test-tidy does not report any errors
- [x] There are tests for these changes
tests/wpt/tests/shadow-dom/event-composed.html
tests/wpt/tests/uievents/interface/click-event.htm

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-04-02 11:20:25 +00:00
Martin Robinson
b925c31424
libservo: Start moving WindowMethods to WebViewDelegate (#36223)
`WindowMethods` is used by the embedding layer to get information from
the embedder. This change moves the functionality for getting screen
size and `WebView` offsets to `WebViewDelegate`.

This is important because `WebView`s might be on different screens or
have different offsets on the screen itself, so it makes sense for this
to be per-`WebView` and not global to the embedder. HiDPI and animation
state functionality will move to the embedder in subsequent changes.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>

<!-- Please describe your changes on the following line: -->


---
<!-- 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 do not require tests because they just modify the
`WebView` API surface a bit.

<!-- 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: Martin Robinson <mrobinson@igalia.com>
2025-04-02 11:17:24 +00:00
Shubham Gupta
520a7f7bc5
Fix broken unit-test of webview (#36238)
This PR fixes the broken unit-test after
[#35662](https://github.com/servo/servo/pull/35662)

Testing: Verified locally and CI confirms too.
Fixes: Migrate the test to use new API

cc: @xiaochengh

Signed-off-by: Shubham Gupta <shubham13297@gmail.com>
2025-04-02 10:00:24 +00:00
Martin Robinson
4402b7cf8f
libservo: Remove a couple EmbedderMethods (#36276)
- Remove `EmbedderMethods::get_user_agent_string`. This is now part of
  the `Preferences` data structure, which should allow it to be
  per-`WebView` in the future.
- Remove `EmbedderMethods::get_version_string`. This was used to include
  some data along with WebRender captures about the Servo version. This
  isn't really necessary and it was done to replace code in the past
  that output the WebRender version, so also isn't what the original
  code did. I think we can just remove this entirely.

The idea with these changes is that `EmbedderMethods` can be removed
in a followup and the rest of the methods can be added to
`ServoDelegate`. These two methods are ones that cannot be added to a
delegate as they are used during `Servo` initialization.

Testing: There is currently no testing for libservo. These changes are
meant
as preparation for adding a suite of `WebView` unit tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-04-01 22:59:50 +00:00
Tim van der Lippe
0d38d6239a
Remove meta-legacy-layout wpt tests (#36281)
These tests were related to the legacy layout engine which has been
removed.
Therefore, they are considered leftover and can be removed.

Fixes #36277

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-04-01 19:19:21 +00:00
Oriol Brufau
0cdc1dcf72
Turn CSSStyleRule into a CSSGroupingRule subclass (#36254)
Note that `StyleRule` may not have the `CssRules` readily available,
they may need to be created. So the previous approach of providing
`CSSGroupingRule` with the `CssRules` is no good: it would require
writing them in advance, just in case they end up being used.

Therefore, this removes the `CSSGroupingRule::rules` field. Instead,
they are lazily obtained in `CSSGroupingRule::rulelist()` by downcasting
and calling the appropriate method for the subclass.

Testing: covered by WPT
Fixes: #36245

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-04-01 19:18:07 +00:00
dependabot[bot]
dba8a0c22c
build(deps): bump quick-xml from 0.37.3 to 0.37.4 (#36280)
Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.37.3 to
0.37.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tafia/quick-xml/releases">quick-xml's
releases</a>.</em></p>
<blockquote>
<h2>v0.37.4 - Derive more traits for readers</h2>
<h2>What's Changed</h2>
<h3>Misc Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/852">#852</a>:
Add <code>Debug</code> impl for <code>NsReader</code> and
<code>Reader</code> and <code>Clone</code> impl for
<code>NsReader</code></li>
</ul>
<p><a
href="https://redirect.github.com/tafia/quick-xml/issues/852">#852</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/pull/852">tafia/quick-xml#852</a></p>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/lukasfri"><code>@​lukasfri</code></a>
made their first contribution in <a
href="https://redirect.github.com/tafia/quick-xml/pull/852">tafia/quick-xml#852</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/tafia/quick-xml/compare/v0.37.3...v0.37.4">https://github.com/tafia/quick-xml/compare/v0.37.3...v0.37.4</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tafia/quick-xml/blob/master/Changelog.md">quick-xml's
changelog</a>.</em></p>
<blockquote>
<h2>0.37.4 -- 2025-04-01</h2>
<h3>Misc Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/852">#852</a>:
Add <code>Debug</code> impl for <code>NsReader</code> and
<code>Reader</code> and <code>Clone</code> impl for
<code>NsReader</code></li>
</ul>
<p><a
href="https://redirect.github.com/tafia/quick-xml/issues/852">#852</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/pull/852">tafia/quick-xml#852</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a81bac74d6"><code>a81bac7</code></a>
Release 0.37.4</li>
<li><a
href="cbcf835776"><code>cbcf835</code></a>
Add some standard derives for Debug and Clone on Reader and
NsReader.</li>
<li>See full diff in <a
href="https://github.com/tafia/quick-xml/compare/v0.37.3...v0.37.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=quick-xml&package-manager=cargo&previous-version=0.37.3&new-version=0.37.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-04-01 17:39:04 +00:00
dependabot[bot]
c400751b55
build(deps): bump hyper-util from 0.1.10 to 0.1.11 (#36279)
Bumps [hyper-util](https://github.com/hyperium/hyper-util) from 0.1.10
to 0.1.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hyperium/hyper-util/releases">hyper-util's
releases</a>.</em></p>
<blockquote>
<h2>v0.1.11</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(client): Fix <code>HTTP/2</code> websocket request by <a
href="https://github.com/0x676e67"><code>@​0x676e67</code></a> in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/165">hyperium/hyper-util#165</a></li>
<li>builder: expose methods for determining if HTTP/1.1 or HTTP/2
support are enabled by <a
href="https://github.com/tobz"><code>@​tobz</code></a> in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/164">hyperium/hyper-util#164</a></li>
<li>feat(server): support <code>auto_date_header</code>,
<code>max_local_error_reset_streams</code>, and
<code>ignore_invalid_headers</code>. by <a
href="https://github.com/finnbear"><code>@​finnbear</code></a> in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/161">hyperium/hyper-util#161</a></li>
<li>fix(tracing): propagate span context by <a
href="https://github.com/alpeb"><code>@​alpeb</code></a> in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/166">hyperium/hyper-util#166</a></li>
<li>feat(rt/tokio): additive tokio and hyper i/o adaptors by <a
href="https://github.com/cratelyn"><code>@​cratelyn</code></a> in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/170">hyperium/hyper-util#170</a></li>
<li>feat(client): implement Connection for UnixStream and
NamedPipeClient by <a
href="https://github.com/seanmonstar"><code>@​seanmonstar</code></a> in
<a
href="https://redirect.github.com/hyperium/hyper-util/pull/177">hyperium/hyper-util#177</a></li>
<li>enable <code>HttpConnector::interface</code> on macOS and Solarish
systems by <a href="https://github.com/hawkw"><code>@​hawkw</code></a>
in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/176">hyperium/hyper-util#176</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/jlizen"><code>@​jlizen</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/159">hyperium/hyper-util#159</a></li>
<li><a href="https://github.com/linyihai"><code>@​linyihai</code></a>
made their first contribution in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/160">hyperium/hyper-util#160</a></li>
<li><a href="https://github.com/tobz"><code>@​tobz</code></a> made their
first contribution in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/164">hyperium/hyper-util#164</a></li>
<li><a href="https://github.com/finnbear"><code>@​finnbear</code></a>
made their first contribution in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/161">hyperium/hyper-util#161</a></li>
<li><a href="https://github.com/alpeb"><code>@​alpeb</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/166">hyperium/hyper-util#166</a></li>
<li><a href="https://github.com/cratelyn"><code>@​cratelyn</code></a>
made their first contribution in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/168">hyperium/hyper-util#168</a></li>
<li><a href="https://github.com/hawkw"><code>@​hawkw</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/hyper-util/pull/176">hyperium/hyper-util#176</a></li>
</ul>
<h2>Thanks</h2>
<ul>
<li><a href="https://github.com/tottoto"><code>@​tottoto</code></a></li>
<li><a
href="https://github.com/gretchenfrage"><code>@​gretchenfrage</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hyperium/hyper-util/blob/master/CHANGELOG.md">hyper-util's
changelog</a>.</em></p>
<blockquote>
<h1>0.1.11 (2025-03-31)</h1>
<ul>
<li>Add <code>tracing</code> crate feature with support in
<code>TokioExecutor</code>.</li>
<li>Add <code>HttpConnector::interface()</code> support for macOS and
Solarish systems.</li>
<li>Add <code>rt::WithHyperIo</code> and <code>rt::WithTokioIo</code>
combinators.</li>
<li>Add <code>auto_date_header()</code> for auto server builder.</li>
<li>Add <code>max_local_error_reset_streams()</code> for auto server
builder.</li>
<li>Add <code>ignore_invalid_headers()</code> for auto server
builder.</li>
<li>Add methods to determine if auto server is configured for HTTP/1 or
HTTP/2.</li>
<li>Implement <code>Connection</code> for <code>UnixStream</code> and
<code>NamedPipeClient</code>.</li>
<li>Fix HTTP/2 websocket requests sent through
<code>legacy::Client</code>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4c4e0622aa"><code>4c4e062</code></a>
v0.1.11</li>
<li><a
href="486e3b6bb4"><code>486e3b6</code></a>
bump license year</li>
<li><a
href="5831ace168"><code>5831ace</code></a>
feat(client): enable <code>HttpConnector::interface</code> on macOS and
Solarish systems...</li>
<li><a
href="dc03ad4134"><code>dc03ad4</code></a>
feat(client): implement Connection for UnixStream and NamedPipeClient
(<a
href="https://redirect.github.com/hyperium/hyper-util/issues/177">#177</a>)</li>
<li><a
href="94afd503b4"><code>94afd50</code></a>
feat(rt/tokio): additive tokio and hyper i/o adaptors (<a
href="https://redirect.github.com/hyperium/hyper-util/issues/170">#170</a>)</li>
<li><a
href="ef35d8ab08"><code>ef35d8a</code></a>
chore: pin once-cell on msrv ci job (<a
href="https://redirect.github.com/hyperium/hyper-util/issues/175">#175</a>)</li>
<li><a
href="d51318df34"><code>d51318d</code></a>
chore(client/legacy): remove unused <code>PoolClient::is_closed()</code>
(<a
href="https://redirect.github.com/hyperium/hyper-util/issues/169">#169</a>)</li>
<li><a
href="1290685fbb"><code>1290685</code></a>
chore(tokio): warn on dead code (<a
href="https://redirect.github.com/hyperium/hyper-util/issues/168">#168</a>)</li>
<li><a
href="b90ff7d882"><code>b90ff7d</code></a>
feat(rt): add <code>tracing</code> feature that will propagate span
context in TokioExec...</li>
<li><a
href="46826ea758"><code>46826ea</code></a>
feat(server): support <code>auto_date_header</code>,
<code>max_local_error_reset_streams</code>, an...</li>
<li>Additional commits viewable in <a
href="https://github.com/hyperium/hyper-util/compare/v0.1.10...v0.1.11">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 17:21:02 +00:00
Steven Novaryo
a77592e281
canvas: Implement line dash setters and getters (#36257)
Implement `setLineDash`, `getLineDash`, and `lineDashOffset` from
`CanvasPathDrawingStyles` mixin, according to the spec
https://html.spec.whatwg.org/multipage/canvas.html#canvaspathdrawingstyles.

Testing: Existing WPT.

---------

Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
2025-04-01 11:22:00 +00:00
Oriol Brufau
bc6926d1fe
Implement CSSNestedDeclarations (#36248)
This is the CSSOM interface that represents a nested declarations rule.
https://drafts.csswg.org/css-nesting/#the-cssnestrule

Testing: `/_mozilla/mozilla/interfaces.https.html`. And once
`CSSStyleRule` becomes a `CSSGroupingRule` subclass, this will be
further covered by `/css/css-nestting/`.
This is part of #36245

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-04-01 11:20:46 +00:00
Oriol Brufau
e8d5a019a4
Enable CSS parent selector (&) (#36249)
Bumps Stylo to servo/stylo#164
Changelog:
bc4717c784...600b5c4297

Testing: covered by WPT
This is part of https://github.com/servo/servo/issues/36245

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-04-01 09:08:18 +00:00
Delan Azabani
30b712aaf9
devtools: Fix id collisions by using incrementing counters (#35971)
Devtools clients need a `browserId`, `browsingContextID`, and
`outerWindowID`, which correspond to WebViewId, BrowsingContextId, and
PipelineId in Servo. These u32 values were previously derived from our
sharded (u32,u32) id values by taking only the `index` (second u32) and
ignoring the `namespace_id` (first u32), leading to collisions.

This patch fixes that by mapping those Servo ids to sequential u32
values.

---
<!-- 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 #35954

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- 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: Delan Azabani <dazabani@igalia.com>
2025-04-01 09:00:40 +00:00
Josh Matthews
fcef1dff9d
Fix null realm assertion when activating a service worker (#36256)
Ensure there is an active realm when dispatching the `activation` DOM
event to the ServiceWorker global.

Testing: Existing WPT coverage.
Fixes: #36114
Fixes: #36235
Fixes: #36231

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-04-01 08:13:02 +00:00
MDCODE247
be38c5478f
script: Use RegExpFlag_UnicodeSets when validating regular expressions in HTMLInputElement (#36236)
Changed `RegExpFlag_Unicode` to `RegExpFlag_UnicodeSets` in all
instances.

Testing: Ran `./mach test-wpt
tests/wpt/tests/html/semantics/forms/constraints/form-validation-validity-patternMismatch.html`
and all tests passed successfully.
Fixes: #36075

---------

Signed-off-by: MDCODE247 <ammedabubakard500@gmail.com>
2025-04-01 07:29:24 +00:00
Usman Yahaya Baba
fab7bbcd38
Add SimulateColorScheme command and script thread handling (#36253)
Implements Steps 2-3 of #35867:
- Adds `SimulateColorScheme` to `DevtoolScriptControlMsg` for light/dark
mode simulation.
- Handles it in `ScriptThread` with `handle_theme_change` to toggle
themes.

Testing: This PR does not require testing because it only adds
infrastructure (command and handler) but doesn’t yet integrate with
devtools actors.
Fixes: Part of #35867 (https://github.com/servo/servo/issues/35867)

---------

Signed-off-by: Uthman Yahaya Baba <uthmanyahayababa@gmail.com>
2025-04-01 02:08:27 +00:00
Simon Wülker
8b23801a24
Remove ServoParser::do_parse_sync (#36255)
The indirection through ServoParser::parse_sync does nothing, so the
method can simply be called directly.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-04-01 01:24:56 +00:00
Oriol Brufau
77525cef84
Enable css-nesting WPT tests (#36246)
So that we can see the improvement when enabling the feature.

Testing: This PR enables tests
This is part of #36245

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-03-31 19:07:27 +00:00
dependabot[bot]
7c691b6d59
build(deps): bump darling from 0.20.10 to 0.20.11 (#36244)
Bumps [darling](https://github.com/TedDriggs/darling) from 0.20.10 to
0.20.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/TedDriggs/darling/releases">darling's
releases</a>.</em></p>
<blockquote>
<h2>v0.20.11</h2>
<ul>
<li>Support <code>#[darling(with = ...)]</code> on the <code>data</code>
field when deriving <code>FromDeriveInput</code>. This allows the use of
simpler receiver types, such as a <code>Vec</code> of enum
variants.</li>
<li>Bump version of <code>proc-macro2</code> to 1.0.86.</li>
<li>Accept closures for <code>#[darling(with = ...)]</code> on fields in
<code>FromDeriveInput</code>, <code>FromMeta</code>,
<code>FromField</code>, etc. <a
href="https://redirect.github.com/TedDriggs/darling/issues/309">#309</a></li>
<li>Add <code>darling::util::Callable</code> to accept a path or closure
as a meta-item expression</li>
<li>Add <code>#[darling(from_word = ...)]</code> and
<code>#[darling(from_none = ...)]</code> to control shorthand and
fallback behaviors for structs and enums deriving <code>FromMeta</code>
<a
href="https://redirect.github.com/TedDriggs/darling/issues/320">#320</a></li>
<li>Add <code>FromMeta</code> impl for <code>syn::ExprRange</code> <a
href="https://github.com/TedDriggs/issues/329">#329</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/TedDriggs/darling/blob/master/CHANGELOG.md">darling's
changelog</a>.</em></p>
<blockquote>
<h2>v0.20.11 (March 28, 2025)</h2>
<ul>
<li>Support <code>#[darling(with = ...)]</code> on the <code>data</code>
field when deriving <code>FromDeriveInput</code>. This allows the use of
simpler receiver types, such as a <code>Vec</code> of enum
variants.</li>
<li>Bump version of <code>proc-macro2</code> to 1.0.86.</li>
<li>Accept closures for <code>#[darling(with = ...)]</code> on fields in
<code>FromDeriveInput</code>, <code>FromMeta</code>,
<code>FromField</code>, etc. <a
href="https://redirect.github.com/TedDriggs/darling/issues/309">#309</a></li>
<li>Add <code>darling::util::Callable</code> to accept a path or closure
as a meta-item expression</li>
<li>Add <code>#[darling(from_word = ...)]</code> and
<code>#[darling(from_none = ...)]</code> to control shorthand and
fallback behaviors for structs and enums deriving <code>FromMeta</code>
<a
href="https://redirect.github.com/TedDriggs/darling/issues/320">#320</a></li>
<li>Add <code>FromMeta</code> impl for <code>syn::ExprRange</code> <a
href="https://github.com/TedDriggs/issues/329">#329</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="82a51e0b65"><code>82a51e0</code></a>
Bump version to 0.20.11</li>
<li><a
href="61834da6a2"><code>61834da</code></a>
Impl FromMeta for syn::ExprRange (<a
href="https://redirect.github.com/TedDriggs/darling/issues/332">#332</a>)</li>
<li><a
href="f18d5d5388"><code>f18d5d5</code></a>
Add explicit implementations of <code>FromMeta</code> methods to
<code>SpannedValue</code> and `Ove...</li>
<li><a
href="a6e5f524b2"><code>a6e5f52</code></a>
Move generation of from_word body for unit variants</li>
<li><a
href="c8c8201521"><code>c8c8201</code></a>
Add from_word and from_none options</li>
<li><a
href="3a848ca282"><code>3a848ca</code></a>
Extract path-or-closure to darling::util::Callable</li>
<li><a
href="fa552e4fd7"><code>fa552e4</code></a>
Error if <code>attrs</code> field is declared and
<code>forward_attrs</code> is missing.</li>
<li><a
href="af24bdf87a"><code>af24bdf</code></a>
Reject extra data passed to unit enum variants</li>
<li><a
href="b7a248f8ee"><code>b7a248f</code></a>
Fix clippy violations by removing unnecessary iifetimes</li>
<li><a
href="b746a0c4a9"><code>b746a0c</code></a>
Accept a closure for <code>with</code> in lieu of a path for fields (<a
href="https://redirect.github.com/TedDriggs/darling/issues/310">#310</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/TedDriggs/darling/compare/v0.20.10...v0.20.11">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 18:01:57 +00:00
dependabot[bot]
fe6b296a00
build(deps): bump socket2 from 0.5.8 to 0.5.9 (#36243)
Bumps [socket2](https://github.com/rust-lang/socket2) from 0.5.8 to
0.5.9.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/rust-lang/socket2/commits">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 17:52:32 +00:00
Usman Yahaya Baba
f9831f2bea
Track the active tab and browsing context for devtools (#36168)
<!-- Please describe your changes on the following line: -->


---Part of #35867, per Step 5 suggestion. This PR:
- Adds active_tab (via RefCell) to RootActor, updated in
get_tab_msg_by_browser_id.
- Adds browsing_context() helper to TabDescriptorActor.
- Adds actor()`getter to TabDescriptorActorMsg for  access in root.rs.
-Creates the chain (Root - Tab - BrowsingContext) for routing
colorSchemeSimulation.
<!-- 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
- [ ] These changes fix #___ (GitHub issue number if applicable)

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they’re structural
setup for the actor chain and don’t change the system's behavior yet.

<!-- 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: Uthman Yahaya Baba <uthmanyahayababa@gmail.com>
2025-03-31 17:51:28 +00:00
dependabot[bot]
05e48c3d46
build(deps): bump iana-time-zone from 0.1.62 to 0.1.63 (#36242)
Bumps [iana-time-zone](https://github.com/strawlab/iana-time-zone) from
0.1.62 to 0.1.63.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/strawlab/iana-time-zone/blob/main/CHANGELOG.md">iana-time-zone's
changelog</a>.</em></p>
<blockquote>
<h2>[0.1.63] - 2025-03-31</h2>
<h3>Changes</h3>
<ul>
<li>Bump MSRV (minimum supported rust version) to 1.62 (<a
href="https://redirect.github.com/strawlab/iana-time-zone/pull/131">#131</a>)</li>
<li>Bump <code>windows-core</code> to <code>0.56-0.61</code> range (<a
href="https://redirect.github.com/strawlab/iana-time-zone/pull/131">#131</a>,
<a
href="https://redirect.github.com/strawlab/iana-time-zone/pull/133">#133</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6adcd016a8"><code>6adcd01</code></a>
Bump version number to 0.1.63</li>
<li><a
href="16f281a63e"><code>16f281a</code></a>
Merge pull request <a
href="https://redirect.github.com/strawlab/iana-time-zone/issues/133">#133</a>
from MarijnS95/windows-0.56</li>
<li><a
href="798e431925"><code>798e431</code></a>
Bump <code>windows-core</code> range to <code>0.56-0.61</code> and
regenerate with <code>0.59</code></li>
<li><a
href="66033d9a0f"><code>66033d9</code></a>
Bump <code>windows-core</code> to <code>0.56</code></li>
<li><a
href="10c843db67"><code>10c843d</code></a>
Merge pull request <a
href="https://redirect.github.com/strawlab/iana-time-zone/issues/131">#131</a>
from MarijnS95/windows-core-0.54</li>
<li><a
href="a26e540edb"><code>a26e540</code></a>
Bump <code>windows-core</code> to <code>0.53-0.54</code> range</li>
<li><a
href="5bad55850b"><code>5bad558</code></a>
WIP: Bump MSRV to 1.62</li>
<li><a
href="343f31b804"><code>343f31b</code></a>
Merge pull request <a
href="https://redirect.github.com/strawlab/iana-time-zone/issues/164">#164</a>
from strawlab/dev/astraw-fix-aix</li>
<li><a
href="995347ff2b"><code>995347f</code></a>
AIX: remove unused code</li>
<li>See full diff in <a
href="https://github.com/strawlab/iana-time-zone/compare/v0.1.62...v0.1.63">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=iana-time-zone&package-manager=cargo&previous-version=0.1.62&new-version=0.1.63)](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-03-31 17:50:24 +00:00
dependabot[bot]
c5efb063d8
build(deps): bump once_cell from 1.21.2 to 1.21.3 (#36241)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.21.2 to
1.21.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/matklad/once_cell/blob/master/CHANGELOG.md">once_cell's
changelog</a>.</em></p>
<blockquote>
<h2>1.21.3</h2>
<ul>
<li>Outline more initialization in <code>race</code>: <a
href="https://redirect.github.com/matklad/once_cell/pull/284">#284</a>,
<a
href="https://redirect.github.com/matklad/once_cell/pull/285">#285</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="29e3d93cf0"><code>29e3d93</code></a>
Merge pull request <a
href="https://redirect.github.com/matklad/once_cell/issues/286">#286</a>
from briansmith/b/once-ref-dry</li>
<li><a
href="a206950676"><code>a206950</code></a>
Prepare for 1.21.3 release.</li>
<li><a
href="17d4a9b433"><code>17d4a9b</code></a>
DRY <code>race::OnceRef::{get_or_try_init, set}</code>.</li>
<li><a
href="01b1d560f4"><code>01b1d56</code></a>
Merge pull request <a
href="https://redirect.github.com/matklad/once_cell/issues/285">#285</a>
from briansmith/b/once-ref-cold</li>
<li><a
href="a851cc4788"><code>a851cc4</code></a>
Mark initialization of <code>OnceRef::get_or_try_init</code> cold.</li>
<li><a
href="2447a93fbe"><code>2447a93</code></a>
Merge pull request <a
href="https://redirect.github.com/matklad/once_cell/issues/281">#281</a>
from briansmith/b/init-inner</li>
<li><a
href="c294d64f9c"><code>c294d64</code></a>
Merge pull request <a
href="https://redirect.github.com/matklad/once_cell/issues/280">#280</a>
from briansmith/b/self</li>
<li><a
href="5f0fdd427a"><code>5f0fdd4</code></a>
Merge pull request <a
href="https://redirect.github.com/matklad/once_cell/issues/283">#283</a>
from briansmith/b/cast_mut</li>
<li><a
href="899e319523"><code>899e319</code></a>
Merge pull request <a
href="https://redirect.github.com/matklad/once_cell/issues/284">#284</a>
from briansmith/b/dry-get</li>
<li><a
href="90da60ba44"><code>90da60b</code></a>
Mark initialization of <code>OnceBox::get_or_try_init</code> cold.</li>
<li>Additional commits viewable in <a
href="https://github.com/matklad/once_cell/compare/v1.21.2...v1.21.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=once_cell&package-manager=cargo&previous-version=1.21.2&new-version=1.21.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-03-31 17:45:26 +00:00
Andrei Volykhin
f48c3a5e2a
dom: Set "composed" flag on construction for some event types (#36239)
"Composed" flag (https://dom.spec.whatwg.org/#composed-flag) should be
properly set on event construction phase from optional "EventInit"
dictionary
(https://dom.spec.whatwg.org/#dom-eventinit-composed).

The limited set of event types (Custom/Error/Focus/Mouse) will be
affected by this CL (used in WPT tests).

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

- [X] There are WPT shadow-dom tests which have new issues related to
event "relatedTarget" property
tests/wpt/tests/shadow-dom/event-composed-path-with-related-target.html
  tests/wpt/tests/shadow-dom/event-with-related-target.html

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-03-31 17:15:48 +00:00
Josh Matthews
7382efa209
script: Fix resize observer depth calculation for Shadow DOM. (#36230)
Follow the specification more closely by using the flat tree when
calculating depth for the resize observer.

Testing: Newly passing WPT test.
Fixes: #36092

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-31 16:01:16 +00:00
Simon Wülker
aca5c3b7ca
Remove interior mutability from ResizeObservation (#36233)
This is struct is always already wrapped in a RefCell by `ResizeObserver`. It is not exposed to JS itself,
so it doesn't need `RefCell`s.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-31 11:00:51 +00:00
Simon Wülker
bc898da5de
Refuse to provide partial response from earlier ranged request to API that did not make a range request (#36227)
Part of https://github.com/servo/servo/issues/33616

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-31 10:34:32 +00:00
Bi Fuguo
272da2981d
Fixed the crash issue when the openharmony web component is adapted. (#36229)
Signed-off-by: kongbai1996 <1782765876@qq.com>
2025-03-31 09:46:49 +00:00
Josh Matthews
ee95ef53fb
Enable service worker WPT tests. (#36221)
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-31 08:31:24 +00:00
Simon Wülker
5f4624d8d5
Only invoke resize observer callback when the observed element changed its size (#36226)
This change also adds a bunch of spec comments, because our
ResizeObserver implementation deviates from the spec significantly in
ways that are not immediately intuitive.

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

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-03-31 01:59:59 +00:00
Alex Touchet
1aac377e62
Organize component Cargo.toml dependencies (#36224)
Signed-off-by: Alex Touchet <26315797+atouchet@users.noreply.github.com>
2025-03-30 19:03:54 +00:00
Josh Matthews
b445053a7c
More miscellaneous script splitting changes (#36220)
* script: Move HasParent to script_bindings and update imports for InheritTypes.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Make principal creation generic over DOM interface.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Move a bunch of proxy-related code to script_bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Make some proxy-related code generic over the DOM interface.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Move DomSlice to script_bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Move some utility bindings code to script_bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Make enumerating and resolving globals generic over the DOM interface.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Make realm helpers generic over the DOM interface.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Move implementations on concrete DOM types to concrete bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Make additional codegen helpers generic over the DOM interface.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Make iterator creation generic over the DOM interface.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Make reporting an exception a generic operation.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Move AsCCharPtrPtr to script_bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Formatting.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Address clippy warnings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-30 11:06:30 +00:00
Martin Robinson
971490084e
Use a simpler GitHub pull request template (#36203)
The idea here is that we can use the pull request description as the
commit message, so that the git history is cleaner. This requires:

1. Removing comments from the message, as GitHub doesn't remove them
   from the pull request descriptions when committing.
2. Remove the checklist, which is now verified by the CI instead, so
   is less important.
3. Ask the contributor to remove the lines expicitly.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-03-30 10:14:13 +00:00
Servo WPT Sync
c593e15fa8
Update web-platform-tests to revision b'efce5c7cd31b0e1add4f41758504c767b56abeed' (#36222)
Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-03-30 01:40:11 +00:00
Alex Touchet
44faff0474
Cargo.toml cleanup (#36219)
Signed-off-by: Alex Touchet <26315797+atouchet@users.noreply.github.com>
2025-03-29 17:45:06 +00:00
Bi Fuguo
fa6463dc1b
Fixed an incorrect touchmove event triggered when the second finger is pressed. (#36218)
Signed-off-by: kongbai1996 <1782765876@qq.com>
2025-03-29 14:32:50 +00:00
chocolate-pie
987716ca4b
layout: Implement support for image-set() notation (#36210)
Signed-off-by: Chocolate Pie <106949016+chocolate-pie@users.noreply.github.com>
2025-03-29 13:20:16 +00:00
Kunga Derick Abongho
40133ce29a
Propagate CanGc arguments through HTMLCollection constructors (#36180)
Signed-off-by: dericko681 <abonghoderick@gmail.com>
2025-03-29 13:12:14 +00:00
Kunga Derick Abongho
83da63f638
resolve issue #36074 new_js_regex and matches_js_regex need a CanGc argument (#36111)
* new_js_regex and matches_js_regex need a CanGc argument

Signed-off-by: dericko681 <abonghoderick@gmail.com>

* new_js_regex and matches_js_regex need a CanGc argument

Signed-off-by: dericko681 <abonghoderick@gmail.com>

* edit Propagate CanGc arguments through new_js_regex and matches_js_regex

Signed-off-by: dericko681 <abonghoderick@gmail.com>

* Propagate CanGc arguments through new_js_regex and matches_js_regex

Signed-off-by: dericko681 <abonghoderick@gmail.com>

* Propagate CanGc arguments through new_js_regex and matches_js_regex

Signed-off-by: dericko681 <abonghoderick@gmail.com>

* Propagate CanGc arguments through new_js_regex and matches_js_regex

Signed-off-by: dericko681 <abonghoderick@gmail.com>

---------

Signed-off-by: dericko681 <abonghoderick@gmail.com>
2025-03-29 13:09:56 +00:00
Martin Robinson
b5c8164e99
layout: Simplify and generalize the usage of pseudo-elements (#36202)
- Remove the last remaining Servo-specific PseudoElement enum from
  layout. This was made to select `::before` and `::after` (both eager
  pseudo-elements), but now `traverse_pseudo_element` is called
  `traverse_eager_pseudo_element` and should work on any eager pseudo
  element.
- Expose a single way of getting psuedo-element variants of
  ThreadSafeLayoutElement in the Layout DOM, which returns `None` when
  the pseudo-element doesn't apply (not defined for eager
  pseudo-elements or when trying to get `<details>` related
  pseudo-elements on elements that they don't apply to).
- Ensure that NodeAndStyleInfo always refers to a node. This is done by
  making sure that anonymous boxes are all associated with their
  originating node.

These changes are prepatory work for implementation of the `::marker`
pseudo-element as well as ensuring that all anonymous boxes can be
cached into the box tree eventually.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-03-29 12:41:04 +00:00
Josh Matthews
c30ad5a30e
Miscellaneous script splitting preparation changes (#36216)
* script: Move num module to script_bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Make JS reflector creation generic over DOM trait.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Move bindings-specific lock to script_bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Move DOM proto array code to script_bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Move finalizer implementations to script_bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Move some error routines to script_bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Move some DOM interface conversion routines to script_bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Make is_array_like generic over DOM trait.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Use generic interfaces for conditional exposure functions.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Move a bunch of routines used by codegen to script_bindings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Formatting.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Fix clippy warnings.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-03-29 08:11:27 +00:00
Delan Azabani
2c94110952
Devtools parser: reassemble fragmented messages (#36033)
* Devtools parser: reassemble fragmented messages

Co-authored-by: Aria Edmonds <8436007+ar1a@users.noreply.github.com>
Signed-off-by: Delan Azabani <dazabani@igalia.com>

* Enable devtools parser tests on Linux only for now

Signed-off-by: Delan Azabani <dazabani@igalia.com>

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: Aria Edmonds <8436007+ar1a@users.noreply.github.com>
2025-03-29 05:44:43 +00:00
Greg Morenz
5d1c64dba9
Remove redundant rooted_vec macro (#36214)
This macro was copied into mozjs in 2023, in servo/mozjs#352

The two versions are identical, and rooting infrastructure generally
lives in mozjs. Let's not keep this redundant copy around.

The mozjs version is already imported evyerwhere via `#[macro_use]`.

Signed-off-by: Greg Morenz <greg-morenz@droid.cafe>
2025-03-29 02:00:07 +00:00