Commit graph

51385 commits

Author SHA1 Message Date
Euclid Ye
27570987fd
update doc for ScriptThread::relative_mouse_down_point (#36743)
update doc for `ScriptThread::relative_mouse_down_point` which was
missing in #36619

Testing: No need as just updating docs

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-04-29 21:11:27 +00:00
haval0
ec88b5d752
layout: Check if root before establishing containing block (#36360)
As per
[w3.org/TR/filter-effects-1#FilterProperty](https://www.w3.org/TR/filter-effects-1/#FilterProperty),
`filter` shouldn't make the root element establish a containing block
for absolute and fixed positioned descendants. `will-change: filter` has
matching behavior.

This PR adds a check for if we are the root element before establishing
such a block.

To know if we are the root element, we look at the `FragmentFlags`
passed in. Previously for our function, these were dummy flags, always
constructed as empty. Thus, this PR also makes sure the correct
FragmentFlags are passed down the chain to the function
`establishes_containing_block_for_all_descendants`.

Testing:
- `/css/filter-effects/filtered-html-is-not-container.html` now passes
- `/css/css-will-change/will-change-fixedpos-cb-003.html` now passes
- Manual tests are working

Fixes: #35391

---------

Signed-off-by: haval0 <56519858+haval0@users.noreply.github.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-04-29 19:19:31 +00:00
Fuguo
bab788f5d5
fix crash occurs when the focus element is adopted (#36608)
fix crash occurs when the focus element is adopted.

Testing: wpt dom/nodes/insertion-removing-steps/blur-event.window.html
not crash

Fixes:  #36607 #32972

---------

Signed-off-by: kongbai1996 <1782765876@qq.com>
2025-04-29 19:04:22 +00:00
Taym Haddadi
b6a89ae408
Fix BorrowMutError crash in form reset (#36726)
Fixes: #36724

Signed-off-by: Taym <haddadi.taym@gmail.com>
2025-04-29 18:59:50 +00:00
dependabot[bot]
e79520c25a
build(deps): bump bytemuck from 1.22.0 to 1.23.0 (#36754)
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.22.0 to
1.23.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Lokathor/bytemuck/blob/main/changelog.md">bytemuck's
changelog</a>.</em></p>
<blockquote>
<h1><code>bytemuck</code> changelog</h1>
<h2>1.23</h2>
<ul>
<li><code>impl_core_error</code> crate feature adds
<code>core::error::Error</code> impl.</li>
<li>More <code>ZeroableInOption</code> impls.</li>
</ul>
<h2>1.22</h2>
<ul>
<li>Add the <code>pod_saturating</code> feature, which adds
<code>Pod</code> impls for <code>Saturating&lt;T&gt;</code>
when <code>T</code> is already <code>Pod</code>.</li>
<li>A bump in the minimum <code>bytemuck_derive</code> dependency from
1.4.0 to 1.4.1 to
avoid a bug if you have a truly ancient <code>cargo.lock</code> file
sitting around.</li>
<li>Adds <code>Send</code> and <code>Sync</code> impls to
<code>BoxBytes</code>.</li>
</ul>
<h2>1.21</h2>
<ul>
<li>Implement <code>Pod</code> and <code>Zeroable</code> for
<code>core::arch::{x86, x86_64}::__m512</code>, <code>__m512d</code> and
<code>__m512i</code> without nightly.
Requires Rust 1.72, and is gated through the <code>avx512_simd</code>
cargo feature.</li>
<li>Allow the use of <code>must_cast_mut</code> and
<code>must_cast_slice_mut</code> in const contexts.
Requires Rust 1.83, and is gated through the
<code>must_cast_extra</code> cargo feature.</li>
<li>internal: introduced the <code>maybe_const_fn</code> macro that
allows defining some function
to be const depending upon some <code>cfg</code> predicate.</li>
</ul>
<h2>1.20</h2>
<ul>
<li>New functions to allocate zeroed <code>Arc</code> and
<code>Rc</code>. Requires Rust 1.82</li>
<li><code>TransparentWrapper</code> impls for
<code>core::cmp::Reverse</code> and
<code>core::num::Saturating</code>.</li>
<li>internal: Simplified the library's <code>fill_zeroes</code> calls to
<code>write_bytes</code></li>
</ul>
<h2>1.19</h2>
<ul>
<li>Adds the <code>#[track_caller]</code> attribute to functions which
may panic.</li>
</ul>
<h2>1.18</h2>
<ul>
<li>Adds the <code>latest_stable_rust</code> cargo feature, which is a
blanket feature that turns all other features on that are both sound and
compatible with Stable rust.</li>
</ul>
<h2>1.17.1</h2>
<ul>
<li>Adds <code>#[repr(C)]</code> to the <code>union Transmute&lt;A,
B&gt;</code> type that's used internally
for most of the transmutations.</li>
</ul>
<h2>1.17.0</h2>
<ul>
<li>Makes the <code>must_cast</code> versions of the by-value and by-ref
casts be <code>const</code>.
The mut ref cast is unaffected for now (mut references aren't yet stable
in <code>const fn</code>).
This increases the MSRV of using that particular feature from 1.57 to
1.64.</li>
</ul>
<h2>1.16.3</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="028ff3bec6"><code>028ff3b</code></a>
chore: Release bytemuck version 1.23.0</li>
<li><a
href="343f34ff9e"><code>343f34f</code></a>
changelog</li>
<li><a
href="90db36000f"><code>90db360</code></a>
Impl core's Error trait on Rust 1.81+ (<a
href="https://redirect.github.com/Lokathor/bytemuck/issues/311">#311</a>)</li>
<li><a
href="ede91413f7"><code>ede9141</code></a>
Set rust version for <code>bytemuck_derive</code> to 1.61 (<a
href="https://redirect.github.com/Lokathor/bytemuck/issues/310">#310</a>)</li>
<li><a
href="46d0910f3a"><code>46d0910</code></a>
Extend <a
href="https://redirect.github.com/Lokathor/bytemuck/issues/308">#308</a>
with <code>-unwind</code> support (<a
href="https://redirect.github.com/Lokathor/bytemuck/issues/309">#309</a>)</li>
<li><a
href="6751adc3e4"><code>6751adc</code></a>
Impl ZeroablInOption for several function types. (<a
href="https://redirect.github.com/Lokathor/bytemuck/issues/308">#308</a>)</li>
<li><a
href="66569e6cc7"><code>66569e6</code></a>
chore: Release bytemuck_derive version 1.9.2</li>
<li><a
href="5c301b1ddd"><code>5c301b1</code></a>
remove resolver from the Cargo.toml</li>
<li><a
href="3053413e55"><code>3053413</code></a>
update the .cargo/config.toml to use the &quot;stable rust&quot;
feature.</li>
<li><a
href="9b087bb7e5"><code>9b087bb</code></a>
chore: Release bytemuck_derive version 1.9.1</li>
<li>Additional commits viewable in <a
href="https://github.com/Lokathor/bytemuck/compare/v1.22.0...v1.23.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bytemuck&package-manager=cargo&previous-version=1.22.0&new-version=1.23.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-04-29 17:22:42 +00:00
dependabot[bot]
830a850f10
build(deps): bump toml_edit from 0.22.25 to 0.22.26 (#36756)
Bumps [toml_edit](https://github.com/toml-rs/toml) from 0.22.25 to
0.22.26.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="6922da374c"><code>6922da3</code></a>
chore: Release</li>
<li><a
href="fbf0a9298c"><code>fbf0a92</code></a>
docs: Update changelog</li>
<li><a
href="83588b3610"><code>83588b3</code></a>
Merge pull request <a
href="https://redirect.github.com/toml-rs/toml/issues/878">#878</a> from
epage/w1</li>
<li><a
href="eeb885ceb5"><code>eeb885c</code></a>
fix(serde): Skip fields with newtypes wrapping None</li>
<li><a
href="3c305c72fa"><code>3c305c7</code></a>
test(serde): Show NewType(None) behavior</li>
<li><a
href="7bd5eafbd7"><code>7bd5eaf</code></a>
test(serde): Group None tests</li>
<li><a
href="388cfa3856"><code>388cfa3</code></a>
chore(deps): Update toml-test (<a
href="https://redirect.github.com/toml-rs/toml/issues/877">#877</a>)</li>
<li><a
href="a025b84797"><code>a025b84</code></a>
refactor(edit): Change ser none tracking to mut field</li>
<li><a
href="54666ad0b2"><code>54666ad</code></a>
docs(write): Add guidance</li>
<li><a
href="13cf5185f9"><code>13cf518</code></a>
refactor(edit): Bypass a layer of abstraction in ser</li>
<li>Additional commits viewable in <a
href="https://github.com/toml-rs/toml/compare/v0.22.25...v0.22.26">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml_edit&package-manager=cargo&previous-version=0.22.25&new-version=0.22.26)](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-04-29 17:14:23 +00:00
dependabot[bot]
263f4d575c
build(deps): bump wayland-backend from 0.3.8 to 0.3.9 (#36753)
Bumps [wayland-backend](https://github.com/smithay/wayland-rs) from
0.3.8 to 0.3.9.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/smithay/wayland-rs/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=wayland-backend&package-manager=cargo&previous-version=0.3.8&new-version=0.3.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-04-29 17:03:01 +00:00
dependabot[bot]
b695668e74
build(deps): bump chrono from 0.4.40 to 0.4.41 (#36752)
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.40 to
0.4.41.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chronotope/chrono/releases">chrono's
releases</a>.</em></p>
<blockquote>
<h2>v0.4.41</h2>
<h2>What's Changed</h2>
<ul>
<li>Add <code>subsec_micros</code> and <code>subsec_millis</code>
methods to <code>TimeDelta</code> by <a
href="https://github.com/ggoetz"><code>@​ggoetz</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1668">chronotope/chrono#1668</a></li>
<li>Deprecate <code>NaiveDateTime::UNIX_EPOCH</code> by <a
href="https://github.com/robertbastian"><code>@​robertbastian</code></a>
in <a
href="https://redirect.github.com/chronotope/chrono/pull/1670">chronotope/chrono#1670</a></li>
<li>Implement <code>as_seconds_f32</code> and
<code>as_seconds_f64</code> for <code>TimeDelta</code> by <a
href="https://github.com/ggoetz"><code>@​ggoetz</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1671">chronotope/chrono#1671</a></li>
<li>chore: fix some comments by <a
href="https://github.com/jimmycathy"><code>@​jimmycathy</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1677">chronotope/chrono#1677</a></li>
<li>Add <code>num_days_in_month</code> method to <code>Datelike</code>
trait by <a href="https://github.com/aslilac"><code>@​aslilac</code></a>
in <a
href="https://redirect.github.com/chronotope/chrono/pull/1673">chronotope/chrono#1673</a></li>
<li>add <code>WeekdaySet</code>, a collection of <code>Weekday</code>
that is <code>Copy</code> by <a
href="https://github.com/Kinrany"><code>@​Kinrany</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1676">chronotope/chrono#1676</a></li>
<li>WeekdaySet tweaks by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1680">chronotope/chrono#1680</a></li>
<li>Upgrade to windows-bindgen 0.61 by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1682">chronotope/chrono#1682</a></li>
<li>Implemented a consistent Eq trait for NaiveWeek by <a
href="https://github.com/Splashling1789"><code>@​Splashling1789</code></a>
in <a
href="https://redirect.github.com/chronotope/chrono/pull/1687">chronotope/chrono#1687</a></li>
<li>TimeZone::from_posix_tz: Treat empty TZ variable as UTC by <a
href="https://github.com/drinkcat"><code>@​drinkcat</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1691">chronotope/chrono#1691</a></li>
<li>Add support for lossy format strings by <a
href="https://github.com/Qelxiros"><code>@​Qelxiros</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1693">chronotope/chrono#1693</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d1de1d95ea"><code>d1de1d9</code></a>
Bump version to 0.4.41</li>
<li><a
href="e2bd1d1d67"><code>e2bd1d1</code></a>
Add support for lenient format strings (<a
href="https://redirect.github.com/chronotope/chrono/issues/1693">#1693</a>)</li>
<li><a
href="2c95b0aca8"><code>2c95b0a</code></a>
Tweak expression to avoid repetition</li>
<li><a
href="ebeef99426"><code>ebeef99</code></a>
TimeZone::from_posix_tz: Treat empty TZ variable as UTC</li>
<li><a
href="dc068f0373"><code>dc068f0</code></a>
Tweak style on NaiveWeek fixes</li>
<li><a
href="b267a4fe90"><code>b267a4f</code></a>
Implemented consistent Hash and Eq trait for NaiveWeek</li>
<li><a
href="7c0bd136d6"><code>7c0bd13</code></a>
Apply suggestions from clippy 1.86</li>
<li><a
href="104cdc73cb"><code>104cdc7</code></a>
Bump MSRV to 1.62</li>
<li><a
href="6a853015b7"><code>6a85301</code></a>
Upgrade to windows-bindgen 0.61</li>
<li><a
href="265c79b2a5"><code>265c79b</code></a>
Tweak WeekdaySet method order</li>
<li>Additional commits viewable in <a
href="https://github.com/chronotope/chrono/compare/v0.4.40...v0.4.41">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chrono&package-manager=cargo&previous-version=0.4.40&new-version=0.4.41)](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-04-29 16:56:13 +00:00
Oriol Brufau
761d1af04e
build(deps): bump Stylo from 0eaeea3 to 03ffc85 (#36750)
0eaeea3dfd...03ffc85c45

- https://github.com/servo/stylo/pull/173
  Use web_atoms crate
- https://github.com/servo/stylo/pull/174
  servo_arc: make track_alloc_size feature a default feature

Testing: unneeded, no behavior change

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-04-29 14:49:54 +00:00
dependabot[bot]
01bbf02214
build(deps): bump webpki-roots from 0.26.8 to 0.26.9 (#36734)
Bumps [webpki-roots](https://github.com/rustls/webpki-roots) from 0.26.8
to 0.26.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rustls/webpki-roots/releases">webpki-roots's
releases</a>.</em></p>
<blockquote>
<h2>0.26.9</h2>
<p>The license of the <code>webpki-roots</code> and
<code>webpki-root-certs</code> crates changed from MPL-2.0 to
CDLA-Permissive-2.0. Thank you to the <a
href="https://redirect.github.com/mozilla/www.ccadb.org/issues/188">CCADB
maintainers for enabling us to make this change</a>.</p>
<h2>Upstream changes</h2>
<p><em>None</em></p>
<h2>What's Changed</h2>
<ul>
<li>Adjust license of mechnically-reformed crates by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/rustls/webpki-roots/pull/88">rustls/webpki-roots#88</a></li>
<li>Run CI on ubuntu-latest by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/rustls/webpki-roots/pull/91">rustls/webpki-roots#91</a></li>
<li>Support code-signing trust bit by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/rustls/webpki-roots/pull/93">rustls/webpki-roots#93</a></li>
<li><code>manual_ok_err</code> clippy fix by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/rustls/webpki-roots/pull/94">rustls/webpki-roots#94</a></li>
<li>webpki-(roots|root-certs): v0.26.8 -&gt; v0.26.9 by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/rustls/webpki-roots/pull/95">rustls/webpki-roots#95</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rustls/webpki-roots/compare/v/0.26.8...v/0.26.9">https://github.com/rustls/webpki-roots/compare/v/0.26.8...v/0.26.9</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="575994bb51"><code>575994b</code></a>
webpki-(roots|root-certs): v0.26.8 -&gt; v0.26.9</li>
<li><a
href="f9f5789f47"><code>f9f5789</code></a>
<code>manual_ok_err</code> clippy fix</li>
<li><a
href="fce41f761a"><code>fce41f7</code></a>
Support code-signing trust bit</li>
<li><a
href="f19c83f0f6"><code>f19c83f</code></a>
Run CI on ubuntu-latest</li>
<li><a
href="90c48f3867"><code>90c48f3</code></a>
Adjust license of mechanically-reformed crates</li>
<li>See full diff in <a
href="https://github.com/rustls/webpki-roots/compare/v/0.26.8...v/0.26.9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=webpki-roots&package-manager=cargo&previous-version=0.26.8&new-version=0.26.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-04-29 14:12:17 +00:00
Andrei Volykhin
6b2a755736
canvas: Apply large size limitations (#36445)
To prevent any potential crash/OOM issues with "canvas" element
from "rogue" applications let's apply large size limitations for context
canvas2d's draw target to Servo (similar approach in Firefox/Chromium -
they limits width and height to 32767/65535 pixels).

Fixes: #36155, #34117, #30164, #24710

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

tests/wpt/tests/html/canvas/element/canvas-host/2d.canvas.host.size.large.html

tests/wpt/tests/html/canvas/offscreen/canvas-host/2d.canvas.host.size.large.html

tests/wpt/tests/html/canvas/offscreen/canvas-host/2d.canvas.host.size.large.worker.js

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-04-29 13:48:30 +00:00
Steven Novaryo
bd6928f3dc
layout: Account for transform in scrollable overflow (#36138)
In the scrollable overflow calcutation, apply CSS transforms to boxes
and scrollable overflow of the descendant. Clip unreachable scrollable
overflow according to it's block start and inline start scrolling
direction. And, renamed `Fragment::scrolling_overflow` to
`Fragment::scrolling_overflow_for_parent` as it was calculating the
scrolling overflow contribution from a child.

Add several WPT tests, testing the transform interaction `rotate`,
`scale`, and `skew` with scrollable overflow. There are several WPT test
that are testing the interaction that not expected from current browsers
implementation according to the spec.

Testing: Existing and new WPT. 
Fixes: #36031

---------

Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
2025-04-29 09:37:27 +00:00
atbrakhi
b92542b756
Devtools: Support worker scripts in Debugger > Source panel (#36562)
This patch adds support for listing `worker scripts` in `debugger >
source` panel

For example:
```
<!-- test.html -->
<!doctype html><meta charset=utf-8>
<script>
    setTimeout(() => {
        console.log("inline classic");
        new Worker("worker.js");
        
        const blob = new Blob([`console.log("blob worker");`], { type: "text/javascript" });
        const blobURL = URL.createObjectURL(blob);
        new Worker(blobURL);
    }, 2000);
</script>
```

```
// worker.js
console.log("external classic worker");
```

```
./mach run --devtools=6080 http://127.0.0.1:3000/test.html
```

![file1](https://github.com/user-attachments/assets/84dd94b9-95d8-4087-b4bb-ab936fca0023)


Another example:
```
./mach run --devtools=6080 https://charming.daz.cat/ 
```


![blob](https://github.com/user-attachments/assets/a1341ee4-3a1c-4cca-ac04-658675cdcf39)


- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes partially implement #36027
- [x] These changes require tests, but they are blocked on
https://github.com/servo/servo/issues/36325

---------

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
2025-04-29 08:27:42 +00:00
dependabot[bot]
107fd25465
build(deps): bump toml_datetime from 0.6.8 to 0.6.9 (#36733)
Bumps [toml_datetime](https://github.com/toml-rs/toml) from 0.6.8 to
0.6.9.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="40210818d7"><code>4021081</code></a>
chore: Release</li>
<li><a
href="33126988a3"><code>3312698</code></a>
chore: Release</li>
<li><a
href="b25da32148"><code>b25da32</code></a>
docs: Update changelog</li>
<li><a
href="884494977f"><code>8844949</code></a>
docs(write): Update base commit</li>
<li><a
href="5406815967"><code>5406815</code></a>
Merge pull request <a
href="https://redirect.github.com/toml-rs/toml/issues/875">#875</a> from
epage/w</li>
<li><a
href="c6479a246c"><code>c6479a2</code></a>
refactor(toml): Pull out ValueSerializer for easier comparison</li>
<li><a
href="8c43cf8903"><code>8c43cf8</code></a>
refactor(toml): Remove redundant non_exhaustive</li>
<li><a
href="268a1f82aa"><code>268a1f8</code></a>
Merge pull request <a
href="https://redirect.github.com/toml-rs/toml/issues/874">#874</a> from
epage/w</li>
<li><a
href="e406f94893"><code>e406f94</code></a>
refactor(toml): Split ser module</li>
<li><a
href="4d782f8cdf"><code>4d782f8</code></a>
refactor(edit): Rely on type alias in ser</li>
<li>Additional commits viewable in <a
href="https://github.com/toml-rs/toml/compare/toml_datetime-v0.6.8...toml_datetime-v0.6.9">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml_datetime&package-manager=cargo&previous-version=0.6.8&new-version=0.6.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-04-28 23:52:11 +00:00
dependabot[bot]
1606b31f7c
build(deps): bump toml_edit from 0.22.24 to 0.22.25 (#36736)
Bumps [toml_edit](https://github.com/toml-rs/toml) from 0.22.24 to
0.22.25.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="40210818d7"><code>4021081</code></a>
chore: Release</li>
<li><a
href="33126988a3"><code>3312698</code></a>
chore: Release</li>
<li><a
href="b25da32148"><code>b25da32</code></a>
docs: Update changelog</li>
<li><a
href="884494977f"><code>8844949</code></a>
docs(write): Update base commit</li>
<li><a
href="5406815967"><code>5406815</code></a>
Merge pull request <a
href="https://redirect.github.com/toml-rs/toml/issues/875">#875</a> from
epage/w</li>
<li><a
href="c6479a246c"><code>c6479a2</code></a>
refactor(toml): Pull out ValueSerializer for easier comparison</li>
<li><a
href="8c43cf8903"><code>8c43cf8</code></a>
refactor(toml): Remove redundant non_exhaustive</li>
<li><a
href="268a1f82aa"><code>268a1f8</code></a>
Merge pull request <a
href="https://redirect.github.com/toml-rs/toml/issues/874">#874</a> from
epage/w</li>
<li><a
href="e406f94893"><code>e406f94</code></a>
refactor(toml): Split ser module</li>
<li><a
href="4d782f8cdf"><code>4d782f8</code></a>
refactor(edit): Rely on type alias in ser</li>
<li>Additional commits viewable in <a
href="https://github.com/toml-rs/toml/compare/v0.22.24...v0.22.25">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml_edit&package-manager=cargo&previous-version=0.22.24&new-version=0.22.25)](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-04-28 23:45:19 +00:00
dependabot[bot]
b862b16430
build(deps): bump quick-xml from 0.37.4 to 0.37.5 (#36738)
Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.37.4 to
0.37.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tafia/quick-xml/releases">quick-xml's
releases</a>.</em></p>
<blockquote>
<h2>v0.37.5 - BytesCData::decode()</h2>
<h2>What's Changed</h2>
<h3>New Features</h3>
<ul>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/857">#857</a>:
Add <code>BytesCData::decode()</code>.</li>
</ul>
<p><a
href="https://redirect.github.com/tafia/quick-xml/issues/857">#857</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/pull/857">tafia/quick-xml#857</a></p>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/mematthias"><code>@​mematthias</code></a> made
their first contribution in <a
href="https://redirect.github.com/tafia/quick-xml/pull/857">tafia/quick-xml#857</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/tafia/quick-xml/compare/v0.37.4...v0.37.5">https://github.com/tafia/quick-xml/compare/v0.37.4...v0.37.5</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tafia/quick-xml/blob/master/Changelog.md">quick-xml's
changelog</a>.</em></p>
<blockquote>
<h2>0.37.5 -- 2025-04-27</h2>
<h3>New Features</h3>
<ul>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/857">#857</a>:
Add <code>BytesCData::decode()</code>.</li>
</ul>
<p><a
href="https://redirect.github.com/tafia/quick-xml/issues/857">#857</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/pull/857">tafia/quick-xml#857</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a018365abc"><code>a018365</code></a>
Release 0.37.5</li>
<li><a
href="a7cb878899"><code>a7cb878</code></a>
Merge pull request <a
href="https://redirect.github.com/tafia/quick-xml/issues/857">#857</a>
from mematthias/master</li>
<li><a
href="4acc194928"><code>4acc194</code></a>
Make BytesCData decode method pub</li>
<li>See full diff in <a
href="https://github.com/tafia/quick-xml/compare/v0.37.4...v0.37.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=quick-xml&package-manager=cargo&previous-version=0.37.4&new-version=0.37.5)](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-04-28 23:40:12 +00:00
dependabot[bot]
67ec8bc8dd
build(deps): bump web_atoms from 0.1.0 to 0.1.1 (#36732)
Bumps [web_atoms](https://github.com/servo/html5ever) from 0.1.0 to
0.1.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="15d10bf716"><code>15d10bf</code></a>
v0.1.1</li>
<li><a
href="b57243cb76"><code>b57243c</code></a>
Auto merge of <a
href="https://redirect.github.com/servo/html5ever/issues/146">#146</a> -
servo:rustup, r=SimonSapin</li>
<li><a
href="4630ad8a95"><code>4630ad8</code></a>
Upgrade to rustc 1.2.0-nightly (2f5683913 2015-06-18)</li>
<li><a
href="395e39ce7b"><code>395e39c</code></a>
Merge pull request <a
href="https://redirect.github.com/servo/html5ever/issues/145">#145</a>
from kstep/patch-1</li>
<li><a
href="5f8d1e128e"><code>5f8d1e1</code></a>
add documentation link to cargo.toml</li>
<li><a
href="73d3f78e82"><code>73d3f78</code></a>
Auto merge of <a
href="https://redirect.github.com/servo/html5ever/issues/144">#144</a> -
servo:crates.io, r=metajack</li>
<li>See full diff in <a
href="https://github.com/servo/html5ever/compare/v0.1.0...v0.1.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=web_atoms&package-manager=cargo&previous-version=0.1.0&new-version=0.1.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-04-28 20:36:04 +00:00
dependabot[bot]
77cceaed2f
build(deps): bump syn from 2.0.100 to 2.0.101 (#36735)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.100 to 2.0.101.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/syn/releases">syn's
releases</a>.</em></p>
<blockquote>
<h2>2.0.101</h2>
<ul>
<li>Improve TypeGenerics::as_turbofish to return longer-lived return
value (<a
href="https://redirect.github.com/dtolnay/syn/issues/1861">#1861</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="58336a3fb4"><code>58336a3</code></a>
Release 2.0.101</li>
<li><a
href="f1612cc7cc"><code>f1612cc</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1861">#1861</a>
from JakobDegen/turbofish</li>
<li><a
href="d04eea1637"><code>d04eea1</code></a>
Fix lifetime on <code>as_turbofish</code></li>
<li><a
href="432b303bd4"><code>432b303</code></a>
Resolve renamed_and_removed_lints warning about match_on_vec_items</li>
<li><a
href="1353d60a3a"><code>1353d60</code></a>
Update test suite to nightly-2025-04-08</li>
<li><a
href="3980ff22bb"><code>3980ff2</code></a>
Improve wording of comment in advance_to implementation</li>
<li><a
href="8328b52319"><code>8328b52</code></a>
Update test suite to nightly-2025-04-05</li>
<li><a
href="1d2e2be40e"><code>1d2e2be</code></a>
Update test suite to nightly-2025-04-03</li>
<li><a
href="2400946a73"><code>2400946</code></a>
Update test suite to nightly-2025-04-02</li>
<li><a
href="114a629a7a"><code>114a629</code></a>
Update test suite to nightly-2025-03-27</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/syn/compare/2.0.100...2.0.101">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=2.0.100&new-version=2.0.101)](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-04-28 18:48:48 +00:00
Astraea Quinn S
56882a3d5b
Propagate image resolution errors in layout context (#36692)
This commit modifies layout context to propagate any issues that occur
during image
resolution.

At the moment, when errors occur during image resolution we propagate
None upwards. This
hides any potential issues that may be actionable, for example, we may
want to avoid
trying to load an image that failed to load for whatever reason or has
an invalid url.

This commit instead propagates these errors upwards to consumers where
they may become
actionable. This is part of an investigation into #36679.

Signed-off-by: Astraea Quinn Skoutelli
<astraea.quinn.skoutelli@huawei.com>

Signed-off-by: Astraea Quinn Skoutelli <astraea.quinn.skoutelli@huawei.com>
2025-04-28 12:32:51 +00:00
Taym Haddadi
4d975e947b
Start adding support for transforms in readable and writable streams (#36470)
Start adding support for transforms in readable and writable streams.
Part of https://github.com/servo/servo/issues/34676
2025-04-28 11:02:55 +00:00
Xiaocheng Hu
02b38adf43
Rewrite node insertion algorithm to match the spec (#35999)
Per [spec](https://dom.spec.whatwg.org/#concept-node-insert), adoption
of new node should be done while inserting the node. This patch moves
the call site of `adopt` to inside `insert` to match it.

It also rewrites some existing code to better match the spec without any
behavioral changes.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by
`[X]` when the step is complete, and replace `___` with appropriate
data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #___ (GitHub issue number if applicable)

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- Also, please make sure that "Allow edits from maintainers" checkbox
is checked, so that we can help you if you get stuck somewhere along the
way.-->

<!-- Pull requests that do not address these steps are welcome, but they
will require additional verification as part of the review process. -->

---------

Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>
2025-04-28 10:56:53 +00:00
Oriol Brufau
cf41012257
layout: Refactor establishes_containing_block_for_all_descendants() (#36725)
Instead of grouping all the `will-change` conditions together, move each
one of them next to the condition for the relevant property.

This avoids the need to call `is_transformable()` multiple times, and
will also be needed for #35391.

Testing: unneeded (no change in behavior)

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-04-28 10:17:35 +00:00
elomscansio
b1d0b6a37b
htmlinputelement: Update radio group validity logic for disconnected trees (#36431)
This PR updates the validity state revalidation behavior for radio input
elements, ensuring consistent logic regardless of tree connectivity.

---

**What’s changed:**  
- we now always update the validity state.
- Handled more edge cases for disconnected trees, shadow roots, and
cross-tree movement.
- Ensured that radio group updates still trigger when a parent is moved
into a different root.
- Updated test expectations in
`radio-disconnected-group-owner.html.ini`.

---

**Why this matters:**  
The updated logic aligns better with the [HTML
specification](https://html.spec.whatwg.org/multipage/input.html#radio-button-group),
especially regarding radio group behavior in disconnected trees or
shadow DOM.

These changes improve validity propagation in scenarios like:
- Appending inputs into a disconnected form
- Shadow roots acting as radio group containers
- Cross-tree movement of radio buttons

---

**Tests:**  
- Modified `radio-disconnected-group-owner.html.ini`
  - Removed a test that now passes
- Added a failing test expectation caused by a spec bug: the fragment
parsing algorithm uses the connected tree for HTML set via `innerHTML`,
affecting radio group computation

---

**Spec reference:**  
https://html.spec.whatwg.org/multipage/input.html#radio-button-group

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by
`[X]` when the step is complete, and replace `___` with appropriate
data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report an errors
- [ ] These changes fix #

<!-- Either: -->
- [X] There are tests for these changes

Signed-off-by: Emmanuel Paul Elom <elomemmanuel007@gmail.com>
2025-04-28 01:24:43 +00:00
Josh Matthews
2892e7924d
constellation: Move log inside relevant conditional. (#36713)
This message is logged when we don't actually act on it and is confusing
as a result. By moving it inside the conditional, we only log the
message when we actually notify webdriver that the load is complete.

Testing: Manual testing.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-04-27 20:44:52 +00:00
elomscansio
085ad9ea48
script_thread: HTML parser doesn't set relevant option (#36622)
This patch ensures that the Servo HTML parser uses the appropriate
`TreeBuilderOpts` settings
as specified by the HTML specification.

Changes:
- **iframe_srcdoc:** Detect if the parsed document's URL scheme is
`about:srcdoc`, and set the parser’s iframe_srcdoc option accordingly.
- **quirks_mode:** Use the associated Document's quirks mode to set the
parser’s quirks mode flag, improving fragment parsing behavior.
- **scripting_enabled:** Add a `scripting_enabled` method to Document,
based on whether it has a browsing context, and set this flag for the
parser.

These updates align Servo's parsing behavior more closely with the
specification:

https://html.spec.whatwg.org/multipage/parsing.html#the-initial-insertion-mode

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by
`[X]` when the step is complete, and replace `___` with appropriate
data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #35478

<!-- Either: -->
- [ ] There are tests for these changes

Signed-off-by: Emmanuel Elom <elomemmanuel007@gmail.com>
2025-04-27 20:23:22 +00:00
Taym Haddadi
989739316e
Determine if ResizeTo is allowed (#36704)
Spec says to check If target is not an auxiliary browsing context before
performing ResizeTo.


Fixes: #36701

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
2025-04-27 10:43:05 +00:00
Servo WPT Sync
e22ce3988b
Sync WPT with upstream (27-04-2025) (#36708)
Automated downstream sync of changes from upstream as of 27-04-2025
[no-wpt-sync]

Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-04-27 02:05:07 +00:00
Simon Wülker
902d2ad8f4
Use snapshot size instead of canvas size when converting canvas to blob (#36705)
The blob data is encoded asynchronously, therefore the canvas size may
have changed since it's data was saved to a snapshot. Using the canvas
size confuses the encoder, because the provided data does not match the
expected size anymore.

Testing: This change includes a new web platform test
Fixes https://github.com/servo/servo/issues/36702

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-04-26 19:44:12 +00:00
Martin Robinson
18d6981d84
layout: Remove rules for legacy pseudo-elements in user agent stylesheet (#36698)
The legacy layout system used these pseudo-elements, but modern layout
no longer does, so they are unused. They can simply be removed.

Testing: No new tests as this is effectively dead code.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-04-26 10:11:47 +00:00
Martin Robinson
a62f0eaf0a
layout: Use box tree Fragments for offset parent queries (#36681)
This change switches `offsetParent`, `offsetLeft`, etc queries to use
the BoxTree fragments instead of walking the entire fragment tree. In
addition, fragments are stored for columns and colgroups. In general,
this greatly simplifies the flow of the query and prevents having to do
expensive tree walks.

Testing: This change is covered by newly passing WPT tests and three new
failures:

 - /css/filter-effects/backdrop-filter-edge-clipping-2.html
 - /css/filter-effects/backdrop-filter-edge-mirror.html
 - /css/filter-effects/backdrop-filter-edge-pixels-2.html

These failures are actually progressions, because now the references
start
to render properly whereas before they did not.

Fixes: This is part of #36525 and #36665.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-04-25 20:25:10 +00:00
Alex Touchet
69605d05cf
servoshell Cargo.toml cleanup (#36506)
Signed-off-by: Alex Touchet <26315797+atouchet@users.noreply.github.com>
2025-04-25 20:23:47 +00:00
Tim van der Lippe
baa18e18af
Support CSP report-only header (#36623)
This turned out to be a full rabbit hole. The new header
is parsed in the new `parse_csp_list_from_metadata` which
sets `disposition` to `report.

I was testing this with
`script-src-report-only-policy-works-with-external-hash-policy.html`
which was blocking the script incorrectly. Turns out that there
were multiple bugs in the CSP library, as well as a missing
check in `fetch` to report violations.

Additionally, in several locations we were manually reporting csp
violations, instead of the new `global.report_csp_violations`. As
a result of that, they would double report, since the report-only
header would be appended as a policy and now would report twice.

Now, all callsides use `global.report_csp_violations`. As a nice
side-effect, I added the code to set source file information,
since that was already present for the `eval` check, but nowhere
else.

Part of #36437

Requires servo/rust-content-security-policy#5

---------

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
Signed-off-by: Tim van der Lippe <TimvdLippe@users.noreply.github.com>
2025-04-25 19:59:44 +00:00
dependabot[bot]
4ff45f86b9
build(deps): bump cc from 1.2.19 to 1.2.20 (#36695)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.19 to 1.2.20.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/cc-rs/releases">cc's
releases</a>.</em></p>
<blockquote>
<h2>cc-v1.2.20</h2>
<h3>Other</h3>
<ul>
<li>Regenerate target info (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1461">#1461</a>)</li>
<li>Fix parser.rs on latest rustc nightly (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1459">#1459</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md">cc's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.2.19...cc-v1.2.20">1.2.20</a>
- 2025-04-25</h2>
<h3>Other</h3>
<ul>
<li>Regenerate target info (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1461">#1461</a>)</li>
<li>Fix parser.rs on latest rustc nightly (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1459">#1459</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1dd09890f1"><code>1dd0989</code></a>
chore: release v1.2.20 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1462">#1462</a>)</li>
<li><a
href="828dd192d6"><code>828dd19</code></a>
Regenerate target info (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1461">#1461</a>)</li>
<li><a
href="5da0787d31"><code>5da0787</code></a>
Update rusqlite requirement from 0.34.0 to 0.35.0 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1460">#1460</a>)</li>
<li><a
href="9fb0d0b39f"><code>9fb0d0b</code></a>
Fix parser.rs on latest rustc nightly (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1459">#1459</a>)</li>
<li>See full diff in <a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.2.19...cc-v1.2.20">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cc&package-manager=cargo&previous-version=1.2.19&new-version=1.2.20)](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-04-25 17:52:57 +00:00
Martin Robinson
b63a1818c4
layout: Implement node geometry queries against BoxTree's Fragment (#36663)
This is a followup to #36629, continuing to implement script-based
layout queries  using the `Fragment`s attached to the `BoxTree`. In this
change, geometry queris (apart from parent offset) are calculated using
`Fragment`s hanging of the `BoxTree`.

In order to make this work, all `Fragment`s for inlines split by blocks,
need to be accessible in the `BoxTree`. This required some changes to
the way that box tree items were stored in DOM `BoxSlot`s. Now every
inline level item can have more than a single `BoxTree` item. These are
carefully collected by the `InlineFormattingContextBuilder` -- currently
a bit fragile, but with more documentation.

Testing: There are tests for these changes.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-04-25 13:38:05 +00:00
Kingsley Yung
cc91395397
Fix taplo test target directories (#36690)
The command `./mach test-tidy` did not check the TOML files in the
subdirectories of components/shared/, since the argument for taglo
command was written as `components/shared/*.toml`.

This patch fixes it to include those TOML files in test-tidy.

Testing: It only involves python script for test-tidy. No test is
needed.
Fixes: #36659

Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>
2025-04-25 12:52:20 +00:00
Oriol Brufau
c6a399d760
layout: Implement justify-self for block-level boxes (#36595)
https://drafts.csswg.org/css-align/#justify-block

Testing: Improves various WPT tests. `justify-self-auto-margins-2.html`
fails but I think the test is wrong.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-04-25 12:22:22 +00:00
Tony
894fbd003d
Initial support for marking custom protocol secure (#36656)
Add initial support for marking custom protocol as secure, this makes it
possible to `fetch` a custom protocol inside secure contexts (e.g.
http://localhost)

Some additional contexts:

- [#embedding > Custom protocol secure
context](https://servo.zulipchat.com/#narrow/channel/437943-embedding/topic/Custom.20protocol.20secure.20context)
-
https://github.com/versotile-org/tauri-runtime-verso/issues/6#issuecomment-2820776128

Testing: use `fetch('urlinfo://abc').then(async (response) =>
console.log(await response.text())).catch(console.log)` in servoshell
with in a secure context (e.g. https://servo.org), and see the response
should not be an error

---------

Signed-off-by: Tony <legendmastertony@gmail.com>
Signed-off-by: Tony <68118705+Legend-Master@users.noreply.github.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-04-25 10:39:33 +00:00
Jonathan Schwender
cf59aa1948
Return Result from ProtocolRegistry::register() (#36688)
Instead of returning true / false it's better to return a Result (even
if we continue ignoring possible error).

Testing: Doesn't change any behavior

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-04-25 10:02:46 +00:00
Sebastian C
281d942981
Implement static Response.json (#36589)
Implements https://fetch.spec.whatwg.org/#dom-response-json
Restructured the constructor to follow the spec more closely with a
separate "initialize the response" algorithm.

Testing: There are existing WPT tests for this.

---------

Signed-off-by: Sebastian C <sebsebmc@gmail.com>
2025-04-25 08:49:21 +00:00
Josh Matthews
dc0c067c9b
Report exceptions for async script executions to webdriver (#27041)
Improving the accuracy of the async script execution for our webdriver
implementation allows us to run many more webdriver tests without
timeouts, which should help with
https://github.com/web-platform-tests/wpt/issues/24257.

Specification:
* https://w3c.github.io/webdriver/#dfn-clone-an-object
* https://w3c.github.io/webdriver/#execute-async-script

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #27036 and fix #27035 and fix #27031.
- [x] There are tests for these changes (but we don't run them in CI
yet)

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-04-25 06:50:00 +00:00
Martin Robinson
cbc363bedd
compositor: Tick animations for an entire WebView at once (#36662)
Previously, when processing animations, the compositor would sent a tick
message to each pipeline. This is an issue because now the
`ScriptThread` always processes rendering updates for all `Document`s in
order to ensure properly ordering. This change makes it so that tick
messages are sent for an entire WebView. This means that each
`ScriptThread` will always receive a single tick for every time that
animations are processed, no matter how many frames are animating. This
is the first step toward a refresh driver.

In addition, we discard the idea of ticking animation only for
animations and or only for request animation frame callbacks. The
`ScriptThread` can no longer make this distinction due to the
specification and the compositor shouldn't either.

This should not really change observable behavior, but should make Servo
more efficient when more than a single frame in a `ScriptThread` is
animting at once.

Testing: This is covered by existing WPT tests as it mainly just improve
animation efficiency in a particular case.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-04-24 19:03:14 +00:00
dependabot[bot]
3793936f05
build(deps): bump winnow from 0.7.6 to 0.7.7 (#36685)
Bumps [winnow](https://github.com/winnow-rs/winnow) from 0.7.6 to 0.7.7.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md">winnow's
changelog</a>.</em></p>
<blockquote>
<h2>[0.7.7] - 2025-04-24</h2>
<h3>Fixes</h3>
<ul>
<li>Ensure <code>LocatedSlice</code> and <code>Stateful</code>s
<code>Stream::raw</code> gets the inner input</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bb0cea3a79"><code>bb0cea3</code></a>
chore: Release</li>
<li><a
href="c887eee41b"><code>c887eee</code></a>
docs: Update changelog</li>
<li><a
href="296323d58c"><code>296323d</code></a>
Merge pull request <a
href="https://redirect.github.com/winnow-rs/winnow/issues/774">#774</a>
from tianyuanhao/inner-most</li>
<li><a
href="491ebfced9"><code>491ebfc</code></a>
fix(stream): Make raw() inner-most</li>
<li><a
href="3752dafb4b"><code>3752daf</code></a>
Merge pull request <a
href="https://redirect.github.com/winnow-rs/winnow/issues/767">#767</a>
from dqkqd/fix-ndjson-link</li>
<li><a
href="358080d29b"><code>358080d</code></a>
docs(topic): Fixed link ndjson</li>
<li><a
href="2566343d8d"><code>2566343</code></a>
Merge pull request <a
href="https://redirect.github.com/winnow-rs/winnow/issues/766">#766</a>
from epage/clippy</li>
<li><a
href="886a29dce1"><code>886a29d</code></a>
style: Help catch 'alloc' mistakes</li>
<li><a
href="03e4fc3e51"><code>03e4fc3</code></a>
style: Make clippy happy</li>
<li>See full diff in <a
href="https://github.com/winnow-rs/winnow/compare/v0.7.6...v0.7.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=winnow&package-manager=cargo&previous-version=0.7.6&new-version=0.7.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-04-24 17:39:39 +00:00
dependabot[bot]
7c7b5ca220
build(deps): bump derive_more from 0.99.19 to 0.99.20 (#36683)
Bumps [derive_more](https://github.com/JelteF/derive_more) from 0.99.19
to 0.99.20.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/JelteF/derive_more/blob/v0.99.20/CHANGELOG.md">derive_more's
changelog</a>.</em></p>
<blockquote>
<h2>0.99.20 - 2025-04-23</h2>
<ul>
<li>Revert adding of Rust Playground metadata</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="adbf92c341"><code>adbf92c</code></a>
chore: Release derive_more version 0.99.20</li>
<li><a
href="f4ed4a1edc"><code>f4ed4a1</code></a>
Update changelog for 0.99.20</li>
<li><a
href="530db58e60"><code>530db58</code></a>
Revert &quot;Add Rust Playground metadata&quot;</li>
<li>See full diff in <a
href="https://github.com/JelteF/derive_more/compare/v0.99.19...v0.99.20">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=derive_more&package-manager=cargo&previous-version=0.99.19&new-version=0.99.20)](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-04-24 17:28:10 +00:00
elomscansio
189214810e
layout_image: Include missing request settings in layout-initiated image loads (#36621)
This PR updates the `fetch_image_for_layout` function to include missing
security-related request settings:

- `insecure_requests_policy`
- `has_trustworthy_ancestor_origin`
- `policy_container`

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by
`[X]` when the step is complete, and replace `___` with appropriate
data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #36591

<!-- Either: -->
- [X] There are tests for these changes

Signed-off-by: Emmanuel Elom <elomemmanuel007@gmail.com>
2025-04-24 12:12:39 +00:00
Josh Matthews
878d595035
script: Measure stored layout data memory usage. (#36664)
We previously ignored the opaque layout data field inside each node when
measuring a DOM node's memory usage. While some of the reachable memory
was accounted for by measuring the layout's box tree, measuring it via
the node ensures that we don't miss anything. Since there are often Arc
values involved, this means that the layout-thread box tree measurements
now look quite small, while reported JS heap usage has increased.

Testing: Manually compared about:memory for servo.org.

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-04-24 12:01:51 +00:00
Simon Wülker
9dc56d420f
servoshell: Make list of options in <select> prompt scrollable (#36677)
This ensures that the select element is usable when there are a lot of
options.

Testing: We don't have tests for servoshell.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-04-24 11:59:54 +00:00
sagudev
632971af26
Disable serviceworkers for webgpu CTS tests (#36672)
https://github.com/servo/servo/pull/36335 enabled all experimental
features for all wpt tests, but `dom_serviceworker_enabled` makes all
CTS tests fail, because servo reports working service worker impl, but
CTS pre-setup of worker fails due too incomplete impl. The solution is
that we disable service workers in CTS `__dir__.ini` (thus avoiding any
CTS worker code) until impl is stable enough.

Testing: This makes tests works again
Fixes: #36657

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-04-24 10:02:57 +00:00
atbrakhi
c16d86f7a4
DevTools: Move Source related code to dedicated source.rs file (#36667)
Currently Source related code exists in watcher.rs and thread.rs. This
change moves source-related code to a dedicated source.rs file. This is
in preparation for adding support for showing source code in the
Debugger > Source panel.

- [x] Testing: These changes should not affect current functionality as
it only moves the existing code
- [x] Fixes: part of https://github.com/servo/servo/issues/36027

---------

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
2025-04-24 07:50:56 +00:00
dependabot[bot]
d661d4a620
build(deps): bump tokio-util from 0.7.14 to 0.7.15 (#36671)
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.14 to
0.7.15.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4d4d12613b"><code>4d4d126</code></a>
chore: prepare tokio-util v0.7.15 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7283">#7283</a>)</li>
<li><a
href="5490267a79"><code>5490267</code></a>
fs: update the mockall dev dependency to 0.13.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7234">#7234</a>)</li>
<li><a
href="1434b32b5a"><code>1434b32</code></a>
examples: improve echo example consistency (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7256">#7256</a>)</li>
<li><a
href="159a3b2c85"><code>159a3b2</code></a>
rt(unstable): remove alt multi-threaded runtime (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7275">#7275</a>)</li>
<li><a
href="ce87dcfbf0"><code>ce87dcf</code></a>
runtime: document the queue behavior of <code>spawn_blocking</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7269">#7269</a>)</li>
<li><a
href="d41d49d202"><code>d41d49d</code></a>
metrics: fix panic comment in <code>max_error</code> docs (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7273">#7273</a>)</li>
<li><a
href="7a6c424f6e"><code>7a6c424</code></a>
process: add <code>Command::spawn_with</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7249">#7249</a>)</li>
<li><a
href="c3037adac9"><code>c3037ad</code></a>
task: properly handle removed entries in <code>JoinMap</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7264">#7264</a>)</li>
<li><a
href="964fd06e0f"><code>964fd06</code></a>
benches: add helper functions for building runtimes (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7260">#7260</a>)</li>
<li><a
href="817fa605ee"><code>817fa60</code></a>
fs: avoid some copies in <code>tokio::fs::write</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7199">#7199</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.14...tokio-util-0.7.15">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-util&package-manager=cargo&previous-version=0.7.14&new-version=0.7.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-04-23 17:23:19 +00:00
dependabot[bot]
71dff809d1
build(deps): bump getrandom from 0.2.15 to 0.2.16 (#36670)
Bumps [getrandom](https://github.com/rust-random/getrandom) from 0.2.15
to 0.2.16.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md">getrandom's
changelog</a>.</em></p>
<blockquote>
<h2>[0.2.16] - 2025-04-22</h2>
<h3>Added</h3>
<ul>
<li>Cygwin support (backport of <a
href="https://redirect.github.com/rust-random/getrandom/issues/626">#626</a>)
<a
href="https://redirect.github.com/rust-random/getrandom/issues/654">#654</a></li>
</ul>
<p><a
href="https://redirect.github.com/rust-random/getrandom/issues/654">#654</a>:
<a
href="https://redirect.github.com/rust-random/getrandom/pull/654">rust-random/getrandom#654</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ce4144b2c1"><code>ce4144b</code></a>
Release v0.2.16 (<a
href="https://redirect.github.com/rust-random/getrandom/issues/655">#655</a>)</li>
<li><a
href="a55ea8dcb8"><code>a55ea8d</code></a>
Backport Cygwin support (<a
href="https://redirect.github.com/rust-random/getrandom/issues/654">#654</a>)</li>
<li>See full diff in <a
href="https://github.com/rust-random/getrandom/compare/v0.2.15...v0.2.16">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot 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-04-23 17:12:12 +00:00