Commit graph

52613 commits

Author SHA1 Message Date
dependabot[bot]
05695924ae
build(deps): bump sea-query from 1.0.0-rc.11 to 1.0.0-rc.12 (#38987)
Bumps [sea-query](https://github.com/SeaQL/sea-query) from 1.0.0-rc.11
to 1.0.0-rc.12.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/SeaQL/sea-query/commits">compare view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-28 05:10:10 +00:00
dependabot[bot]
7f4f89ea50
build(deps): bump the servo-media-related group with 12 updates (#38986)
Bumps the servo-media-related group with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [servo-media](https://github.com/servo/media) | ``a57b0e6`` |
``de1ebef`` |
| [servo-media-dummy](https://github.com/servo/media) | ``a57b0e6`` |
``de1ebef`` |
| [servo-media-gstreamer](https://github.com/servo/media) | ``a57b0e6``
| ``de1ebef`` |
| servo-media-audio | ``a57b0e6`` | ``de1ebef`` |
| servo-media-derive | ``a57b0e6`` | ``de1ebef`` |
| servo-media-gstreamer-render | ``a57b0e6`` | ``de1ebef`` |
| servo-media-gstreamer-render-android | ``a57b0e6`` | ``de1ebef`` |
| servo-media-gstreamer-render-unix | ``a57b0e6`` | ``de1ebef`` |
| servo-media-player | ``a57b0e6`` | ``de1ebef`` |
| servo-media-streams | ``a57b0e6`` | ``de1ebef`` |
| servo-media-traits | ``a57b0e6`` | ``de1ebef`` |
| servo-media-webrtc | ``a57b0e6`` | ``de1ebef`` |

Updates `servo-media` from `a57b0e6` to `de1ebef`
<details>
<summary>Commits</summary>
<ul>
<li><a
href="de1ebef583"><code>de1ebef</code></a>
Add clean-shutdown of backend (<a
href="https://redirect.github.com/servo/media/issues/448">#448</a>)</li>
<li>See full diff in <a
href="a57b0e67b3...de1ebef583">compare
view</a></li>
</ul>
</details>
<br />

Updates `servo-media-dummy` from `a57b0e6` to `de1ebef`
<details>
<summary>Commits</summary>
<ul>
<li><a
href="de1ebef583"><code>de1ebef</code></a>
Add clean-shutdown of backend (<a
href="https://redirect.github.com/servo/media/issues/448">#448</a>)</li>
<li>See full diff in <a
href="a57b0e67b3...de1ebef583">compare
view</a></li>
</ul>
</details>
<br />

Updates `servo-media-gstreamer` from `a57b0e6` to `de1ebef`
<details>
<summary>Commits</summary>
<ul>
<li><a
href="de1ebef583"><code>de1ebef</code></a>
Add clean-shutdown of backend (<a
href="https://redirect.github.com/servo/media/issues/448">#448</a>)</li>
<li>See full diff in <a
href="a57b0e67b3...de1ebef583">compare
view</a></li>
</ul>
</details>
<br />

Updates `servo-media-audio` from `a57b0e6` to `de1ebef`

Updates `servo-media-derive` from `a57b0e6` to `de1ebef`

Updates `servo-media-gstreamer-render` from `a57b0e6` to `de1ebef`

Updates `servo-media-gstreamer-render-android` from `a57b0e6` to
`de1ebef`

Updates `servo-media-gstreamer-render-unix` from `a57b0e6` to `de1ebef`

Updates `servo-media-player` from `a57b0e6` to `de1ebef`

Updates `servo-media-streams` from `a57b0e6` to `de1ebef`

Updates `servo-media-traits` from `a57b0e6` to `de1ebef`

Updates `servo-media-webrtc` from `a57b0e6` to `de1ebef`


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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-28 04:53:55 +00:00
Euclid Ye
3ac226e841
script: Support decomposing ShadowRoot from mozjs HandleValue (#38984)
- Add `ShadowRoot` to `JSValue` to avoid
`WebDriverJSError::UnknownType`, and
`JavaScriptEvaluationError::SerializationError` when execute JS from
embedder.
- Add unit test.
- Move [is_detached](https://w3c.github.io/webdriver/#dfn-is-detached)
to `fn is_detached` to be reused.
- Other random simplification.

Testing: WebDriver conformance tests.

---------

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-28 04:31:06 +00:00
dependabot[bot]
5308228436
build(deps): bump async-executor from 1.13.2 to 1.13.3 (#38976)
Bumps [async-executor](https://github.com/smol-rs/async-executor) from
1.13.2 to 1.13.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/smol-rs/async-executor/releases">async-executor's
releases</a>.</em></p>
<blockquote>
<h2>v1.13.3</h2>
<ul>
<li>Avoid places where the code had a possibility to block or panic. (<a
href="https://redirect.github.com/smol-rs/async-executor/issues/147">#147</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/smol-rs/async-executor/blob/master/CHANGELOG.md">async-executor's
changelog</a>.</em></p>
<blockquote>
<h1>Version 1.13.3</h1>
<ul>
<li>Avoid places where the code had a possibility to block or panic. (<a
href="https://redirect.github.com/smol-rs/async-executor/issues/147">#147</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1e8d245f64"><code>1e8d245</code></a>
v1.13.3</li>
<li><a
href="08c3fc4d5d"><code>08c3fc4</code></a>
Don't explicitly panic or block when avoidable (<a
href="https://redirect.github.com/smol-rs/async-executor/issues/147">#147</a>)</li>
<li><a
href="58411d6876"><code>58411d6</code></a>
Update criterion requirement from 0.6 to 0.7</li>
<li><a
href="95ec34dd70"><code>95ec34d</code></a>
Update criterion requirement from 0.5 to 0.6 (<a
href="https://redirect.github.com/smol-rs/async-executor/issues/142">#142</a>)</li>
<li><a
href="b3269e1363"><code>b3269e1</code></a>
Ignore clippy::unused_unit lint</li>
<li><a
href="87a287a73a"><code>87a287a</code></a>
Fix clippy::uninlined_format_args warning</li>
<li>See full diff in <a
href="https://github.com/smol-rs/async-executor/compare/v1.13.2...v1.13.3">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-28 01:40:25 +00:00
Sebastian C
e5c83ec419
script: Do not include fragments when comparing URLs in CookieStore (#38876)
Fixes a check for empty options in `getAll(options)` and makes url
comparison with exclude fragments set to true.

Testing: New passing WPT tests
Part of #37674

---------

Signed-off-by: Sebastian C <sebsebmc@gmail.com>
2025-08-27 23:41:11 +00:00
Tim van der Lippe
84f478a47a
Implement trusted types processing for JavaScript URL (#38623)
We pass in the new trait implementation to process the value,
which the CSP crate calls in its implementation. Additionally,
since the request url can change, we need to propagate that
to load_data as well.

This also avoids a crash when a discarded browsing context is
accessed while navigating the iframes in the WPT tests. This
is a known issue, but hampers investigation into actual
Trusted Types support.

All tests using iframes don't work, as they don't have the
correct browsing context. The other tests do work, but some
fail on header ascii parsing (#36801) or error while handling
errors. That last one I don't understand based on the current
code and I would need to do a deep-dive in the existing code
to understand better what's going on.

Part of #36258
Part of #37920

---------

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-08-27 21:53:18 +00:00
dependabot[bot]
c4bd955a69
build(deps): bump image-webp from 0.2.3 to 0.2.4 (#38981)
Bumps [image-webp](https://github.com/image-rs/image-webp) from 0.2.3 to
0.2.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/image-rs/image-webp/blob/main/CHANGES.md">image-webp's
changelog</a>.</em></p>
<blockquote>
<h3>Version 0.2.4</h3>
<p>Changes:</p>
<ul>
<li>Changed default upscaling to bilinear interpolation to match libwebp
(<a
href="https://redirect.github.com/image-rs/image-webp/issues/147">#147</a>)</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li>Fixed all remaining divergences against libwebp in loop filtering
(<a
href="https://redirect.github.com/image-rs/image-webp/issues/148">#148</a>,
<a
href="https://redirect.github.com/image-rs/image-webp/issues/149">#149</a>)</li>
</ul>
<p>Optimizations:</p>
<ul>
<li>Optimized predictors in lossless_transform (<a
href="https://redirect.github.com/image-rs/image-webp/issues/152">#152</a>)</li>
<li>Improved performance of horizontal loop filtering (<a
href="https://redirect.github.com/image-rs/image-webp/issues/151">#151</a>,
<a
href="https://redirect.github.com/image-rs/image-webp/issues/156">#156</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/image-rs/image-webp/commits">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-27 21:12:25 +00:00
Simon Wülker
d65e16dd84
servoshell: Display favicons in tab bar (#36680)
Before:

![image](https://github.com/user-attachments/assets/476ecc6b-8649-4f29-b138-aa94b938d846)

After:

![image](https://github.com/user-attachments/assets/33a37a64-2070-4c88-963d-719e32e7e8af)

This PR moves the favicon, title and close button into a single egui
Frame. Doing this allows us to get rid of some of the previous layout
magic (like setting a border radius on the left corners of the label and
the right corners of the button so they appear as one widget). It also
ensures that the tab is highlighted when the close button (not the
label) is hovered.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-08-27 20:58:31 +00:00
Ashwin Naren
461ff26812
script: Move gamepad DOM interfaces to script/dom/gamepad/ (#38900)
Moves interfaces defined by the gamepad spec to the
`script/dom/gamepad/` module from `script/dom/`.

Testing: Just a refactor shouldn't need any testing
Fixes: N/A

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2025-08-27 18:39:27 +00:00
dependabot[bot]
21a7782206
build(deps): bump camino from 1.1.11 to 1.1.12 (#38978)
Bumps [camino](https://github.com/camino-rs/camino) from 1.1.11 to
1.1.12.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/camino-rs/camino/releases">camino's
releases</a>.</em></p>
<blockquote>
<h2>camino 1.1.12</h2>
<h3>Added</h3>
<ul>
<li><code>Utf8PathBuf::from_os_string</code> and
<code>Utf8Path::from_os_str</code> conversions.</li>
<li><code>TryFrom&lt;OsString&gt; for Utf8PathBuf</code> and
<code>TryFrom&lt;&amp;OsStr&gt; for &amp;Utf8Path</code>
conversions.</li>
</ul>
<p>Thanks to <a
href="https://github.com/BenjaminBrienen">BenjaminBrienen</a> for your
first contribution!</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/camino-rs/camino/blob/main/CHANGELOG.md">camino's
changelog</a>.</em></p>
<blockquote>
<h2>[1.1.12] - 2025-08-26</h2>
<h3>Added</h3>
<ul>
<li><code>Utf8PathBuf::from_os_string</code> and
<code>Utf8Path::from_os_str</code> conversions.</li>
<li><code>TryFrom&lt;OsString&gt; for Utf8PathBuf</code> and
<code>TryFrom&lt;&amp;OsStr&gt; for &amp;Utf8Path</code>
conversions.</li>
</ul>
<p>Thanks to <a
href="https://github.com/BenjaminBrienen">BenjaminBrienen</a> for your
first contribution!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e5edcb948d"><code>e5edcb9</code></a>
[camino] version 1.1.12</li>
<li><a
href="9c1eff07ef"><code>9c1eff0</code></a>
prepare release</li>
<li><a
href="bb1c1c9736"><code>bb1c1c9</code></a>
feature: Add support for converting from OsStr and OsString (<a
href="https://redirect.github.com/camino-rs/camino/issues/107">#107</a>)</li>
<li><a
href="281007b471"><code>281007b</code></a>
chore: Documentation fixes</li>
<li>See full diff in <a
href="https://github.com/camino-rs/camino/compare/camino-1.1.11...camino-1.1.12">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-27 17:52:21 +00:00
Simon Wülker
04dd74dddb
script: Support custom element states (#38564)
Also adds support for `:state`.

Testing: Covered by existing tests

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-08-27 17:25:16 +00:00
Simon Wülker
dcd25072d3
script: Load and rasterize favicons before passing them to the embedder (#38949)
Currently the embedding API only provides the embedder with the URL for
a favicon. This is not great, for multiple reasons:
* Loading the icon should happen according to the fetch spec which is
not easy for the embedder to recreate (consider CSP, timing information
etc)
* Rasterizing a svg favicon is not trivial

With this change, servo fetches and rasterizes the icon to a bitmap
which is then passed to the embedder.

Testing: I'm not sure how I can write tests for the embedding api. I've
tested the correctness manually using
https://github.com/servo/servo/pull/36680.
Prepares for https://github.com/servo/servo/pull/36680

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-08-27 14:28:42 +00:00
Jonathan Schwender
a5d890c13a
compositor: Preserve CompositorMsg deserialization errors (#38972)
Forward any deserialization errors to the receiver, instead of panicking
on the router thread. This change was previously part of #38782, which
got reverted, since generic channels don't support custom router
callbacks yet. Propagating the error is still something we want, and
landing this separately will reduce the diff of the PR that introduces
generic callbacks.

Testing: Should be covered by existing tests. Also manually tested
https://github.com/servo/servo/issues/38939

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-08-27 14:11:20 +00:00
atbrakhi
eaab71d335
devtools: Fix flaky source list test assertions (#38969)
In the sources list tests, we assert that the sources for each target
are given to us in the same order as we specified in the test case, but
this is only true for classic &lt;script> and &lt;script src>. ES module
scripts and async/defer scripts are loaded asynchronously, so we can’t
rely on the order being the same every time.

this patch changes the test assertions to use a frozen multiset for each
target’s sources, rather than a frozen list (tuple), so the sources can
appear in any order but must still appear the expected number of times.
we also change the test assertions to use a multiset
([Counter](https://docs.python.org/3/library/collections.html#counter-objects))
of frozen multisets, rather than a set of multisets, so now two targets
can have the same set of sources without breaking tests.

Testing: this patch improves existing tests, but does not change
coverage
Fixes: part of #38658

---------

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: delan azabani <dazabani@igalia.com>
2025-08-27 13:19:58 +00:00
Martin Robinson
de69040e47
canvas: Remove the raqote backend (#38962)
In general, `raqote` is essentially umaintained and has issues with
quality (for instance text rendering has lots of issues) and removing it
finally lets us remove our dependency on `font-kit`. Although,
`vello_cpu` performance is not yet equal to raqote, rendering quality is
a lot better. It's expected that `vello` and `vello_cpu` performance
will keep improving.

Testing: This is covered by existing WPT tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-27 12:19:27 +00:00
Rodion Borovyk
0089e652c5
indexeddb: Use UUIDs instead of sanitization of object store names (#38944)
Sanitization of object store names brought some problems because of
replacing special characters and making it impossible to have certain
object store names that are allowed by the spec. These changes make sure
deterministic UUIDs are used for file paths plus object store names are
inserted into SQLite without sanitization.

Testing: Covered by existing tests and new unit tests were added.
Fixes: #37569

---------

Signed-off-by: Rodion Borovyk <rodion.borovyk@gmail.com>
2025-08-27 11:41:19 +00:00
Josh Matthews
559b05c1b3
script: Extract DOMException creation from throwing an exception. (#38961)
This is preparation for #38740, which wants to use DOMExceptions without
immediately throwing them and aborting execution.

Testing: Existing WPT coverage will suffice for this refactor.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-08-27 11:12:01 +00:00
araya
ebaf78116a
net: Ignore pragma: no-cache if cache-control is understood (#38946)
This PR fixes a failed WPT:
https://wpt.fyi/results/fetch/http-cache/pragma-no-cache-with-cache-control.html?product=servo

[As RFC9111
mentions,](https://www.rfc-editor.org/rfc/rfc9111.html#section-5.4) the
Pragma header field is deprecated. And, in WPT, it expects the Pragma
header field is ignored if a cache-control header field is specified and
understood by UA.



Testing: running `./mach test-wpt
fetch/http-cache/pragma-no-cache-with-cache-control.html`

---------

Signed-off-by: araya <araya@araya.dev>
2025-08-27 10:11:45 +00:00
Jonathan Schwender
33e934421e
compositor: Hide IpcSender as implementation detail (#38963)
The `CrossProcessCompositorApi` already provides methods for most
messages.
Remove the `sender()` method, and hide the IpcSender as an
implementation detail. This is a preparation for abstracting over the
internal IpcSender.

Testing: No functional changes

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-27 09:42:01 +00:00
atbrakhi
5909eb7684
devtools: Use correct servoshell path on Windows (#38938)
When we landed #38614, the devtools tests consistently failed on
GitHub-hosted Windows builds, because we were hardcoding the target
directory. This patch fixes that by taking the `CARGO_TARGET_DIR` into
account.

- before: `[D:\a\servo\servo\]target/release/servo`
- after: `C:\a\servo\servo\target\release\servo.exe`

Testing (cherry picked onto #38614 so it runs in CI):
- GitHub-hosted, before:
<https://github.com/atbrakhi/servo/actions/runs/17231549981/job/48886505825>
- GitHub-hosted, after:
<https://github.com/atbrakhi/servo/actions/runs/17232856662/job/48890768590>
- self-hosted, after:
<https://github.com/servo/servo/actions/runs/17234485907/job/48896322465>

Fixes: part of #38658

---------

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: Delan Azabani <dazabani@igalia.com>
2025-08-27 09:14:21 +00:00
Jonathan Schwender
35f0dd352d
compositor: Port GenerateFontKeys result sender to generic channel (#38917)
Ports the channel returning the result of `GenerateFontKeys` to generic
channel

Testing: No functional changes - Covered by existing tests
Part of https://github.com/servo/servo/issues/38912

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-27 08:32:13 +00:00
atbrakhi
ad91c6e461
devtools: Fix test_source_breakable_lines_and_positions_with_functions (#38964)
In #38933 we removed `start_web_server` but
`test_source_breakable_lines_and_positions_with_functions` was not
updated because it was added later. In this patch we remove
`start_web_server` in that test as well.

Testing: fixes an existing test
Fixes: Part of #36325

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: delan azabani <dazabani@igalia.com>
2025-08-27 08:15:02 +00:00
Sam
3dc9184121
canvas: Use vello_cpu as default canvas backend (#38844)
We really want to remove font-kit from dep tree, so this is the first
step into removing raqote from servo. While vello_cpu is not perfect
replacement, I am confident that we will resolve all issues eventually:
https://github.com/servo/servo/issues/38345 (most important ones already
have PRs).

Reviewable per commit.

Testing: Existing WPT tests.
Try run: https://github.com/sagudev/servo/actions/runs/17138369290

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-08-27 07:22:20 +00:00
dependabot[bot]
e126f09b25
build(deps): bump bit_field from 0.10.2 to 0.10.3 (#38960)
Bumps [bit_field](https://github.com/phil-opp/rust-bit-field) from
0.10.2 to 0.10.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/phil-opp/rust-bit-field/blob/master/Changelog.md">bit_field's
changelog</a>.</em></p>
<blockquote>
<h1>0.10.3 – 2025-08-26</h1>
<ul>
<li><a
href="https://redirect.github.com/phil-opp/rust-bit-field/pull/30">add
#[inline] to to_regular_range</a></li>
<li><a
href="https://redirect.github.com/phil-opp/rust-bit-field/pull/34">allow
empty range on get/set bits</a></li>
<li><a
href="https://redirect.github.com/phil-opp/rust-bit-field/pull/29">Add
Security Policy</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d2d5f13f8f"><code>d2d5f13</code></a>
Release version 0.10.3</li>
<li><a
href="7faef58706"><code>7faef58</code></a>
Update cargo-release configuration to latest version</li>
<li><a
href="595b537eb2"><code>595b537</code></a>
Update changelog for <a
href="https://redirect.github.com/phil-opp/rust-bit-field/issues/29">#29</a>,
<a
href="https://redirect.github.com/phil-opp/rust-bit-field/issues/30">#30</a>,
<a
href="https://redirect.github.com/phil-opp/rust-bit-field/issues/34">#34</a></li>
<li><a
href="5cb64a5bcd"><code>5cb64a5</code></a>
Merge pull request <a
href="https://redirect.github.com/phil-opp/rust-bit-field/issues/34">#34</a>
from jaamesd/patch-1</li>
<li><a
href="8f5e697a25"><code>8f5e697</code></a>
allow empty range on get/set bits</li>
<li><a
href="16801571c5"><code>1680157</code></a>
Merge pull request <a
href="https://redirect.github.com/phil-opp/rust-bit-field/issues/30">#30</a>
from Freax13/enhancement/inline-to_regular_range</li>
<li><a
href="eb9f0143dd"><code>eb9f014</code></a>
add #[inline] to to_regular_range</li>
<li><a
href="a530c7047d"><code>a530c70</code></a>
Merge pull request <a
href="https://redirect.github.com/phil-opp/rust-bit-field/issues/29">#29</a>
from gabibguti/master</li>
<li><a
href="d8328494a2"><code>d832849</code></a>
Create SECURITY.md</li>
<li>See full diff in <a
href="https://github.com/phil-opp/rust-bit-field/compare/v0.10.2...v0.10.3">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-27 06:39:21 +00:00
dependabot[bot]
ac122bbf65
build(deps): bump zbus_macros from 5.9.0 to 5.10.0 (#38959)
Bumps [zbus_macros](https://github.com/dbus2/zbus) from 5.9.0 to 5.10.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dbus2/zbus/releases">zbus_macros's
releases</a>.</em></p>
<blockquote>
<h2>🔖 zbus_macros 3.14.0.</h2>
<p> Allow unicast signals through the <code>dbus_interface</code>.
Fixes <a
href="https://redirect.github.com/dbus2/zbus/issues/374">#374</a>.
⬆️ Bump our MSRV. More and more dependencies are requiring Rust 1.64.0,
so let's bump our MSRV
to match.
🔥 Drop manual <code>Default</code> impl of
<code>PropertyEmitsChangedSignal</code>. After Rust 1.64, we can use the
derive for this.
️ Revert locking of <code>winnow</code> version. We've bumped our MSRV
so there is no need for this
workaround anymore.
🎨 Code comments should also adhere to 100 character limit.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0e33c8e4d1"><code>0e33c8e</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1476">#1476</a> from
zeenix/releases</li>
<li><a
href="f1aa56ac7e"><code>f1aa56a</code></a>
🔖 zb: Release 5.10.0</li>
<li><a
href="b6f6d81d7e"><code>b6f6d81</code></a>
🔖 zv: Release 5.7.0</li>
<li><a
href="70edef0415"><code>70edef0</code></a>
🔖 zu: Release 3.2.1</li>
<li><a
href="62122f5561"><code>62122f5</code></a>
⬆️ micro: Update quick-xml to v0.38.3 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1475">#1475</a>)</li>
<li><a
href="568375fe5d"><code>568375f</code></a>
⬆️ micro: Update url to v2.5.7 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1474">#1474</a>)</li>
<li><a
href="6550f22a90"><code>6550f22</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1472">#1472</a> from
swick/wip/fix-creds-group-lookup</li>
<li><a
href="c5cd9ccfbb"><code>c5cd9cc</code></a>
🐛 zb: Fall back to no groups rather than erroring out for peer
creds</li>
<li><a
href="a24251f7ba"><code>a24251f</code></a>
⬆️ micro: Update winnow to v0.7.13 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1473">#1473</a>)</li>
<li><a
href="54ec4ba569"><code>54ec4ba</code></a>
⬆️ micro: Update url to v2.5.6 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1471">#1471</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/dbus2/zbus/compare/zbus-5.9.0...zbus-5.10.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-27 06:25:47 +00:00
Jonathan Schwender
5a9034cd5a
dependabot: Specify time and reduce PR limit (#38947)
The merge queue today was greatly affected by many dependabot PRs in the
European morning, which caused a long merge queue for the rest of the
day.
Let's attempt to schedule dependabot updates during less busy times, and
also reduce the limit of open PRs.
[Dependabot
documentation](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#schedule-)

Testing: No testing.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-27 06:22:05 +00:00
Tim van der Lippe
3708d493b9
script: Implement trusted types for Range.createContextualFragment (#38874)
Part of #36258

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-08-27 06:18:04 +00:00
Tim van der Lippe
d94929dbed
script: Implement trusted types for DOMParser.parseFromString (#38872)
Part of #36258

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-08-27 06:10:16 +00:00
dependabot[bot]
4e85353472
build(deps): bump clap from 4.5.45 to 4.5.46 (#38958)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.45 to 4.5.46.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.5.46</h2>
<h2>[4.5.46] - 2025-08-26</h2>
<h3>Features</h3>
<ul>
<li>Expose <code>StyledStr::push_str</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.5.46] - 2025-08-26</h2>
<h3>Features</h3>
<ul>
<li>Expose <code>StyledStr::push_str</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="acf9abbc1b"><code>acf9abb</code></a>
chore: Release</li>
<li><a
href="9186a1872c"><code>9186a18</code></a>
docs: Update changelog</li>
<li><a
href="233c316d11"><code>233c316</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5926">#5926</a>
from sorairolake/feature/value-parser-factory-for-sa...</li>
<li><a
href="13931a25e7"><code>13931a2</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5923">#5923</a>
from Reverier-Xu/master</li>
<li><a
href="536e29fb85"><code>536e29f</code></a>
feat(builder): Add <code>ValueParserFactory</code> for
<code>Saturating\&lt;T&gt;</code></li>
<li><a
href="45ed71c0f2"><code>45ed71c</code></a>
chore: Avoid using gen for rust 2024 preserved keyword</li>
<li><a
href="5029bb3d11"><code>5029bb3</code></a>
chore: Avoid using <code>gen</code> for rust 2024 preserved keyword</li>
<li><a
href="8a1d59bbb0"><code>8a1d59b</code></a>
chore(deps): Update Rust Stable to v1.85 (<a
href="https://redirect.github.com/clap-rs/clap/issues/5921">#5921</a>)</li>
<li><a
href="9caee534e0"><code>9caee53</code></a>
docs(changelog): Clarify 5.0.0</li>
<li><a
href="cb2352f84a"><code>cb2352f</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5918">#5918</a>
from epage/test</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.45...clap_complete-v4.5.46">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-27 04:35:37 +00:00
dependabot[bot]
c2f664d16e
build(deps): bump data-url from 0.3.1 to 0.3.2 (#38862)
Bumps [data-url](https://github.com/servo/rust-url) from 0.3.1 to 0.3.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/servo/rust-url/commits">compare view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-27 03:22:13 +00:00
Jo Steven Novaryo
10ca3b6fde
layout: Parameterize content box query (#38935)
Parameterize and rename both `Layout::content_box_query` and
`Layout::content_boxes_query` to support the query of rendered padding
area and content area that accounts for transform and scroll. Both of
these query have been misleading for a time since they are using border
box, instead of content box of a Node.

This PR adds a new type `layout_api::BoxAreaType` to be passed from
`ScriptThread` to `LayoutThread` to query the respective area. It is
then used for the query within `IntersectionObserver` to pass several
WPTs.

Testing: Existing WPT Coverage.

---------

Signed-off-by: Jo Steven Novaryo <jo.steven.novaryo@huawei.com>
2025-08-27 02:27:53 +00:00
Jonathan Schwender
32aba08be7
Port StorageThreadMsg to GenericChannel (#38932)
This change includes the following additions to GenericChannel:
- Add a GenericSend trait which is meant to replace the `IpcSend` trait
over time, as channels are migrated. For the time being this means, that
we often need to use `GenericSend::send()` to disambiguate from the
`IpcSend::send` function, until all usages of `IpcSend` have been
replaced.
- Add an OpaqueSender impl for GenericSender
- Add a profiled version of GenericChannel. The profiling is 1:1 the
same as for the existing profiled IPC channel, namely that only the
blocked time during `recv` is measured.


Testing: No functional changes, covered by existing tests
Part of #38912

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-27 01:58:43 +00:00
Simon Wülker
c4dcd17214
Update image to 0.25 (#38950)
Testing: These changes should be covered by existing web platform tests
and `image`'s own test suite.

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-08-27 00:51:14 +00:00
dependabot[bot]
ffe690c2dd
build(deps): bump zvariant from 5.6.0 to 5.7.0 (#38954)
Bumps [zvariant](https://github.com/dbus2/zbus) from 5.6.0 to 5.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dbus2/zbus/releases">zvariant's
releases</a>.</em></p>
<blockquote>
<h2>🔖 zvariant 5.7.0</h2>
<ul>
<li>🐛 Reduce allocations in OwnedValue::try_from.</li>
<li> Add Value::try_into_owned. Doing as few allocations as
possible.</li>
<li>📝 Document when ObjectPath::into_owned clones.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0e33c8e4d1"><code>0e33c8e</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1476">#1476</a> from
zeenix/releases</li>
<li><a
href="f1aa56ac7e"><code>f1aa56a</code></a>
🔖 zb: Release 5.10.0</li>
<li><a
href="b6f6d81d7e"><code>b6f6d81</code></a>
🔖 zv: Release 5.7.0</li>
<li><a
href="70edef0415"><code>70edef0</code></a>
🔖 zu: Release 3.2.1</li>
<li><a
href="62122f5561"><code>62122f5</code></a>
⬆️ micro: Update quick-xml to v0.38.3 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1475">#1475</a>)</li>
<li><a
href="568375fe5d"><code>568375f</code></a>
⬆️ micro: Update url to v2.5.7 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1474">#1474</a>)</li>
<li><a
href="6550f22a90"><code>6550f22</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1472">#1472</a> from
swick/wip/fix-creds-group-lookup</li>
<li><a
href="c5cd9ccfbb"><code>c5cd9cc</code></a>
🐛 zb: Fall back to no groups rather than erroring out for peer
creds</li>
<li><a
href="a24251f7ba"><code>a24251f</code></a>
⬆️ micro: Update winnow to v0.7.13 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1473">#1473</a>)</li>
<li><a
href="54ec4ba569"><code>54ec4ba</code></a>
⬆️ micro: Update url to v2.5.6 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1471">#1471</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/dbus2/zbus/compare/zvariant-5.6.0...zvariant-5.7.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-27 00:44:54 +00:00
Simon Wülker
de6feb469a
script: Move operations in window_named_properties::get_own_property_descriptor & webdriver_handlers::clone_an_object into unsafe blocks (#38951)
Testing: Covered by existing tests
Part of https://github.com/servo/servo/issues/35955

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-08-26 21:48:25 +00:00
Martin Robinson
87fe202ded
script: Integrate animated image updates into ScriptThread event loop (#38941)
Instead of manually triggering `ScriptThread::update_the_rendering`,
have animated images trigger rendering updates via the `ScriptThread`
event loop. This should result in fewer calls to
`ScriptThread::update_the_rendering`.

Testing: This should not change behavior and is thus covered by existing
tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-08-26 17:24:12 +00:00
Martin Robinson
e7a963cca0
script: Generate only a single frame during "update the rendering" (#38858)
Instead of generating a frame for every display list, which might be one
rendered frame per `<iframe>`, generate only a single frame per call to
"update the rendering." This should make rendering more efficient when
there are `<iframe>`s present and also open up optimizations for
non-display list frames.

Testing: This could potentially reduce flashing of content during
rendering
updates, but that is very difficult to test.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-26 16:09:10 +00:00
Martin Robinson
4f68508624
script: Move FontContext from Window to GlobalScope (#38918)
This change makes it so that every `GlobalScope` can contain an optional
`FontContext`. This will be necessary for every `GlobalScope` that
accesses canvas. Currently, `FontContext` is created and accessed via
the canvas worker thread, but this means that web fonts are not
available to canvas. This change will eventually make it possible for
canvas to share web fonts with the `Document` that owns them.

Testing: This should not change behavior and is thus covered by existing
tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-26 15:56:50 +00:00
Gregory Terzian
909ceee830
constellation: send EmbedderMsg::ShutdownComplete as last (#38923)
To help ensure our internal threads have shut-down before we deinit
Servo, the last thing the constellation should do, is sending the
`EmbedderMsg::ShutdownComplete`.

Testing: Manual testing by starting Servo and then closing the window. 
Fixes: Part of https://github.com/servo/servo/issues/30849

---------

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
Signed-off-by: Gregory Terzian <2792687+gterzian@users.noreply.github.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-08-26 15:22:11 +00:00
Mukilan Thiyagarajan
c75995ec87
Revert "GenericChannel: Migrate compositor channels to GenericChannel (#38782)" (#38940)
This reverts commit fb1c0a4c48.

Previously in `create_compositor_channel`, the [routing callback][1] was
setup so that a message received on the Compositor's IPC receiver will
be
forwarded to the local receiver using the `CompositorProxy` which also
takes care of waking up the event loop. In #38782, this was changed so
that the routing callbacks simply forwards the message directly without
going via the `CompositorProxy`. This breaks behaviours that rely on the
event loop being woken up on message sending, e.g. updating image frames
for animated gifs.

Since the GenericChannel API doesn't allow custom routing callbacks,
revert this change until we figure out a better solution.

[1]:
d2ccce6052/components/servo/lib.rs (L1114)

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-08-26 14:16:58 +00:00
Euclid Ye
26fb603d15
script: Fix wrong procedure when deserializing JSValue from mozjs HandleValue (#38943)
Spec: https://w3c.github.io/webdriver/#dfn-internal-json-clone

This PR 
1. moves [clone an
object](https://w3c.github.io/webdriver/#dfn-clone-an-object) to `fn
clone_an_object` to make things clearer.
2. Fixes the bug where we wrongly put `element` and `WindowProxy` as
part of [clone an
object](https://w3c.github.io/webdriver/#dfn-clone-an-object), which
leads to false-positive `JSError` before.
3. Update spec links to correct ones.

Testing: New passing in `{execute_async_script,execute_script}/node.py`

---------

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-26 13:48:48 +00:00
Gregory Terzian
08b9eb818c
layout: Shut down style thread-pool when exiting a content process / shutting down the Constellation (#38924)
To ensure a clean-shutdown of Servo, we need to shutdown our internal
threading before deinit. This shuts down the style thread pool either
using the constellation(in single-process mode), or when a content
process exits.

Testing: Manual testing by opening a window, opening and closing
multiple tabs, and closing the window, with a sleep added before deinit
and a sample taken to ensure the loose threads previously noticed are
gone.
Fixes: part of https://github.com/servo/servo/issues/30849

---------

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-08-26 13:10:03 +00:00
criskell
7339e2b421
Add scroll tree measurement in IOCompositor (#38922)
Adds a new memory report that aggregates the size of all scroll trees
from within all pipelines for each web view.

Testing: Acessing `about:memory`
Fixes: #38726

---------

Signed-off-by: criskell <96352451+criskell@users.noreply.github.com>
2025-08-26 12:47:04 +00:00
dependabot[bot]
55be274777
build(deps): bump async-compression from 0.4.27 to 0.4.28 (#38930)
Bumps async-compression from 0.4.27 to 0.4.28.


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-26 12:39:52 +00:00
shuppy
7aad72838a
devtools: Reland test improvements from #38614 minus CI changes (#38933)
#38614 was reverted due to CI flakiness, but it also included several
improvements to the devtools tests. this patch relands those
improvements, described below.

we make three changes that speed up the devtools tests from 73 → 65 → 56
→ 51 seconds:

- we replace the hardcoded sleep(1) after starting servoshell with a
loop that waits until the devtools port is open (this also fixes
intermittent failures when servoshell starts too slowly, especially on
macOS)
- we start the internal web servers once, and reuse them across all
tests
- we run servoshell in headless mode (this is also required because most
CI runners have no GUI)

and we fix two bugs that cause very noisy but not very interesting error
messages:

- in the test code, we use a [context
manager](https://docs.python.org/3/reference/datamodel.html#context-managers)
to ensure the devtools client is disconnected unconditionally, even if
test methods or assert helper methods raise exceptions (this was causing
errors on all platforms)
- in the devtools server, we treat “connection reset” errors when
reading from the client like a normal EOF, rather than as a failure
(this was causing errors on Windows)

on self-hosted linux builds, there are still spurious error messages
like the following, but we can fix them later:

```
error: XDG_RUNTIME_DIR not set in the environment.
libEGL warning: egl: failed to create dri2 screen
```

Testing: this patch improves the devtools tests, but does not change
their coverage
Fixes: part of #36325

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
2025-08-26 10:06:51 +00:00
dependabot[bot]
476c501de7
build(deps): bump regex from 1.11.1 to 1.11.2 (#38937)
Bumps [regex](https://github.com/rust-lang/regex) from 1.11.1 to 1.11.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's
changelog</a>.</em></p>
<blockquote>
<h1>1.11.2 (2025-08-24)</h1>
<p>This is a new patch release of <code>regex</code> with some minor
fixes. A larger number
of typo or lint fix patches were merged. Also, we now finally recommend
using
<code>std::sync::LazyLock</code>.</p>
<p>Improvements:</p>
<ul>
<li>[BUG <a
href="https://redirect.github.com/rust-lang/regex/issues/1217">#1217</a>](<a
href="https://redirect.github.com/rust-lang/regex/issues/1217">rust-lang/regex#1217</a>):
Switch recommendation from <code>once_cell</code> to
<code>std::sync::LazyLock</code>.</li>
<li>[BUG <a
href="https://redirect.github.com/rust-lang/regex/issues/1225">#1225</a>](<a
href="https://redirect.github.com/rust-lang/regex/issues/1225">rust-lang/regex#1225</a>):
Add <code>DFA::set_prefilter</code> to <code>regex-automata</code>.</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li>[BUG <a
href="https://redirect.github.com/rust-lang/regex/issues/1165">#1165</a>](<a
href="https://redirect.github.com/rust-lang/regex/pull/1150">rust-lang/regex#1150</a>):
Remove <code>std</code> dependency from
<code>perf-literal-multisubstring</code> crate feature.</li>
<li>[BUG <a
href="https://redirect.github.com/rust-lang/regex/issues/1165">#1165</a>](<a
href="https://redirect.github.com/rust-lang/regex/pull/1165">rust-lang/regex#1165</a>):
Clarify the meaning of <code>(?R)$</code> in the documentation.</li>
<li>[BUG <a
href="https://redirect.github.com/rust-lang/regex/issues/1281">#1281</a>](<a
href="https://redirect.github.com/rust-lang/regex/pull/1281">rust-lang/regex#1281</a>):
Remove <code>fuzz/</code> and <code>record/</code> directories from
published crate on crates.io.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d0aa586a4c"><code>d0aa586</code></a>
1.11.2</li>
<li><a
href="a3bf4ad84f"><code>a3bf4ad</code></a>
regex-cli-0.2.2</li>
<li><a
href="25a15e272b"><code>25a15e2</code></a>
rure-0.2.3</li>
<li><a
href="45c3da7681"><code>45c3da7</code></a>
regex-lite-0.1.7</li>
<li><a
href="873ed800c5"><code>873ed80</code></a>
regex-automata-0.4.10</li>
<li><a
href="ea834f8e1f"><code>ea834f8</code></a>
regex-syntax-0.8.6</li>
<li><a
href="86836fbe84"><code>86836fb</code></a>
changelog: 1.11.2</li>
<li><a
href="63a26c1a7f"><code>63a26c1</code></a>
cargo: ensure that 'perf' doesn't enable 'std' implicitly (<a
href="https://redirect.github.com/rust-lang/regex/issues/1150">#1150</a>)</li>
<li><a
href="dd96592be2"><code>dd96592</code></a>
doc: clarify CRLF mode effect</li>
<li><a
href="931dae0192"><code>931dae0</code></a>
cargo: point <code>repository</code> metadata to clonable URLs</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-lang/regex/compare/1.11.1...1.11.2">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-26 08:44:38 +00:00
dependabot[bot]
15beea5911
build(deps): bump indexmap from 2.10.0 to 2.11.0 (#38934)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.10.0 to
2.11.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.11.0 (2025-08-22)</h2>
<ul>
<li>Added <code>insert_sorted_by</code> and
<code>insert_sorted_by_key</code> methods to <code>IndexMap</code>,
<code>IndexSet</code>, and <code>VacantEntry</code>, like customizable
versions of <code>insert_sorted</code>.</li>
<li>Added <code>is_sorted</code>, <code>is_sorted_by</code>, and
<code>is_sorted_by_key</code> methods to
<code>IndexMap</code> and <code>IndexSet</code>, as well as their
<code>Slice</code> counterparts.</li>
<li>Added <code>sort_by_key</code> and <code>sort_unstable_by_key</code>
methods to <code>IndexMap</code> and
<code>IndexSet</code>, as well as parallel counterparts.</li>
<li>Added <code>replace_index</code> methods to <code>IndexMap</code>,
<code>IndexSet</code>, and <code>VacantEntry</code>
to replace the key (or set value) at a given index.</li>
<li>Added optional <code>sval</code> serialization support.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="91d53adb32"><code>91d53ad</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/409">#409</a>
from cuviper/release-2.11.0</li>
<li><a
href="cf566a7060"><code>cf566a7</code></a>
Release 2.11.0</li>
<li><a
href="2e173dcf75"><code>2e173dc</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/408">#408</a>
from cuviper/is_sorted</li>
<li><a
href="e4bb7d03b9"><code>e4bb7d0</code></a>
Add <code>is_sorted</code>{,<code>_by</code>,<code>_by_key</code>}</li>
<li><a
href="0f40489b1a"><code>0f40489</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/407">#407</a>
from cuviper/sort_by_key</li>
<li><a
href="ab9e461b89"><code>ab9e461</code></a>
Add <code>sort_by_key</code> and <code>sort_unstable_by_key</code></li>
<li><a
href="a468ca41bb"><code>a468ca4</code></a>
Normalize to ASCII apostrophes</li>
<li><a
href="7939ae9c21"><code>7939ae9</code></a>
Merge pull request <a
href="https://redirect.github.com/indexmap-rs/indexmap/issues/406">#406</a>
from cuviper/more-insert_sorted_by</li>
<li><a
href="354345b5a2"><code>354345b</code></a>
Take <em>two</em> entries in <code>insert_sorted_by</code></li>
<li><a
href="314ec7dbda"><code>314ec7d</code></a>
Add quick checks for <code>insert_sorted_by</code></li>
<li>Additional commits viewable in <a
href="https://github.com/indexmap-rs/indexmap/compare/2.10.0...2.11.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.10.0&new-version=2.11.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-26 08:17:42 +00:00
dependabot[bot]
442eec2d5f
build(deps): bump zvariant_derive from 5.6.0 to 5.7.0 (#38931)
Bumps [zvariant_derive](https://github.com/dbus2/zbus) from 5.6.0 to
5.7.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="32f3a317f3"><code>32f3a31</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1374">#1374</a> from
zeenix/zbus-release</li>
<li><a
href="731d658792"><code>731d658</code></a>
🔖 zb,zm: Release 5.7.0</li>
<li><a
href="2a4d53d2aa"><code>2a4d53d</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1373">#1373</a> from
dbus2/zv-release</li>
<li><a
href="8cfdf90e5f"><code>8cfdf90</code></a>
🔖 zv,zd: Release 5.5.2</li>
<li><a
href="b08ec81b9a"><code>b08ec81</code></a>
⬆️ all: Bump micro version in Cargo.lock</li>
<li><a
href="6cced13d58"><code>6cced13</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1372">#1372</a> from
zeenix/split-zv-tests</li>
<li><a
href="48d397c003"><code>48d397c</code></a>
♻️ zv: Split out zvariant tests into separate files</li>
<li><a
href="222248321c"><code>2222483</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1369">#1369</a> from
zeenix/undeprecate-dict-derives</li>
<li><a
href="f4e9586cd3"><code>f4e9586</code></a>
📝 book: Remove 2 redundant comments</li>
<li><a
href="c187e2404e"><code>c187e24</code></a>
📝 book: Update FAQ section on dict (de)serialization</li>
<li>Additional commits viewable in <a
href="https://github.com/dbus2/zbus/compare/zbus-5.6.0...zbus-5.7.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-26 08:03:47 +00:00
Rodion Borovyk
3f6e2679dc
indexeddb: Initialize DB version to zero in unit tests (#38911)
Continuation of https://github.com/servo/servo/pull/38819

Testing: Fixes indexeddb unit tests

---------

Signed-off-by: Rodion Borovyk <rodion.borovyk@gmail.com>
2025-08-26 08:02:40 +00:00
dependabot[bot]
814fa8ff2b
build(deps): bump libdbus-sys from 0.2.5 to 0.2.6 (#38927)
Bumps [libdbus-sys](https://github.com/diwic/dbus-rs) from 0.2.5 to
0.2.6.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/diwic/dbus-rs/commits">compare view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-26 07:55:54 +00:00