Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.145 to
1.0.146.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/json/releases">serde_json's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.146</h2>
<ul>
<li>Set fast_arithmetic=64 for riscv64 (<a
href="https://redirect.github.com/serde-rs/json/issues/1305">#1305</a>,
thanks <a
href="https://github.com/Xeonacid"><code>@Xeonacid</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="75ad7e6b4e"><code>75ad7e6</code></a>
Release 1.0.146</li>
<li><a
href="bc6c8276d9"><code>bc6c827</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/json/issues/1305">#1305</a>
from Xeonacid/patch-1</li>
<li><a
href="a09210adf5"><code>a09210a</code></a>
Set fast_arithmetic=64 for riscv64</li>
<li><a
href="01182e54b5"><code>01182e5</code></a>
Update actions/upload-artifact@v5 -> v6</li>
<li><a
href="383b13a45f"><code>383b13a</code></a>
Update actions/upload-artifact@v4 -> v5</li>
<li><a
href="04dd357b99"><code>04dd357</code></a>
Raise required compiler to Rust 1.68</li>
<li><a
href="e047dfbe00"><code>e047dfb</code></a>
Resolve manual_let_else pedantic clippy lint</li>
<li><a
href="a525d9c0c0"><code>a525d9c</code></a>
Raise required compiler to Rust 1.65</li>
<li><a
href="f815793bfd"><code>f815793</code></a>
Remove rustc version badge from readme</li>
<li><a
href="3f17d2c6ea"><code>3f17d2c</code></a>
Update actions/checkout@v5 -> v6</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/json/compare/v1.0.145...v1.0.146">compare
view</a></li>
</ul>
</details>
<br />
[](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>
Bumps [derive_more](https://github.com/JelteF/derive_more) from 2.1.0 to
2.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/JelteF/derive_more/releases">derive_more's
releases</a>.</em></p>
<blockquote>
<h2>2.1.1</h2>
<p><a href="https://docs.rs/derive_more/2.1.1">API docs</a>
<a
href="https://github.com/JelteF/derive_more/blob/v2.1.1/CHANGELOG.md#211---2025-12-22">Changelog</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/JelteF/derive_more/blob/master/CHANGELOG.md">derive_more's
changelog</a>.</em></p>
<blockquote>
<h2>2.1.1 - 2025-12-22</h2>
<h3>Fixed</h3>
<ul>
<li><code>.as_dyn_error()</code> method hygiene inside
<code>Error</code> derive expansion.
(<a
href="https://redirect.github.com/JelteF/derive_more/pull/527">#527</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f7bb41ac05"><code>f7bb41a</code></a>
Correct release date</li>
<li><a
href="289988ab67"><code>289988a</code></a>
Prepare 2.1.1 release (<a
href="https://redirect.github.com/JelteF/derive_more/issues/529">#529</a>)</li>
<li><a
href="d820ec6e3a"><code>d820ec6</code></a>
Fix <code>derive(Error)</code> expansion hygiene (<a
href="https://redirect.github.com/JelteF/derive_more/issues/527">#527</a>,
<a
href="https://redirect.github.com/JelteF/derive_more/issues/526">#526</a>)</li>
<li><a
href="5627282784"><code>5627282</code></a>
Remove glob imports in <code>derive(From)</code> tests to mend 1.94
nightly Rust regress...</li>
<li>See full diff in <a
href="https://github.com/JelteF/derive_more/compare/v2.1.0...v2.1.1">compare
view</a></li>
</ul>
</details>
<br />
[](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>
This change reworks the logic for finding font fallbacks to make it
simpler. I was involved with writing the code for `FontGroupFamily` and
`FontGroupFamilyMember` and I still struggle a bit with understanding
it, so I've chosen to do this. In addition, the change is in preparation
for more flexible font fallback (#41426).
The main changes here are:
1. Move the logic for creating a new descriptor with variations into
the Font constructor.
2. Add some more general methods to `FontGroupFamily` such as a
template iterator.
3. Use `OnceLock` to avoid a convoluted code structure because of
mutability and also having boolean "loaded" members. This is what
`OnceLock` and `OnceCell` are for!
4. Rename `FontGroupFamilyMember` to `FontGroupFamilyTemplate` to
stress that it is one template of a particular `FontGroupFamily`.
Testing: This should not change behavior so is covered by existing WPT
tests.
---------
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
When the original display of an absolutely positioned element changes,
the static position can be affected. However, the static position is
only used when both insets in the same axis are `auto`.
Therefore, this patch avoids dirtying the box tree when both axes have a
non-auto inset.
Testing: Not needed, this should have no observable behavior change
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Expose `replace_host_table` via test_util so it can be reused by other
crates, notably libservo tests.
This allows tests to map arbitrary host names to localhost, so loading
of
arbitrary sites can be done via the lightweight http server (without
reaching
the external network).
Arbitrary sites are needed for upcoming `SiteDataManager` site grouping
by
domain.
Testing: A new integration test has been added
Signed-off-by: Jan Varga <jvarga@igalia.com>
Add several helper functions to JsonWebKey to handle common base64url
decoding tasks across multiple algorithms. Those helper functions
include:
- `JsonWebKey::decode_optional_string_field`: decode optional field
- `JsonWebKey::decode_required_string_field`: decode required field
- `JsonWebKey::decode_primes_from_oth_field`: decode oth field to primes
These help simplify our code for importing keys in JsonWebKey format.
Testing: Refactoring. Existing tests suffice.
Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>
There are two duplicate artifacts for Linux:
1. release-binary-linux
2. linux-release
When I unzip them, they have exactly same size and number of files, with
slightly different folder structure.
This PR only keeps `linux-release` from `./mach package` to save some
workload/space for the runner. We rename it to `release-binary-linux` to
be consistent with other OS artifacts.
Also fixed a bug where we always used release build for benchmark
instead of requested profile:
For `test-speedometer` and `test-dromaeo`, instead of passing hard-coded
profile `-r`, we use `--bin ${{ inputs.binary-path }} --profile ${{
inputs.profile }}` instead. Both `--bin` and `--profile` are necessary,
as the binary path assumed by the profile is not always correct.
Testing: Try run:
Full:
https://github.com/servo/servo/actions/runs/20330441348
macOS ARM (as it is not included in full profile nowadays):
https://github.com/servo/servo/actions/runs/20331385391
x86_64:
https://github.com/servo/servo/actions/runs/20332775039
Bencher:
https://github.com/servo/servo/actions/runs/20359208540
---------
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
Bumps [mozjs](https://github.com/servo/mozjs) from 0.14.2 to 0.14.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/servo/mozjs/releases">mozjs's
releases</a>.</em></p>
<blockquote>
<h2>SpiderMonkey 140.5 source</h2>
<p>Source code used for the SpiderMonkey 140.5 upgrade.</p>
<p><a
href="https://treeherder.mozilla.org/jobs?repo=mozilla-esr140&revision=26eff341874075f35c3daa42b8e29fa54ff62972&selectedTaskRun=Lbe-fRaZSa2C4MQpKEXFcQ.0">https://treeherder.mozilla.org/jobs?repo=mozilla-esr140&revision=26eff341874075f35c3daa42b8e29fa54ff62972&selectedTaskRun=Lbe-fRaZSa2C4MQpKEXFcQ.0</a></p>
<h2>v140 source</h2>
<p>Source code used for the SpiderMonkey 140 upgrade.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/servo/mozjs/commits">compare view</a></li>
</ul>
</details>
<br />
[](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>
Bumps [portable-atomic](https://github.com/taiki-e/portable-atomic) from
1.11.1 to 1.12.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/portable-atomic/blob/main/CHANGELOG.md">portable-atomic's
changelog</a>.</em></p>
<blockquote>
<h2>[1.12.0] - 2025-12-19</h2>
<ul>
<li>
<p>Fix build error on no-std pre-v6 Arm targets due to the <a
href="https://redirect.github.com/rust-lang/rust/pull/149241">recent
upstream change</a>. (<a
href="83f6f3e495">83f6f3e</a>)</p>
</li>
<li>
<p>Support <code>unsafe-assume-single-core</code> feature /
<code>portable_atomic_unsafe_assume_single_core</code> cfg for targets
with CAS. (<a
href="38e95722dd">38e9572</a>)</p>
</li>
<li>
<p>Improve compile-time detection of s390x target feature. (<a
href="5ae0ef5ed7">5ae0ef5</a>)</p>
</li>
<li>
<p>Documentation improvements. (<a
href="c84f7203ae">c84f720</a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b5efed05cf"><code>b5efed0</code></a>
Release portable-atomic 1.12.0</li>
<li><a
href="4a02e1d4ac"><code>4a02e1d</code></a>
Update comments</li>
<li><a
href="9ac4c171ed"><code>9ac4c17</code></a>
Update changelog</li>
<li><a
href="61053bf157"><code>61053bf</code></a>
ci: Temporarily disable thumbv5te test</li>
<li><a
href="c84f7203ae"><code>c84f720</code></a>
Update docs</li>
<li><a
href="38e95722dd"><code>38e9572</code></a>
Support assume-single-core for targets with CAS</li>
<li><a
href="ec16910f26"><code>ec16910</code></a>
ci: Test macos-15-intel</li>
<li><a
href="bbe14f7e3e"><code>bbe14f7</code></a>
Disable doc(auto_cfg)</li>
<li><a
href="8e955db1c7"><code>8e955db</code></a>
ci: Ignore linker_messages on aarch64-pc-windows-msvc</li>
<li><a
href="1f34ae1d59"><code>1f34ae1</code></a>
ci: Test riscv64im-unknown-none-elf</li>
<li>Additional commits viewable in <a
href="https://github.com/taiki-e/portable-atomic/compare/v1.11.1...v1.12.0">compare
view</a></li>
</ul>
</details>
<br />
[](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>
Bumps [ryu](https://github.com/dtolnay/ryu) from 1.0.20 to 1.0.21.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/ryu/releases">ryu's
releases</a>.</em></p>
<blockquote>
<h2>1.0.21</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="aaa2f8d0e1"><code>aaa2f8d</code></a>
Release 1.0.21</li>
<li><a
href="03f8148581"><code>03f8148</code></a>
Remove supported compiler version statement from readme</li>
<li><a
href="b9121ee2dd"><code>b9121ee</code></a>
Update actions/upload-artifact@v5 -> v6</li>
<li><a
href="56ac8ca8a1"><code>56ac8ca</code></a>
Update actions/upload-artifact@v4 -> v5</li>
<li><a
href="23a82904eb"><code>23a8290</code></a>
Raise minimum tested compiler to rust 1.86</li>
<li><a
href="7d5e43a213"><code>7d5e43a</code></a>
Switch from cargo bench to criterion</li>
<li><a
href="e537df3c5a"><code>e537df3</code></a>
Benchmark using e from consts module</li>
<li><a
href="6199a2b11d"><code>6199a2b</code></a>
Switch from test::black_box to std::hint::black_box</li>
<li><a
href="221e3d4b54"><code>221e3d4</code></a>
Resolve uninlined_format_args pedantic clippy lint</li>
<li><a
href="c667b725fd"><code>c667b72</code></a>
Update to 2021 edition</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/ryu/compare/1.0.20...1.0.21">compare
view</a></li>
</ul>
</details>
<br />
[](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>
Bumps [itoa](https://github.com/dtolnay/itoa) from 1.0.15 to 1.0.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/itoa/releases">itoa's
releases</a>.</em></p>
<blockquote>
<h2>1.0.16</h2>
<ul>
<li>Synchronize algorithm improvements from libcore (<a
href="https://redirect.github.com/dtolnay/itoa/issues/65">#65</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4c18677446"><code>4c18677</code></a>
Release 1.0.16</li>
<li><a
href="2e6134dbb5"><code>2e6134d</code></a>
Exclude benchmark dependencies from being compiled by miri</li>
<li><a
href="2c7311bba9"><code>2c7311b</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/itoa/issues/65">#65</a> from
dtolnay/up</li>
<li><a
href="bb76a9cc0f"><code>bb76a9c</code></a>
Update libcore implementation links</li>
<li><a
href="83539d13dc"><code>83539d1</code></a>
Ignore cast_lossless pedantic clippy lint</li>
<li><a
href="4394758d08"><code>4394758</code></a>
Update benchmark chart</li>
<li><a
href="997a4efeec"><code>997a4ef</code></a>
Write last digit without table lookup</li>
<li><a
href="bae1746a34"><code>bae1746</code></a>
Copy fast divmod100 from zmij</li>
<li><a
href="1087e9d028"><code>1087e9d</code></a>
Remove DECIMAL_PAIRS bounds checks</li>
<li><a
href="200d0640f2"><code>200d064</code></a>
Delete unreachable_unchecked hints</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/itoa/compare/1.0.15...1.0.16">compare
view</a></li>
</ul>
</details>
<br />
[](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>
Bumps [async-lock](https://github.com/smol-rs/async-lock) from 3.4.1 to
3.4.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/smol-rs/async-lock/releases">async-lock's
releases</a>.</em></p>
<blockquote>
<h2>v3.4.2</h2>
<ul>
<li>Bump MSRV to 1.85. (<a
href="https://redirect.github.com/smol-rs/async-lock/issues/103">#103</a>)</li>
<li>Use Waker::noop() to avoid some unsafe code. (<a
href="https://redirect.github.com/smol-rs/async-lock/issues/103">#103</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/smol-rs/async-lock/blob/master/CHANGELOG.md">async-lock's
changelog</a>.</em></p>
<blockquote>
<h1>Version 3.4.2</h1>
<ul>
<li>Bump MSRV to 1.85. (<a
href="https://redirect.github.com/smol-rs/async-lock/issues/103">#103</a>)</li>
<li>Use Waker::noop() to avoid some unsafe code. (<a
href="https://redirect.github.com/smol-rs/async-lock/issues/103">#103</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7ad5313184"><code>7ad5313</code></a>
v3.4.2</li>
<li><a
href="759c1a5e71"><code>759c1a5</code></a>
Update flume requirement from 0.11.0 to 0.12.0 (<a
href="https://redirect.github.com/smol-rs/async-lock/issues/106">#106</a>)</li>
<li><a
href="78bf47157e"><code>78bf471</code></a>
doc: Fix test by ignoring it on WASM</li>
<li><a
href="ed9752e141"><code>ed9752e</code></a>
m: Use Waker::noop() instead of NOOP_WAKER</li>
<li><a
href="a579f222d9"><code>a579f22</code></a>
m: Don't re-implement ready! and pin!</li>
<li><a
href="c48c7af42d"><code>c48c7af</code></a>
Merge pull request <a
href="https://redirect.github.com/smol-rs/async-lock/issues/102">#102</a>
from atouchet/rd</li>
<li><a
href="33b1acf3a9"><code>33b1acf</code></a>
Fix build badge</li>
<li>See full diff in <a
href="https://github.com/smol-rs/async-lock/compare/v3.4.1...v3.4.2">compare
view</a></li>
</ul>
</details>
<br />
[](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>
Bumps the servo-media-related group with 12 updates:
| Package | From | To |
| --- | --- | --- |
| [servo-media](https://github.com/servo/media) | ``5b101dc`` |
``0c7edc7`` |
| [servo-media-dummy](https://github.com/servo/media) | ``5b101dc`` |
``0c7edc7`` |
| [servo-media-gstreamer](https://github.com/servo/media) | ``5b101dc``
| ``0c7edc7`` |
| servo-media-audio | ``5b101dc`` | ``0c7edc7`` |
| servo-media-derive | ``5b101dc`` | ``0c7edc7`` |
| servo-media-gstreamer-render | ``5b101dc`` | ``0c7edc7`` |
| servo-media-gstreamer-render-android | ``5b101dc`` | ``0c7edc7`` |
| servo-media-gstreamer-render-unix | ``5b101dc`` | ``0c7edc7`` |
| servo-media-player | ``5b101dc`` | ``0c7edc7`` |
| servo-media-streams | ``5b101dc`` | ``0c7edc7`` |
| servo-media-traits | ``5b101dc`` | ``0c7edc7`` |
| servo-media-webrtc | ``5b101dc`` | ``0c7edc7`` |
Updates `servo-media` from `5b101dc` to `0c7edc7`
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0c7edc70be"><code>0c7edc7</code></a>
GStreamerPlayer should resume playback only if it was playing on suspend
(<a
href="https://redirect.github.com/servo/media/issues/481">#481</a>)</li>
<li>See full diff in <a
href="5b101dcf3b...0c7edc70be">compare
view</a></li>
</ul>
</details>
<br />
Updates `servo-media-dummy` from `5b101dc` to `0c7edc7`
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0c7edc70be"><code>0c7edc7</code></a>
GStreamerPlayer should resume playback only if it was playing on suspend
(<a
href="https://redirect.github.com/servo/media/issues/481">#481</a>)</li>
<li>See full diff in <a
href="5b101dcf3b...0c7edc70be">compare
view</a></li>
</ul>
</details>
<br />
Updates `servo-media-gstreamer` from `5b101dc` to `0c7edc7`
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0c7edc70be"><code>0c7edc7</code></a>
GStreamerPlayer should resume playback only if it was playing on suspend
(<a
href="https://redirect.github.com/servo/media/issues/481">#481</a>)</li>
<li>See full diff in <a
href="5b101dcf3b...0c7edc70be">compare
view</a></li>
</ul>
</details>
<br />
Updates `servo-media-audio` from `5b101dc` to `0c7edc7`
Updates `servo-media-derive` from `5b101dc` to `0c7edc7`
Updates `servo-media-gstreamer-render` from `5b101dc` to `0c7edc7`
Updates `servo-media-gstreamer-render-android` from `5b101dc` to
`0c7edc7`
Updates `servo-media-gstreamer-render-unix` from `5b101dc` to `0c7edc7`
Updates `servo-media-player` from `5b101dc` to `0c7edc7`
Updates `servo-media-streams` from `5b101dc` to `0c7edc7`
Updates `servo-media-traits` from `5b101dc` to `0c7edc7`
Updates `servo-media-webrtc` from `5b101dc` to `0c7edc7`
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Fill in the error messages across
`script/dom/subtlecrypto/aes_operations.rs` that were still left as
`None`.
Testing: No tests added as these are just error messages.
Addressing: #40756
---------
Signed-off-by: PaulTreitel <paul.treitel@gmail.com>
Put the Gamepad API and its supporting infrastructure behind a `gamepad`
feature flag. This allows embedders to opt-out of gamepad support at
compile time to save on binary size and reduce dependencies.
Testing:
1. `./mach build -d` (Gamepad enabled by default)
2. `cargo build -p servoshell --no-default-features --features
"libservo/clipboard,js_jit,max_log_level,webgpu"` (Gamepad Disabled)
3. `cargo build -p servoshell --features "gamepad,webxr,..."` (Gamepad &
WebXR Enabled)
Fixes: #40897
Signed-off-by: WaterWhisperer <waterwhisperer24@qq.com>
This PR adds an initial `site_data` API to `SiteDataManager`, allowing
embedders to obtain a unified list of sites that have associated site
data.
The implementation introduces supporting infrastructure across storage
and
`SiteDataManager` layers, including a small helper for obtaining
WebStorage
origins and initial support for filtering by storage type. At this
stage,
sites correspond directly to origins, future work will extend this to
higher
level grouping (e.g. domain or eTLD+1).
Testing: Added a new integration test covering site data behavior across
localStorage and sessionStorage.
---------
Signed-off-by: Jan Varga <jvarga@igalia.com>
The `substitute_with_local_script` logic has been refactored into a
standalone function to allow reuse in `script_module.rs` when a module
script's source is fetched and decoded.
Testing: Verified manually by running Servo with a local HTTP server and
a module script, confirming that the local file correctly replaces the
remote one when the `--local-script-source` flag is provided.
Fixes: #41433
Signed-off-by: WaterWhisperer <waterwhisperer24@qq.com>
Nowadays Servo automatically loads system default proxy. It has enabled
my NSA colleagues to visit external networks without modifying transport
layer, whereas `test-wpt` has been failing after it.
We disable the proxy unless users know what they are doing.
Testing: Tested in different physical locations with different proxy
networks.
Fixes: #41440
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
The comment here is out of date and also using `unwrap_or` is a bit more
idiomatic.
Testing: This doesn't change behavior so is covered by existing tests.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
There are two bugs listed below. Basically, we never ever set
1b0bd11e11/ports/servoshell/running_app_state.rs (L253-L255)
except by WebDriver command, so it's always been `None`.
This PR lets `WindowEvent::Focused` determine `focused_window` for
`HeadedWindow`.
For those without `winit::Window`, such as
Android/OHOS/`HeadlessWindow`, the newly created window is automatically
focused.
Fixes: #41398Fixes: #41399
---------
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
Implement clone_body_stream_for_dom_body to follow
https://fetch.spec.whatwg.org/#concept-body-clone, teeing the
ReadableStream and wiring the branched streams back into the original
and cloned bodies.
Use clone_body_stream_for_dom_body in Request::clone_from and
Response::Clone so their body cloning follows the Fetch spec algorithms
for request/response cloning, including the shared body stream.
Testing: more WPT test should pass.
Fixes: #36503
---------
Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
This new lint checks for some easy mistakes to make with the annotation
format.
Testing: New unit tests added.
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Another step towards being spec-compatible. Right now
we can't destroy an unsalvagable document during unloading,
as that breaks all kinds of tests. Before that, we need
to update various machinery to handle destroying correctly.
The first one is a top-level navigable, which explicitly
destroys a document after it is unloaded.
Part of #31973
Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
For all upcoming and already-processed deferred fetches, we now
implement a quota. We don't support policy headers yet to configure the
quota, hence we use the default quota. That's why we have some tests
failing again.
It involves computing which document to compute the quota for, as well
as computing total length of requests. Additionally, the DevTools
computation for headers now uses the same logic for headers as deferred
fetches.
Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
It's pretty confusing that these two struct implementations of
`PlatformWindow` are named the same thing. This PR renames them to more
accurately reflect what they are.
Testing: This PR just does a simple rename so existing tests should
suffice.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Servo currently completely ignores `<meta charset>` tags. When we find
one with an encoding that is incompatible to the current one, then we
should reload the page and start over with the new encoding. A common
optimization that has even made its way into the specification is to
wait for a few bytes to arrive and inspect them for `meta` tags, so the
browser is able to use the correct encoding from the very beginng.
In practice, I've run into problems with our WPT harness when reloading
the page after `meta` tags. Therefore, this change implement the
optimization first, so we never have to reload when running WPT. I've
implemented prescanning in a way where we wait for 1024 bytes to arrive
or for one second to pass, whichever one happens first.
This causes a large number of web platform tests to flip around. I've
looked at most of the new failures and I believe they're reasonable.
Testing: New tests start to pass.
Part of https://github.com/servo/servo/issues/6414
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
This is checked if the body is a stream, but the payload calculation
needs to be in a follow-up PR.
Part of #38302
Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
This method now allows you to pass in a custom registry. The registry
isn't used yet for callers, since we don't support scoped registries.
However, as we now pass in the registry to `Node::clone`, we set the
registry when creating elements and cloning them.
As such, various tests start passing where we set the registry. Some
tests started failing, but they rely on scoped registries which we don't
support yet. These tests thus flipped: those that were erroneously
failing are now passing and vice versa.
Part of #34319
Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
This just fixes a typo:
`download_run_resultsa_and_then_run_update` ->
`download_run_results_and_then_run_update`
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
For some dictionaries in SubtleCrypto interface, we store the hash field
of `HashAlgorithmIdentifier` type as a `SubtleKeyAlgorithm`. The
conversion to `SubtleKeyAlgorithm` is unnecessary. Moreover,
`SubtleKeyAlgorithm` is not supposed to be used there.
This patch fixes it by simply storing them as the normalized algorithm
given by Step 10.1.3 of normalization [1], for those hash field of
`HashAlgorithmIdentifier` type.
[1]
https://w3c.github.io/webcrypto/#algorithm-normalization-normalize-an-algorithm
Testing: Refactoring. Existing tests suffice.
---------
Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>
The specification has a dedicated method for destroying
documents. Parts of that method were scattered around
various parts of Servo machinery.
This patch consolidates these steps and follow the spec.
Additionally, it now correctly unloads iframes when
they are removed from a parent document.
As a result, the fetch-later WPT test now passes, as
it relies on the correct ordering of iframe unloading
to verify the fetch-later requests are sent.
Part of #31973
Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
- Use the generic channel for webdriver.
- Implement try_receive_timeout for GenericReceiver.
Testing: WPT should still work.
---------
Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Uses bloom filters in `MatchingContext` to make selector matching more
efficient. This seems to improve Speedometer score a bit.
Testing: no new test for that small optimization.
Signed-off-by: webbeef <me@webbeef.org>
Bumps [toml_parser](https://github.com/toml-rs/toml) from
1.0.5+spec-1.0.0 to 1.0.6+spec-1.1.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e32c7a2f9b"><code>e32c7a2</code></a>
chore: Release</li>
<li><a
href="df1c3286de"><code>df1c328</code></a>
docs: Update changelog</li>
<li><a
href="b826cf4914"><code>b826cf4</code></a>
feat(edit)!: Allow <code>set_position(None)</code> (<a
href="https://redirect.github.com/toml-rs/toml/issues/1080">#1080</a>)</li>
<li><a
href="8043f20af7"><code>8043f20</code></a>
feat(edit)!: Allow <code>set_position(None)</code></li>
<li><a
href="a02c0db59f"><code>a02c0db</code></a>
feat: Support TOML 1.1 (<a
href="https://redirect.github.com/toml-rs/toml/issues/1079">#1079</a>)</li>
<li><a
href="5cfb838b15"><code>5cfb838</code></a>
feat(edit): Support TOML 1.1</li>
<li><a
href="1eb4d606d3"><code>1eb4d60</code></a>
feat(toml): Support TOML 1.1</li>
<li><a
href="695d7883d8"><code>695d788</code></a>
feat(edit)!: Multi-line inline tables with trailing commas</li>
<li><a
href="cc4f7acd94"><code>cc4f7ac</code></a>
feat(toml): Multi-line inline tables with trailing commas</li>
<li><a
href="539f8c1242"><code>539f8c1</code></a>
feat(datetime): Make seconds optional</li>
<li>Additional commits viewable in <a
href="https://github.com/toml-rs/toml/compare/toml_parser-v1.0.5...toml_parser-v1.0.6">compare
view</a></li>
</ul>
</details>
<br />
[](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>
This PR aligns `ResourceThreads::clear_cache` with the existing
`clear_cookies` function by waiting for a response synchronously.
Testing: Unit tests continue to pass.
Signed-off-by: Jan Varga <jvarga@igalia.com>
The old logic had the problem that, if the total violation was zero, we
would just freeze all items without clamping their target main size
between the min and max sizes.
This patch refactors the logic to make it simpler.
Testing: Adding new WPT
Fixes: #41289
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Fixes caret rendering when the caret is placed a the start of a line
```
Hello,
{here}World!
```
Also adds a utility function to the `range` crate.
Note that the rendering of the caret on many non-empty lines is still
broken due to the presence of several other bugs
Testing: I ran unit tests. Add a new reftest
Fixes: Part of #40839
---------
Signed-off-by: Freya Arbjerg <git@arbjerg.dev>