55945 Commits

Author SHA1 Message Date
Euclid Ye
0f935df0c8 embedding: Use non-advertised (standard) shortcut (#44223)
Right now we are using [advertised
shortcut](https://learn.microsoft.com/en-au/windows/win32/msi/advertisement).
This is drastically different from standard Windows shortcut. For
example, when you right click,
then click "open file position", nothing happens. 

Advertisement is mostly for "install-on-demand", but that is not the
case for our installer, as files already
installed in the path even if you do not launch. This change makes it so
that servoshell works as other apps.

Reference: [Advanced
installer](https://www.advancedinstaller.com/versus/wix-toolset/how-to-create-non-advertised-shortcuts-using-wix.html).
(Yes, they make great business by making it easier to build MSI
installer)


Testing: [Windows
Try](https://github.com/servo/servo/actions/runs/24436253745).

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2026-04-15 08:27:18 +00:00
Euclid Ye
1099aceb39 deps: Unblock CI by upgrading rustls-webpki to 0.103.12 (#44229)
[rustls-webpki](https://rustsec.org/packages/rustls-webpki.html) has
[vulnerability
report](https://rustsec.org/advisories/RUSTSEC-2026-0098.html). This is
fixed in newer 0.103.12.

Testing: Cargo deny will now pass causing the CI to pass.

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2026-04-15 08:25:55 +00:00
Taym Haddadi
90c8bc3163 Indexeddb: fix upgrade transaction completion ordering (#44215)
Fixes: #44200

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
2026-04-15 05:29:16 +00:00
Abbas Olanrewaju Sarafa
316e6215a4 API: document which Preferences are experimental or enabled by default (#44171)
Referred users to
```https://book.servo.org/design-documentation/experimental-features.html```
documentation for ```Preferences``` and ```EXPERIMENTAL_PREFS```

Testing: No testing required, build was successful.
Fixes: #43706

---------

Signed-off-by: Sabb <sarafaabbas@gmail.com>
Signed-off-by: Abbas Olanrewaju Sarafa <109840351+sabbCodes@users.noreply.github.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2026-04-15 04:25:25 +00:00
niya
0260fe8869 webgl: replace WebGLCommandSender with WebGLChan (#44214)
Remove the `WebGLCommandSender` wrapper and return `Option<WebGLChan>`
directly from the `webgl_chan` method.

Testing: no tests required as runtime behavior is not affected 
Fixes: #44193

Signed-off-by: Niya Gupta <niyabits@disroot.org>
2026-04-15 03:41:06 +00:00
Kelechi Ebiri
a2213091c4 script: Implement wake lock api (#43617)
Implement the WakeLock API

Fixes: #41493

---------

Signed-off-by: Kelechi Ebiri <ebiritg@gmail.com>
2026-04-15 03:39:07 +00:00
dependabot[bot]
54f466fdcb build: bump indexmap from 2.11.4 to 2.14.0 (#44220)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.11.4 to
2.14.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md">indexmap's
changelog</a>.</em></p>
<blockquote>
<h2>2.14.0 (2026-04-09)</h2>
<ul>
<li><strong>MSRV</strong>: Rust 1.85.0 or later is now required.</li>
<li>Updated the <code>hashbrown</code> dependency to 0.17.</li>
<li>Made more <code>map::Slice</code> methods <code>const</code>:
<code>new_mut</code>, <code>first_mut</code>, <code>last_mut</code>,
<code>split_at_mut</code>, <code>split_at_mut_checked</code>,
<code>split_first_mut</code>, <code>split_last_mut</code></li>
</ul>
<h2>2.13.1 (2026-04-02)</h2>
<ul>
<li>Made some <code>Slice</code> methods <code>const</code>:
<ul>

<li><code>map::Slice::{first,last,split_at,split_at_checked,split_first,split_last}</code></li>

<li><code>set::Slice::{first,last,split_at,split_at_checked,split_first,split_last}</code></li>
</ul>
</li>
</ul>
<h2>2.13.0 (2026-01-07)</h2>
<ul>
<li>Implemented <code>Clone</code> for <code>IntoKeys</code> and
<code>IntoValues</code>.</li>
<li>Added <code>map::Slice::split_at_checked</code> and
<code>split_at_mut_checked</code>.</li>
<li>Added <code>set::Slice::split_at_checked</code>.</li>
</ul>
<h2>2.12.1 (2025-11-20)</h2>
<ul>
<li>Simplified a lot of internals using <code>hashbrown</code>'s new
bucket API.</li>
</ul>
<h2>2.12.0 (2025-10-17)</h2>
<ul>
<li><strong>MSRV</strong>: Rust 1.82.0 or later is now required.</li>
<li>Updated the <code>hashbrown</code> dependency to 0.16 alone.</li>
<li>Error types now implement <code>core::error::Error</code>.</li>
<li>Added <code>pop_if</code> methods to <code>IndexMap</code> and
<code>IndexSet</code>, similar to the
method for <code>Vec</code> added in Rust 1.86.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bcd165baeb"><code>bcd165b</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/439">#439</a>
from cuviper/release-2.14.0</li>
<li><a
href="4ef06a729e"><code>4ef06a7</code></a>
Release 2.14.0</li>
<li><a
href="d21826ca93"><code>d21826c</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/438">#438</a>
from cuviper/hashbrown-0.17</li>
<li><a
href="2566bec20d"><code>2566bec</code></a>
Upgrade to <code>hashbrown v0.17</code></li>
<li><a
href="4b62776c3f"><code>4b62776</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/437">#437</a>
from cuviper/disjoint-panic</li>
<li><a
href="478fba2eb0"><code>478fba2</code></a>
Normalize the panic doc of <code>get_disjoint_mut</code></li>
<li><a
href="fb6dafda4e"><code>fb6dafd</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/436">#436</a>
from cuviper/const-slice-mut</li>
<li><a
href="5c237a2ab7"><code>5c237a2</code></a>
Make <code>Slice::{first,last,split_*}_mut</code> methods
<code>const</code></li>
<li><a
href="48ff9ce2e3"><code>48ff9ce</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/435">#435</a>
from cuviper/edition-2024</li>
<li><a
href="648be98a31"><code>648be98</code></a>
<code>cargo fmt</code> with edition 2024</li>
<li>Additional commits viewable in <a
href="https://github.com/indexmap-rs/indexmap/compare/2.11.4...2.14.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot 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>
2026-04-15 00:56:19 +00:00
dependabot[bot]
da6aaf7eb9 build: bump thin-vec from 0.2.15 to 0.2.16 (#44219)
Bumps [thin-vec](https://github.com/mozilla/thin-vec) from 0.2.15 to
0.2.16.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/mozilla/thin-vec/blob/main/RELEASES.md">thin-vec's
changelog</a>.</em></p>
<blockquote>
<h1>Version 0.2.16 (2026-04-14)</h1>
<ul>
<li>Fix reserve() on auto arrays in gecko-ffi mode.</li>
<li>Fix two double-drop issues with ThinVec::clear() and
ThinVec::into_iter()
when the Drop implementation of the item panics.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3c96f1e335"><code>3c96f1e</code></a>
chore: Bump version to v0.2.16</li>
<li><a
href="df64748355"><code>df64748</code></a>
Fix two panic=unwind issues.</li>
<li><a
href="4e3a217b7f"><code>4e3a217</code></a>
ci: Ignore msrv job for now since it just hangs trying to pull
deps.</li>
<li><a
href="63c2f5fcf2"><code>63c2f5f</code></a>
gecko-ffi: Fix auto-t-array push.</li>
<li><a
href="6797813209"><code>6797813</code></a>
tests: Appease clippy.</li>
<li><a
href="af81b17ad5"><code>af81b17</code></a>
ci: Don't use actions-rs/{cargo,clippy-check} as it's not allowed in
mozilla/...</li>
<li><a
href="360f9ef0c9"><code>360f9ef</code></a>
Update repository URL and various cleanups</li>
<li>See full diff in <a
href="https://github.com/mozilla/thin-vec/compare/v0.2.15...v0.2.16">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thin-vec&package-manager=cargo&previous-version=0.2.15&new-version=0.2.16)](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 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>
2026-04-15 00:30:35 +00:00
dependabot[bot]
0fc59f67ed build: bump rayon from 1.11.0 to 1.12.0 (#44218)
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.11.0 to 1.12.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rayon-rs/rayon/blob/main/RELEASES.md">rayon's
changelog</a>.</em></p>
<blockquote>
<h1>Release rayon 1.12.0 (2026-04-13)</h1>
<ul>
<li>Fixed a bug in parallel <code>Range&lt;char&gt;</code> when the end
is 0xE000, just past the
surrogate boundary, which was unsafely producing invalid
<code>char</code> values.</li>
<li>The new method <code>ParallelSlice::par_array_windows</code> works
like <code>par_windows</code>
but with a constant length, producing <code>&amp;[T; N]</code>
items.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7449d7dfed"><code>7449d7d</code></a>
Merge <a
href="https://redirect.github.com/rayon-rs/rayon/issues/1093">#1093</a></li>
<li><a
href="b3d9e3f473"><code>b3d9e3f</code></a>
Release rayon 1.8.0 and rayon-core 1.12.0</li>
<li><a
href="3fe51e5cbd"><code>3fe51e5</code></a>
Fix clippy::let_and_return</li>
<li><a
href="082f2152d2"><code>082f215</code></a>
Merge <a
href="https://redirect.github.com/rayon-rs/rayon/issues/1087">#1087</a></li>
<li><a
href="ea0c06df26"><code>ea0c06d</code></a>
core: registry: Factor out &quot;wait till out of work&quot; part of the
main loop.</li>
<li><a
href="75524e2957"><code>75524e2</code></a>
Merge <a
href="https://redirect.github.com/rayon-rs/rayon/issues/1063">#1063</a></li>
<li><a
href="01d2800376"><code>01d2800</code></a>
Ignore the multi-threaded test on emscripten/wasm</li>
<li><a
href="40b59c0e44"><code>40b59c0</code></a>
core: Make use_current_thread error rather than panic when already in
the pool.</li>
<li><a
href="f4db4d711e"><code>f4db4d7</code></a>
core: tests: Add some basic tests for
ThreadPoolBuilder::use_current_thread.</li>
<li><a
href="87274ad093"><code>87274ad</code></a>
core: registry: Add some more documentation for
ThreadPoolBuilder::use_curren...</li>
<li>Additional commits viewable in <a
href="https://github.com/rayon-rs/rayon/compare/rayon-core-v1.11.0...rayon-core-v1.12.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot 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>
2026-04-15 00:28:27 +00:00
dependabot[bot]
a2fa5a8ab8 build: bump tokio from 1.51.1 to 1.52.0 in the tokio-rs-related group (#44217)
Bumps the tokio-rs-related group with 1 update:
[tokio](https://github.com/tokio-rs/tokio).

Updates `tokio` from 1.51.1 to 1.52.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tokio/releases">tokio's
releases</a>.</em></p>
<blockquote>
<h2>Tokio v1.52.0</h2>
<h1>1.52.0 (April 14th, 2026)</h1>
<h2>Added</h2>
<ul>
<li>io: <code>AioSource::register_borrowed</code> for I/O safety support
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7992">#7992</a>)</li>
<li>net: add <code>try_io</code> function to <code>unix::pipe</code>
sender and receiver types (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8030">#8030</a>)</li>
</ul>
<h2>Added (unstable)</h2>
<ul>
<li>runtime: <code>Builder::enable_eager_driver_handoff</code> setting
enable eager hand off of the I/O and time drivers before polling tasks
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8010">#8010</a>)</li>
<li>taskdump: add <code>trace_with()</code> for customized task dumps
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8025">#8025</a>)</li>
<li>taskdump: allow <code>impl FnMut()</code> in <code>trace_with</code>
instead of just <code>fn()</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8040">#8040</a>)</li>
<li>fs: support <code>io_uring</code> in <code>AsyncRead</code> for
<code>File</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7907">#7907</a>)</li>
</ul>
<h2>Changed</h2>
<ul>
<li>runtime: improve <code>spawn_blocking</code> scalability with
sharded queue (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7757">#7757</a>)</li>
<li>runtime: use <code>compare_exchange_weak()</code> in worker queue
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8028">#8028</a>)</li>
</ul>
<h2>Fixed</h2>
<ul>
<li>runtime: overflow second half of tasks when local queue is filled
instead of first half (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8029">#8029</a>)</li>
</ul>
<h2>Documented</h2>
<ul>
<li>docs: fix typo in <code>oneshot::Sender::send</code> docs (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8026">#8026</a>)</li>
<li>docs: hide #[tokio::main] attribute in the docs of
<code>sync::watch</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8035">#8035</a>)</li>
<li>net: add docs on <code>ConnectionRefused</code> errors with UDP
sockets (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7870">#7870</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/tokio/issues/7757">#7757</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7757">tokio-rs/tokio#7757</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7870">#7870</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7870">tokio-rs/tokio#7870</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7907">#7907</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7907">tokio-rs/tokio#7907</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7992">#7992</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/7992">tokio-rs/tokio#7992</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8010">#8010</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/8010">tokio-rs/tokio#8010</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8025">#8025</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/8025">tokio-rs/tokio#8025</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8026">#8026</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/8026">tokio-rs/tokio#8026</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8028">#8028</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/8028">tokio-rs/tokio#8028</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8029">#8029</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/8029">tokio-rs/tokio#8029</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8030">#8030</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/8030">tokio-rs/tokio#8030</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8035">#8035</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/8035">tokio-rs/tokio#8035</a>
<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8040">#8040</a>:
<a
href="https://redirect.github.com/tokio-rs/tokio/pull/8040">tokio-rs/tokio#8040</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5f7be0ac42"><code>5f7be0a</code></a>
chore: perpare 1.52.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8045">#8045</a>)</li>
<li><a
href="36d12d2686"><code>36d12d2</code></a>
taskdump: allow impl FnMut() in taskdumps instead of just fn() (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8040">#8040</a>)</li>
<li><a
href="f943312865"><code>f943312</code></a>
fs: support io-uring in <code>AsyncRead</code> for <code>File</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7907">#7907</a>)</li>
<li><a
href="5db10f538b"><code>5db10f5</code></a>
net: add 'try_io' function to 'unix::pipe' sender and receiver types (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8030">#8030</a>)</li>
<li><a
href="bbdba7101d"><code>bbdba71</code></a>
taskdump: add <code>trace_with</code> for customized task dumps (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8025">#8025</a>)</li>
<li><a
href="7cfce54386"><code>7cfce54</code></a>
ci: update FreeBSD image to 14.4 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8038">#8038</a>)</li>
<li><a
href="81370e6202"><code>81370e6</code></a>
net: add docs on <code>ConnectionRefused</code> errors with udp sockets
(<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7870">#7870</a>)</li>
<li><a
href="203af02126"><code>203af02</code></a>
runtime: overflow second half of tasks when local queue is filled
instead of ...</li>
<li><a
href="de230926dc"><code>de23092</code></a>
net: temporarily disable <code>tcp_stream</code>
<code>try_read_buf</code> test on WASI (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8036">#8036</a>)</li>
<li><a
href="432ec3f2b2"><code>432ec3f</code></a>
sync: hide <code>#[tokio::main]</code> attribute in the docs of
<code>sync::watch</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/8035">#8035</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-1.51.1...tokio-1.52.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio&package-manager=cargo&previous-version=1.51.1&new-version=1.52.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 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>
2026-04-15 00:21:52 +00:00
niya
8bdfb998b0 canvas: fix unrecognized offscreen webgl context (#44159)
fix unrecognized type error on `OffscreenCanvas`

Testing: existing WPT:
- `tests/wpt/webgl/tests/conformance/offscreencanvas`
- `tests/wpt/webgl/tests/conformance2/offscreencanvas`

Fixes: #43540

---------

Signed-off-by: Niya Gupta <niyabits@disroot.org>
2026-04-14 23:58:39 +00:00
Alice
d11fc3a1c6 layout: Add a basic accessibility tree implementation for web contents (#42338)
This change introduces the `accessibility_tree` module, containing code
to build an in-memory representation of a very basic accessibility tree
for web contents. Currently, the tree for a given document contains:
- a `RootWebArea` which has the document root node as its sole child,
- an `Unknown` node for the root DOM node,
- a `GenericContainer` node for each DOM element, and
- a `TextRun` node for each text node.

This allows us to make basic assertions about the tree contents in the
`accessibility` test by doing a tree walk to find text nodes and
checking their contents.

Right now, the tree is rebuilt from scratch when accessibility is
enabled and when a navigation occurs (via
`Constellation::set_frame_tree_for_webview()` sending
`ScriptThreadMessage::SetAccessibilityActive`); it's not responsive to
changes in the page.

This change also changes the way we handle updating the graft node
between the webview's accessibility tree and its top level pipeline's
accessibility tree.

Previously, `Constellation::set_frame_tree_for_webview()` would send a
`ConstellationToEmbedderMsg::DocumentAccessibilityTreeIdChange` method
informing the webview of the accesskit TreeId of the top-level pipeline.
However, this resulted in flaky timing as we couldn't depend on that
message being handled before the message containing the TreeUpdate from
the WebContents, which would lead to a panic as the new TreeId wasn't
grafted into the combined tree yet.

This change introduces an epoch value which flows from the
ConstellationWebview, where it's updated every time the
`active_top_level_pipeline_id` changes, to the layout accessibility
tree, and finally to the webview with each TreeUpdate. Whenever a
TreeUpdate arrives at the webview which has a newer epoch than the last
known epoch, the webview-to-contents graft node is updated before the
TreeUpdate is forwarded. If a TreeUpdate arrives at the webview with an
epoch _older_ than the last known epoch, it's dropped, as it must be for
a no-longer-active pipeline.

Fixes: Part of #4344

---------

Signed-off-by: delan azabani <dazabani@igalia.com>
Signed-off-by: Alice Boxhall <alice@igalia.com>
Co-authored-by: delan azabani <dazabani@igalia.com>
Co-authored-by: Luke Warlow <lwarlow@igalia.com>
2026-04-14 13:36:57 +00:00
Simon Wülker
2930beb4d1 script: Don't traverse O(the whole DOM tree) nodes when inserting elements into Vec in tree order (#44120)
Previously the code was computing a prefix sum over the number of
preceding elements in tree order to get the index that the node should
be inserted in.

That's not great if the DOM tree is big. Instead, we can compare two
nodes individually by looking at their ancestor chain and then find the
correct position with binary search.

On https://262.ecma-international.org/16.0/index.html, this reduces the
time it takes for content to appear from around 33s to 16s.

Part of https://github.com/servo/servo/issues/44113

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2026-04-14 13:16:55 +00:00
Mukilan Thiyagarajan
38e3397237 servoshell: Fix incorrect calculation of WebView dimension. (#44205)
The upgrade to egui 0.34.0 in #44053 replaced the usage of the
deprecated `Ui::available_rect` method with `Ui::content_rect` as
suggested in the deprecation notice in egui. However, `content_rect` is
not equivalent to `available_rect` and doesn't seem to account for the
area occupied by the egui panels.

Since `content_rect` returns the window's inner dimensions, we don't ask
the webview to resize itself to the correct dimension that excludes the
toolbar (tabs and url). We also pass the correct dimension to egui's
paint callback, which meant that the WebView appeared vertically
squashed.

Fix this by using `available_rect_before_wrap` method instead of
`content_rect`. This seems to return the correct area that we need for
the WebView's dimenstion. The code in egui also seems closer to what we
want as it relies on a cursor that is advanced after each widget is
added. However, I'm not sure in which scenario the wrapping matters as
there is no documentation for this method.

Testing: Tested manually as we don't have automated tests for the shell.
Fixes: #44136

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2026-04-14 12:49:48 +00:00
Nico Burns
b89cbf1201 deps: Upgrade Taffy to v0.10.1 (#44203)
Fixes CSS Grid auto-repeat track count resolution in CSS Grid. This
caused an integer underflow in some cases and in others simply computed
the incorrect number of tracks.

Hopefully fixes: #44201

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
2026-04-14 11:49:32 +00:00
Martin Robinson
5d28862c7b script: Expose a LayoutNode::is_root_of_user_agent_widget method (#44197)
The main goal here is to have layout not depend on `ServoLayoutElement`
directly and instead use the layout DOM interface exposed by
`layout-api`. 

This change allows layout to determine if replaced content
is the root of a user agent widget without having to access
`ServoDangerousStyleShadowRoot` which isn't really safe to use in layout
code. `LayoutElement::shadow_root()` is now no longer exposed to layout.

Testing: This should not change behavior, so should be covered by
existing test.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2026-04-14 10:35:00 +00:00
Shubham Gupta
4ff29fecc8 script : Return PerformanceMark object from the Performance.mark() (#44199)
This returns the `PerformanceMark` object from Performance.mark()

Testing: More WPT tests passed

---------

Signed-off-by: Shubham Gupta <shubham.gupta@chromium.org>
2026-04-14 09:47:05 +00:00
Martin Robinson
e0fd559105 script: Simplify the way that layout flushes shadow root stylesheets (#44165)
This change is a minor cleanup of the way that layout flushes the
stylesheets of shadow roots. This avoids exposing so many public methods
in our and gradually to stop using Stylo's `TShadowRoot` in layout
entirely.

Testing: This should not change behavior, so should be covered by
existing tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2026-04-14 09:15:05 +00:00
Martin Garton
d0c2e0fa48 Expand fmt and tidy TOML_GLOBS range (#44180)
Add a check for formatting of the `Cargo.toml` files to CI, and run
`taplo format` to fix existing formatting issues.

---------

Signed-off-by: Martin Garton <garton@gmail.com>
2026-04-14 09:14:29 +00:00
Tim van der Lippe
143d7fe25e script: Add initial implementation of underline command (#44194)
This puts in most of the required machinery for underline. There are
still remaining test failures, but tackling these in separate PR's to
keep things manageable.

Part of #25005

Testing: WPT

---------

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
Signed-off-by: Tim van der Lippe <TimvdLippe@users.noreply.github.com>
2026-04-14 08:03:18 +00:00
batu_hoang
4ecf8be867 net: Remove duplicate CoreResourceMsg::GetCookiesDataForUrl (#44167)
In https://github.com/servo/servo/pull/43600, we introduce the new
`CoreResourceMsg::GetCookiesForUrl`.
However after some updates, it is exactly the same with an existing one
`CoreResourceMsg::GetCookiesDataForUrl` which is used by `webdriver`.
This PR removes the duplication.

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2026-04-14 06:14:46 +00:00
dependabot[bot]
2a1290a591 build: bump rustls from 0.23.37 to 0.23.38 (#44187)
Bumps [rustls](https://github.com/rustls/rustls) from 0.23.37 to
0.23.38.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6b116bc5e8"><code>6b116bc</code></a>
Bump version of rustls</li>
<li><a
href="a1da268c89"><code>a1da268</code></a>
client: allow skipping selected ALPN validation</li>
<li><a
href="5b3ef11c60"><code>5b3ef11</code></a>
Fix ambiguous panic! warning</li>
<li><a
href="0f0fbf5a59"><code>0f0fbf5</code></a>
Fix <code>clippy::result_large_err</code></li>
<li><a
href="7e99b52071"><code>7e99b52</code></a>
Update semver-compatible dependencies</li>
<li>See full diff in <a
href="https://github.com/rustls/rustls/compare/v/0.23.37...v/0.23.38">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls&package-manager=cargo&previous-version=0.23.37&new-version=0.23.38)](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 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>
2026-04-14 03:29:19 +00:00
dependabot[bot]
460c14bbbe build: bump lru from 0.16.3 to 0.16.4 (#44191)
Bumps [lru](https://github.com/jeromefroe/lru-rs) from 0.16.3 to 0.16.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md">lru's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/jeromefroe/lru-rs/tree/0.16.4">v0.16.4</a> -
2026-04-13</h2>
<ul>
<li>Add <code>get_or_insert_with_key</code> and variants.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d8c7f5ca51"><code>d8c7f5c</code></a>
Merge pull request <a
href="https://redirect.github.com/jeromefroe/lru-rs/issues/230">#230</a>
from jeromefroe/jerome/prepare-0-16-4-release</li>
<li><a
href="bd5261b499"><code>bd5261b</code></a>
Prepare 0.16.4 release</li>
<li><a
href="16e161d5ed"><code>16e161d</code></a>
Merge pull request <a
href="https://redirect.github.com/jeromefroe/lru-rs/issues/229">#229</a>
from pikatos/get_or_insert_with_key</li>
<li><a
href="5135e8eb26"><code>5135e8e</code></a>
Apply suggestions from code review</li>
<li><a
href="81c2ef05fd"><code>81c2ef0</code></a>
Add get_or_insert_with_key variants</li>
<li>See full diff in <a
href="https://github.com/jeromefroe/lru-rs/compare/0.16.3...0.16.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lru&package-manager=cargo&previous-version=0.16.3&new-version=0.16.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 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>
2026-04-14 00:56:18 +00:00
dependabot[bot]
6c2bc8fd1e build: bump libc from 0.2.184 to 0.2.185 (#44189)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.184 to 0.2.185.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/libc/releases">libc's
releases</a>.</em></p>
<blockquote>
<h2>0.2.185</h2>
<h3>Added</h3>
<ul>
<li>EspIDF: Add <code>espidf_picolibc</code> cfg for picolibc
<code>O_*</code> flag values (<a
href="https://redirect.github.com/rust-lang/libc/pull/5035">#5035</a>)</li>
<li>Hexagon: add missing constants and fix types for linux-musl (<a
href="https://redirect.github.com/rust-lang/libc/pull/5042">#5042</a>)</li>
<li>Redox: Add semaphore functions (<a
href="https://redirect.github.com/rust-lang/libc/pull/5051">#5051</a>)</li>
<li>Windows: Add <code>sprintf</code>, <code>snprintf</code>, and the
<code>scanf</code> family (<a
href="https://redirect.github.com/rust-lang/libc/pull/5024">#5024</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Hexagon: Decouple <code>time64</code> types from musl symbol
redirects (<a
href="https://redirect.github.com/rust-lang/libc/pull/5040">#5040</a>)</li>
<li>Horizon: Change <code>POLL</code> constants from
<code>c_short</code> to <code>c_int</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/5045">#5045</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/libc/blob/0.2.185/CHANGELOG.md">libc's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/rust-lang/libc/compare/0.2.184...0.2.185">0.2.185</a>
- 2026-04-13</h2>
<h3>Added</h3>
<ul>
<li>EspIDF: Add <code>espidf_picolibc</code> cfg for picolibc
<code>O_*</code> flag values (<a
href="https://redirect.github.com/rust-lang/libc/pull/5035">#5035</a>)</li>
<li>Hexagon: add missing constants and fix types for linux-musl (<a
href="https://redirect.github.com/rust-lang/libc/pull/5042">#5042</a>)</li>
<li>Redox: Add semaphore functions (<a
href="https://redirect.github.com/rust-lang/libc/pull/5051">#5051</a>)</li>
<li>Windows: Add <code>sprintf</code>, <code>snprintf</code>, and the
<code>scanf</code> family (<a
href="https://redirect.github.com/rust-lang/libc/pull/5024">#5024</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Hexagon: Decouple <code>time64</code> types from musl symbol
redirects (<a
href="https://redirect.github.com/rust-lang/libc/pull/5040">#5040</a>)</li>
<li>Horizon: Change <code>POLL</code> constants from
<code>c_short</code> to <code>c_int</code> (<a
href="https://redirect.github.com/rust-lang/libc/pull/5045">#5045</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="71d5bfcc1b"><code>71d5bfc</code></a>
libc: Release 0.2.185</li>
<li><a
href="1027d1c23b"><code>1027d1c</code></a>
Revert &quot;ci: Pin nightly to 2026-04-01&quot;</li>
<li><a
href="0e9c6e53cc"><code>0e9c6e5</code></a>
redox: Add semaphore functions</li>
<li><a
href="24ef457ddd"><code>24ef457</code></a>
feat: add back support for gnu windows x86 in ci</li>
<li><a
href="aa75caf30c"><code>aa75caf</code></a>
horizon: Change POLL constants from c_short to c_int</li>
<li><a
href="b7eda5a40c"><code>b7eda5a</code></a>
hexagon: add missing constants and fix types for linux-musl</li>
<li><a
href="d4613f96a5"><code>d4613f9</code></a>
newlib/espidf: Add espidf_picolibc cfg for picolibc O_* flag values</li>
<li><a
href="c89fd76cc7"><code>c89fd76</code></a>
Fix typo in Padding comments</li>
<li><a
href="b3264b292a"><code>b3264b2</code></a>
hexagon: decouple time64 types from musl symbol redirects</li>
<li><a
href="db1ebee456"><code>db1ebee</code></a>
ci: Pin nightly to 2026-04-01</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/libc/compare/0.2.184...0.2.185">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libc&package-manager=cargo&previous-version=0.2.184&new-version=0.2.185)](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 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>
2026-04-14 00:54:18 +00:00
dependabot[bot]
b4a7caea01 build: bump cc from 1.2.59 to 1.2.60 (#44188)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.59 to 1.2.60.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/cc-rs/releases">cc's
releases</a>.</em></p>
<blockquote>
<h2>cc-v1.2.60</h2>
<h3>Fixed</h3>
<ul>
<li><em>(ar)</em> suppress warnings from <code>D</code> modifier probe
(<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1700">#1700</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md">cc's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.2.59...cc-v1.2.60">1.2.60</a>
- 2026-04-10</h2>
<h3>Fixed</h3>
<ul>
<li><em>(ar)</em> suppress warnings from <code>D</code> modifier probe
(<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1700">#1700</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7cad9f5b10"><code>7cad9f5</code></a>
chore(cc): release v1.2.60 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1701">#1701</a>)</li>
<li><a
href="c15c3eb9f1"><code>c15c3eb</code></a>
fix(ar): suppress warnings from <code>D</code> modifier probe (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1700">#1700</a>)</li>
<li>See full diff in <a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.2.59...cc-v1.2.60">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cc&package-manager=cargo&previous-version=1.2.59&new-version=1.2.60)](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 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>
2026-04-14 00:40:35 +00:00
dependabot[bot]
c041d57989 build: bump pillow from 12.1.1 to 12.2.0 in /etc/ci/scenario (#44186)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 12.1.1 to
12.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-pillow/Pillow/releases">pillow's
releases</a>.</em></p>
<blockquote>
<h2>12.2.0</h2>
<p><a
href="https://pillow.readthedocs.io/en/stable/releasenotes/12.2.0.html">https://pillow.readthedocs.io/en/stable/releasenotes/12.2.0.html</a></p>
<h2>Documentation</h2>
<ul>
<li>Update 12.2.0 release notes <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9522">#9522</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Add loader plugins: AMOS abk, Atari Degas, 40+ more obscure formats
via Netpbm <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9482">#9482</a>
[<a href="https://github.com/bitplane"><code>@​bitplane</code></a>]</li>
<li>Update Python versions <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9515">#9515</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Jeffrey A. Clark -&gt; Jeffrey 'Alex' Clark <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9513">#9513</a>
[<a
href="https://github.com/aclark4life"><code>@​aclark4life</code></a>]</li>
<li>Add release notes for <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9394">#9394</a>,
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9419">#9419</a>
and <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9456">#9456</a>
<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9467">#9467</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Add Amiga Workbench .info loader to 3rd party plugins list <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9459">#9459</a>
[<a href="https://github.com/bitplane"><code>@​bitplane</code></a>]</li>
<li>Merge PFM documentation into PPM <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9434">#9434</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update macOS tested Pillow versions <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9431">#9431</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Fix CVE number <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9430">#9430</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
</ul>
<h2>Dependencies</h2>
<ul>
<li>Update xz to 5.8.3 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9523">#9523</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update libjpeg-turbo to 3.1.4.1 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9507">#9507</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update libpng to 1.6.56 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9499">#9499</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update freetype to 2.14.3 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9485">#9485</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Updated libavif to 1.4.1 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9479">#9479</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Updated harfbuzz to 13.2.1 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9461">#9461</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update Ghostscript to 10.7.0 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9469">#9469</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update harfbuzz to 13.0.1 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9453">#9453</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update libavif to 1.4.0 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9460">#9460</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update freetype to 2.14.2 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9449">#9449</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update actions/download-artifact action to v8 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9451">#9451</a>
[@<a href="https://github.com/apps/renovate">renovate[bot]</a>]</li>
<li>Updated libpng to 1.6.55 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9425">#9425</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
</ul>
<h2>Testing</h2>
<ul>
<li>Cleanup .spider extension in the same test where it is added <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9517">#9517</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Run tests in parallel via tox for 3.5x speedup <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9516">#9516</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Enable colour in CI logs <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9486">#9486</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Update Ghostscript to 10.7.0 <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9469">#9469</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Simplify TGA test code <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9477">#9477</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Update tests to check for ValueError when encoding an empty image <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9464">#9464</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Upgrade CI from <code>macos-15-intel</code> to
<code>macos-26-intel</code> <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9454">#9454</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Add check-case-conflict hook <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9446">#9446</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Specify platform when pulling docker image <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9440">#9440</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>GHA: Cache libavif and webp builds for Ubuntu <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9437">#9437</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Update macOS tested Pillow versions <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9431">#9431</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
</ul>
<h2>Other changes</h2>
<ul>
<li>Check calloc return value <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9527">#9527</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
<li>Check all allocs in the Arrow tree <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9488">#9488</a>
[<a
href="https://github.com/wiredfool"><code>@​wiredfool</code></a>]</li>
<li>Reject non-numeric elements inside list coords <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9526">#9526</a>
[<a href="https://github.com/hugovk"><code>@​hugovk</code></a>]</li>
<li>Move variable declaration inside define <a
href="https://redirect.github.com/python-pillow/Pillow/issues/9525">#9525</a>
[<a
href="https://github.com/radarhere"><code>@​radarhere</code></a>]</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3c41c09506"><code>3c41c09</code></a>
12.2.0 version bump</li>
<li><a
href="cdaa29eb52"><code>cdaa29e</code></a>
Check calloc return value (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9527">#9527</a>)</li>
<li><a
href="585b2f5a78"><code>585b2f5</code></a>
Check calloc return value</li>
<li><a
href="ecf011ea15"><code>ecf011e</code></a>
Check all allocs in the Arrow tree (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9488">#9488</a>)</li>
<li><a
href="cf6de8ca9b"><code>cf6de8c</code></a>
Reject non-numeric elements inside list coords (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9526">#9526</a>)</li>
<li><a
href="ffdcede651"><code>ffdcede</code></a>
Update 12.2.0 release notes (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9522">#9522</a>)</li>
<li><a
href="7929d7760f"><code>7929d77</code></a>
Added security release notes (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/149">#149</a>)</li>
<li><a
href="c4f7aa5dfb"><code>c4f7aa5</code></a>
Added security release notes</li>
<li><a
href="22cdb5f2e4"><code>22cdb5f</code></a>
Move variable declaration inside define (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9525">#9525</a>)</li>
<li><a
href="fc15b3b018"><code>fc15b3b</code></a>
Resize tall images vertically first (<a
href="https://redirect.github.com/python-pillow/Pillow/issues/9524">#9524</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/python-pillow/Pillow/compare/12.1.1...12.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pillow&package-manager=uv&previous-version=12.1.1&new-version=12.2.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 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)
You can disable automated security fix PRs for this repo from the
[Security Alerts page](https://github.com/servo/servo/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 23:48:56 +00:00
Taym Haddadi
5d3ef741b3 Indexeddb: fix IDBKeyRange lowerBound/upperBound open flags (#44183)
Testing: covered by idbkeyrange.any.html test
part of https://github.com/servo/servo/issues/40983

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
2026-04-13 22:08:05 +00:00
elomscansio
97901de941 script: Pass down &mut JSContext/CurrentRealm to AudioContext methods (#44175)
Refactor AudioContext methods to use &mut JSContext 

Testing:  Just refactor.
Fixes: Part of #42638

---------

Signed-off-by: Emmanuel Paul Elom <elomemmanuel007@gmail.com>
2026-04-13 19:50:18 +00:00
atbrakhi
7b2c95030c devtools: implement objectPreview in console (#44181)
Show `objectPreview` in console. This preview is limited to 10. And only
when we expand, we see all items.

Testing: manual testing
Fixes: Part of #39858 

<img width="1008" height="607" alt="image"
src="https://github.com/user-attachments/assets/79fd6c18-f3a7-4f5e-8c21-61634153c362"
/>

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: eri <eri@igalia.com>
2026-04-13 18:48:11 +00:00
Taym Haddadi
a7ef47a46e Indexeddb: Cache IDBCursor.key conversion to preserve object identity (#44161)
Testing: Covered by idbcursor-key.any.html test.
part of https://github.com/servo/servo/issues/40983

---------

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
2026-04-13 18:14:26 +00:00
atbrakhi
8918b6f53a devtools: Do not use MAX_ITEMS in object preview (#44173)
Do not use `OBJECT_PREVIEW_MAX_ITEMS` in object preview(same as array).
With this it matches the Firefox behavior and shows the complete object.

Testing: Current tests are passing.
Fixes: part of #36027 
<img width="1174" height="1056" alt="image"
src="https://github.com/user-attachments/assets/3b1a738d-4fbe-4aee-a918-88a699d6be14"
/>

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
2026-04-13 17:36:24 +00:00
atbrakhi
fce9b10bf7 devtools: Implement showing ArrayItems in preview (#44172)
implement showing `ArrayItems` in preview

Testing: Current tests are passing.
Fixes: Part of #36027 

<img width="1146" height="913" alt="image"
src="https://github.com/user-attachments/assets/af5b009c-5983-4949-a30b-39ea32b24d20"
/>

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
2026-04-13 16:05:05 +00:00
Jonathan Schwender
69dbc16014 devcontainer: Build multi-arch image (#44162)
Also build an arm64 version of the devcontainer and combine both into a
multi platform image.
This also fixes the upload step, which was broken on main by
b5d454eca0.
We also allow triggering the publish job on forks via manual workflow
trigger, which allows more convenient testing.
[Manually triggered
workflow](https://github.com/servo/servo/actions/runs/24336772082)

Testing: This is a CI change.

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2026-04-13 13:00:39 +00:00
eri
38f77f4bfb devtools: Move debugger_value_to_json to lib.rs (#44160)
Testing: Existing tests pass
Part of: #36027

Signed-off-by: eri <eri@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
2026-04-13 11:19:19 +00:00
eri
d58f2d4dd5 devtools: Create UUID for objects created by console logging (#44164)
Testing: Existing tests pass
Part of: #36027

Signed-off-by: eri <eri@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
2026-04-13 10:07:10 +00:00
niya
6cd95eaa51 mach: respect --yes when installing GStreamer on Macos (#44091)
When `mach bootstrap` is run without `--yes` or `--force` on macos:
Add warning that `mach bootstrap` command is being run without elevated
permissions.
Stop execution and ask user to run the command with `--yes` or install
GStreamer manually.

Testing:  mach does not have testing
Fixes: #44021

---------

Signed-off-by: Niya Gupta <niyabits@disroot.org>
2026-04-13 09:03:21 +00:00
Abubakar Abdulazeez Usman
65c0ed97a8 script: Avoid forwarding body event handlers without a browsing context (#44046)
When mutating window-reflecting event handler attributes on <body>,
HTMLBodyElement::attribute_mutated forwarded handlers to owner_window()
even for documents without a browsing context.
    
This caused handlers such as onload to be attached to the wrong window
in cases involving createHTMLDocument() and node cloning.
    
Only forward these handlers when the owner document has a browsing
context. This matches the has_browsing_context() check used by
window_event_handlers!(ForwardToWindow) and the spec algorithm.
    
The Range WPT expectations added for this issue are removed, as those
tests now pass. The onerroreventhandler.html test is marked as TIMEOUT
as its failure is a separate issue tracked in #44157 .



Testing: 
- ./mach fmt
- ./mach test-tidy
- ./mach test-wpt -r dom/ranges
- ./mach test-wpt -r
html/webappapis/scripting/events/onerroreventhandler.html
- ./mach try linux-wpt ( Try run
[#24328414549](https://github.com/arabson99/servo/actions/runs/24328414549))

Reproduced locally with the parent.html/child.html testcase from #36561.
Before this change, Servo logged "foo is not defined".
After this change, the error no longer appears.

Fixes: #36561

Signed-off-by: arabson99 <arabiusman99@gmail.com>
2026-04-13 06:20:43 +00:00
Jonathan Schwender
b5d454eca0 devcontainer: Verify build on PRs. (#44111)
This allows us to verify that the devcontainer builds, when a PR changes
any of the affected files.


Testing: This is a CI change

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
Co-authored-by: Sam <16504129+sagudev@users.noreply.github.com>
2026-04-13 05:59:29 +00:00
Simon Martin
625b53adb6 webgl: fix incorrect specification links (#44156)
I noticed that those links' fragments are all "off-by-one". This is due
to https://github.com/KhronosGroup/WebGL/pull/3762, that added a section
at the top of the specification. This patch fixes those links.

Testing: This is a comment-only change, so not covered by any automated
test. I manually navigated to a random subset of those links and checked
they do take to the correct section.

Signed-off-by: Simon Martin <simon@nasilyan.com>
2026-04-13 05:41:51 +00:00
Daniel Adams
ae0a9d33a1 webxr: Account for mock device VR/AR blend modes (#44155)
Previously the headless/mock device was just defaulting to opaque for
its environmentBlendMode,, but this value is actually not allowed for
immersive-ar sessions. This adds an override for
environment_blend_mode() on the headless DeviceAPI to return alpha blend
for immersive-ar sessions and opaque otherwise.

Testing: Fixes WPT test
`webxr/ar-module/xrSession_environmentBlendMode.https.html.ini`

Signed-off-by: Daniel Adams <msub2official@gmail.com>
2026-04-13 05:13:26 +00:00
Babalola Taiwo J
b7dcfdcf1c script: Remove unused has_sent_idle_message field from Window (#44154)
\`has_sent_idle_message\` was declared and initialized in \`Window\` but
never read anywhere. Removed the field and its initialization.

Fixes #44151

Signed-off-by: thebabalola <t.babalolajoseph@gmail.com>
2026-04-13 04:09:49 +00:00
CynthiaOketch
2124599d6b servoshell (Linux): Add CJK fonts for egui (#44138)
Configured fonts for Linux referring to the same pattern used for
Windows in #44055.
CJK font files are loaded from standard system font paths, trying
Noto Sans CJK (Ubuntu/Debian and Fedora/Arch paths) with WenQuanYi
Micro Hei as a fallback. Fonts that are not present on the system
are silently skipped.
Testing: Loaded `cjk_test.html` with the following content in servoshell
on Linux:
  ```html                                 
<!DOCTYPE html>
  <html>                                  
  <head>
  <title>ご利用ガイド - 경애하는</title>
  </head>                               
<body>
  <p>Test</p>
</body>
  </html>                                 
  Before: Tab title showed boxes (□□□□ - □□□□)
After: Tab title renders correctly (ご利用ガイド - 경애하는)
  ```                                    

Fixes part of #44066

---------

Signed-off-by: CynthiaOketch <cynthiaoketch6@gmail.com>
2026-04-13 01:49:26 +00:00
dependabot[bot]
3379bf634f build: bump hyper-rustls from 0.27.7 to 0.27.8 (#44144)
Bumps [hyper-rustls](https://github.com/rustls/hyper-rustls) from 0.27.7
to 0.27.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rustls/hyper-rustls/releases">hyper-rustls's
releases</a>.</em></p>
<blockquote>
<h2>0.27.8</h2>
<h2>What's Changed</h2>
<ul>
<li>Added HttpsConnector::new function by <a
href="https://github.com/0xIO32"><code>@​0xIO32</code></a> in <a
href="https://redirect.github.com/rustls/hyper-rustls/pull/301">rustls/hyper-rustls#301</a></li>
<li>Exclude development scripts from published package by <a
href="https://github.com/weiznich"><code>@​weiznich</code></a> in <a
href="https://redirect.github.com/rustls/hyper-rustls/pull/320">rustls/hyper-rustls#320</a></li>
<li>Drop dependency on rustls-pemfile by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/rustls/hyper-rustls/pull/323">rustls/hyper-rustls#323</a></li>
<li>Fix tests to run on a random port by <a
href="https://github.com/erickt"><code>@​erickt</code></a> in <a
href="https://redirect.github.com/rustls/hyper-rustls/pull/330">rustls/hyper-rustls#330</a></li>
<li>Upgrade to rustls-platform-verifier 0.7 by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/rustls/hyper-rustls/pull/338">rustls/hyper-rustls#338</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6b94ec3ef1"><code>6b94ec3</code></a>
Bump version to 0.27.8</li>
<li><a
href="df300cfe7c"><code>df300cf</code></a>
Upgrade rustls-platform-verifier to 0.7</li>
<li><a
href="1c063f5e21"><code>1c063f5</code></a>
Take semver-compatible dependency updates</li>
<li><a
href="c66d2839df"><code>c66d283</code></a>
Bump MSRV to 1.85 (for rustls-platform-verifier -&gt; jni)</li>
<li><a
href="4b90026cb6"><code>4b90026</code></a>
Bump hyper from 1.8.1 to 1.9.0</li>
<li><a
href="4376d76423"><code>4376d76</code></a>
Take semver-compatible updates</li>
<li><a
href="8eaab3e6e6"><code>8eaab3e</code></a>
Take semver-compatible dependency updates</li>
<li><a
href="0deafa57c3"><code>0deafa5</code></a>
Bump rustls from 0.23.36 to 0.23.37</li>
<li><a
href="003b96e690"><code>003b96e</code></a>
Check for unexpected output if examples fail</li>
<li><a
href="81e75a4ba9"><code>81e75a4</code></a>
Fail <code>custom_ca_store</code> if <code>server</code> errors out</li>
<li>Additional commits viewable in <a
href="https://github.com/rustls/hyper-rustls/compare/v/0.27.7...v/0.27.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper-rustls&package-manager=cargo&previous-version=0.27.7&new-version=0.27.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 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: Euclid Ye <yezhizhenjiakang@gmail.com>
Co-authored-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2026-04-13 01:44:09 +00:00
dependabot[bot]
b6620593ae build: bump rustls-webpki from 0.103.10 to 0.103.11 (#44148)
Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.103.10 to
0.103.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rustls/webpki/releases">rustls-webpki's
releases</a>.</em></p>
<blockquote>
<h2>0.103.11</h2>
<p>In response to <a
href="https://redirect.github.com/rustls/webpki/issues/464">#464</a>,
we've slightly relaxed requirements for
<code>anchor_from_trust_cert()</code> to ignore unknown extensions even
if they're marked as critical. This only affects parsing a
<code>TrustAnchor</code> from DER, for which most extensions are ignored
anyway.</p>
<h2>What's Changed</h2>
<ul>
<li>Backport parsing trust anchors with unknown critical extensions to
0.103 by <a href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/rustls/webpki/pull/466">rustls/webpki#466</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="57bc62ce53"><code>57bc62c</code></a>
Bump version to 0.103.11</li>
<li><a
href="d0fa01ee0a"><code>d0fa01e</code></a>
Allow parsing trust anchors with unknown criticial extensions</li>
<li>See full diff in <a
href="https://github.com/rustls/webpki/compare/v/0.103.10...v/0.103.11">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls-webpki&package-manager=cargo&previous-version=0.103.10&new-version=0.103.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 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>
2026-04-13 01:01:31 +00:00
dependabot[bot]
c6987ebb82 build: bump pkg-config from 0.3.32 to 0.3.33 (#44146)
Bumps [pkg-config](https://github.com/rust-lang/pkg-config-rs) from
0.3.32 to 0.3.33.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/pkg-config-rs/blob/master/CHANGELOG.md">pkg-config's
changelog</a>.</em></p>
<blockquote>
<h2>[0.3.33] - 2026-04-12</h2>
<h3>Changed</h3>
<ul>
<li>Error output from <code>pkg-config</code> is included in the message
again to
help with finding the cause (<a
href="https://redirect.github.com/rust-lang/pkg-config-rs/issues/187">#187</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/rust-lang/pkg-config-rs/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pkg-config&package-manager=cargo&previous-version=0.3.32&new-version=0.3.33)](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 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>
2026-04-13 00:40:14 +00:00
Simon Wülker
25d3f4b7a9 script: Don't re-parse link relations when binding element to tree (#44139)
The parsed relations of a element don't depend on its position in the
DOM tree at all, so this does nothing.

Testing: This should not change observable behaviour, WPT should catch
regressions

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2026-04-12 21:49:31 +00:00
Tim van der Lippe
7c5df4e45b script: Implement recording and restoring of values (#44137)
It fixes two new tests, but also regresses 4. That's because we don't
handle xx-small (we shouldn't, at least browsers are inconsistent on
what to do with that) and pre-existing issues where a `<font>` element
is already present as parent of the selected node. These are
pre-existing issues that are now correctly exposed.

Part of #25005

Testing: WPT

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2026-04-12 18:50:27 +00:00
Freya Arbjerg
b427fea6f8 devtools: Implement getBlackboxingActor (#44142)
Adds `BlackboxingActor` boilerplate and implements `getBlackboxingActor`

Testing: Added a geckordp test for `getBlackboxingActor`
Fixes: Part of https://github.com/servo/servo/issues/36027

Signed-off-by: Freya Arbjerg <git@arbjerg.dev>
2026-04-12 15:34:13 +00:00
Taym Haddadi
1908220198 Indexeddb: Follow the spec and make IDBRequest result/error getters throw while pending (#44128)
Testing: idbrequest WPT test.
part of https://github.com/servo/servo/issues/40983

---------

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
2026-04-12 15:23:05 +00:00
Martin Robinson
cdf13e7ca4 Make the pull request template more explicit (#44135)
There seem to be some common misconceptions about how to use the pull
request template such as:

 - The `Fixes` field going before the pull request description.
 - The `Testing` field being used to describe how the fix was tested
   locally.

This change attmepts to make the meaning of the fields of the template a
little bit more explicit to avoid confusion.

Testing: This is just updating the pull request template so no tests
necessary.

Signed-off-by: Martin Robinson <mrobinson@fastmail.fm>
Co-authored-by: Martin Robinson <mrobinson@fastmail.fm>
2026-04-12 08:31:59 +00:00