Commit graph

52309 commits

Author SHA1 Message Date
Martin Robinson
931025c16e
script: Wrap unsafe code in components/script/bindings in unsafe {} (#38544)
Clippy now checks to see if unsafe code is wrapped in unsafe blocks. We
have this lint disabled for `script` and `script_bindings` because of a
lot of legacy code that doesn't do this. The lint is useful though as it
makes it more obvious what code is unsafe. This is an incremental step
toward being able to turn this lint on for `script`.

This has the benefit of silencing warnings that show up in some IDEs
that use rust-analyzer.

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

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-08 17:18:30 +00:00
dependabot[bot]
fef104cff7
build(deps): bump cc from 1.2.31 to 1.2.32 (#38558)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.31 to 1.2.32.
<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.31...cc-v1.2.32">1.2.32</a>
- 2025-08-08</h2>
<h3>Fixed</h3>
<ul>
<li>fix new clippy lint introduced in rust 1.89.0 (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1509">#1509</a>)</li>
</ul>
<h3>Other</h3>
<ul>
<li>clarify cargo default if no rerun emitted (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1508">#1508</a>)</li>
<li>extract compile_objects_sequential (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1507">#1507</a>)</li>
<li>Windows <code>find_tools</code>: add support for finding Clang (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1506">#1506</a>)</li>
<li>Add m68k-unknown-linux-gnu cross-compile target (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1505">#1505</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="94a7cc349e"><code>94a7cc3</code></a>
chore: release v1.2.32 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1510">#1510</a>)</li>
<li><a
href="33b616dcf7"><code>33b616d</code></a>
doc: clarify cargo default if no rerun emitted (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1508">#1508</a>)</li>
<li><a
href="3046b0af8d"><code>3046b0a</code></a>
fix new clippy lint introduced in rust 1.89.0 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1509">#1509</a>)</li>
<li><a
href="b8959a21ad"><code>b8959a2</code></a>
Refactor: extract compile_objects_sequential (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1507">#1507</a>)</li>
<li><a
href="3f62db136f"><code>3f62db1</code></a>
Windows <code>find_tools</code>: add support for finding Clang (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1506">#1506</a>)</li>
<li><a
href="5e210bd8fb"><code>5e210bd</code></a>
Add m68k-unknown-linux-gnu cross-compile target (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1505">#1505</a>)</li>
<li>See full diff in <a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.2.31...cc-v1.2.32">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.31&new-version=1.2.32)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 17:14:49 +00:00
dependabot[bot]
405cc2d073
build(deps): bump bytemuck from 1.23.1 to 1.23.2 (#38557)
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.23.1 to
1.23.2.
<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>
<h2>1.23.2</h2>
<ul>
<li>bump <code>derive</code> minimum version.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c069a2f6a4"><code>c069a2f</code></a>
chore: Release bytemuck version 1.23.2</li>
<li><a
href="8b48ef35bf"><code>8b48ef3</code></a>
.</li>
<li><a
href="7fef8d93ba"><code>7fef8d9</code></a>
bump derive minimum version. should be a semver patch effect.</li>
<li><a
href="2524f62b76"><code>2524f62</code></a>
chore: Release bytemuck_derive version 1.10.1</li>
<li><a
href="c4873c9634"><code>c4873c9</code></a>
.</li>
<li><a
href="374df78558"><code>374df78</code></a>
Make the <code>Pod</code>/<code>NoUninit</code> derive macros use
<code>assert!</code> to check size equality,...</li>
<li><a
href="6633a5113f"><code>6633a51</code></a>
Fix a typo (<a
href="https://redirect.github.com/Lokathor/bytemuck/issues/319">#319</a>)</li>
<li><a
href="1c9e7ba196"><code>1c9e7ba</code></a>
chore: Release bytemuck_derive version 1.10.0</li>
<li><a
href="5e58cf7182"><code>5e58cf7</code></a>
changelog</li>
<li><a
href="0e11472150"><code>0e11472</code></a>
add support for deriving NoUninit on enums with fields (<a
href="https://redirect.github.com/Lokathor/bytemuck/issues/292">#292</a>)</li>
<li>See full diff in <a
href="https://github.com/Lokathor/bytemuck/compare/v1.23.1...v1.23.2">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.23.1&new-version=1.23.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 16:59:44 +00:00
dependabot[bot]
11f6a424e0
build(deps): bump hashbrown from 0.15.4 to 0.15.5 (#38556)
Bumps [hashbrown](https://github.com/rust-lang/hashbrown) from 0.15.4 to
0.15.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/hashbrown/releases">hashbrown's
releases</a>.</em></p>
<blockquote>
<h2>v0.15.5</h2>
<h3>Added</h3>
<ul>
<li>Added <code>Entry::or_default_entry</code> and
<code>Entry::or_insert_entry</code>.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Re-implemented likely/unlikely with <code>#[cold]</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md">hashbrown's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/rust-lang/hashbrown/compare/v0.15.4...v0.15.5">0.15.5</a>
- 2025-08-07</h2>
<h3>Added</h3>
<ul>
<li>Added <code>Entry::or_default_entry</code> and
<code>Entry::or_insert_entry</code>.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Re-implemented likely/unlikely with <code>#[cold]</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="b751eef8e9"><code>b751eef</code></a>
Update CHANGELOG.md</li>
<li><a
href="da4c80e8e0"><code>da4c80e</code></a>
chore: release v0.15.5</li>
<li><a
href="43584833e6"><code>4358483</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/hashbrown/issues/631">#631</a>
from DaniPopes/readd-likely</li>
<li><a
href="64bd7db1d1"><code>64bd7db</code></a>
Re-implement likely/unlikely with <code>#[cold]</code></li>
<li><a
href="670213fb32"><code>670213f</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/hashbrown/issues/601">#601</a>
from braddunbar/or-default-entry</li>
<li><a
href="99761e4817"><code>99761e4</code></a>
fix clippy issues</li>
<li><a
href="e44ee2d34c"><code>e44ee2d</code></a>
Merge branch 'master' of <a
href="https://github.com/rust-lang/hashbrown">https://github.com/rust-lang/hashbrown</a>
into or-defau...</li>
<li><a
href="e514afefa9"><code>e514afe</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-lang/hashbrown/issues/624">#624</a>
from rust-lang/release-plz-2025-05-28T15-42-25Z</li>
<li>See full diff in <a
href="https://github.com/rust-lang/hashbrown/compare/v0.15.4...v0.15.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hashbrown&package-manager=cargo&previous-version=0.15.4&new-version=0.15.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-08-08 16:56:22 +00:00
Oriol Brufau
93c9fc14f1
layout: Let stretch on flex item cross size stretch to the line (#38526)
We were instead stretching to the containing block, which implied that
the behaviors of a `stretch` size and `stretch` alignment weren't
consistent.

As resolved by the CSSWG, the behavior will now be:
 - If the cross size of the line is known, stretch to the line.
 - Otherwise, stretch to the containing block.

See https://github.com/w3c/csswg-drafts/issues/11784

This aligns us with Blink, which has already shipped this new behavior.

Testing: Improves existing WPT and adds a new test.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-08-08 15:45:30 +00:00
shuppy
9866ca7e59
devtools: Warn when sending common protocol errors (#38548)
#37686 fixed an entire class of devtools protocol bugs that led to
protocol desyncs with warnings in the Servo log, but it also removed the
warnings, making it harder to spot where our devtools impl is
incomplete.

this patch reintroduces a warning whenever some Actor::handle_message()
returns Err(ActorError).

Testing: debug logging only, so not really worth testing

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-08-08 14:11:23 +00:00
Martin Robinson
4257db643b
Revert "Include the scrollable overflow of a child box if either its parent or child has overflow: visible (#38443)" (#38546)
This reverts commit dcb90bb85e.

This broke scrollable overflow calculation in the following case:

```
<div id="foo" style="width: 200px; height: 200px; outline: solid; overflow: auto;">
    <div style="height: 5000px; background: pink;">hello</div>
</div>
```

In this case the overflow is propagating through the `overflow: auto`
`<div>` and into the parents. When dumping the flow tree I see the root
node being 5000 pixels tall. It's unclear why this change didn't break
any tests, so it's likely that we need to add a test for this case.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-08 13:37:14 +00:00
Martin Robinson
5c307a38df
script_bindings Start wrapping unsafe code in unsafe {} (#38545)
This is useful to better isolate `unsafe` code. Once all unsafe calls
are wrapped we can enable the Rust warning.  This also explicitly
disables the warning for generated code, which is a much more difficult
task. After this change there are 211 warnings left in
`script_bindings`.

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

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-08 12:21:31 +00:00
shuppy
c9541f2906
devtools: Expose introductionType to devtools clients (#38541)
in the devtools protocol, [source
forms](https://firefox-source-docs.mozilla.org/devtools/backend/protocol.html#loading-script-sources)
announced in `resources-available-array` messages can include the
`introductionType`, which more or less mirrors the field of the same
name in SpiderMonkey’s CompileOptions.

this patch exposes `introductionType` accordingly, allowing us to check
for the correct values in automated tests.

Testing: new coverage in devtools tests
Fixes: part of #36027

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
2025-08-08 12:20:30 +00:00
Mukilan Thiyagarajan
23c0947072
script: make Node::xml_serialize fallible. (#38532)
Testing: [Try run][1] did not reveal any test failures. There doesn't
seem to be any straightforward failure scenarios that can be triggered
in `xml5ever` that are not IO errors and the xml_serialize method simply
serializes to a String buffer.

[1]:
https://github.com/servo/servo/actions/runs/16824267959/job/47657275606l

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-08-08 11:52:59 +00:00
Jerens Lensun
8f52e28225
mach(test-tidy): Make wpt lint logic servo-tidy.toml and optimize checking for changed files (#38511)
Fix wpt lint logic to respect servo-tidy.toml ignores and --all flag

Testing: Should be covered on CI
Fixes: #38510  #37991

---------

Signed-off-by: Jerens Lensun <jerensslensun@gmail.com>
2025-08-08 10:34:42 +00:00
Euclid Ye
31acac316d
webdriver: Rename wait_for_script_response to wait_for_ipc_response (#38537)
As titled. Initially I want to include this as part of another PR but
looks so messy..
The motivation is that we are no longer just waiting for script
response.

Testing: No behaviour change.

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-08 09:49:57 +00:00
Martin Robinson
6651f37c05
script/compositor: Handle cursor updates from script (#38518)
Instead of using WebRender hit testing to update the cursor, base it on
layout hit tests. This allows removing the majority of WebRender hit
test items and finally opens up the possibility of adding support for
custom cursors. In addition, this change fixes an issue where cursors
were not set properly on areas of the viewport that extended past the
page content.

Testing: This is difficult to test as verifying that the cursor changed
properly is beyond the capabilities of Servo's test harnesses.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-08-07 18:49:38 +00:00
Oriol Brufau
87538282db
layout: Floor content-box size by zero when stretching flex item (#38521)
When stretching the cross size of a flex item to its flex line, we were
computing the stretch size by subtracting padding, border and margin
from the line size. However, this could result in a negative amount for
the content-box cross size. Therefore, this floors it by zero.

Testing: Adding new tests
Fixes: #38517

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-08-07 18:19:22 +00:00
Oriol Brufau
cf99d437fb
layout: Refactor FlexItemLayoutResult (#38515)
This performs various refactorings:

- Turns `content_size` into `content_block_size`, losing the inline
component, since it was the same as `containing_block_inline_size`.
- Merges `containing_block_inline_size` and
`containing_block_block_size` into `containing_block_size`.
- Removes `has_child_which_depends_on_block_constraints` since this
information should already be in `depends_on_block_constraints`.
- `FlexItem::layout()` is no longer responsible for trying to reuse the
previous result. Therefore it no longer returns an `Option`, and no
longer accepts the previous result as a parameter.
- `FlexItemLayoutResult::compatible_with_containing_block_size()` is
removed, and a simplified version is inlined into the relevant caller of
`FlexItem::layout()`.

Testing: Not needed (no change in behavior)

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-08-07 18:18:46 +00:00
dependabot[bot]
e40be635bd
build(deps): bump keyboard-types from 0.8.0 to 0.8.1 (#38523)
Bumps [keyboard-types](https://github.com/pyfisch/keyboard-types) from
0.8.0 to 0.8.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pyfisch/keyboard-types/releases">keyboard-types's
releases</a>.</em></p>
<blockquote>
<h2>v0.8.1</h2>
<h2>Added</h2>
<ul>
<li>Added <code>impl From&lt;NamedKey&gt; for Key</code>: <a
href="https://redirect.github.com/rust-windowing/keyboard-types/pull/81">rust-windowing/keyboard-types#81</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/rust-windowing/keyboard-types/compare/v0.8.0...v0.8.1">https://github.com/rust-windowing/keyboard-types/compare/v0.8.0...v0.8.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f82b9e4a8a"><code>f82b9e4</code></a>
Release v0.8.1</li>
<li><a
href="6b939e28b3"><code>6b939e2</code></a>
Make it clear in the docs that space is not a named key</li>
<li><a
href="25d8e98baa"><code>25d8e98</code></a>
Add <code>impl From\&lt;NamedKey&gt; for Key</code></li>
<li><a
href="763483400d"><code>7634834</code></a>
Doc tweaks / improvements</li>
<li><a
href="29852c9eca"><code>29852c9</code></a>
no_std: Don't use the <code>std</code> prelude</li>
<li>See full diff in <a
href="https://github.com/pyfisch/keyboard-types/compare/v0.8.0...v0.8.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=keyboard-types&package-manager=cargo&previous-version=0.8.0&new-version=0.8.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-08-07 18:07:47 +00:00
dependabot[bot]
71de910c8c
build(deps): bump bytemuck_derive from 1.10.0 to 1.10.1 (#38522)
Bumps [bytemuck_derive](https://github.com/Lokathor/bytemuck) from
1.10.0 to 1.10.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2524f62b76"><code>2524f62</code></a>
chore: Release bytemuck_derive version 1.10.1</li>
<li><a
href="c4873c9634"><code>c4873c9</code></a>
.</li>
<li><a
href="374df78558"><code>374df78</code></a>
Make the <code>Pod</code>/<code>NoUninit</code> derive macros use
<code>assert!</code> to check size equality,...</li>
<li><a
href="6633a5113f"><code>6633a51</code></a>
Fix a typo (<a
href="https://redirect.github.com/Lokathor/bytemuck/issues/319">#319</a>)</li>
<li>See full diff in <a
href="https://github.com/Lokathor/bytemuck/compare/bytemuck_derive-v1.10.0...bytemuck_derive-v1.10.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bytemuck_derive&package-manager=cargo&previous-version=1.10.0&new-version=1.10.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-08-07 18:07:16 +00:00
dependabot[bot]
f7fd913b19
build(deps): bump clap from 4.5.42 to 4.5.43 (#38524)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.42 to 4.5.43.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.5.43</h2>
<h2>[4.5.43] - 2025-08-06</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> In long help, list Possible Values before defaults,
rather than after, for a more consistent look</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.5.43] - 2025-08-06</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> In long help, list Possible Values before defaults,
rather than after, for a more consistent look</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c4105bd90c"><code>c4105bd</code></a>
chore: Release</li>
<li><a
href="a029b20be6"><code>a029b20</code></a>
docs: Update changelog</li>
<li><a
href="cf15d48b59"><code>cf15d48</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5893">#5893</a>
from 8LWXpg/patch-2</li>
<li><a
href="7e54542de9"><code>7e54542</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5892">#5892</a>
from 8LWXpg/patch-1</li>
<li><a
href="6ffc88f8c9"><code>6ffc88f</code></a>
fix(complete): Check if help string is empty</li>
<li><a
href="7d8470ed9c"><code>7d8470e</code></a>
fix(complete): Fix single quote escaping in PowerShell</li>
<li><a
href="eadcc8f66c"><code>eadcc8f</code></a>
chore: Release</li>
<li><a
href="7ce0f7bea3"><code>7ce0f7b</code></a>
docs: Update changelog</li>
<li><a
href="fea7c5487b"><code>fea7c54</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5888">#5888</a>
from epage/tut</li>
<li><a
href="c297ddd56e"><code>c297ddd</code></a>
docs(tutorial): Experiment with a flat layout</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.42...clap_complete-v4.5.43">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-07 18:06:04 +00:00
Josh Matthews
842dd99698
Update to SpiderMonkey 137. (#37077)
Incorporates the updates from https://github.com/servo/mozjs/pull/584.

Testing: Existing WPT coverage is enough.
Fixes: Part of #36258

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-08-07 16:47:27 +00:00
Nico Burns
fd20a5df42
layout(grid): implement named grid lines and areas (#38306)
### Changes made

This implements named grid lines (line names in `grid-template-*`),
named grid areas (`grid-template-areas`), and the ability to target
those using `grid-{row,column}-{start,end}`. It also includes a bunch of
miscelaneous fixes for `repeat(auto-fill | auto-fit, ...)` syntax as
that interacts with the specification of line names.

The actual layout implementation is in Taffy. The bulk of this PR is
updating Servo to translate (CSS Grid-related) Stylo types into Taffy
types using a new iterator-based API which uses iterators and lazy
translation for efficiency (which is more important now that we're
dealing with string data, even though they're `Atom`s).

### Testing

This functionality has lots of WPT tests. It fixes some seemingly random
CSS Grid tests that use named lines/areas even though that's not what
they're testing.

### Screenshots

wikipedia.org

<img width="1624" height="1056" alt="Screenshot 2025-07-27 at 20 03 16"
src="https://github.com/user-attachments/assets/2c50b96f-ae36-4405-ac48-b771bfdcb515"
/>

bbc.co.uk:

<img width="1624" height="1056" alt="Screenshot 2025-07-27 at 20 32 57"
src="https://github.com/user-attachments/assets/ba84e211-65d2-4411-95fb-7b9b91bea31c"
/>

theguardian.com:

<img width="1624" height="1056" alt="Screenshot 2025-07-27 at 20 33 29"
src="https://github.com/user-attachments/assets/e85daaa6-5fb0-45d4-b9ec-b22b38b087ec"
/>

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-08-07 14:41:19 +00:00
shuppy
a9664c4199
devtools: Reland devtools test fixes missing from #38359 (#38516)
in #38359, we intended to land some fixes to the devtools tests, but we
failed to actually include those fixes in the patch. this patch adds a
second internal web server, then reworks test_sources_list() to load
scripts from the two distinct origins of our internal web servers:
<http://127.0.0.1:10000> and <http://127.0.0.1:10001>.

Testing: covered by existing devtools tests, which now actually pass
Fixes: part of #36325

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
2025-08-07 13:38:48 +00:00
shuppy
8cfd82f55c
mach: Allow filtering tests in mach test-devtools (#38514)
`mach test-devtools` uses
[unittest](https://docs.python.org/3/library/unittest.html) without
[unittest.main()](https://docs.python.org/3/library/unittest.html#unittest.main),
so we can parse arguments and set up the test runner how we want, but
this means there’s currently no way to filter tests on the command line.

this patch plumbs the positional arguments (if any) into the
TestLoader’s
[testNamePatterns](https://docs.python.org/3/library/unittest.html#unittest.TestLoader.testNamePatterns),
with extra logic to treat any pattern `pattern` not containing `*` like
`*pattern*`. this is the same behaviour as unittest.main()
[`-k`](https://docs.python.org/3/library/unittest.html#cmdoption-unittest-k):

```
$ ./mach test-devtools domparser responsexml
Running devtools tests...
Running 2 tests:
- test_source_content_inline_script_with_domparser (servo.devtools_tests.DevtoolsTests.test_source_content_inline_script_with_domparser)
- test_source_content_inline_script_with_responsexml (servo.devtools_tests.DevtoolsTests.test_source_content_inline_script_with_responsexml)

test_source_content_inline_script_with_domparser (servo.devtools_tests.DevtoolsTests.test_source_content_inline_script_with_domparser) ... ok
test_source_content_inline_script_with_responsexml (servo.devtools_tests.DevtoolsTests.test_source_content_inline_script_with_responsexml) ... ok

----------------------------------------------------------------------
Ran 2 tests in 4.055s

OK
```

Testing: not really worth automated testing, but tested manually above
Fixes: part of #36325

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-08-07 13:23:53 +00:00
Nico Burns
52ba8facc2
stylo: use simplified restyle damage macros (#38465)
Servo PR for https://github.com/servo/stylo/pull/222

Fixes: #38506
Testing: adding new tests

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-08-07 10:41:22 +00:00
Euclid Ye
616b86fb6d
webdriver: Check if container is obscured for "Element Click" (#38497)
Implement step 7 of [Element
Click](https://w3c.github.io/webdriver/#element-click): check whether
container is obscured.

Testing: `/webdriver/tests/classic/element_click/interactability.py` can
now fully pass. Other changes are combined effect with
17a269a8ad due to script execution, and
exposes new problem:
https://github.com/servo/servo/pull/38497#discussion_r2257866612

---------

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-07 09:16:50 +00:00
Gregory Terzian
b23cf9c6cd
net: clean shutdown of fetch thread (#38421)
The fetch thread is currently not shut down, meaning it is one of the
threads counted in the "threads are still running after shutdown (bad)"
counter shown when Servo has shut-down.

This PR introduces a mechanism to start, and shut-down, one fetch thread
per process that requires one.

Testing: WPT tests and unit tests(for font context). Also manually
tested loading and closing "about:blank": this change indeed brings down
the count of threads still running after shutdown by one.

Fixes: https://github.com/servo/servo/issues/34887

---------

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-08-07 09:01:30 +00:00
Martin Robinson
ad805e3110
compositor/layout: Rely on layout for fine-grained input event hit testing (#38480)
Before, the compositor was responsible for doing the hit testing during
input events within a page. This change moves that hit testing to
layout.  With this change, epoch mismatches are no longer a bit deal and
we can simply ignore them, as the Constellation and Script will take
care of ignoring hit tests against scroll nodes and browsing contexts
that no longer exist. This means that hit testing retry support can be
removed.

Add the concept of a Script `HitTest` that transforms the coarse-grained
renderer hit test into one that hit tests against the actual layout
items.

Testing: Currently we do not have good tests for verifying the behavior
of
input events, but WebDriver tests should cover this.
Fixes: This is part of #37932.
Fixes: #26608.
Fixes: #25282.
Fixes: #38090.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: kongbai1996 <1782765876@qq.com>
2025-08-07 08:38:43 +00:00
sagudev
c0cc8484f8
canvas: pop many clips on restore (#38496)
When restoring context/state we need to pop all clips from current
state, before we just poped one (even if there was none).

Testing: Added new WPT tests

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-08-07 08:23:09 +00:00
Jonathan Schwender
c055e8b456
ci: Move runner-timeout to composite action (#38503)
We are hitting the limit of 20 workflow references in servo. To help
mitigate this somewhat, we migrate the timeout job to a composite
action, which should be able to support our needs just as well.

Testing: [try run of this
PR](https://github.com/servo/servo/actions/runs/16783916103/job/47529580725).
[try run with unconditional
cancel](https://github.com/servo/servo/actions/runs/16784074213/job/47530099654).

This reduces our workflow count by one, slightly helping to address
#36143

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-07 05:13:36 +00:00
Jonathan Schwender
edf80576d5
ci: Don't give lint job secrets (#38504)
The lint workflow doesn't seem to use any secrets, so we shouldn't pass
them.

Testing: [mach
try](https://github.com/servo/servo/actions/runs/16784528217/job/47531648483)

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-08-07 03:45:14 +00:00
Gregory Terzian
a99ad240a0
constellation: join on script-threads (#38424)
We currently send exit signals to script-threads, and we also join on
the BHM worker. This ensure the constellation shuts-down only after
script has dropped it's sender to the BHM worker. By joining on the
script-threads, we have a guarantee that they have exited(which is
stronger than having dropped their senders) by the time the
constellation exits.

Testing: Manually opened many tabs and closed the window, both in
single- and multi-process modes.
Fixes: Part of - https://github.com/servo/servo/issues/30849

---------

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-08-06 18:05:18 +00:00
dependabot[bot]
b23adab8a5
build(deps): bump anstream from 0.6.19 to 0.6.20 (#38502)
Bumps [anstream](https://github.com/rust-cli/anstyle) from 0.6.19 to
0.6.20.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="550de4dbb5"><code>550de4d</code></a>
chore: Release</li>
<li><a
href="094640c272"><code>094640c</code></a>
docs: Update changelog</li>
<li><a
href="6aec7d7101"><code>6aec7d7</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/265">#265</a>
from aschey/main</li>
<li><a
href="96dbb44f26"><code>96dbb44</code></a>
fix(crossterm): fix color conversion</li>
<li><a
href="e4e2347393"><code>e4e2347</code></a>
chore: Release</li>
<li><a
href="03f5d6a0b1"><code>03f5d6a</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/anstyle/issues/264">#264</a>
from epage/alloc</li>
<li><a
href="3f497444fe"><code>3f49744</code></a>
perf(roff): Remove extra allocations</li>
<li><a
href="d5351f4bf4"><code>d5351f4</code></a>
chore: Release</li>
<li><a
href="44e1d1d745"><code>44e1d1d</code></a>
fix(roff): Minimize size of output (<a
href="https://redirect.github.com/rust-cli/anstyle/issues/263">#263</a>)</li>
<li><a
href="9c2b802041"><code>9c2b802</code></a>
fix(roff): Minimize size of output</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/anstyle/compare/anstream-v0.6.19...anstream-v0.6.20">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anstream&package-manager=cargo&previous-version=0.6.19&new-version=0.6.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-08-06 18:02:34 +00:00
Euclid Ye
56033d844a
script: Rename some parent to child (#38498)
I believe there was some code migration but name's not been changed.

Testing: No behaviour change.

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-06 17:39:38 +00:00
Jonathan Schwender
0233ad5e40
bencher: Clone thresholds from main (#38220)
When running bencher on pull requests or try, we want to clone any
thresholds we setup for main to detect regressions.
Note: The thresholds we are actually interested in are defined on the
production profile, while in PRs we currently test release. Probably we
should reconsider that, but perhaps that could be a different PR with
seperate discussion.

Testing: ./mach try
([ohos](https://github.com/servo/servo/actions/runs/16779272577))

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-08-06 17:34:40 +00:00
Nico Burns
e31dcc95f9
Use cached layout in grid layout (#38493)
This makes grid layout make use of Servo's layout caching system.

Testing: No behavior change. Existing WPT coverage

---------

Signed-off-by: Nico Burns <nico@nicoburns.com>
2025-08-06 14:15:12 +00:00
Martin Robinson
44a11a7c6c
script/layout: Ensure a StackingContextTree before IntersectionObserver geometry queries (#38473)
IntersectionObserver needs to be able to query node geometry without
forcing a layout. A previous layout could have run without needing a
`StackingContextTree`. In that case the layout-less query should finish
building the `StackingContextTree` before doing the query.  Add a new
type of layout API which requests that layout finishes building the
StackingContextTree.

This change also slightly simplifies and corrects the naming of
`Element` APIs around client box queries.

Testing: This should fix intermittent failures in WPT tests.
Fixes: #38380.
Fixes: #38390.
Closes: #38400.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-08-06 13:46:43 +00:00
lumiscosity
757dbc0eda
servoshell: make the color picker and select picker closeable (#38373)
Addresses the first half of #38347 by making it possible to close the
select picker and the color picker by pressing ESC or clicking off the
modal. Marking this as draft since I need some help with squashing a bug
- the "clicking off" part only triggers after moving the mouse or
pressing any key, and I'm not sure why.

Testing: Manual.
Fixes: First half of #38347.

---------

Signed-off-by: lumiscosity <averyrudelphe@gmail.com>
2025-08-06 11:49:47 +00:00
Euclid Ye
98522db8be
webdriver: Search ancestors instead of preceding nodes when computing container for option&optgroup (#38491)
Fix the bug from 6 years ago https://github.com/servo/servo/pull/24090.

According to [spec](https://w3c.github.io/webdriver/#dfn-container), we
should search ancestor instead of preceding nodes (which is reverse
order of pre-order DFS and can end up weird places) when computing
container for `option`&`optgroup`.


Testing: Update WPT.
Fixes: https://github.com/servo/servo/pull/36467#discussion_r2255834497.

---------

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-06 08:54:45 +00:00
Abdelrahman Hossam
17a269a8ad
script: Implement scrollIntoView (#38230)
This is an implementation for `scrollIntoView`. For now, it is called
when a certain element gains focus.

Testing: Existing WPT tests
Fixes: #24059

Signed-off-by: abdelrahman1234567 <abdelrahman.hossameldin.awadalla@huawei.com>
2025-08-06 08:08:25 +00:00
Shubham Gupta
dcb90bb85e
Include the scrollable overflow of a child box if either its parent or child has overflow: visible (#38443)
Include the scrollable overflow of a child box if either its parent or
child has `overflow: visible`

**Issue**: For the blocks having property `overflow:hidden`, their
scroll overflow is not added to parent's scroll overflow.
Causing unable to scroll the parent block aka `Root` block in our Issue
#38248 .

**Testing**: css/cssom-view/scrolling-quirks-vs-nonquirks.html
**Fixes**: #38248

Signed-off-by: Shubham Gupta <shubham13297@gmail.com>
2025-08-06 07:46:54 +00:00
Jerens Lensun
5b148cf5de
script_bindings: Add type definitions for configuration.py (#38450)
*Describe the changes that this pull request makes here. This will be
the commit message.*

Testing: *Describe how this pull request is tested or why it doesn't
require tests*
Fixes: *Link to an issue this pull requests fixes or remove this line if
there is no issue*

---------

Signed-off-by: Jerens Lensun <jerensslensun@gmail.com>
2025-08-06 05:44:05 +00:00
Euclid Ye
62b181dc85
webdriver: Simplify get_element_pointer_interactable_paint_tree (#38469)
Add step 1 and simplify step 2 - 5 to remove duplicate `GetClientRects`
call.

There is some issue with spec to be updated later.

Testing: No behaviour change.

---------

Signed-off-by: Euclid Ye <euclid.ye@huawei.com>
2025-08-06 05:36:34 +00:00
dependabot[bot]
4b7d659cf6
build(deps): bump tokio-util from 0.7.15 to 0.7.16 (#38488)
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.15 to
0.7.16.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cf6b50a3fd"><code>cf6b50a</code></a>
chore: prepare tokio-util v0.7.16 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7507">#7507</a>)</li>
<li><a
href="416e36b0df"><code>416e36b</code></a>
task: stabilise <code>JoinMap</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7075">#7075</a>)</li>
<li><a
href="9741c90f9f"><code>9741c90</code></a>
sync: document cancel safety on <code>SetOnce::wait</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7506">#7506</a>)</li>
<li><a
href="4e3f17bce3"><code>4e3f17b</code></a>
codec: also apply capacity to read buffer in
<code>Framed::with_capacity</code> (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7500">#7500</a>)</li>
<li><a
href="86cbf81e15"><code>86cbf81</code></a>
Merge 'tokio-1.47.1' into 'master'</li>
<li><a
href="be8ee45b3f"><code>be8ee45</code></a>
chore: prepare Tokio v1.47.1 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7504">#7504</a>)</li>
<li><a
href="d9b19166cd"><code>d9b1916</code></a>
Merge 'tokio-1.43.2' into 'tokio-1.47.x' (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7503">#7503</a>)</li>
<li><a
href="db8edc620f"><code>db8edc6</code></a>
chore: prepare Tokio v1.43.2 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7502">#7502</a>)</li>
<li><a
href="e47565b086"><code>e47565b</code></a>
blocking: clarify that spawn_blocking is aborted if not yet started (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7501">#7501</a>)</li>
<li><a
href="4730984d66"><code>4730984</code></a>
readme: add 1.47 as LTS release (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7497">#7497</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.15...tokio-util-0.7.16">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.15&new-version=0.7.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-08-05 20:28:35 +00:00
dependabot[bot]
90dd034070
build(deps): bump async-lock from 3.4.0 to 3.4.1 (#38486)
Bumps [async-lock](https://github.com/smol-rs/async-lock) from 3.4.0 to
3.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/smol-rs/async-lock/releases">async-lock's
releases</a>.</em></p>
<blockquote>
<h2>v3.4.1</h2>
<ul>
<li>Fix typos in docs. (<a
href="https://redirect.github.com/smol-rs/async-lock/issues/89">#89</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/smol-rs/async-lock/blob/master/CHANGELOG.md">async-lock's
changelog</a>.</em></p>
<blockquote>
<h1>Version 3.4.1</h1>
<ul>
<li>Fix typos in docs. (<a
href="https://redirect.github.com/smol-rs/async-lock/issues/89">#89</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="82283a2e1b"><code>82283a2</code></a>
v3.4.1</li>
<li><a
href="cd0937d70a"><code>cd0937d</code></a>
Fix clippy::empty_line_after_doc_comments and
clippy::empty_line_after_outer_...</li>
<li><a
href="7819a20973"><code>7819a20</code></a>
Fix clippy::needless_lifetimes warning</li>
<li><a
href="efcc3d8b32"><code>efcc3d8</code></a>
ci: Use reusable workflows for fmt and security_audit</li>
<li><a
href="6bece6e513"><code>6bece6e</code></a>
ci: Use &quot;v2.0.0&quot; branch for security check</li>
<li><a
href="9963923bad"><code>9963923</code></a>
chore: Fix typos (<a
href="https://redirect.github.com/smol-rs/async-lock/issues/89">#89</a>)</li>
<li><a
href="8717b76b68"><code>8717b76</code></a>
chore: Fix lints (<a
href="https://redirect.github.com/smol-rs/async-lock/issues/92">#92</a>)</li>
<li>See full diff in <a
href="https://github.com/smol-rs/async-lock/compare/v3.4.0...v3.4.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-05 19:38:52 +00:00
dependabot[bot]
fe2c901498
build(deps): bump futures-lite from 2.6.0 to 2.6.1 (#38485)
Bumps [futures-lite](https://github.com/smol-rs/futures-lite) from 2.6.0
to 2.6.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/smol-rs/futures-lite/releases">futures-lite's
releases</a>.</em></p>
<blockquote>
<h2>v2.6.1</h2>
<ul>
<li>Fix docs for <code>once_future</code> and
<code>stop_after_future</code>. (<a
href="https://redirect.github.com/smol-rs/futures-lite/issues/131">#131</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/smol-rs/futures-lite/blob/master/CHANGELOG.md">futures-lite's
changelog</a>.</em></p>
<blockquote>
<h1>Version 2.6.1</h1>
<ul>
<li>Fix docs for <code>once_future</code> and
<code>stop_after_future</code>. (<a
href="https://redirect.github.com/smol-rs/futures-lite/issues/131">#131</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="226ce18976"><code>226ce18</code></a>
v2.6.1</li>
<li><a
href="3444c7a2f8"><code>3444c7a</code></a>
docs: Fix <code>stop_after_future</code> link and
<code>once_future</code> description (<a
href="https://redirect.github.com/smol-rs/futures-lite/issues/131">#131</a>)</li>
<li><a
href="d608d08310"><code>d608d08</code></a>
Some alloc-related cleanup (<a
href="https://redirect.github.com/smol-rs/futures-lite/issues/130">#130</a>)</li>
<li><a
href="077e1c1a5e"><code>077e1c1</code></a>
Switch to unconditional no_std attribute (<a
href="https://redirect.github.com/smol-rs/futures-lite/issues/128">#128</a>)</li>
<li><a
href="5c196b9516"><code>5c196b9</code></a>
docs: Enable doc_auto_cfg on docs.rs (<a
href="https://redirect.github.com/smol-rs/futures-lite/issues/125">#125</a>)</li>
<li><a
href="64dbe9e4ec"><code>64dbe9e</code></a>
ci: Use reusable workflows for fmt and security_audit</li>
<li>See full diff in <a
href="https://github.com/smol-rs/futures-lite/compare/v2.6.0...v2.6.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures-lite&package-manager=cargo&previous-version=2.6.0&new-version=2.6.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-08-05 19:36:19 +00:00
dependabot[bot]
961a83c905
build(deps): bump event-listener from 5.4.0 to 5.4.1 (#38483)
Bumps [event-listener](https://github.com/smol-rs/event-listener) from
5.4.0 to 5.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/smol-rs/event-listener/releases">event-listener's
releases</a>.</em></p>
<blockquote>
<h2>v5.4.1</h2>
<ul>
<li>Fix a copy-paste error in <code>wait_timeout</code> docs (<a
href="https://redirect.github.com/smol-rs/event-listener/issues/152">#152</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/smol-rs/event-listener/blob/master/CHANGELOG.md">event-listener's
changelog</a>.</em></p>
<blockquote>
<h1>Version 5.4.1</h1>
<ul>
<li>Fix a copy-paste error in <code>wait_timeout</code> docs (<a
href="https://redirect.github.com/smol-rs/event-listener/issues/152">#152</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="0c18ca2308"><code>0c18ca2</code></a>
v5.4.1</li>
<li><a
href="56d87b45d6"><code>56d87b4</code></a>
Update criterion requirement from 0.6 to 0.7 (<a
href="https://redirect.github.com/smol-rs/event-listener/issues/156">#156</a>)</li>
<li><a
href="810a6db63c"><code>810a6db</code></a>
Update criterion requirement from 0.5 to 0.6 (<a
href="https://redirect.github.com/smol-rs/event-listener/issues/153">#153</a>)</li>
<li><a
href="91a936e66e"><code>91a936e</code></a>
Fix doctest on WASM</li>
<li><a
href="323da40de2"><code>323da40</code></a>
Fix clippy::mem_replace_option_with_some warning</li>
<li><a
href="29e15c0fcb"><code>29e15c0</code></a>
ci: Re-enable WASM test</li>
<li><a
href="a8aefba5e9"><code>a8aefba</code></a>
Merge pull request <a
href="https://redirect.github.com/smol-rs/event-listener/issues/152">#152</a>
from JamesHallowell/fix-wait-timeout-docs</li>
<li><a
href="9870df3f63"><code>9870df3</code></a>
Minor amendment to <code>wait_timeout</code> docs</li>
<li><a
href="51ae1404dc"><code>51ae140</code></a>
ci: Use reusable workflows for fmt and security_audit</li>
<li>See full diff in <a
href="https://github.com/smol-rs/event-listener/compare/v5.4.0...v5.4.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-05 19:15:27 +00:00
dependabot[bot]
46e71fc30b
build(deps): bump signal-hook-registry from 1.4.5 to 1.4.6 (#38481)
Bumps [signal-hook-registry](https://github.com/vorner/signal-hook) from
1.4.5 to 1.4.6.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md">signal-hook-registry's
changelog</a>.</em></p>
<blockquote>
<h1>signal-hook-registry-1.4.6</h1>
<ul>
<li>Reword/improve the safety requirements docs for register (<a
href="https://redirect.github.com/vorner/signal-hook/issues/178">#178</a>).</li>
</ul>
<h1>signal-hook-1.3.18</h1>
<ul>
<li>Release the special-case removal of AIX for top-level signal-hook
too (<a
href="https://redirect.github.com/vorner/signal-hook/issues/169">#169</a>,
<a
href="https://redirect.github.com/vorner/signal-hook/issues/176">#176</a>).</li>
</ul>
<h1>signal-hook-async-std-0.3.0</h1>
<ul>
<li>Bump async-std to 0.2 (<a
href="https://redirect.github.com/vorner/signal-hook/issues/172">#172</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4c5d0a0d3b"><code>4c5d0a0</code></a>
Release registry v1.4.6</li>
<li><a
href="b299a05459"><code>b299a05</code></a>
Merge pull request <a
href="https://redirect.github.com/vorner/signal-hook/issues/179">#179</a>
from vorner/safety-docs</li>
<li><a
href="164d58b924"><code>164d58b</code></a>
Clarify safety requirements for register.</li>
<li><a
href="1ff235c739"><code>1ff235c</code></a>
Merge pull request <a
href="https://redirect.github.com/vorner/signal-hook/issues/177">#177</a>
from tomstokes/master</li>
<li><a
href="9ffea0fd11"><code>9ffea0f</code></a>
docs: Fix MIO feature name</li>
<li><a
href="e343491fa5"><code>e343491</code></a>
Version 0.3.18</li>
<li><a
href="dfdec81944"><code>dfdec81</code></a>
signal-hook-async-std 0.3.0</li>
<li><a
href="dcc5da2f30"><code>dcc5da2</code></a>
Merge pull request <a
href="https://redirect.github.com/vorner/signal-hook/issues/175">#175</a>
from gaykitty/update-async-std</li>
<li><a
href="171da9cf95"><code>171da9c</code></a>
Update async-io and futures-lite to v2</li>
<li>See full diff in <a
href="https://github.com/vorner/signal-hook/compare/registry-v1.4.5...registry-v1.4.6">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-05 19:05:30 +00:00
sagudev
f3644422c4
layout: Separate LayoutDamage bit patterns nibbles with _ (#38476)
Using `_` on such long bit patterns makes them easier to read.

Testing: Just formatting.
Fixes: #38474

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-08-05 12:43:16 +00:00
shuppy
3eddfeaee2
script: Tell SpiderMonkey whether scripts are inline (#38363)
to use the [SpiderMonkey Debugger
API](https://firefox-source-docs.mozilla.org/js/Debugger/) as the single
source of truth about scripts and their sources for devtools purposes
(servo/servo#38334), the debugger script needs to be able to distinguish
inline scripts from other scripts, because inline scripts are a special
case where the source contents need to come from the Servo parser.

the mechanism for this is
[Debugger.Script.prototype.**introductionType**](https://firefox-source-docs.mozilla.org/js/Debugger/Debugger.Source.html#introductiontype),
which is `inlineScript` for inline scripts or a variety of other values
for other kinds of scripts, but only the embedder can provide this
information.

this patch bumps mozjs to servo/mozjs#603, which expands on
CompileOptionsWrapper, making it a safe wrapper around CompileOptions.
to construct one from safe code, use Runtime::new_compile_options().
then you can call `set_introduction_type(&'static CStr)` on the new
instance. we also make Runtime::evaluate_script() take a
CompileOptionsWrapper from the caller, instead of constructing one
internally.

in this patch, we set the introductionType to `c"inlineScript"` when
calling run_a_classic_script() and compile_module_script() for inline
scripts, and leave it unset all other cases.

Testing: will undergo automated tests in #38334
Fixes: part of #36027, part of servo/servo#38378

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
2025-08-05 12:41:14 +00:00
Martin Robinson
0bf8676345
layout: Cache projected point in spatial node when hit testing (#38464)
Implement a simple one element cache for projected points in spatial
nodes. This should reduce the amount matrix math done during hit
testing.

Testing: This should not change test results, but should improve
performance a bit. Thus, tests are not necessary beyond existing
performance tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-08-05 11:07:42 +00:00
shuppy
ec99e7a8b0
script: Remove logging in debugger script (#38475)
#38333 adds new code to the debugger script containing some
console.log() calls, which unlike native rust log messages can’t be
turned off. this patch removes them for now, until we find a better
approach.

Testing: no testable changes in this patch
Fixes: noisy logging as of #38333

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
2025-08-05 11:01:35 +00:00