Commit graph

52802 commits

Author SHA1 Message Date
araya
2947476bdd
Fix Response:bodyUsed behavior to return false if the body is null (#39287)
This PR fixes some test-cases in
https://wpt.fyi/results/fetch/api/response/response-consume-empty.any.html?product=servo

Fetch standard indicates `Response:bodyUsed` should return `false` if
the body content is null , even if the stream was disturbed.
https://fetch.spec.whatwg.org/#dom-body-bodyused

> The bodyUsed getter steps are to return true if
[this](https://webidl.spec.whatwg.org/#this)’s
[body](https://fetch.spec.whatwg.org/#concept-body-body) is non-null and
[this](https://webidl.spec.whatwg.org/#this)’s
[body](https://fetch.spec.whatwg.org/#concept-body-body)’s
[stream](https://fetch.spec.whatwg.org/#concept-body-stream) is
[disturbed](https://streams.spec.whatwg.org/#is-readable-stream-disturbed);
otherwise false.

---------

Signed-off-by: araya <araya@araya.dev>
2025-09-14 08:33:54 +00:00
Wu Yuwei
a0c3dcefe4
chore: update wgpu to v26 (#39016)
Vello has updated to wgpu v26 recently. It might be a good time for
servo to update as well. This PR should wait for #39015 and #38717

Testing: WebGPU CTS
Fixes: None

---------

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>
2025-09-14 04:09:17 +00:00
Integral
2d5eac386f
servoshell: Add ParseResolutionError to parse elegantly (#39289)
When passing an invalid resolution string (such as `1x1x1`) to the
`--screen-size` or `--window-size` argument, Servo starts without any
error. Additionally, if the width or height is set to 0, Servo crashes
with a SIGSEGV (Address boundary error).

This patch addresses the following issue by several changes:

1. Introduce a custom error type ParseResolutionError.
2. Replace the `split()` method with `split_once()`.
3. Make the capital 'X' an acceptable separator.
4. Add a check to prevent crashes when width or height is set to 0.

---

Before: 
```
╰─❯ ./servo --screen-size=0
index out of bounds: the len is 1 but the index is 1 (thread main, at ports/servoshell/prefs.rs:236)
fish: Job 1, './servo --screen-size=0' terminated by signal SIGSEGV (Address boundary error)
```
```
╰─❯ ./servo --screen-size=0x1
xdg_surface#30: error -1: invalid window geometry size (0x1)
assertion `left != right` failed
  left: 0
 right: 0 (thread main, at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/surfman-0.10.0/src/platform/unix/wayland/connection.rs:140)
fish: Job 1, './servo --screen-size=0x1' terminated by signal SIGSEGV (Address boundary error)
```
After:
```
╰─❯ ./servo --screen-size=0
Error: couldn't parse `0`: invalid resolution format
```
```
╰─❯ ./servo --screen-size=0x1
Error: couldn't parse `0x1`: width and height must be greater than 0
```

Signed-off-by: Integral <integral@member.fsf.org>
2025-09-14 02:37:50 +00:00
Servo WPT Sync
b3b79e049b
Sync WPT with upstream (14-09-2025) (#39293)
Automated downstream sync of changes from upstream as of 14-09-2025
[no-wpt-sync]

Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-09-14 01:44:16 +00:00
Tim van der Lippe
3ef3ba9378
Add spec steps and comments for fetch abort steps (#39283)
While trying to figure out what the status of this implementation was, I
added steps and comments to
see what we are missing. Also updated some links,
since I couldn't find an implementation of
`window.fetch`, since the spec URL was pointing
to the chapter instead of the algorithm.

Part of #34866

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-09-13 18:34:14 +00:00
Tim van der Lippe
2f252c9b78
Remove the dom_trusted_types_enabled preference (#39281)
Everything related to Trusted Types has been implemented. Failing WPT
tests are related to other features such as SVG scripts.

Fixes #36258

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-09-13 09:57:15 +00:00
Tim van der Lippe
5beb16d671
Enable abort controller preference for fetch/api/abort (#39282)
This sets a baseline of tests for fetch-related implementation of
AbortController.

Part of #34866

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-09-13 09:14:13 +00:00
Oriol Brufau
c11670b067
layout: Take text-indent into account in min/max-content inline sizes (#39230)
The min-content and max-content inline sizes of an inline formatting
contentext need to take `text-indent` into account. Note it can be set
to a negative amount, so the `ContentSizesComputation` logic needs some
tweaks to handle it well.

Testing: Fixes various WPT tests

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-13 06:20:39 +00:00
Tim van der Lippe
d1c3e5f58f
Add trusted type checks for eval arguments (#39263)
Also bumps mozjs to the latest version that has support for
`GStackVector` which is what this callback uses.

Part of #36258

Fixes #38877

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-09-12 19:08:26 +00:00
Narfinger
033da09800
Move signals_slots to ScriptMutationObservers (#39275)
Both places where we access signals_slots already have a reference to
ScriptMutationObserver. This saves us another access to
with_script_thread.


Testing: This does not change functionality.
Fixes: Part of addressing: https://github.com/servo/servo/issues/37969

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-12 18:43:59 +00:00
Kingsley Yung
250c4cda00
indexeddb: Implement openCursor and openKeyCursor for object store (#39080)
Continue on implementing indexeddb's cursor.

This patch focuses on implementing the `openCursor` [1] and
`openKeyCursor` [2] methods of the `IDBObjectStore` interface, which
create and initialize cursors by running the iterate-a-cursor algorithm
[3].

It also adds struct `IndexedDBRecord` to
`components/shared/net/indexeddb_thread.rs`. This struct can later be
used to implement the new `IDBRecord` interface [4].

[1] https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-opencursor
[2] https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-openkeycursor
[3] https://www.w3.org/TR/IndexedDB-2/#iterate-a-cursor
[4] https://w3c.github.io/IndexedDB/#record-interface

Testing: Pass WPT tests that were expected to fail.
Fixes: Part of #38111

---------

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>
2025-09-12 16:54:07 +00:00
Euclid Ye
1f63116bdd
webdriver: Add ScrollBehavior::Instant for scroll_into_view (#39265)
There is a recent spec change which adds instant as default scroll
behaviour: https://github.com/w3c/webdriver/pull/1924. This PR reflects
the change.

Testing: No behaviour change as `ScrollBehavior` is ignored right now.

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-12 15:49:40 +00:00
Kingsley Yung
a4c6108cbe
script: Check if IndexedDB key path is ECMAScript identifier name (#39255)
From IndexedDB spec, when we check whether a key path is valid, we have
to check whether it is an ECMAScript identifier name. We have not yet
implemented this logic, and always return true.

This patch uses the function `js::rust::wrappers::JS_IsIdentifier` to
achieve this checking.

Testing: Pass WPT tests that were expected to fail.
Fixes: #25324

---------

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>
2025-09-12 15:02:28 +00:00
shuppy
25147c75cb
ci: Stop using python3 ./mach (#39271)
this way of invoking mach is incorrect now that we use uv, and it will
prevent us from running bencher builds on self-hosted runners (#39269),
where the system Python is too old (3.10 vs 3.11).

Testing:
- mach try bencher
<https://github.com/servo/servo/actions/runs/17675086579>

Fixes: part of #39269

Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-09-12 14:45:31 +00:00
shuppy
2b2ea05c12
ci: Make runner timeout jobs conditional, not the steps (#39268)
#38503 converted the self-hosted runner timeout from a [reusable
workflow](https://docs.github.com/en/actions/concepts/workflows-and-actions/reusable-workflows)
to a [composite
action](https://docs.github.com/en/actions/tutorials/create-actions/create-a-composite-action),
but in doing so, it changed from having a conditional job to having a
conditional step. [This Update Broke My
Workflow](https://xkcd.com/1172/), because i enjoyed being able to tell
if a job ended up being GitHub-hosted or not by seeing if its timeout
job was skipped, rather than having to click on the workload job then
wait then scroll up then click “Set up job”.

this patch fixes that by making the job conditional.

Testing:
- self-hosted
<https://github.com/servo/servo/actions/runs/17674214808/job/50232483209>
- GitHub-hosted
<https://github.com/delan/servo/actions/runs/17674531369/job/50233465791>

Fixes: #39192

Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-09-12 14:04:59 +00:00
Rodion Borovyk
4aabc67e57
constellation: Use one image cache thread pool in the single-process mode (#38783)
Previously, each ScriptThread was creating a new image cache with a
separate thread pool. These changes add an image cache to the
constellation and create new image caches by calling the
`create_new_image_cache` method. It reuses the original image cache's
thread pool and reduces the number of spawned threads in the
single-process mode.

Testing: Tested manually, using `ps -M` to see the number of spawned
threads with multiple tabs open in servoshell before and after these
changes.
Fixes: #37770

Signed-off-by: Rodion Borovyk <rodion.borovyk@gmail.com>
2025-09-12 12:35:26 +00:00
Euclid Ye
23ac24438a
CODEOWNERS: Add yezhizhen for WebDriver components (#39266)
So that I can get notified and GitHub won't wildcard other reviewers.

Testing: No.

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-12 12:25:19 +00:00
atbrakhi
268a0eeb2d
ci: Reland run devtools tests whenever we run unit tests from #38614 (#39267)
This patch updates `linux.yml`, `mac.yml`, and `windows.yml` to run the
devtools test suite (https://github.com/servo/servo/issues/36325).


Testing: this patch effectively adds all devtools tests to CI
Fixes: https://github.com/servo/servo/issues/36325

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: Delan Azabani <dazabani@igalia.com>
2025-09-12 11:14:38 +00:00
Andrei Volykhin
965e87d006
html: Ignore a parse error on 'srcset' attribute parsing (#39260)
Parsing the 'srcset' attribute of an image element may result in a parse
error
indicating a non-fatal mismatch between the input and the requirements.
https://html.spec.whatwg.org/multipage/#concept-microsyntax-parse-error
https://html.spec.whatwg.org/multipage/#parse-a-srcset-attribute

This error should not be a reason to stop parsing and may be used by the
user agent to signal a syntax error.

Other browsers generally ignore this error, and we do the same.

Testing: Improvements in the following tests
-
html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-09-12 06:45:01 +00:00
Kenzie Raditya Tirtarahardja
097a69169a
webdriver: Support "scroll into view" for commands (#38508)
Implement scroll into view steps for all WebDriver command that requires
it (element click, element send keys, element clear, and take element
screenshot).

Testing: `element_send_keys/scroll_into_view.py`,
`element_click/scroll_into_view.py`, `element_clear/clear.py`

---------

Signed-off-by: PotatoCP <Kenzie.Raditya.Tirtarahardja@huawei.com>
2025-09-12 06:07:58 +00:00
Oriol Brufau
9e9bd80bba
layout: Add style to ConstraintSpace and IndefiniteContainingBlock (#39229)
They only had the writing mode, now they will have the entire computed
style.
This is needed for #39230.

Testing: Not needed, no behavior change

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-11 21:53:14 +00:00
Shubham Gupta
dfdcba88d4
fixup: Enable viewport <meta> tag support for mobile platforms only (#39207)
1. Adds a pref viewport_meta_enabled.
2. Enable pref for mobile platforms.

Testing: Tested Manually
Fixes: #39157
Fixes: #39002

---------

Signed-off-by: Shubham Gupta <shubham13297@gmail.com>
2025-09-11 17:21:04 +00:00
Alex Touchet
e6d46fb9f3
cargo: Update packages that depend on windows-sys 0.60 (#39262)
Update some dependencies that were being held back due to windows
dependency updates.

Testing: No tests for dependency updates.

Signed-off-by: Alex Touchet <26315797+atouchet@users.noreply.github.com>
2025-09-11 15:58:10 +00:00
Ashwin Naren
96592dce44
Invalid return type for key conversion (#39252)
`convert_value_to_key` returns a `ConversionResult` now, so keys can be
considered "Invalid" rather than throwing an exception.

Testing: WPT
Unblocks: #38288

---------

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2025-09-11 12:48:18 +00:00
Narfinger
19f70dccf6
Combine some access to the thread local variable for script thread. (#38752)
This combines some access to the thread local variable for script
thread.

- We introduce a new UserInteractingScriptGuard which on drop handles
  the resetting of was_interacting to the previous value. Sometimes
throughout the code `ScriptThread::is_user_interacting` was reset to the
previous value while sometimes just set to false. This should
remove this footgun.
- This also reduces the amount of thread local access for
MutationObservers and task queue.

Testing: WPT tests should cover this.
Fixes: This addresses part of
https://github.com/servo/servo/issues/37969 but there is probably still
stuff to be done.

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2025-09-11 09:40:32 +00:00
Kingsley Yung
5de041e6ef
script: Unwrap imported key in JWK format after normalizing (#39234)
In our current implementation, the `importKey` method and `unwrapKey`
method of `SubtleCrypto` interface unwrap JsonWebKey before running the
normalized algorithms. Therefore, all cryptography algorithms share the
same unwrapping mechanism. Our current unwrapping mechanism is not
compatible with some cryptography algorithms, which we have not yet
implemented such as Ed25519.

Following the WebCrypto API spec, this patch moves the JsonWebKey
unwrapping mechanism to normalized algorithms so that each cryptography
algorithm can unwrap JsonWebKey in its own way.

This does not introduce behavioral changes, but makes implementing the
unwrap operation for new cryptography algorithms easier in the future.

Remark: Step 8 and 13 of `SubtleCrypto::ImportKey` require the crypto
task source in the script task manager, but we don't have it yet. So,
they're marked as TODO.

Testing: Existing tests should suffice.

---------

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2025-09-11 09:38:21 +00:00
Ashwin Naren
97690b1cba
script: Ensure autoincrement and keypath are passed in correctly from IDBTransaction (#38738)
Previously, the correct autoincremented and keypath parameters were only
being passed if the object store is being created. This PR queries this
info from the backend and passes it onto the constructor in
IDBTransaction. Furthermore it exposes keypath and index_names from
IDBObjectStore, mainly for WPT.

Testing: WPT
Fixes: None

---------

Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2025-09-11 09:13:15 +00:00
dependabot[bot]
722b0de8d8
build(deps): bump zbus from 5.9.0 to 5.11.0 (#39239)
Bumps [zbus](https://github.com/dbus2/zbus) from 5.9.0 to 5.11.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dbus2/zbus/releases">zbus's
releases</a>.</em></p>
<blockquote>
<h2>🔖 zbus 5.11.0</h2>
<ul>
<li> API to specify timeouts for method calls. Add a way to specify an
timeout for method calls. If
set, the method calls will timeout after the specified duration,
returning an error. This can be
used to handle the issues with non-answering D-Bus services.</li>
<li>🩹 Add <code>connection::socket::Split::new</code> method, allowing
<code>Socket</code> trait impls outside zbus.</li>
<li>📝 Mention receive_X_changes in <code>proxy</code> docs.</li>
</ul>
<h2>🔖 zbus 5.10.0</h2>
<ul>
<li> Property stream will now first yield the current value.</li>
<li>🐛 Fall back to no groups rather than erroring out for peer
creds.</li>
<li>📝 Fix wrong documentation in blocking <code>Proxy</code>
methods.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="edd9a3c3d3"><code>edd9a3c</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1494">#1494</a> from
zeenix/prep-zb-5.11</li>
<li><a
href="ee3fb1b4f7"><code>ee3fb1b</code></a>
🔖 zb,zm: Release 5.11.0</li>
<li><a
href="9f85ee4b3d"><code>9f85ee4</code></a>
 zb: Much shorter timeout in method timeout test</li>
<li><a
href="000039a7d8"><code>000039a</code></a>
♻️ zb: Micro simplification</li>
<li><a
href="dbd853e3be"><code>dbd853e</code></a>
⬆️ micro: Update chrono to v0.4.42 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1493">#1493</a>)</li>
<li><a
href="bd4d5c722e"><code>bd4d5c7</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1491">#1491</a> from
dbus2/security-policy</li>
<li><a
href="29825e74cc"><code>29825e7</code></a>
🔒️ Add comprehensive security policy</li>
<li><a
href="e46151c9ad"><code>e46151c</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1477">#1477</a> from
sergeyfd/main</li>
<li><a
href="979f5f9030"><code>979f5f9</code></a>
 zb: API to specify timeouts for method calls</li>
<li><a
href="442063d295"><code>442063d</code></a>
⬆️ micro: Update time to v0.3.43 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1490">#1490</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/dbus2/zbus/compare/zbus-5.9.0...zbus-5.11.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zbus&package-manager=cargo&previous-version=5.9.0&new-version=5.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>
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-11 07:43:35 +00:00
Simon Wülker
3b294d0856
net: Add spec comments to "cors_preflight_fetch" (#39246)
I added these comments while debugging `cors/request-headers.htm`.
Ultimately the bug turned out to be outside of servo, so we have to wait
for https://github.com/hyperium/headers/pull/219.
Since that PR might take a while to merge I'd like to add these on their
own.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-09-11 01:31:51 +00:00
Simon Wülker
93ad2cf62a
script: Set validation anchor to target element in ElementInternals::SetValidity when anchor is not given (#39247)
Testing: Covered by existing web platform tests

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-09-11 01:26:09 +00:00
dependabot[bot]
da64921877
build(deps): bump errno from 0.3.13 to 0.3.14 (#39250)
Bumps [errno](https://github.com/lambda-fairy/rust-errno) from 0.3.13 to
0.3.14.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/lambda-fairy/rust-errno/blob/main/CHANGELOG.md">errno's
changelog</a>.</em></p>
<blockquote>
<h1>[0.3.14] - 2025-09-08</h1>
<ul>
<li>Update windows-sys requirement from &gt;=0.52, &lt;=0.59 to
&gt;=0.52, &lt;0.62
<a
href="https://redirect.github.com/lambda-fairy/rust-errno/pull/117">#117</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/lambda-fairy/rust-errno/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=errno&package-manager=cargo&previous-version=0.3.13&new-version=0.3.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-09-11 01:24:43 +00:00
dependabot[bot]
4670136a12
build(deps): bump unicode-ident from 1.0.18 to 1.0.19 (#39249)
Bumps [unicode-ident](https://github.com/dtolnay/unicode-ident) from
1.0.18 to 1.0.19.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/unicode-ident/releases">unicode-ident's
releases</a>.</em></p>
<blockquote>
<h2>1.0.19</h2>
<ul>
<li>Update to Unicode 17.0.0 (<a
href="https://redirect.github.com/dtolnay/unicode-ident/issues/37">#37</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="dc018bf1ca"><code>dc018bf</code></a>
Release 1.0.19</li>
<li><a
href="9dce213946"><code>9dce213</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/unicode-ident/issues/37">#37</a>
from dtolnay/unicode17.0.0</li>
<li><a
href="17da3fe9b7"><code>17da3fe</code></a>
Force latest=17.0.0 in CI</li>
<li><a
href="acbaf6a39e"><code>acbaf6a</code></a>
Update to Unicode 17.0.0</li>
<li><a
href="e4cceeded0"><code>e4cceed</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/unicode-ident/issues/36">#36</a>
from dtolnay/ucdgenerate</li>
<li><a
href="f871463773"><code>f871463</code></a>
Regenerate comparison tests with ucd-generate 0.3.1</li>
<li><a
href="ff8590b968"><code>ff8590b</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/unicode-ident/issues/35">#35</a>
from dtolnay/latest</li>
<li><a
href="6a0743712f"><code>6a07437</code></a>
Update UCD.zip download URL</li>
<li><a
href="83d3bdfe5d"><code>83d3bdf</code></a>
Update actions/checkout@v4 -&gt; v5</li>
<li><a
href="be1614805e"><code>be16148</code></a>
Make .gitattributes match only paths from repo root</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/unicode-ident/compare/1.0.18...1.0.19">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=unicode-ident&package-manager=cargo&previous-version=1.0.18&new-version=1.0.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-09-11 01:10:22 +00:00
dependabot[bot]
ac6898efec
build(deps): bump color from 0.3.1 to 0.3.2 (#39248)
Bumps [color](https://github.com/linebender/color) from 0.3.1 to 0.3.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/linebender/color/releases">color's
releases</a>.</em></p>
<blockquote>
<h2>v0.3.2</h2>
<p><strong><a href="https://crates.io/crates/color/0.3.2">Crates.io</a>
| <a href="https://docs.rs/color/0.3.2/">Docs</a></strong></p>
<p>This release has an <a
href="README.md#minimum-supported-rust-version-msrv">MSRV</a> of
1.82.</p>
<h3>Added</h3>
<ul>
<li>
<p>Add <code>interpolate_unpremultiplied</code> and
<code>gradient_unpremultiplied</code> for interpolating in
unpremultiplied (straight) alpha space.</p>
<p>While such interpolation will often give perceptually undesired
results, this allows using Color to implement rendering features where
such interpolation is specified, like in the <a
href="https://html.spec.whatwg.org/commit-snapshots/a93c6fa9fa95e31f1caa05f2f8abc650669df7c3/#interpolation">HTML
Canvas element</a>. (<a
href="https://redirect.github.com/linebender/color/issues/185">#185</a>
by <a href="https://github.com/sagudev"><code>@​sagudev</code></a>)</p>
</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Specify XYZ-D65 color space conversion matrices as exact rationals.
(<a
href="https://redirect.github.com/linebender/color/issues/171">#171</a>
by <a href="https://github.com/tomcur"><code>@​tomcur</code></a>)</li>
<li>Improve documentation of <code>AlphaColor</code> vs
<code>PremulColor</code> to clarify alpha premultiplication, and make
both types more discoverable from each other. (<a
href="https://redirect.github.com/linebender/color/issues/190">#190</a>
by <a href="https://github.com/tomcur"><code>@​tomcur</code></a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/ProgramCrafter"><code>@​ProgramCrafter</code></a>
made their first contribution in <a
href="https://redirect.github.com/linebender/color/pull/186">linebender/color#186</a></li>
<li><a href="https://github.com/sagudev"><code>@​sagudev</code></a> made
their first contribution in <a
href="https://redirect.github.com/linebender/color/pull/191">linebender/color#191</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/linebender/color/compare/v0.3.1...v0.3.2">https://github.com/linebender/color/compare/v0.3.1...v0.3.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/linebender/color/blob/main/CHANGELOG.md">color's
changelog</a>.</em></p>
<blockquote>
<h2>[0.3.2][] (2025-09-10)</h2>
<p>This release has an [MSRV][] of 1.82.</p>
<h3>Added</h3>
<ul>
<li>
<p>Add <code>interpolate_unpremultiplied</code> and
<code>gradient_unpremultiplied</code> for interpolating in
unpremultiplied (straight) alpha space.</p>
<p>While such interpolation will often give perceptually undesired
results, this allows using Color to implement rendering features where
such interpolation is specified, like in the <a
href="https://html.spec.whatwg.org/commit-snapshots/a93c6fa9fa95e31f1caa05f2f8abc650669df7c3/#interpolation">HTML
Canvas element</a>. (<a
href="https://redirect.github.com/linebender/color/issues/185">#185</a>[]
by [<a
href="https://github.com/sagudev"><code>@​sagudev</code></a>][])</p>
</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Specify XYZ-D65 color space conversion matrices as exact rationals.
(<a
href="https://redirect.github.com/linebender/color/issues/171">#171</a>[]
by [<a
href="https://github.com/tomcur"><code>@​tomcur</code></a>][])</li>
<li>Improve documentation of <code>AlphaColor</code> vs
<code>PremulColor</code> to clarify alpha premultiplication, and make
both types more discoverable from each other. (<a
href="https://redirect.github.com/linebender/color/issues/190">#190</a>[]
by [<a
href="https://github.com/tomcur"><code>@​tomcur</code></a>][])</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="82ffed8fa7"><code>82ffed8</code></a>
Release 0.3.2 (<a
href="https://redirect.github.com/linebender/color/issues/198">#198</a>)</li>
<li><a
href="b92ec29677"><code>b92ec29</code></a>
Bump dependencies for release (<a
href="https://redirect.github.com/linebender/color/issues/194">#194</a>)</li>
<li><a
href="d529b4fd47"><code>d529b4f</code></a>
Use stronger wording in unpremultiplied interpolation changelog entry
(<a
href="https://redirect.github.com/linebender/color/issues/195">#195</a>)</li>
<li><a
href="36f7e0f5eb"><code>36f7e0f</code></a>
(Temporarily) disable Miri's float randomization (<a
href="https://redirect.github.com/linebender/color/issues/196">#196</a>)</li>
<li><a
href="6a61376761"><code>6a61376</code></a>
Bump dependencies for release (<a
href="https://redirect.github.com/linebender/color/issues/193">#193</a>)</li>
<li><a
href="4c16a60ba6"><code>4c16a60</code></a>
Better document <code>AlphaColor</code> vs <code>PremulColor</code>
premultiplication (<a
href="https://redirect.github.com/linebender/color/issues/190">#190</a>)</li>
<li><a
href="c52903f2f7"><code>c52903f</code></a>
Specify XYZ-D65&lt;-&gt;sRGB conversion as exact rationals (<a
href="https://redirect.github.com/linebender/color/issues/171">#171</a>)</li>
<li><a
href="e630049db7"><code>e630049</code></a>
More <code>to_degrees</code> (<a
href="https://redirect.github.com/linebender/color/issues/188">#188</a>)</li>
<li><a
href="1b9af98a37"><code>1b9af98</code></a>
Support interpolating in unpremultiplied (straight) alpha space (<a
href="https://redirect.github.com/linebender/color/issues/191">#191</a>)</li>
<li><a
href="aee3b0db63"><code>aee3b0d</code></a>
Test interpolation of transparent colors (<a
href="https://redirect.github.com/linebender/color/issues/187">#187</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/linebender/color/compare/v0.3.1...v0.3.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=color&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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-11 01:07:32 +00:00
webbeef
bc496b08e7
Enable the zstd decoder (#36530)
Uses the `zstd` support from `async-compression` to support zstd
Content-Encoding.

Testing: Covered by wpt tests.

Signed-off-by: webbeef <me@webbeef.org>
2025-09-10 14:58:45 +00:00
Narfinger
84465e7768
Removed FnvHash and transformed the rest to FxHashmap (#39233)
This should be the final PR for the Hash Function series that is
trivial.

Of note: I decided to transform `HashMapTracedValues<Atom,..>` to use
FxBuildHasher. This is likely not going to improve performance as Atom's
already have a unique u32 that is used as the Hash but it safes a few
bytes for the RandomState that is normally in the HashMap.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>

Testing: Hash function changes should not change functionality, we
slightly decrease the size and unit tests still work.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-10 13:34:54 +00:00
Euclid Ye
726b456120
webdriver: Focus WebView asynchronously (#39241)
#38160 added a webdriver-specific API to support waiting on focus
operations to complete. Later, #38243 added a unique id to track each
focus operation.

Back then we wait on focusing webview in webdriver hoping to improve
stability, but it does not matter as it turns out later. #39086 also
focuses browsing context asynchronously.

This PR would make webdriver's focusing-webview behaviour same as human
interaction.

Testing: 
[Before 1](https://github.com/yezhizhen/servo/actions/runs/17598288280),
[Before 2](https://github.com/yezhizhen/servo/actions/runs/17598289360),
[Before 3](https://github.com/yezhizhen/servo/actions/runs/17598290532)
[After 1](https://github.com/yezhizhen/servo/actions/runs/17598282988),
[After 2](https://github.com/yezhizhen/servo/actions/runs/17598280603),
[After 3](https://github.com/yezhizhen/servo/actions/runs/17589228530)

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-10 07:36:53 +00:00
Oriol Brufau
433a6bf47b
layout: Set baseline even if line box has no fragment (#39235)
`InlineFormattingContextLayout::finish_current_line_and_reset()` has an
early return in case the line has no fragment. However, if the line only
has a forced line break, then we still need to set the baseline.

Testing: Adding new test.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-09-10 05:17:25 +00:00
dependabot[bot]
aea3467781
build(deps): bump aws-lc-rs from 1.13.3 to 1.14.0 (#39238)
Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.13.3 to
1.14.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aws/aws-lc-rs/releases">aws-lc-rs's
releases</a>.</em></p>
<blockquote>
<h2>aws-lc-rs v1.14.0</h2>
<h2>What's Changed</h2>
<ul>
<li>MSRV bumped to 1.70.0 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/822">aws/aws-lc-rs#822</a></li>
<li>aws-lc-sys v0.31.0 aligned with <a
href="https://github.com/aws/aws-lc/releases/tag/v1.59.0">AWS-LC
v1.59.0</a> by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/867">aws/aws-lc-rs#867</a>
<ul>
<li>Performance improvements for ML-KEM:
<ul>
<li>x86-64: <a
href="https://redirect.github.com/aws/aws-lc/pull/2631">aws/aws-lc#2631</a></li>
<li>arm64: <a
href="https://redirect.github.com/aws/aws-lc/pull/2498">aws/aws-lc#2498</a></li>
</ul>
</li>
</ul>
</li>
<li>Support for <a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/struct.EcdsaKeyPair.html#method.sign_digest">sign</a>/<a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/trait.VerificationAlgorithm.html#tymethod.verify_digest_sig">verify</a>
on digests by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/826">aws/aws-lc-rs#826</a></li>
<li>Support for <a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/cipher/struct.PaddedBlockDecryptingKey.html#method.cbc_iso10126">decrypting
ANSI X9.23 / ISO 10126-padded</a> AES by <a
href="https://github.com/tstenner"><code>@​tstenner</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/847">aws/aws-lc-rs#847</a></li>
<li>Support <a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/aead/struct.RandomizedNonceKey.html">SIV
in RandomizedNonceKey</a> by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/846">aws/aws-lc-rs#846</a></li>
<li>Support verification of <a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/index.html">P256/P384+SHA512
signatures</a> by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/857">aws/aws-lc-rs#857</a></li>
<li><a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/struct.RsaSignatureEncoding.html"><code>RsaSignatureEncoding</code></a>
type is public by <a
href="https://github.com/soundofspace"><code>@​soundofspace</code></a>
in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/864">aws/aws-lc-rs#864</a></li>
<li><a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/struct.ParsedPublicKey.html"><code>ParsedPublicKey</code></a>
for signature operations by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/863">aws/aws-lc-rs#863</a></li>
<li><a
href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/agreement/struct.ParsedPublicKey.html"><code>ParsedPublicKey</code></a>
for agreement operations by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/862">aws/aws-lc-rs#862</a></li>
</ul>
<h3>Build Improvements</h3>
<ul>
<li>Allow prebuilt-NASM w/ Cmake toolchain by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/852">aws/aws-lc-rs#852</a></li>
<li>Add support for Apple tvOS builds by <a
href="https://github.com/matszczygiel"><code>@​matszczygiel</code></a>
in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/848">aws/aws-lc-rs#848</a></li>
</ul>
<h3>Issues Being Resolved</h3>
<ul>
<li>Feature Request: RandomizedNonceKey for AES-GCM-SIV -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/842">aws/aws-lc-rs#842</a></li>
<li>Add way to pre-parse signature keys (i.e. turn
<code>signature::UnparsedPublicKey</code> to <code>PublicKey</code>) --
<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/849">aws/aws-lc-rs#849</a></li>
<li>Build failed for x86_64-pc-windows-gnu target regardless of
AWS_LC_SYS_PREBUILT_NASM=1 -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/850">aws/aws-lc-rs#850</a></li>
</ul>
<h2>Other Merged PRs</h2>
<ul>
<li>Exclude CI jobs for invalid param combinations by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/866">aws/aws-lc-rs#866</a></li>
<li>Prepare aws-lc-rs v1.14.0 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/876">aws/aws-lc-rs#876</a></li>
<li>Fix + refactor &quot;ios-simulator-runner.sh&quot; by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/868">aws/aws-lc-rs#868</a></li>
<li>Support CPU Jitter Entropy from upstream RAGDOLL by <a
href="https://github.com/torben-hansen"><code>@​torben-hansen</code></a>
in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/865">aws/aws-lc-rs#865</a></li>
<li>Avoid doctests in cross-compile CI by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/855">aws/aws-lc-rs#855</a></li>
<li>Consolidate agreement functions into LcPtr&lt;EVP_PKEY&gt; by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/854">aws/aws-lc-rs#854</a></li>
<li>Fix unexpected +1.70.0 compiler error by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/861">aws/aws-lc-rs#861</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/tstenner"><code>@​tstenner</code></a>
made their first contribution in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/847">aws/aws-lc-rs#847</a></li>
<li><a
href="https://github.com/matszczygiel"><code>@​matszczygiel</code></a>
made their first contribution in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/848">aws/aws-lc-rs#848</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/aws/aws-lc-rs/compare/v1.13.3...v1.14.0">https://github.com/aws/aws-lc-rs/compare/v1.13.3...v1.14.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="18bd3cb715"><code>18bd3cb</code></a>
Prepare aws-lc-rs v1.14.0 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/876">#876</a>)</li>
<li><a
href="9a2b0ccd7b"><code>9a2b0cc</code></a>
ParsedPublicKey for agreement (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/862">#862</a>)</li>
<li><a
href="f139e68a2f"><code>f139e68</code></a>
Allow prebuilt-NASM w/ Cmake toolchain (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/852">#852</a>)</li>
<li><a
href="6aaec4a76a"><code>6aaec4a</code></a>
Fix unexpected +1.70.0 compiler error (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/861">#861</a>)</li>
<li><a
href="beef8151ae"><code>beef815</code></a>
ParsedPublicKey for signature (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/863">#863</a>)</li>
<li><a
href="124f67495d"><code>124f674</code></a>
Expose RsaSignatureEncoding (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/864">#864</a>)</li>
<li><a
href="86de8dfe9f"><code>86de8df</code></a>
Add support for Apple tvOS builds (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/848">#848</a>)</li>
<li><a
href="8e8b957032"><code>8e8b957</code></a>
Fix + refactor &quot;ios-simulator-runner.sh&quot; (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/868">#868</a>)</li>
<li><a
href="f012503737"><code>f012503</code></a>
Exclude jobs w/ invalid params (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/866">#866</a>)</li>
<li><a
href="2630afad94"><code>2630afa</code></a>
Prepare aws-lc-sys v0.31.0 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/867">#867</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aws/aws-lc-rs/compare/v1.13.3...v1.14.0">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot 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-09-10 01:17:04 +00:00
dependabot[bot]
4915ef7df8
build(deps): bump zbus_macros from 5.10.0 to 5.11.0 (#39237)
Bumps [zbus_macros](https://github.com/dbus2/zbus) from 5.10.0 to
5.11.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="edd9a3c3d3"><code>edd9a3c</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1494">#1494</a> from
zeenix/prep-zb-5.11</li>
<li><a
href="ee3fb1b4f7"><code>ee3fb1b</code></a>
🔖 zb,zm: Release 5.11.0</li>
<li><a
href="9f85ee4b3d"><code>9f85ee4</code></a>
 zb: Much shorter timeout in method timeout test</li>
<li><a
href="000039a7d8"><code>000039a</code></a>
♻️ zb: Micro simplification</li>
<li><a
href="dbd853e3be"><code>dbd853e</code></a>
⬆️ micro: Update chrono to v0.4.42 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1493">#1493</a>)</li>
<li><a
href="bd4d5c722e"><code>bd4d5c7</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1491">#1491</a> from
dbus2/security-policy</li>
<li><a
href="29825e74cc"><code>29825e7</code></a>
🔒️ Add comprehensive security policy</li>
<li><a
href="e46151c9ad"><code>e46151c</code></a>
Merge pull request <a
href="https://redirect.github.com/dbus2/zbus/issues/1477">#1477</a> from
sergeyfd/main</li>
<li><a
href="979f5f9030"><code>979f5f9</code></a>
 zb: API to specify timeouts for method calls</li>
<li><a
href="442063d295"><code>442063d</code></a>
⬆️ micro: Update time to v0.3.43 (<a
href="https://redirect.github.com/dbus2/zbus/issues/1490">#1490</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/dbus2/zbus/compare/zbus-5.10.0...zbus-5.11.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.10.0&new-version=5.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-09-10 01:11:40 +00:00
JasonHonKL
839878c743
script: Make root_from_handle_value a safe function by accepting SafeJSContext (#39193)
Change from unsafe pointer of root_from_handle_value  to SafeJSContext. 

#39131

---------

Signed-off-by: JasonHonKL <j2004nol@gmail.com>
Signed-off-by: Jason <jason@198-61-252-113-on-nets.com>
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Co-authored-by: Jason <jason@198-61-252-113-on-nets.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2025-09-09 19:26:02 +00:00
lumiscosity
721fc01c30
script: Fix building with webgl_backtrace feature (#39231)
I think this is the correct solution? GlobalScope::get_cx() doesn't take
a self parameter anymore.

Testing: WebGL tests should suffice.
Fixes: #39228

Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2025-09-09 14:09:20 +00:00
Martin Robinson
ebfb5b1abb
libservo: Make Servo (and servoshell) more resilient against extreme sizes (#39204)
Make several changes which should address panics and inconsistent
behavior around attempts to set extreme sizes:

1. Limit the minimum size of the `RenderingContext` to 1 pixel by 1
   pixel. This should address problems where users of the API try to
   directly set the size to a zero or negative dimension. In addition,
   improve the documentation around `WebView::resize` to mention this.
2. Clamp values sent in the `WebViewDelegate::request_resize_to` method
   to be at least 1x1. This prevents Servo from sending nonsense values
   to embedders. Improve documentation in this method.
3. In servoshell:
    - More consistently clamp inner and outer window size values.
    - Clamp all resize values to the available screen size, so that
      large screen sizes aren't processed directly.

Testing: This change fixes an existing WPT and adds two new API tests.
Fixes: #36763.
Fixes: #36841.
Fixes: #39141.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-09-09 12:51:30 +00:00
Simon Wülker
406eab4ec2
script: Remove three duplicated log functions from webgl (#39227)
We have the standard library at our disposal, let's use it.

Testing: Covered by existing tests

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-09-09 11:31:55 +00:00
Abdelrahman Hossam
7a28fd786c
ohos: Adding support for running WPT on OHOS devices using WebDriver (#38846)
Architecture:
```
Desktop (Test Controller)        OHOS Device (Test Target)
┌─────────────────────────┐     ┌─────────────────────────┐
│ WPT Server (port 8000)  │     │ Servo Browser           │
│ Test Runner Script      │---->│ WebDriver Server (7000) │
│ HDC Port Forwarding     │     │ Test Execution          │
└─────────────────────────┘     └─────────────────────────┘
```
After the test is finished, the script will parse the results and print
them in a readable format.

Tried to handle as many errors as possible and find workarounds for each
error to ensure the testing can be completed, or at least provide
comprehensive logs or information to identify exactly where the problem
is. Note that the used ports are just for testing; you can change them
to any other available ports, but make sure that the ports are
consistent in the script and given commands.

To run a WPT test on an OHOS device, you need to:
1. Connect OHOS device to the desktop via a cable (didn't try any other
way of communication)
2. Build and deploy servo with the changes in this PR using
[servoDemo](https://github.com/jschwe/ServoDemo). You can find there the
instructions to build and deploy servo to OHOS device.
3. While deploying servo to OHOS you need to ensure WebDriver is enabled
with the argument --webdriver=7000
4. Ensure OHOS SDK with HDC in PATH
5. Start WPT server on the desktop on a different terminal in servo
directory: ```bash python -m wpt serve --port 8000 ```
6. Update desktop IP in test scripts:
```python
desktop_ip = "192.168.1.100"  # Your desktop's IP
```
You can find your desktop IP with:
```bash
# Windows
ipconfig | findstr "IPv4"

# macOS/Linux
ifconfig | grep "inet "
```
script can be modified to detect the desktop's IP automatically ...
later.
7. Run tests using the new mach command:

```bash
./mach test-ohos-wpt \
    --test <test relative path> \
    --webdriver-port 7000 \
    --wpt-server-port 8000 \
    --verbose
```

The script will:
1. Set up HDC port forwarding and reverse port forwarding for WPT
automatically
2. Connect to WebDriver server on the device
3. Navigate to the test URL
4. Wait for test completion
5. Show test results

Troubleshooting common Issues and Solutions:

1. HDC command not found:
   - Install OHOS SDK and add HDC to PATH
   - Verify: `hdc --version`

2. Failed to connect to WebDriver:
   - Ensure Servo is running with `--webdriver=7000` argument
   - Check device connection: `hdc list targets`
   - Verify port forwarding: `hdc fport ls`
   - Test WebDriver directly: `curl http://localhost:7000/status`

3. Failed to navigate to test URL:
   - Update `desktop_ip` in the script
   - Ensure both devices are on same network or connected via cable
   - Test connectivity: ping from device to desktop

4. Test timeouts:
   - Increase timeout in script (default: 30 seconds)
   - Check if test requires specific dependencies
   - Verify WPT server is serving the test file

---------

Signed-off-by: abdelrahman1234567 <abdelrahman.hossameldin.awadalla@huawei.com>
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
Co-authored-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-09-09 08:57:36 +00:00
Narfinger
177f6d6502
Replace Hash Algorithm in HashMap/Set with FxHashMap/Set for simple types (#39166)
FxHash is faster than FnvHash and SipHash for simple types up to at
least 64 bytes. The cryptographic guarantees are not needed for any
types changed here because they are simple ids.
This changes the types in script and net crates.
In a future PR we will change the remaining Fnv to be also Fx unless
there is a reason to keep them as Fnv.

Testing: Should not change functionality but unit test and wpt will find
it.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-09-09 08:33:46 +00:00
Sam
1deb7b5957
script: Document need for always sending an image update to compositor (#39210)
I hit this many times while working on #38717

Testing: Not needed because we just update the docs

---------

Signed-off-by: Sam <16504129+sagudev@users.noreply.github.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-09-09 08:19:57 +00:00
lumiscosity
ccecb18a9c
script: Propagate CanGc argument through DictionaryFromJSVal trait (#39223)
Testing: Internal changes only, shouldn't change behaviour.
Fixes: #39206

Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2025-09-09 06:46:53 +00:00
Sam
1f0f079203
webgpu: Simplify presentation and handle cleared in script (#38717)
There are many important changes here:

- Generalize the presentation buffer into standalone staging buffers
that hold their own state. This allow them to be used by getImage.
- Move all clear handling to the ScriptThread and send the configuration
on each request present/getimage, thus avoiding any recreate/clearing
messages. This means that we prepare staging buffers lazily, on the
first request.

Try run for this change:
https://github.com/sagudev/servo/actions/runs/17341982368
Testing: This is covered by existing WebGPU CTS tests. There are some
bad expectations updates, but they are also on main (presumably from
last update the rendering work) although I think CTS is actually wrong
(see https://github.com/gpuweb/cts/issues/4440).
Fixes: #36820
Fixes: #37705
Fixes: #33368 (we now keep reference alive in hashmap)

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-09-09 03:35:12 +00:00
Jo Steven Novaryo
8d2723b2c9
layout: Fix Textual <input> Vertical Align Style (#39014)
Reincorporate the styles to help with the vertical alignment of textual
`<input>` element that was removed by #38775. Followed by adding Servo
specific WPTs to help with these kinds of problem.

Testing: New WPT

Signed-off-by: Jo Steven Novaryo <jo.steven.novaryo@huawei.com>
2025-09-09 03:09:38 +00:00
dependabot[bot]
2895ff233a
build(deps): bump indexmap from 2.11.0 to 2.11.1 (#39220)
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=indexmap&package-manager=cargo&previous-version=2.11.0&new-version=2.11.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-09-09 03:03:28 +00:00