Commit graph

52055 commits

Author SHA1 Message Date
dependabot[bot]
be2325a418
build(deps): bump bumpalo from 3.17.0 to 3.18.1 (#37297)
Bumps [bumpalo](https://github.com/fitzgen/bumpalo) from 3.17.0 to
3.18.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md">bumpalo's
changelog</a>.</em></p>
<blockquote>
<h2>3.18.1</h2>
<p>Released 2025-06-05.</p>
<h3>Removed</h3>
<ul>
<li>Removed the <code>allocator-api2</code> version bump from 3.18.0, as
it was not actually
semver compatible.</li>
</ul>
<hr />
<h2>3.18.0 (yanked)</h2>
<p>Released 2025-06-05.</p>
<h3>Added</h3>
<ul>
<li>Added support for enforcing a minimum alignment on all allocations
inside a
<code>Bump</code> arena, which can provide speed ups when allocating
objects whose
alignment is less than or equal to that minimum.</li>
<li>Added <code>serde</code> serialization support for
<code>bumpalo::collections::String</code>.</li>
<li>Added some missing fallible slice allocation function variants.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Replaced <code>extend_from_slice</code> implementation with a
formally-verified version
that is also faster and more-optimizable for LLVM.</li>
<li>Updated <code>allocator-api2</code> support to version
<code>0.3.*</code>.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fixed a bug where the <code>allocated_bytes</code> metrics helper
was accidentally
including the size of <code>bumpalo</code>'s footer, rather than just
reporting the
user-allocated bytes.</li>
</ul>
<hr />
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a3ac3d680e"><code>a3ac3d6</code></a>
Bump to version 3.18.1 (<a
href="https://redirect.github.com/fitzgen/bumpalo/issues/278">#278</a>)</li>
<li><a
href="789e34b1ee"><code>789e34b</code></a>
Bump to version 3.18.0 (<a
href="https://redirect.github.com/fitzgen/bumpalo/issues/276">#276</a>)</li>
<li><a
href="b425081688"><code>b425081</code></a>
fix: subtract footer size from allocated_bytes on reset (<a
href="https://redirect.github.com/fitzgen/bumpalo/issues/275">#275</a>)</li>
<li><a
href="dd8a0e1aac"><code>dd8a0e1</code></a>
Replace extend_from_slice with a verified, optimized implementation (<a
href="https://redirect.github.com/fitzgen/bumpalo/issues/272">#272</a>)</li>
<li><a
href="2b638f1dc9"><code>2b638f1</code></a>
Add a CI job to check that code is formatted (<a
href="https://redirect.github.com/fitzgen/bumpalo/issues/273">#273</a>)</li>
<li><a
href="86aaa107b8"><code>86aaa10</code></a>
Update <code>allocator-api2</code> to v0.3 (<a
href="https://redirect.github.com/fitzgen/bumpalo/issues/271">#271</a>)</li>
<li><a
href="e5c128d3b8"><code>e5c128d</code></a>
Add support for enforcing minimum alignment in <code>Bump</code> (<a
href="https://redirect.github.com/fitzgen/bumpalo/issues/268">#268</a>)</li>
<li><a
href="cc98667869"><code>cc98667</code></a>
add serde serialization for String (<a
href="https://redirect.github.com/fitzgen/bumpalo/issues/266">#266</a>)</li>
<li><a
href="e39cd38bfa"><code>e39cd38</code></a>
use primitive type u64 in README (<a
href="https://redirect.github.com/fitzgen/bumpalo/issues/264">#264</a>)</li>
<li><a
href="f1f33f82dd"><code>f1f33f8</code></a>
Add fallible slice allocation functions (<a
href="https://redirect.github.com/fitzgen/bumpalo/issues/262">#262</a>)</li>
<li>See full diff in <a
href="https://github.com/fitzgen/bumpalo/compare/3.17.0...v3.18.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-06 17:23:32 +00:00
Oriol Brufau
8540b0f6e3
layout: Force outside ::marker to establish a BFC (#37252)
Even though we were continuing the parent BFC, we weren't updating the
SequentialLayoutState to have the correct containing block info. That
caused problem in the presence of floats.

This patch establishes an independent BFC, which avoids the problem.
This seems reasonable since outside markers are out-of-flow-ish, and it
matches Firefox. Blink implements them as inline-blocks, so they should
also establish a BFC.

Testing: Adding new tests. Some still fail because of a different issue.
Also, adding an expectation for several existing tests that were missing
it.
Fixes: #37222

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-06-06 16:01:27 +00:00
webbeef
a1f43ab06d
Revert "Implement Input UA Shadow DOM (#37065)" (#37296)
This reverts commit 5580704438.

Let's re-land that fix when a working solution is found. Keeping that
regression makes it hard to evaluate other potential improvements.

Signed-off-by: webbeef <me@webbeef.org>
2025-06-06 15:23:08 +00:00
Shubham Gupta
aff2a85372
Add support for parsing and applying viewport <meta> (#35901)
This patch comprises following steps:
1. Parses the `viewport` Attribute from `<meta>`.
2. Creates a `ViewportDescription` struct.
3. Populate values into Viewport struct.
4. Pass & Stash Viewport Description to Webview.
5. Process parsed values of `viewport <meta>`

Testing: Tested locally.
Fixes: #36159

---------

Signed-off-by: Shubham Gupta <shubham13297@gmail.com>
Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>
Co-authored-by: Xiaocheng Hu <xiaochengh.work@gmail.com>
2025-06-06 15:13:51 +00:00
delan azabani
c7a215faba
Fix cargo build -p libservo on macOS 13 by running Python via uv (#37290)
The correct way to run Python when building Servo is `uv run python`,
unless we are running as a descendant of `uv run python`. In that case,
we can use either `uv run python` or `python` (uv does not provide a
`python3` on Windows \*).

\* for the astute reader, yes, this causes problems for mozjs, which
only tries `python3` unless PYTHON3=python :)))

Testing: tested manually on macOS 13 (see below), and will be tested in
CI
Fixes: #37289 


![Screenshot_servo-macos13_2025-06-06_11:35:52](https://github.com/user-attachments/assets/01d4ea38-d405-452f-aeb9-75aada13c907)

Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-06-06 14:54:00 +00:00
Ngo Iok Ui (Wu Yu Wei)
ba33fd1318
HTMLScriptElement: add ScriptType::ImportMap (#37291)
HTMLScriptElement: add `ScriptType::ImportMap`

Part of #37262
This covers most steps that are related to import map.

Testing: Existing WPT on HTMLScriptElement should remain the same.

---------

Signed-off-by: Yu Wei Wu <yuweiwu@YunoMacBook-Air.local>
Co-authored-by: Yu Wei Wu <yuweiwu@YunoMacBook-Air.local>
2025-06-06 14:38:30 +00:00
Simon Wülker
32cffbc985
Fix timing of change events for <select> elements (#37293)
Fixes two silly bugs in the implementation of `<select>` elements.
* We did not fire `input` events
* We fired `change` events *before* updating the selected value

Both of these are only relevant when the embedder selects a value, so
due to our lack of webdriver support we can't test them.

With these changes it is possible to switch the language on
https://toolbox.googleapps.com/apps/main/.

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-06-06 14:01:12 +00:00
Kenzie Raditya Tirtarahardja
097bd9d87f
Fix mistakes in webdriver element send keys (#37286)
Fix mistakes from https://github.com/servo/servo/pull/37224. We should
return in the middle of send keys if the element is either file input or
non typeable form control.

Fixes:
https://github.com/servo/servo/pull/37224#pullrequestreview-2903871157

Signed-off-by: PotatoCP <kenzieradityatirtarahardja18@gmail.com>
2025-06-06 12:39:15 +00:00
dependabot[bot]
d246e80844
build(deps): bump anstyle-wincon from 3.0.8 to 3.0.9 (#37265)
Bumps [anstyle-wincon](https://github.com/rust-cli/anstyle) from 3.0.8
to 3.0.9.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="886539c953"><code>886539c</code></a>
chore: Release</li>
<li><a
href="161bf93c92"><code>161bf93</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/255">#255</a>
from Muscraft/anstyle-svg-urls</li>
<li><a
href="70dd95e053"><code>70dd95e</code></a>
feat(anstyle-svg): Add support for rendering Hyperlinks</li>
<li><a
href="96e3f75643"><code>96e3f75</code></a>
test(anstyle-svg): Add tests for Hyperlinks</li>
<li><a
href="abdd703a5c"><code>abdd703</code></a>
refactor(anstyle-svg): Use a concrete retrurn type from adapter</li>
<li><a
href="8d5053079d"><code>8d50530</code></a>
refactor(anstyle-svg): Use a better name for internal adapter</li>
<li><a
href="327c261668"><code>327c261</code></a>
refactor: Use a custom adapter for anstyle-svg</li>
<li><a
href="f1d6c141e2"><code>f1d6c14</code></a>
refactor(anstream): Use a less general name for State</li>
<li><a
href="98ef02efe0"><code>98ef02e</code></a>
test(anstream): Use anstyle for wincon adapter tests</li>
<li><a
href="182053aaa8"><code>182053a</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/254">#254</a>
from epage/template</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/anstyle/compare/anstyle-wincon-v3.0.8...anstyle-wincon-v3.0.9">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-06 09:00:53 +00:00
dependabot[bot]
bad2b86eeb
build(deps): bump hyper-util from 0.1.13 to 0.1.14 (#37266)
Bumps [hyper-util](https://github.com/hyperium/hyper-util) from 0.1.13
to 0.1.14.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hyperium/hyper-util/blob/master/CHANGELOG.md">hyper-util's
changelog</a>.</em></p>
<blockquote>
<h1>0.1.14 (2025-06-04)</h1>
<ul>
<li>Fix <code>HttpConnector</code> to defer address family order to
resolver sort order.</li>
<li>Fix <code>proxy::Matcher</code> to find HTTPS system proxies on
Windows.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="71360e4055"><code>71360e4</code></a>
v0.1.14</li>
<li><a
href="ce9248d145"><code>ce9248d</code></a>
fix(proxy): set https system proxy on windows (<a
href="https://redirect.github.com/hyperium/hyper-util/issues/201">#201</a>)</li>
<li><a
href="7400a2066f"><code>7400a20</code></a>
fix(client): prefer resolver order always (<a
href="https://redirect.github.com/hyperium/hyper-util/issues/200">#200</a>)</li>
<li><a
href="22867bd8fe"><code>22867bd</code></a>
style(client): Fix some clippy lints (<a
href="https://redirect.github.com/hyperium/hyper-util/issues/199">#199</a>)</li>
<li><a
href="2ff0ba6062"><code>2ff0ba6</code></a>
deps: upgrade windows-registry to 0.5 (<a
href="https://redirect.github.com/hyperium/hyper-util/issues/198">#198</a>)</li>
<li>See full diff in <a
href="https://github.com/hyperium/hyper-util/compare/v0.1.13...v0.1.14">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper-util&package-manager=cargo&previous-version=0.1.13&new-version=0.1.14)](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-06-06 09:00:03 +00:00
dependabot[bot]
ae7412c9a5
build(deps): bump anstyle-query from 1.1.2 to 1.1.3 (#37267)
Bumps [anstyle-query](https://github.com/rust-cli/anstyle) from 1.1.2 to
1.1.3.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="886539c953"><code>886539c</code></a>
chore: Release</li>
<li><a
href="161bf93c92"><code>161bf93</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/255">#255</a>
from Muscraft/anstyle-svg-urls</li>
<li><a
href="70dd95e053"><code>70dd95e</code></a>
feat(anstyle-svg): Add support for rendering Hyperlinks</li>
<li><a
href="96e3f75643"><code>96e3f75</code></a>
test(anstyle-svg): Add tests for Hyperlinks</li>
<li><a
href="abdd703a5c"><code>abdd703</code></a>
refactor(anstyle-svg): Use a concrete retrurn type from adapter</li>
<li><a
href="8d5053079d"><code>8d50530</code></a>
refactor(anstyle-svg): Use a better name for internal adapter</li>
<li><a
href="327c261668"><code>327c261</code></a>
refactor: Use a custom adapter for anstyle-svg</li>
<li><a
href="f1d6c141e2"><code>f1d6c14</code></a>
refactor(anstream): Use a less general name for State</li>
<li><a
href="98ef02efe0"><code>98ef02e</code></a>
test(anstream): Use anstyle for wincon adapter tests</li>
<li><a
href="182053aaa8"><code>182053a</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/254">#254</a>
from epage/template</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/anstyle/compare/anstyle-query-v1.1.2...anstyle-query-v1.1.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anstyle-query&package-manager=cargo&previous-version=1.1.2&new-version=1.1.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-06-06 08:59:54 +00:00
dependabot[bot]
16cc227339
build(deps): bump anstream from 0.6.18 to 0.6.19 (#37270)
Bumps [anstream](https://github.com/rust-cli/anstyle) from 0.6.18 to
0.6.19.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="886539c953"><code>886539c</code></a>
chore: Release</li>
<li><a
href="161bf93c92"><code>161bf93</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/255">#255</a>
from Muscraft/anstyle-svg-urls</li>
<li><a
href="70dd95e053"><code>70dd95e</code></a>
feat(anstyle-svg): Add support for rendering Hyperlinks</li>
<li><a
href="96e3f75643"><code>96e3f75</code></a>
test(anstyle-svg): Add tests for Hyperlinks</li>
<li><a
href="abdd703a5c"><code>abdd703</code></a>
refactor(anstyle-svg): Use a concrete retrurn type from adapter</li>
<li><a
href="8d5053079d"><code>8d50530</code></a>
refactor(anstyle-svg): Use a better name for internal adapter</li>
<li><a
href="327c261668"><code>327c261</code></a>
refactor: Use a custom adapter for anstyle-svg</li>
<li><a
href="f1d6c141e2"><code>f1d6c14</code></a>
refactor(anstream): Use a less general name for State</li>
<li><a
href="98ef02efe0"><code>98ef02e</code></a>
test(anstream): Use anstyle for wincon adapter tests</li>
<li><a
href="182053aaa8"><code>182053a</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/254">#254</a>
from epage/template</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/anstyle/compare/anstream-v0.6.18...anstream-v0.6.19">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anstream&package-manager=cargo&previous-version=0.6.18&new-version=0.6.19)](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-06-06 07:58:35 +00:00
Simon Wülker
430f65584d
Don't drain ranges across shadow boundaries (#37281)
The [live range pre remove
steps](https://dom.spec.whatwg.org/#live-range-pre-remove-steps) state
that:

> For each [live range](https://dom.spec.whatwg.org/#concept-live-range)
whose [start
node](https://dom.spec.whatwg.org/#concept-range-start-node) is an
[inclusive
descendant](https://dom.spec.whatwg.org/#concept-tree-inclusive-descendant)
of node, set its
[start](https://dom.spec.whatwg.org/#concept-range-start) to (parent,
index).

Elements in a shadow tree are not inclusive descendants of their hosts -
meaning we should not bubble ranges across shadow boundaries.

Includes a small fix to `Node::ranges_is_empty` which makes servo do
less work on DOM mutations, as well as some changes to `range.rs` to
match the spec better. I made these changes during debugging and they
don't feel like they're worth their own PR.

Testing: Covered by WPT

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-06-06 07:54:02 +00:00
Shubham Gupta
836316c844
build(deps): bump ohos-ime from 0.3.0 to 0.4.0, bump ohos-ime-sys from 0.1.4 to 0.2.0, (#37214)
This patch updates following crates
ohos-ime: v0.3.0 to v0.4.0
ohos-ime-sys: v0.1.4 to v0.2.0,

Testing: N/A
Fixes: N/A

Signed-off-by: Shubham Gupta <shubham13297@gmail.com>
2025-06-06 07:34:54 +00:00
Ville Lindholm
475a3dfa38
script: Fix two issues in the XPath parser to pass all xml_xpath_tests.xml tests (#37279)
1. Better handling of namespaces for element and attribute names in XML
mode (read: non-HTML mode)
2. While parsing, pass along context on whether we are in an absolute
(`/`) or descendant (`//`) part of the query, and use it to correctly
enumerate descendants according to where we are in the evaluation of the
AST.

Testing: All 1024 tests in `xml_xpath_tests.xml` (actually
`xml_xpath_runner.html`) pass, as well as some random tests in
`text-html-attributes.html`.
Fixes: #37278

---------

Signed-off-by: Ville Lindholm <ville@lindholm.dev>
2025-06-06 07:16:42 +00:00
Aokingo
c7eba2dbba
Fix ReadableStream cancel error message (#37282)
Align error message with WHATWG Streams spec by changing:  
- `'stream is not locked'` to `'stream is locked'` 

This will match the step 2 of the readablestream cancel method that
requires the correct TypeError when the stream is locked.

Signed-off-by: Alice Okingo <annekadiso@gmail.com>
2025-06-06 02:32:59 +00:00
dependabot[bot]
a328aa474b
build(deps): bump anstyle from 1.0.10 to 1.0.11 (#37268)
Bumps [anstyle](https://github.com/rust-cli/anstyle) from 1.0.10 to
1.0.11.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="886539c953"><code>886539c</code></a>
chore: Release</li>
<li><a
href="161bf93c92"><code>161bf93</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/255">#255</a>
from Muscraft/anstyle-svg-urls</li>
<li><a
href="70dd95e053"><code>70dd95e</code></a>
feat(anstyle-svg): Add support for rendering Hyperlinks</li>
<li><a
href="96e3f75643"><code>96e3f75</code></a>
test(anstyle-svg): Add tests for Hyperlinks</li>
<li><a
href="abdd703a5c"><code>abdd703</code></a>
refactor(anstyle-svg): Use a concrete retrurn type from adapter</li>
<li><a
href="8d5053079d"><code>8d50530</code></a>
refactor(anstyle-svg): Use a better name for internal adapter</li>
<li><a
href="327c261668"><code>327c261</code></a>
refactor: Use a custom adapter for anstyle-svg</li>
<li><a
href="f1d6c141e2"><code>f1d6c14</code></a>
refactor(anstream): Use a less general name for State</li>
<li><a
href="98ef02efe0"><code>98ef02e</code></a>
test(anstream): Use anstyle for wincon adapter tests</li>
<li><a
href="182053aaa8"><code>182053a</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/254">#254</a>
from epage/template</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/anstyle/compare/v1.0.10...v1.0.11">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-05 23:55:27 +00:00
dependabot[bot]
b0eeaa4c27
build(deps): bump anstyle-parse from 0.2.6 to 0.2.7 (#37274)
Bumps [anstyle-parse](https://github.com/rust-cli/anstyle) from 0.2.6 to
0.2.7.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="886539c953"><code>886539c</code></a>
chore: Release</li>
<li><a
href="161bf93c92"><code>161bf93</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/255">#255</a>
from Muscraft/anstyle-svg-urls</li>
<li><a
href="70dd95e053"><code>70dd95e</code></a>
feat(anstyle-svg): Add support for rendering Hyperlinks</li>
<li><a
href="96e3f75643"><code>96e3f75</code></a>
test(anstyle-svg): Add tests for Hyperlinks</li>
<li><a
href="abdd703a5c"><code>abdd703</code></a>
refactor(anstyle-svg): Use a concrete retrurn type from adapter</li>
<li><a
href="8d5053079d"><code>8d50530</code></a>
refactor(anstyle-svg): Use a better name for internal adapter</li>
<li><a
href="327c261668"><code>327c261</code></a>
refactor: Use a custom adapter for anstyle-svg</li>
<li><a
href="f1d6c141e2"><code>f1d6c14</code></a>
refactor(anstream): Use a less general name for State</li>
<li><a
href="98ef02efe0"><code>98ef02e</code></a>
test(anstream): Use anstyle for wincon adapter tests</li>
<li><a
href="182053aaa8"><code>182053a</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/254">#254</a>
from epage/template</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/anstyle/compare/anstyle-parse-v0.2.6...anstyle-parse-v0.2.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anstyle-parse&package-manager=cargo&previous-version=0.2.6&new-version=0.2.7)](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-06-05 17:31:49 +00:00
dependabot[bot]
95ae8b5fcd
build(deps): bump colorchoice from 1.0.3 to 1.0.4 (#37273)
Bumps [colorchoice](https://github.com/rust-cli/anstyle) from 1.0.3 to
1.0.4.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="886539c953"><code>886539c</code></a>
chore: Release</li>
<li><a
href="161bf93c92"><code>161bf93</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/255">#255</a>
from Muscraft/anstyle-svg-urls</li>
<li><a
href="70dd95e053"><code>70dd95e</code></a>
feat(anstyle-svg): Add support for rendering Hyperlinks</li>
<li><a
href="96e3f75643"><code>96e3f75</code></a>
test(anstyle-svg): Add tests for Hyperlinks</li>
<li><a
href="abdd703a5c"><code>abdd703</code></a>
refactor(anstyle-svg): Use a concrete retrurn type from adapter</li>
<li><a
href="8d5053079d"><code>8d50530</code></a>
refactor(anstyle-svg): Use a better name for internal adapter</li>
<li><a
href="327c261668"><code>327c261</code></a>
refactor: Use a custom adapter for anstyle-svg</li>
<li><a
href="f1d6c141e2"><code>f1d6c14</code></a>
refactor(anstream): Use a less general name for State</li>
<li><a
href="98ef02efe0"><code>98ef02e</code></a>
test(anstream): Use anstyle for wincon adapter tests</li>
<li><a
href="182053aaa8"><code>182053a</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/254">#254</a>
from epage/template</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/anstyle/compare/colorchoice-v1.0.3...colorchoice-v1.0.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=colorchoice&package-manager=cargo&previous-version=1.0.3&new-version=1.0.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-06-05 17:17:16 +00:00
dependabot[bot]
47899c4fdf
build(deps): bump zune-jpeg from 0.4.15 to 0.4.16 (#37269)
Bumps [zune-jpeg](https://github.com/etemesi254/zune-image) from 0.4.15
to 0.4.16.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/etemesi254/zune-image/releases">zune-jpeg's
releases</a>.</em></p>
<blockquote>
<h2>v0.1.0</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/etemesi254/zune-image/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zune-jpeg&package-manager=cargo&previous-version=0.4.15&new-version=0.4.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 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-06-05 17:06:02 +00:00
Domenico Rizzo
6d99c09499
[#26488] Moves the FetchCanceller to a separate droppable struct, in Event Source (#37261)
Testing: No tests added.
Fixes: partially fixes #26488

Signed-off-by: Domenico Rizzo <domenico.rizzo@gmail.com>
2025-06-05 16:07:26 +00:00
sagudev
6cc3e2934c
CI: Limit concurency of WPT Export (#37257)
In https://github.com/servo/servo/pull/37255 I discovered that editing
PR title to soon will not take into affect until I manually rerun WPT
export (because first run that actually created PR hasn't done yet). We
can somehow resolve this by forbidding concurrent runs of WPT Export for
same PR and hope that first queued run is also firstly run.

docs:
https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs

Testing: This is CI

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-06-05 08:33:53 +00:00
webbeef
36e78d1a3d
Use a VecDeque to manage timers (#37080)
Profiling speedometer 2.1 on a quad core Intel N100, we spend quite some
time in Vec::insert when adding new timers. This is mostly because one
of the tests creates a large number of timers (> 10k).

Switching to a VecDeque solves that and gets a ~2% score improvement on
that device.

Signed-off-by: webbeef <me@webbeef.org>
2025-06-05 07:53:18 +00:00
Kenzie Raditya Tirtarahardja
d66e4fc459
Implement wb element send keys for file input (#37224)
We can now send keys to file input, which results in uploading file with
given filename. Needs
`pref=dom_testing_html_input_element_select_files_enabled` flag to work.

https://w3c.github.io/webdriver/#element-send-keys

Testing:
`tests/wpt/meta/webdriver/tests/classic/element_send_keys/{events,
file_upload}.py.`

Signed-off-by: PotatoCP <kenzieradityatirtarahardja18@gmail.com>
2025-06-05 06:48:14 +00:00
sagudev
165ac32f18
Add support for subsuite to servo(driver) (#37255)
based on firefox code
2e547483d4/tools/wptrunner/wptrunner/browsers/firefox.py (L139)
and
9cc314e804

Testing: These are for testing
Split of #36821

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-06-05 06:06:01 +00:00
sagudev
ffe9163892
canvas: ensure there is a subpath in PathBuilderRef (#37251)
This is also required by spec:
https://html.spec.whatwg.org/multipage/canvas.html#ensure-there-is-a-subpath
and if we not ensure it vello will trigger debug asserts. Enforcing this
at `PathBuilderRef` is the lowest possible level that avoids misuse (and
avoids IPC messages if we were to do this in content process) while
still keeping it from backend.

Testing: There are tests in WPT
Split of https://github.com/servo/servo/pull/36821
try run: https://github.com/sagudev/servo/actions/runs/15449044694

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-06-05 02:47:37 +00:00
dependabot[bot]
b13f49ab09
build(deps): bump zune-jpeg from 0.4.14 to 0.4.15 (#37254)
Bumps [zune-jpeg](https://github.com/etemesi254/zune-image) from 0.4.14
to 0.4.15.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/etemesi254/zune-image/releases">zune-jpeg's
releases</a>.</em></p>
<blockquote>
<h2>v0.1.0</h2>
<p>No release notes provided.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/etemesi254/zune-image/commits">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-04 17:59:03 +00:00
Euclid Ye
e78c033b5b
Update WebDriver WPT expectation (#37253)
There has been multiple WebDriver PRs merged without updating
expectation, so it's a good time to do it now, since there are more
incoming WebDriver PRs.
This benefits later contributors so that they know the impact of each
new PR when testing locally.

Testing: `./mach test-wpt -r --log-raw "D:\servo test log\all.txt"
.\tests\wpt\tests\webdriver\tests\classic --product servodriver`

Tested with main branch head
[9083d58061](9083d58061)

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-06-04 17:01:01 +00:00
sagudev
c01f65affb
canvas: Use Cow<[u8]> for bytes() getter (#37249)
I fell into trap of over-generalization in
https://github.com/servo/servo/pull/36793, but
https://github.com/servo/servo/pull/36821 showed `Cow<[u8]>` is all we
need (to reuse existing vec alloc or pass on a slice).

Testing: There are WPT tests, but it's just refactor so rust keeps us
safe.
Split of https://github.com/servo/servo/pull/36821

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-06-04 15:16:28 +00:00
eri
9083d58061
devtools: Fix inspector on Firefox 139 (#37247)
Added a `target_type` field so that Firefox 139 is happy with showing
the inspector. In the future, this should probably include other
`TARGET_TYPES` like watcher and process.

Testing: Manually tested the inspector in Firefox 139 (not sure if we
have automatic devtools tests now).
Fixes: #37242

Signed-off-by: eri <eri@inventati.org>
2025-06-04 12:11:53 +00:00
Taym Haddadi
aff38cdbd0
Dom: Implement AbortSignal ThrowIfAborted method (#37245)
Implement the ThrowIfAborted method of AbortSignal; part of
https://github.com/servo/servo/issues/36935.

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
2025-06-04 11:48:25 +00:00
Jonathan Schwender
39ee27eea6
mach: Allow using ASAN on ohos (#37185)
Allow using ASAN on OpenHarmony by adding target specific configuration.
This also relaxes the version requirement for the clang compiler
when using asan, since asan also has runtime checks, which should fail
if instrumented code relies on an incompatible libasan version (not
tested).

Additional comments: 

- Remove `TARGET_LDFLAGS = -static-libasan` since anyway rustc
  invokes the linker, so this flag has no effect.
- Enable frame pointers with ASAN, since we are anyway debugging.
  It should probably be the default anyway.
- We pass the with_asan option also to mach package, since hvigor
  needs to know that we are building for ASAN, otherwise it leads
  to a crash at startup.

Testing: Tested manually on arm64 OpenHarmony.

Known issues: ASAN increases the stack usage, and this can cause
segfaults due to hitting the stack protector on more complex pages. A
follow-up PR could address this by increasing the stack size when
compiled with asan in threads that hit this issue.

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-06-04 09:48:07 +00:00
batu_hoang
e0d96163c7
Fix events filter in wait_for_user_agent_handling_complete (#37241)
Fix a mistake from https://github.com/servo/servo/pull/37095
cc: @xiaochengh

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-06-04 06:39:31 +00:00
batu_hoang
b422a65a00
Add retry for hit tests with expired epoch in result (#37085)
Follow up to [hit_test failed occasionally when the touch event is
sent](https://github.com/servo/servo/issues/35788#top) and
https://github.com/servo/servo/issues/36676#issuecomment-2882917136,
this PR adds a retry for hit tests with expired epoch in result.

Hit tests with outdated epoch mean it is too early to perform the hit
test.

Solution: retry hit test for the event on the next webrender frame.
The retry should guarantee that:

- Keep the correct order of events
- Retry time is not too long

Test cases: `./mach test-wpt --product servodriver -r
tests\wpt\tests\webdriver\tests\classic\element_click\events.py`

cc: @xiaochengh , @yezhizhen

---------

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-06-04 05:56:20 +00:00
Simon Wülker
7439fa18d3
Keep winit::Window alive until all rendering contexts are destroyed (#37239)
Dropping the window while the rendering contexts are still around causes
a segmentation fault during shutdown. This is a very fragile change. I
added comments to hopes of making regressions less likely.

Testing: I don't think we have a way to write tests for this change
since it requires a wayland system ):
Fixes: https://github.com/servo/servo/issues/36711

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-06-03 19:29:16 +00:00
Martin Robinson
c94605b13e
servoshell: Fallback to light theme when initializing egui (#37228)
Not all winit platforms support getting the system theme properly. In
some places we fall back to the light theme, but it seems that the
default for `egui` is dark. This change makes it so that we fall back to
the light theme more consistently, meaning that servoshell on Wayland
will properly use the light theme.

Testing: This is difficult to test because we have no servoshell display
tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-06-03 13:47:10 +00:00
batu_hoang
5ef66ce386
Fix webdriver wait for response from constellation (#37095)
Webdriver actions only wait for response from constellation if
`dispatch_tick_actions` sends at least 1 event.

Testing: 
`./mach test-wpt -r --product servodriver
./tests/wpt/tests/webdriver/tests/classic/perform_actions/perform.py `

cc: @xiaochengh, @yezhizhen

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-06-03 11:51:12 +00:00
Simon Wülker
8937542fe3
Implement the size presentational hint for <hr> elements (#37211)
This presentational hint either sets the width values of all borders,
removes the bottom border or sets the height of the element, depending
on the context.

This change also implements the corresponding idl attribute (and the
`noshade` attribute, which does nothing in html5)

Testing: Adds new web platform tests

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-06-03 11:22:44 +00:00
Gregory Terzian
b4035cc88e
dom: implement abort signal reason method (#37227)
Implement the `reason` method of `AbortSignal`; part of
https://github.com/servo/servo/issues/36935.

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-06-03 09:35:51 +00:00
batu_hoang
ad95a74389
Implement actions_by_tick for webdriver (#37153)
Implement `actions by tick` according to the spec. 
The major change is `dispatch_actions` should receive a `actions by
ticks` as param.

https://w3c.github.io/webdriver/#dispatching-actions
> The algorithm to [dispatch
actions](https://w3c.github.io/webdriver/#dfn-dispatch-actions) takes a
list of actions grouped by
[tick](https://w3c.github.io/webdriver/#dfn-ticks), and then causes each
action to be run at the appropriate point in the sequence.

Reference for types in webdriver:
https://hackmd.io/b59NiPcLR_Gagh7r6r7BEw?view

cc: @xiaochengh

---------

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-06-03 08:20:00 +00:00
Euclid Ye
56c0ad8420
Consistently use Dom in native promise handlers (#37226)
Use `Dom` instead of `DomRoot` for fields of
`TransmitBodyPromiseRejectionHandler` to reduce redundant work by GC,
according to discussion in
https://github.com/servo/servo/issues/33604#issuecomment-2931524400

Fixes: #33604

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-06-03 07:41:34 +00:00
Andrei Volykhin
8d086b9fe5
htmlmediaelement: Fix fetch request race on "seek-data" event (#37002)
On execution media element load algorithm

https://html.spec.whatwg.org/multipage/media.html#media-element-load-algorithm
we can observe race condition between parallel running fetch requests:
R1: (media element) initial request (see "resource_fetch_algorithm"
function)
R2: (gstreamer) duration "seek-data" request (see PlayerEvent::SeekData)
 R3: (gstreamer) continue on last interrupted time "seek-data" request

At time there are only one current fetch context for media element but
because resource fetch and cancellation are async operations need
to identify (by request id) and skip processing outdated fetch request
(fetch listener callbacks).

Async load in background sequence (stream content length = 2757913):
```
R1 (seek-offset=0):          [------------------------------X]
R2 (seek-offset=2757866):          [---------Y]
                               AS-****-+++-AE
R3 (seek-offset=98304):                         [----------------Z]
                                             BS-****-+++BE

R1 (seek-offset=0):          [------X]
R2 (seek-offset=2757866):                [--------Y] (discarded data)
                                     AS-****---------+++-AE

- A*/B* performed seeks (*** seek lock, +++ flush buffer queue + reset EOS)
  (on Gstreamer streaming thread)
- X/Y/Z "end-of-stream" events from fetch requests
  (on Servo script thread)
```

All incoming input data from different requests are mixed and
pushed to active media player, plus abnormal behaviour due to
intermixed X/Y/Z "end-of-stream" events.

To handle it properly we will unblock seek lock on "seek-data" event
(on script thread) as soon as possible (GStreamer will be able
to flush buffer queue and reset EOS state) and introduce buffered data
source
to delay pushing input data/EOS event until media player will be
actually ready.

Testing: Improvements to the following tests:
-
/html/canvas/element/manual/imagebitmap/createImageBitmap-origin.sub.html
-
/html/semantics/embedded-content/the-canvas-element/security.pattern.fillStyle.sub.html

Fixes: https://github.com/servo/servo/issues/31931
Fixes: https://github.com/servo/servo/issues/36989

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-06-02 19:39:38 +00:00
Ville Lindholm
8cfb6e33fe
XPath: implement lang() and id() core functions (#34594)
XPath's `lang()` and `id()` functions were still unimplemented.

Also:
* Add WPT tests for `id()`.
* Fix uniqueness check in `NodesetHelpers::document_order_unique`.
* Tweak the AST a bit to make it clearer to express "no predicates".
* Fix a parsing bug where "/" was attempted before "//", leaving the
"//" branch as always unused.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #34593 
- [x] There are tests for these changes

---------

Signed-off-by: Ville Lindholm <ville@lindholm.dev>
2025-06-02 19:00:13 +00:00
Gregory Terzian
1dfc14d2fb
dom: implement aborted method of abort signal (#37218)
Implement the `aborted` member of `AbortSignal`. Part of
https://github.com/servo/servo/issues/36935

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-06-02 18:57:57 +00:00
dependabot[bot]
dfa8dde1ca
build(deps): bump prettyplease from 0.2.32 to 0.2.33 (#37221)
Bumps [prettyplease](https://github.com/dtolnay/prettyplease) from
0.2.32 to 0.2.33.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/prettyplease/releases">prettyplease's
releases</a>.</em></p>
<blockquote>
<h2>0.2.33</h2>
<ul>
<li>Improve macro token spacing after <code>$crate</code> (<a
href="https://redirect.github.com/dtolnay/prettyplease/issues/116">#116</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d5239de6e2"><code>d5239de</code></a>
Release 0.2.33</li>
<li><a
href="395827d3e7"><code>395827d</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/prettyplease/issues/116">#116</a>
from dtolnay/dollarcrate</li>
<li><a
href="6e21c9104b"><code>6e21c91</code></a>
Improve macro token spacing after $crate</li>
<li><a
href="e05fac9219"><code>e05fac9</code></a>
Regenerate output.rustc.rs using nightly-2025-04-28</li>
<li><a
href="8eb8c14649"><code>8eb8c14</code></a>
Update to nightly-2025-04-12</li>
<li>See full diff in <a
href="https://github.com/dtolnay/prettyplease/compare/0.2.32...0.2.33">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prettyplease&package-manager=cargo&previous-version=0.2.32&new-version=0.2.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 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-06-02 18:13:18 +00:00
dependabot[bot]
18989e1fdd
build(deps): bump headers from 0.4.0 to 0.4.1 (#37220)
Bumps [headers](https://github.com/hyperium/headers) from 0.4.0 to
0.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hyperium/headers/releases">headers's
releases</a>.</em></p>
<blockquote>
<h2>headers-v0.4.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Implement Display for Referer by <a
href="https://github.com/AsamK"><code>@​AsamK</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/122">hyperium/headers#122</a></li>
<li>Add <code>ContentEncoding::brotli</code> by <a
href="https://github.com/paolobarbolini"><code>@​paolobarbolini</code></a>
in <a
href="https://redirect.github.com/hyperium/headers/pull/158">hyperium/headers#158</a></li>
<li>chore(ci): update to actions/checkout@v4 by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/160">hyperium/headers#160</a></li>
<li>feat: add method to check if AcceptRanges is bytes by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/159">hyperium/headers#159</a></li>
<li>doc(core): Header encode method convert header to HeaderValue by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/161">hyperium/headers#161</a></li>
<li>refactor: apply small refactoring by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/168">hyperium/headers#168</a></li>
<li>chore: update to base64 0.22 by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/169">hyperium/headers#169</a></li>
<li>chore(core): set msrv to 1.49 by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/171">hyperium/headers#171</a></li>
<li>refactor(ci): apply small refactoring by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/172">hyperium/headers#172</a></li>
<li>chore: update to 2018 edition by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/173">hyperium/headers#173</a></li>
<li>chore(core): update to 2018 edition by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/174">hyperium/headers#174</a></li>
<li>refactor: remove unnecessary extern crate sentence by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/175">hyperium/headers#175</a></li>
<li>refactor: remove redundant workspace config by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/176">hyperium/headers#176</a></li>
<li>refactor: refactor AcceptRanges test by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/177">hyperium/headers#177</a></li>
<li>feat: add AcceptRanges none util by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/178">hyperium/headers#178</a></li>
<li>feat: re-export mime::Mime by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/180">hyperium/headers#180</a></li>
<li>feat: implement From bytes for SecWebsocketKey by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/179">hyperium/headers#179</a></li>
<li>update IETF rfc links in docs by <a
href="https://github.com/GlenDC"><code>@​GlenDC</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/182">hyperium/headers#182</a></li>
<li>Add <code>ContentEncoding::zstd</code> by <a
href="https://github.com/paolobarbolini"><code>@​paolobarbolini</code></a>
in <a
href="https://redirect.github.com/hyperium/headers/pull/183">hyperium/headers#183</a></li>
<li>docs(readme): add badge to readme by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/185">hyperium/headers#185</a></li>
<li>Add methods for <code>must-revalidate</code> flag to
<code>CacheControl</code> by <a
href="https://github.com/allenap"><code>@​allenap</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/186">hyperium/headers#186</a></li>
<li>refactor: Remove needless lifetime by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/193">hyperium/headers#193</a></li>
<li>fix(tests): Fix test compile error with nightly feature by <a
href="https://github.com/gretchenfrage"><code>@​gretchenfrage</code></a>
in <a
href="https://redirect.github.com/hyperium/headers/pull/196">hyperium/headers#196</a></li>
<li>doc: Remove empty line in document by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/200">hyperium/headers#200</a></li>
<li>update copyright year to 2025 in LICENSE by <a
href="https://github.com/jasmyhigh"><code>@​jasmyhigh</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/205">hyperium/headers#205</a></li>
<li>feat: const <code>::from_static()</code> constructors by <a
href="https://github.com/CosmicHorrorDev"><code>@​CosmicHorrorDev</code></a>
in <a
href="https://redirect.github.com/hyperium/headers/pull/209">hyperium/headers#209</a></li>
<li>feat: Add <code>impl From&lt;http::HeaderName&gt; for Vary</code> by
<a
href="https://github.com/CosmicHorrorDev"><code>@​CosmicHorrorDev</code></a>
in <a
href="https://redirect.github.com/hyperium/headers/pull/210">hyperium/headers#210</a></li>
<li>chore: prepare for releasing 0.4.1 by <a
href="https://github.com/tisonkun"><code>@​tisonkun</code></a> in <a
href="https://redirect.github.com/hyperium/headers/pull/213">hyperium/headers#213</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/AsamK"><code>@​AsamK</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/headers/pull/122">hyperium/headers#122</a></li>
<li><a href="https://github.com/GlenDC"><code>@​GlenDC</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/headers/pull/182">hyperium/headers#182</a></li>
<li><a href="https://github.com/allenap"><code>@​allenap</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/headers/pull/186">hyperium/headers#186</a></li>
<li><a
href="https://github.com/gretchenfrage"><code>@​gretchenfrage</code></a>
made their first contribution in <a
href="https://redirect.github.com/hyperium/headers/pull/196">hyperium/headers#196</a></li>
<li><a href="https://github.com/jasmyhigh"><code>@​jasmyhigh</code></a>
made their first contribution in <a
href="https://redirect.github.com/hyperium/headers/pull/205">hyperium/headers#205</a></li>
<li><a
href="https://github.com/CosmicHorrorDev"><code>@​CosmicHorrorDev</code></a>
made their first contribution in <a
href="https://redirect.github.com/hyperium/headers/pull/209">hyperium/headers#209</a></li>
<li><a href="https://github.com/tisonkun"><code>@​tisonkun</code></a>
made their first contribution in <a
href="https://redirect.github.com/hyperium/headers/pull/213">hyperium/headers#213</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/hyperium/headers/compare/headers-v0.4.0...headers-v0.4.1">https://github.com/hyperium/headers/compare/headers-v0.4.0...headers-v0.4.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8db1b786d4"><code>8db1b78</code></a>
headers:0.4.1</li>
<li><a
href="12fb1d76d3"><code>12fb1d7</code></a>
feat: Add a <code>impl From\&lt;http::HeaderName&gt; for Vary</code> (<a
href="https://redirect.github.com/hyperium/headers/issues/210">#210</a>)</li>
<li><a
href="66371a0ac6"><code>66371a0</code></a>
feat: const <code>::from_static()</code> constructors (<a
href="https://redirect.github.com/hyperium/headers/issues/209">#209</a>)</li>
<li><a
href="d425d3ca90"><code>d425d3c</code></a>
update copyright year</li>
<li><a
href="1a8eac311c"><code>1a8eac3</code></a>
doc: Remove empty line in document</li>
<li><a
href="743d3b91ef"><code>743d3b9</code></a>
fix(tests): Fix test compile error with nightly feature</li>
<li><a
href="682d0a6f80"><code>682d0a6</code></a>
refactor: Remove needless lifetime</li>
<li><a
href="879d2d40e3"><code>879d2d4</code></a>
Add methods for <code>must-revalidate</code> flag to
<code>CacheControl</code></li>
<li><a
href="0fbde12f11"><code>0fbde12</code></a>
docs(readme): add badge to readme</li>
<li><a
href="2298faa4c2"><code>2298faa</code></a>
Add <code>ContentEncoding::zstd</code></li>
<li>Additional commits viewable in <a
href="https://github.com/hyperium/headers/compare/headers-v0.4.0...headers-v0.4.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-02 18:04:33 +00:00
dependabot[bot]
779d70d927
build(deps): bump num_cpus from 1.16.0 to 1.17.0 (#37219)
Bumps [num_cpus](https://github.com/seanmonstar/num_cpus) from 1.16.0 to
1.17.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/seanmonstar/num_cpus/blob/master/CHANGELOG.md">num_cpus's
changelog</a>.</em></p>
<blockquote>
<h2>v1.17.0</h2>
<h3>Fixes</h3>
<ul>
<li>update hermit-abi to 0.5.0</li>
<li>remove special support for nacl</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="342af76b48"><code>342af76</code></a>
v1.17.0</li>
<li><a
href="e970a829ad"><code>e970a82</code></a>
Bump hermit-abi version (<a
href="https://redirect.github.com/seanmonstar/num_cpus/issues/144">#144</a>)</li>
<li><a
href="797f827689"><code>797f827</code></a>
Update LICENSE-MIT (<a
href="https://redirect.github.com/seanmonstar/num_cpus/issues/143">#143</a>)</li>
<li><a
href="b6ca8a475f"><code>b6ca8a4</code></a>
ci: worker cpus has been increased</li>
<li><a
href="f06cd508ae"><code>f06cd50</code></a>
ci: remove asmjs job</li>
<li><a
href="41e39dd357"><code>41e39dd</code></a>
ci: mips is not tier 3, remove CI jobs</li>
<li><a
href="13af26cff7"><code>13af26c</code></a>
remove special support for nacl</li>
<li><a
href="815551cfc7"><code>815551c</code></a>
ci: pin libc for msrv job</li>
<li>See full diff in <a
href="https://github.com/seanmonstar/num_cpus/compare/v1.16.0...v1.17.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=num_cpus&package-manager=cargo&previous-version=1.16.0&new-version=1.17.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-06-02 17:58:25 +00:00
Narfinger
d42fe20403
Hitrace-bench will now report simple memory results to bencher.dev. (#37215)
Hitrace-bench will now report simple memory information. This includes
LayoutThread memory, JS memory, image-cache. The CI needs update to
hitrace-bench 0.5.0 which will have happened when t his PR is marked
ready.


- Action Run:
https://github.com/Narfinger/servo/actions/runs/15387749215
- Bencher output:
https://bencher.dev/perf/servo-ci?branches=e50d3058-235a-4437-9bd1-84b850cf7bcc&heads=e3e709a5-0309-416d-a5f1-283f3e401d0a&testbeds=62fa0d12-4dc9-4063-b445-aad7c4ed08b3&benchmarks=6bc5e3f4-8610-4fb4-bac6-652a110d7125&measures=80b345a8-20ec-4866-b12a-20fbf690adf8&start_time=1746261995000&end_time=1748853995000&report=ec3e632c-9c00-4b69-908a-457894cc7d40&key=true&reports_per_page=4&branches_per_page=8&testbeds_per_page=8&benchmarks_per_page=8&plots_per_page=8&reports_page=1&branches_page=1&testbeds_page=1&benchmarks_page=1&plots_page=1


Testing: CI does not have test but tested on own ci.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-06-02 15:56:15 +00:00
Gregory Terzian
99add66f8e
dom: implement signal method on abort controller (#37217)
Part of https://github.com/servo/servo/issues/34866

The "Finish current stub for AbortController" item.

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-06-02 13:20:57 +00:00
Euclid Ye
c28394f476
script: Upgrade node_ids to pipeline_to_node_ids to track the owner pipeline of the node (#37213)
Upgrade `ScriptThread::node_ids` to `pipeline_to_node_ids` to track the
owner pipeline of the node
This will enable webdriver to know if it is requesting element from
other origins and properly distinguish "stale element reference" from
"no such element".

Testing: [Action
run](https://github.com/yezhizhen/servo/actions/runs/15385994907), no
regression. We can now pass WebDriver "cross origin" tests.

Fixes: #35749

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-06-02 12:26:45 +00:00