Commit graph

51375 commits

Author SHA1 Message Date
Oriol Brufau
1499e2a874
Remove some references to layout 2013 vs layout 2020 (#37007)
We no longer have both layout systems.

Testing: not needed (no behavior change)

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-05-14 19:53:48 +00:00
Tim van der Lippe
a24fce3ae7
Implement inner slot for cryptographic nonce (#36965)
Also update the `html/dom/reflection-metadata.html` test
to handle the case where `nonce` does not reflect back
to the attribute after an IDL change.

Part of https://github.com/servo/servo/issues/4577
Fixes https://github.com/web-platform-tests/wpt/issues/43286

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-05-14 10:21:21 +00:00
webbeef
3aff272e14
chore: update webdriver to 0.53 (#37001)
Updates webdriver to the current version.

Testing: No breakage of CI tests

Signed-off-by: webbeef <me@webbeef.org>
2025-05-14 08:22:40 +00:00
sagudev
fdb9c0af12
canvas: Move generic implementations into GenericPathBuilder trait (#36999)
There is no reason to require this impls, because we already have
written them in generic way.

Testing: Just refactoring, but there are WPT tests

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-05-14 03:51:56 +00:00
Steven Novaryo
a572bf1191
layout: Propagate specified info for flex item (#36993)
We should propagate specified info for flex items. This will prevent the
loss of it for boxes that have this info (e.g. table or grid).

Testing: Adding new WPT tests

---------

Signed-off-by: stevennovaryo <steven.novaryo@gmail.com>
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-05-13 21:10:40 +00:00
Tim van der Lippe
c985c08737
Implement iframe.srcdoc trusted type sink (#36960)
Part of https://github.com/servo/servo/issues/36258

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-05-13 21:07:13 +00:00
dependabot[bot]
9f6a40e6aa
build(deps): bump the gstreamer-related group with 17 updates (#36996)
Bumps the gstreamer-related group with 17 updates:

| Package | From | To |
| --- | --- | --- |
| gstreamer | `0.23.5` | `0.23.6` |
| gstreamer-base | `0.23.5` | `0.23.6` |
| gstreamer-gl | `0.23.5` | `0.23.6` |
| gstreamer-gl-sys | `0.23.5` | `0.23.6` |
| gstreamer-sys | `0.23.5` | `0.23.6` |
| gstreamer-video | `0.23.5` | `0.23.6` |
| [gio-sys](https://github.com/gtk-rs/gtk-rs-core) | `0.20.9` |
`0.20.10` |
| [glib](https://github.com/gtk-rs/gtk-rs-core) | `0.20.9` | `0.20.10` |
| [glib-macros](https://github.com/gtk-rs/gtk-rs-core) | `0.20.7` |
`0.20.10` |
| [glib-sys](https://github.com/gtk-rs/gtk-rs-core) | `0.20.9` |
`0.20.10` |
| [gobject-sys](https://github.com/gtk-rs/gtk-rs-core) | `0.20.9` |
`0.20.10` |
| gstreamer-audio | `0.23.5` | `0.23.6` |
| gstreamer-audio-sys | `0.23.5` | `0.23.6` |
| gstreamer-base-sys | `0.23.5` | `0.23.6` |
| gstreamer-gl-egl | `0.23.5` | `0.23.6` |
| gstreamer-gl-egl-sys | `0.23.5` | `0.23.6` |
| gstreamer-video-sys | `0.23.5` | `0.23.6` |

Updates `gstreamer` from 0.23.5 to 0.23.6

Updates `gstreamer-base` from 0.23.5 to 0.23.6

Updates `gstreamer-gl` from 0.23.5 to 0.23.6

Updates `gstreamer-gl-sys` from 0.23.5 to 0.23.6

Updates `gstreamer-sys` from 0.23.5 to 0.23.6

Updates `gstreamer-video` from 0.23.5 to 0.23.6

Updates `gio-sys` from 0.20.9 to 0.20.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gtk-rs/gtk-rs-core/releases">gio-sys's
releases</a>.</em></p>
<blockquote>
<h2>0.20.10</h2>
<pre><code>Bilal Elmoussaoui:
      ignore typ typo
      gobject: Work around wrongly added v2_82 feature
      glib: Implement Deref/DerefMut for ThreadGuard
<p>David Hewitt:<br />
gio: manually implement content_type_guess</p>
<p>Leo Schaefer:<br />
Fix bug in bindings of shape_full and shape_with_flags<br />
Use as_ptr and bring shape_full and shape_with_flags into the same
format</p>
<p>Sebastian Dröge:<br />
Update gir<br />
Update gir-files<br />
gio: Ignore
<code>g_dbus_connection_register_object_with_closures2()</code> for
now<br />
glib: Add bindings for <code>g_intern_string()</code> and
<code>g_intern_static_string()</code> to <code>GStr</code><br />
graphene: Add some <code>// rustdoc-stripper-ignore-next</code><br />
glib: Add From&lt;AsRef&lt;str&gt;&gt; impl for GStringPtr<br />
pango: Implement <code>pango_shape()</code> bindings manually and ignore
<code>pango_shape_item()</code> for now<br />
cairo: Pass a mutable reference when we expect the function to mutate
the value<br />
Fix new clippy 1.86 warnings<br />
ci: Update to Ubuntu 24.04 for building the image<br />
ci: Install some more development packages for the image build<br />
Add 2.86 glib/gio version features<br />
Regenerate with latest gir / gir-files<br />
Update Cargo.lock<br />
Update version to 0.20.10</p>
<p>Sebastian Wiesner:<br />
Wrap IntoFuture around Cancellable::future<br />
Derive Debug and Clone for variant DictEntry</p>
<p>Wesley Moore:<br />
cairo: Fix some typos in Error Display impl<br />
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7a02e4f0e7"><code>7a02e4f</code></a>
Update version to 0.20.10</li>
<li><a
href="cb02e40c6c"><code>cb02e40</code></a>
Merge pull request <a
href="https://redirect.github.com/gtk-rs/gtk-rs-core/issues/1718">#1718</a>
from sdroege/0.20-backports</li>
<li><a
href="b65960a8ef"><code>b65960a</code></a>
Update Cargo.lock</li>
<li><a
href="f1566fe922"><code>f1566fe</code></a>
gio: manually implement content_type_guess</li>
<li><a
href="4fd1980d5f"><code>4fd1980</code></a>
Regenerate with latest gir / gir-files</li>
<li><a
href="e688a10cec"><code>e688a10</code></a>
cairo: Fix some typos in Error Display impl</li>
<li><a
href="be02ba38ff"><code>be02ba3</code></a>
glib: Implement Deref/DerefMut for ThreadGuard</li>
<li><a
href="539fc35aff"><code>539fc35</code></a>
gobject: Work around wrongly added v2_82 feature</li>
<li><a
href="7efee6049e"><code>7efee60</code></a>
Derive Debug and Clone for variant DictEntry</li>
<li><a
href="88471949a7"><code>8847194</code></a>
Wrap IntoFuture around Cancellable::future</li>
<li>Additional commits viewable in <a
href="https://github.com/gtk-rs/gtk-rs-core/compare/0.20.9...0.20.10">compare
view</a></li>
</ul>
</details>
<br />

Updates `glib` from 0.20.9 to 0.20.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gtk-rs/gtk-rs-core/releases">glib's
releases</a>.</em></p>
<blockquote>
<h2>0.20.10</h2>
<pre><code>Bilal Elmoussaoui:
      ignore typ typo
      gobject: Work around wrongly added v2_82 feature
      glib: Implement Deref/DerefMut for ThreadGuard
<p>David Hewitt:<br />
gio: manually implement content_type_guess</p>
<p>Leo Schaefer:<br />
Fix bug in bindings of shape_full and shape_with_flags<br />
Use as_ptr and bring shape_full and shape_with_flags into the same
format</p>
<p>Sebastian Dröge:<br />
Update gir<br />
Update gir-files<br />
gio: Ignore
<code>g_dbus_connection_register_object_with_closures2()</code> for
now<br />
glib: Add bindings for <code>g_intern_string()</code> and
<code>g_intern_static_string()</code> to <code>GStr</code><br />
graphene: Add some <code>// rustdoc-stripper-ignore-next</code><br />
glib: Add From&lt;AsRef&lt;str&gt;&gt; impl for GStringPtr<br />
pango: Implement <code>pango_shape()</code> bindings manually and ignore
<code>pango_shape_item()</code> for now<br />
cairo: Pass a mutable reference when we expect the function to mutate
the value<br />
Fix new clippy 1.86 warnings<br />
ci: Update to Ubuntu 24.04 for building the image<br />
ci: Install some more development packages for the image build<br />
Add 2.86 glib/gio version features<br />
Regenerate with latest gir / gir-files<br />
Update Cargo.lock<br />
Update version to 0.20.10</p>
<p>Sebastian Wiesner:<br />
Wrap IntoFuture around Cancellable::future<br />
Derive Debug and Clone for variant DictEntry</p>
<p>Wesley Moore:<br />
cairo: Fix some typos in Error Display impl<br />
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7a02e4f0e7"><code>7a02e4f</code></a>
Update version to 0.20.10</li>
<li><a
href="cb02e40c6c"><code>cb02e40</code></a>
Merge pull request <a
href="https://redirect.github.com/gtk-rs/gtk-rs-core/issues/1718">#1718</a>
from sdroege/0.20-backports</li>
<li><a
href="b65960a8ef"><code>b65960a</code></a>
Update Cargo.lock</li>
<li><a
href="f1566fe922"><code>f1566fe</code></a>
gio: manually implement content_type_guess</li>
<li><a
href="4fd1980d5f"><code>4fd1980</code></a>
Regenerate with latest gir / gir-files</li>
<li><a
href="e688a10cec"><code>e688a10</code></a>
cairo: Fix some typos in Error Display impl</li>
<li><a
href="be02ba38ff"><code>be02ba3</code></a>
glib: Implement Deref/DerefMut for ThreadGuard</li>
<li><a
href="539fc35aff"><code>539fc35</code></a>
gobject: Work around wrongly added v2_82 feature</li>
<li><a
href="7efee6049e"><code>7efee60</code></a>
Derive Debug and Clone for variant DictEntry</li>
<li><a
href="88471949a7"><code>8847194</code></a>
Wrap IntoFuture around Cancellable::future</li>
<li>Additional commits viewable in <a
href="https://github.com/gtk-rs/gtk-rs-core/compare/0.20.9...0.20.10">compare
view</a></li>
</ul>
</details>
<br />

Updates `glib-macros` from 0.20.7 to 0.20.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gtk-rs/gtk-rs-core/releases">glib-macros's
releases</a>.</em></p>
<blockquote>
<h2>0.20.10</h2>
<pre><code>Bilal Elmoussaoui:
      ignore typ typo
      gobject: Work around wrongly added v2_82 feature
      glib: Implement Deref/DerefMut for ThreadGuard
<p>David Hewitt:
gio: manually implement content_type_guess</p>
<p>Leo Schaefer:
Fix bug in bindings of shape_full and shape_with_flags
Use as_ptr and bring shape_full and shape_with_flags into the same
format</p>
<p>Sebastian Dröge:
Update gir
Update gir-files
gio: Ignore
<code>g_dbus_connection_register_object_with_closures2()</code> for now
glib: Add bindings for <code>g_intern_string()</code> and
<code>g_intern_static_string()</code> to <code>GStr</code>
graphene: Add some <code>// rustdoc-stripper-ignore-next</code>
glib: Add From&lt;AsRef&lt;str&gt;&gt; impl for GStringPtr
pango: Implement <code>pango_shape()</code> bindings manually and ignore
<code>pango_shape_item()</code> for now
cairo: Pass a mutable reference when we expect the function to mutate
the value
Fix new clippy 1.86 warnings
ci: Update to Ubuntu 24.04 for building the image
ci: Install some more development packages for the image build
Add 2.86 glib/gio version features
Regenerate with latest gir / gir-files
Update Cargo.lock
Update version to 0.20.10</p>
<p>Sebastian Wiesner:
Wrap IntoFuture around Cancellable::future
Derive Debug and Clone for variant DictEntry</p>
<p>Wesley Moore:
cairo: Fix some typos in Error Display impl
</code></pre></p>
<h2>0.20.9</h2>
<pre><code>Christopher Head (2):
      Fix incorrect documentation
      Re-export CancelledHandlerId
<p>Philipp Jungkamp:
glib: Implement ToGlibContainerFromSlice for CStr and CString
gio: Use manual <code>env: &amp;amp;[OsString]</code> parameter for
SubprocessLauncher::set_environ</p>
<p>Sebastian Dröge:
&lt;/tr&gt;&lt;/table&gt;
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7a02e4f0e7"><code>7a02e4f</code></a>
Update version to 0.20.10</li>
<li><a
href="cb02e40c6c"><code>cb02e40</code></a>
Merge pull request <a
href="https://redirect.github.com/gtk-rs/gtk-rs-core/issues/1718">#1718</a>
from sdroege/0.20-backports</li>
<li><a
href="b65960a8ef"><code>b65960a</code></a>
Update Cargo.lock</li>
<li><a
href="f1566fe922"><code>f1566fe</code></a>
gio: manually implement content_type_guess</li>
<li><a
href="4fd1980d5f"><code>4fd1980</code></a>
Regenerate with latest gir / gir-files</li>
<li><a
href="e688a10cec"><code>e688a10</code></a>
cairo: Fix some typos in Error Display impl</li>
<li><a
href="be02ba38ff"><code>be02ba3</code></a>
glib: Implement Deref/DerefMut for ThreadGuard</li>
<li><a
href="539fc35aff"><code>539fc35</code></a>
gobject: Work around wrongly added v2_82 feature</li>
<li><a
href="7efee6049e"><code>7efee60</code></a>
Derive Debug and Clone for variant DictEntry</li>
<li><a
href="88471949a7"><code>8847194</code></a>
Wrap IntoFuture around Cancellable::future</li>
<li>Additional commits viewable in <a
href="https://github.com/gtk-rs/gtk-rs-core/compare/0.20.7...0.20.10">compare
view</a></li>
</ul>
</details>
<br />

Updates `glib-sys` from 0.20.9 to 0.20.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gtk-rs/gtk-rs-core/releases">glib-sys's
releases</a>.</em></p>
<blockquote>
<h2>0.20.10</h2>
<pre><code>Bilal Elmoussaoui:
      ignore typ typo
      gobject: Work around wrongly added v2_82 feature
      glib: Implement Deref/DerefMut for ThreadGuard
<p>David Hewitt:<br />
gio: manually implement content_type_guess</p>
<p>Leo Schaefer:<br />
Fix bug in bindings of shape_full and shape_with_flags<br />
Use as_ptr and bring shape_full and shape_with_flags into the same
format</p>
<p>Sebastian Dröge:<br />
Update gir<br />
Update gir-files<br />
gio: Ignore
<code>g_dbus_connection_register_object_with_closures2()</code> for
now<br />
glib: Add bindings for <code>g_intern_string()</code> and
<code>g_intern_static_string()</code> to <code>GStr</code><br />
graphene: Add some <code>// rustdoc-stripper-ignore-next</code><br />
glib: Add From&lt;AsRef&lt;str&gt;&gt; impl for GStringPtr<br />
pango: Implement <code>pango_shape()</code> bindings manually and ignore
<code>pango_shape_item()</code> for now<br />
cairo: Pass a mutable reference when we expect the function to mutate
the value<br />
Fix new clippy 1.86 warnings<br />
ci: Update to Ubuntu 24.04 for building the image<br />
ci: Install some more development packages for the image build<br />
Add 2.86 glib/gio version features<br />
Regenerate with latest gir / gir-files<br />
Update Cargo.lock<br />
Update version to 0.20.10</p>
<p>Sebastian Wiesner:<br />
Wrap IntoFuture around Cancellable::future<br />
Derive Debug and Clone for variant DictEntry</p>
<p>Wesley Moore:<br />
cairo: Fix some typos in Error Display impl<br />
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7a02e4f0e7"><code>7a02e4f</code></a>
Update version to 0.20.10</li>
<li><a
href="cb02e40c6c"><code>cb02e40</code></a>
Merge pull request <a
href="https://redirect.github.com/gtk-rs/gtk-rs-core/issues/1718">#1718</a>
from sdroege/0.20-backports</li>
<li><a
href="b65960a8ef"><code>b65960a</code></a>
Update Cargo.lock</li>
<li><a
href="f1566fe922"><code>f1566fe</code></a>
gio: manually implement content_type_guess</li>
<li><a
href="4fd1980d5f"><code>4fd1980</code></a>
Regenerate with latest gir / gir-files</li>
<li><a
href="e688a10cec"><code>e688a10</code></a>
cairo: Fix some typos in Error Display impl</li>
<li><a
href="be02ba38ff"><code>be02ba3</code></a>
glib: Implement Deref/DerefMut for ThreadGuard</li>
<li><a
href="539fc35aff"><code>539fc35</code></a>
gobject: Work around wrongly added v2_82 feature</li>
<li><a
href="7efee6049e"><code>7efee60</code></a>
Derive Debug and Clone for variant DictEntry</li>
<li><a
href="88471949a7"><code>8847194</code></a>
Wrap IntoFuture around Cancellable::future</li>
<li>Additional commits viewable in <a
href="https://github.com/gtk-rs/gtk-rs-core/compare/0.20.9...0.20.10">compare
view</a></li>
</ul>
</details>
<br />

Updates `gobject-sys` from 0.20.9 to 0.20.10
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gtk-rs/gtk-rs-core/releases">gobject-sys's
releases</a>.</em></p>
<blockquote>
<h2>0.20.10</h2>
<pre><code>Bilal Elmoussaoui:
      ignore typ typo
      gobject: Work around wrongly added v2_82 feature
      glib: Implement Deref/DerefMut for ThreadGuard
<p>David Hewitt:<br />
gio: manually implement content_type_guess</p>
<p>Leo Schaefer:<br />
Fix bug in bindings of shape_full and shape_with_flags<br />
Use as_ptr and bring shape_full and shape_with_flags into the same
format</p>
<p>Sebastian Dröge:<br />
Update gir<br />
Update gir-files<br />
gio: Ignore
<code>g_dbus_connection_register_object_with_closures2()</code> for
now<br />
glib: Add bindings for <code>g_intern_string()</code> and
<code>g_intern_static_string()</code> to <code>GStr</code><br />
graphene: Add some <code>// rustdoc-stripper-ignore-next</code><br />
glib: Add From&lt;AsRef&lt;str&gt;&gt; impl for GStringPtr<br />
pango: Implement <code>pango_shape()</code> bindings manually and ignore
<code>pango_shape_item()</code> for now<br />
cairo: Pass a mutable reference when we expect the function to mutate
the value<br />
Fix new clippy 1.86 warnings<br />
ci: Update to Ubuntu 24.04 for building the image<br />
ci: Install some more development packages for the image build<br />
Add 2.86 glib/gio version features<br />
Regenerate with latest gir / gir-files<br />
Update Cargo.lock<br />
Update version to 0.20.10</p>
<p>Sebastian Wiesner:<br />
Wrap IntoFuture around Cancellable::future<br />
Derive Debug and Clone for variant DictEntry</p>
<p>Wesley Moore:<br />
cairo: Fix some typos in Error Display impl<br />
</code></pre></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7a02e4f0e7"><code>7a02e4f</code></a>
Update version to 0.20.10</li>
<li><a
href="cb02e40c6c"><code>cb02e40</code></a>
Merge pull request <a
href="https://redirect.github.com/gtk-rs/gtk-rs-core/issues/1718">#1718</a>
from sdroege/0.20-backports</li>
<li><a
href="b65960a8ef"><code>b65960a</code></a>
Update Cargo.lock</li>
<li><a
href="f1566fe922"><code>f1566fe</code></a>
gio: manually implement content_type_guess</li>
<li><a
href="4fd1980d5f"><code>4fd1980</code></a>
Regenerate with latest gir / gir-files</li>
<li><a
href="e688a10cec"><code>e688a10</code></a>
cairo: Fix some typos in Error Display impl</li>
<li><a
href="be02ba38ff"><code>be02ba3</code></a>
glib: Implement Deref/DerefMut for ThreadGuard</li>
<li><a
href="539fc35aff"><code>539fc35</code></a>
gobject: Work around wrongly added v2_82 feature</li>
<li><a
href="7efee6049e"><code>7efee60</code></a>
Derive Debug and Clone for variant DictEntry</li>
<li><a
href="88471949a7"><code>8847194</code></a>
Wrap IntoFuture around Cancellable::future</li>
<li>Additional commits viewable in <a
href="https://github.com/gtk-rs/gtk-rs-core/compare/0.20.9...0.20.10">compare
view</a></li>
</ul>
</details>
<br />

Updates `gstreamer-audio` from 0.23.5 to 0.23.6

Updates `gstreamer-audio-sys` from 0.23.5 to 0.23.6

Updates `gstreamer-base-sys` from 0.23.5 to 0.23.6

Updates `gstreamer-gl-egl` from 0.23.5 to 0.23.6

Updates `gstreamer-gl-egl-sys` from 0.23.5 to 0.23.6

Updates `gstreamer-video-sys` from 0.23.5 to 0.23.6


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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-13 16:58:25 +00:00
Narfinger
991be359a3
libservo: Allow embedders to execute JavaScript scripts via the API (#35720)
This change adds a new `WebView` API `evaluate_javascript()`, which
allows embedders to
execute JavaScript code and wait for a reply asynchronously. Ongoing
script execution is
tracked by a libservo `JavaScriptEvaluator` struct, which maps an id to
the callback passed
to the `evaluate_javascript()` method. The id is used to track the
script and its execution
through the other parts of Servo.

Testing: This changes includes `WebView` unit tests.

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-05-13 12:54:18 +00:00
Kenzie Raditya Tirtarahardja
91c4c7b998
Fix origin relative coordinate for wheel scroll and refactoring (#36985)
- Wheel scroll action can get coordinates relative to an element origin
([previously](https://github.com/servo/servo/pull/36744) only
implemented for viewport).
- Extract the element coordinate into a function

Testing: Partially
`tests/wpt/tests/infrastructure/testdriver/actions/wheelScroll.html`,
but we still have synchronization problem. You can try to add sleep in
the test to see OK result.

cc: @xiaochengh @longvatrong111 @yezhizhen

Signed-off-by: PotatoCP <kenzieradityatirtarahardja.18@gmail.com>
Co-authored-by: PotatoCP <kenzieradityatirtarahardja.18@gmail.com>
2025-05-13 10:46:27 +00:00
Andrei Volykhin
6468734aea
svg: Add mock SVGImageElement interface (#36975)
Add mock SVGImageElement interface to fix TIMEOUT WPT tests
which are related to ImageBitmap (html/canvas/*).
https://svgwg.org/svg2-draft/embedded.html#InterfaceSVGImageElement

Rationality of this change to fire event "error" on any attempt to fetch
image resource on href attribute change to not block WPT tests
execution.

Some WPT tests use the legacy namespace attribute "xlink:href", so
support for it was added to source code.
https://svgwg.org/svg2-draft/linking.html#XLinkHrefAttribute
 - setAttributeNS("http://www.w3.org/1999/xlink", 'xlink:href', src);

Testing: Covered by existed WPT tests
 - fetch/metadata/generated/svg-image*
 - html/canvas/element/manual/*
 - html/dom/idlharness.https.html
 - html/semantics/embedded-content/the-canvas-element/*
 - html/webappapis/scripting/events/event-handler-all-global-events.html
 - mozilla/interfaces.https.html

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

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-05-13 10:43:10 +00:00
Euclid Ye
e4f62d5c16
Remove duplicate click event in simulate_mouse_click (#36957)
After `InputEvent::Touch` processed by Script, it sends
`TouchEventProcessed` back to Constellation, which goes through hit-test
etc. and loops back to Script again. However,
`WebViewRenderer::simulate_mouse_click` should not send
`MouseButtonAction::Click` due to #36413

Testing: Manually tested by converting mouse to touch

cc @jdm @xiaochengh

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-05-13 10:25:09 +00:00
dependabot[bot]
bee491b0ff
build(deps): bump clap from 4.5.37 to 4.5.38 (#36984)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.37 to 4.5.38.
<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.38</h2>
<h2>[4.5.38] - 2025-05-11</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> When showing aliases, include leading
<code>--</code> or <code>-</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.5.38] - 2025-05-11</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> When showing aliases, include leading
<code>--</code> or <code>-</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2920fb082c"><code>2920fb0</code></a>
chore: Release</li>
<li><a
href="8902627c2b"><code>8902627</code></a>
docs: Update changelog</li>
<li><a
href="79d696f925"><code>79d696f</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5813">#5813</a>
from epage/ignore</li>
<li><a
href="479df35abd"><code>479df35</code></a>
fix(parser): Fill in defaults on ignored error</li>
<li><a
href="a1d69ca824"><code>a1d69ca</code></a>
refactor(parser): Split up parsing from post-processing</li>
<li><a
href="6827841930"><code>6827841</code></a>
test(parser): Show bad ignore_errors defaulting case</li>
<li><a
href="76d0049330"><code>76d0049</code></a>
test(parser): Verify defaulting on errors</li>
<li><a
href="3f5c05ce38"><code>3f5c05c</code></a>
test(parser): Ensure we are actually testing ignore_errors</li>
<li><a
href="ba4745dd11"><code>ba4745d</code></a>
chore(ci): Fix use of permissions</li>
<li><a
href="22944b4c35"><code>22944b4</code></a>
chore(ci): Use matrix for tracking the runner</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.37...clap_complete-v4.5.38">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.37&new-version=4.5.38)](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-05-12 17:48:19 +00:00
dependabot[bot]
2a0867ec25
build(deps): bump libloading from 0.8.6 to 0.8.7 (#36983)
Bumps [libloading](https://github.com/nagisa/rust_libloading) from 0.8.6
to 0.8.7.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2fe04f2bc8"><code>2fe04f2</code></a>
ci: test *-gnullvm instead of *-gnu</li>
<li><a
href="e25379cf5b"><code>e25379c</code></a>
ci: attempt to fix mingw test failures</li>
<li><a
href="5e033828b0"><code>5e03382</code></a>
release 0.8.7</li>
<li><a
href="fe29b71230"><code>fe29b71</code></a>
ci: add msys2 path to make gcc find the right ld</li>
<li><a
href="76a62e0f28"><code>76a62e0</code></a>
ci: remove TARGET env for cygwin</li>
<li><a
href="20139d9c64"><code>20139d9</code></a>
fix: specify cygwin linker by absolute path</li>
<li><a
href="5cf440d661"><code>5cf440d</code></a>
fix: add cygwin as unexpected cfg</li>
<li><a
href="efdd67675b"><code>efdd676</code></a>
ci: fix rust-src and use env vars</li>
<li><a
href="12621da6c5"><code>12621da</code></a>
ci: add cygwin test on MSYS2</li>
<li><a
href="b264a11dc7"><code>b264a11</code></a>
feat: add cygwin support</li>
<li>Additional commits viewable in <a
href="https://github.com/nagisa/rust_libloading/compare/0.8.6...0.8.7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libloading&package-manager=cargo&previous-version=0.8.6&new-version=0.8.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-05-12 17:38:30 +00:00
Martin Robinson
8808f9a468
layout: Add a repaint-only incremental layout mode (#36978)
This change adds the simplest kind of incremental layout. When Servo
detects that all style changes only require a repaint, only run stacking
context tree and WebRender display list generation. This means that
these kind of restyles do not need a re-layout. Instead, the existing
box and fragment trees will be used and the styles of damaged nodes will
be updated in their box and fragment tree nodes.

This requires a new style repair DOM traversal for nodes that have had
their style damaged. In addition, careful accounting of all the places
where we store style must happen in order ot update those styles.

Testing: This is covered by existing WPT tests as it should not change
observable behavior.

We have created a test case which shows a 50% speedup when run
in Servo, even though there still a long way to go to match the speed
of other browsers:
https://gist.github.com/mrobinson/44ec87d028c0198917a7715a06dd98a0

Co-authored-by: Oriol Brufau <obrufau@igalia.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-05-12 17:03:50 +00:00
Oriol Brufau
51fa6cdcb6
layout: Split AbsoluteAxisSolver::solve() into different methods (#36970)
Abspos layout used to solve sizing and margins simultaneously. This
patch refactors the logic to solve them separately, resulting in simpler
code.

Testing: Unneeded (no change in behavior)

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-05-12 16:30:53 +00:00
Narfinger
bbb2b82aee
Use servoshell custom logging domain for OHOS workfloew (#36979)
Use the introduced logging domain on OHOS to get the log on the
workflow. This improves the reliability of getting the logs if
servoshell crashed.

Testing: This was tested on the CI Runner

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-05-12 16:03:06 +00:00
Taym Haddadi
62569979ff
Make transform stream transferrable (#36905)
Part of https://github.com/servo/servo/issues/34676

#36739 needs to be merged first.

---------

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
2025-05-12 16:02:06 +00:00
Ngo Iok Ui (Wu Yu Wei)
aa4ad0f2be
fix: ReadableStream::get_in_memory_bytes too large (#36914)
Fix a IPC hang due to `ReadableStream::get_in_memory_bytes` could return
really huge chunk.

Testing: WPT on ReadableStream should pass
Fixes: IPC hang when transferring huge chunk bytes from `ReadableStream`


cc @gterzian @Taym95 since this is also related to ReadableStream.

---------

Signed-off-by: Yu Wei Wu <yuweiwu@YunoMacBook-Air.local>
Co-authored-by: Yu Wei Wu <yuweiwu@YunoMacBook-Air.local>
2025-05-12 16:00:14 +00:00
Gae24
c37d5572fd
codegen: use FromJSValConvertible trait for Promise (#36966)
Before it was only used when converting to a `Record`, using it all the
times allow us to remove two methods.
Plus added a helper method in CodegenRust.py to avoid repeated code.

Testing: a successful build and existing tests should cover the changes.
Fixes: #36410

---------

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
2025-05-12 11:05:46 +00:00
Tim van der Lippe
d780fb7695
Implement trusted HTML sinks for Element (#36941)
Also implements a conversion for `TrustedHTMLOrNullIsEmptyString`
to `TrustedHTMLOrString` to avoid introducing a separate
`get_trusted_script_compliant_string` for the new type.

Part of #36258

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-05-12 10:53:03 +00:00
Martin Robinson
a0dd2c1beb
layout: Share styles to inline box children via SharedInlineStyles (#36896)
`TextRun`s use their parent style to render. Previously, these styles
were cloned and stored directly in the box tree `TextRun` and resulting
`TextFragment`s. This presents a problem for incremental layout.
Wrapping the style in another layer of shared ownership and mutability
will allow updating all `TextFragment`s during repaint-only incremental
layout by simply updating the box tree styles of the original text
parents.

This adds a new set of borrows when accessing text styles, but also
makes it so that during box tree block construction
`InlineFormattingContext`s are created lazily and now
`InlineFormattingContextBuilder::finish` consumes the builder, making
the API make a bit more sense. This should also improve performance of
box tree block construction slightly.

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

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-05-12 09:38:50 +00:00
Euclid Ye
db83601b62
Fix comment and add TODO for webdriver pointermove (#36929)
Testing: No. Just updating comments

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-05-12 08:20:43 +00:00
sagudev
c0339dd360
CI: add build-args (#36947)
Add `build-args` input in CI and try_parser job definition so we can
pass own build args to `./mach build`

Testing: There are tests for try parser and I tested CI in my fork.
Fixes: partial fix #36823

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-05-12 07:41:12 +00:00
dependabot[bot]
5c9afe4274
build(deps): bump the objc2-related group with 2 updates (#36919)
Bumps the objc2-related group with 2 updates:
[objc2-app-kit](https://github.com/madsmtm/objc2) and
[objc2-foundation](https://github.com/madsmtm/objc2).

Updates `objc2-app-kit` from 0.2.2 to 0.3.1
<details>
<summary>Commits</summary>
<ul>
<li><a
href="97c2ebaac1"><code>97c2eba</code></a>
Merge pull request <a
href="https://redirect.github.com/madsmtm/objc2/issues/464">#464</a>
from madsmtm/new-versions</li>
<li><a
href="b329dd049f"><code>b329dd0</code></a>
Update Cargo.lock</li>
<li><a
href="8428734b3b"><code>8428734</code></a>
Bump icrate version 0.0.2 -&gt; 0.0.3</li>
<li><a
href="6a7cc09dc3"><code>6a7cc09</code></a>
Bump block2 version 0.2.0-alpha.8 -&gt; 0.2.0</li>
<li><a
href="87d598ebd2"><code>87d598e</code></a>
Bump objc2 version 0.3.0-beta.5 -&gt; 0.4.0</li>
<li><a
href="153d189636"><code>153d189</code></a>
Bump objc2-encode version 2.0.0-pre.4 -&gt; 2.0.0</li>
<li><a
href="699fca319e"><code>699fca3</code></a>
Bump objc-sys version 0.3.0 -&gt; 0.3.1</li>
<li><a
href="0f4a937d58"><code>0f4a937</code></a>
Merge pull request <a
href="https://redirect.github.com/madsmtm/objc2/issues/465">#465</a>
from madsmtm/fix-before-release</li>
<li><a
href="0139798efb"><code>0139798</code></a>
Disable mutation tests on GNUStep (for now)</li>
<li><a
href="72561dd510"><code>72561dd</code></a>
Fix GNUStep CI not running on Foundation</li>
<li>Additional commits viewable in <a
href="https://github.com/madsmtm/objc2/compare/objc2-0.2.2...objc-sys-0.3.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `objc2-foundation` from 0.2.2 to 0.3.1
<details>
<summary>Commits</summary>
<ul>
<li><a
href="97c2ebaac1"><code>97c2eba</code></a>
Merge pull request <a
href="https://redirect.github.com/madsmtm/objc2/issues/464">#464</a>
from madsmtm/new-versions</li>
<li><a
href="b329dd049f"><code>b329dd0</code></a>
Update Cargo.lock</li>
<li><a
href="8428734b3b"><code>8428734</code></a>
Bump icrate version 0.0.2 -&gt; 0.0.3</li>
<li><a
href="6a7cc09dc3"><code>6a7cc09</code></a>
Bump block2 version 0.2.0-alpha.8 -&gt; 0.2.0</li>
<li><a
href="87d598ebd2"><code>87d598e</code></a>
Bump objc2 version 0.3.0-beta.5 -&gt; 0.4.0</li>
<li><a
href="153d189636"><code>153d189</code></a>
Bump objc2-encode version 2.0.0-pre.4 -&gt; 2.0.0</li>
<li><a
href="699fca319e"><code>699fca3</code></a>
Bump objc-sys version 0.3.0 -&gt; 0.3.1</li>
<li><a
href="0f4a937d58"><code>0f4a937</code></a>
Merge pull request <a
href="https://redirect.github.com/madsmtm/objc2/issues/465">#465</a>
from madsmtm/fix-before-release</li>
<li><a
href="0139798efb"><code>0139798</code></a>
Disable mutation tests on GNUStep (for now)</li>
<li><a
href="72561dd510"><code>72561dd</code></a>
Fix GNUStep CI not running on Foundation</li>
<li>Additional commits viewable in <a
href="https://github.com/madsmtm/objc2/compare/objc2-0.2.2...objc-sys-0.3.1">compare
view</a></li>
</ul>
</details>
<br />


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

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

---

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

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


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2025-05-11 18:39:49 +00:00
Tim van der Lippe
b8fb985170
Fix integrity matching (#36963)
It was missing the ShA case in content-security-policy.

Part of #36437

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-05-11 17:10:09 +00:00
Simon Wülker
41283220dd
Update select shadow tree when contents of selected option change (#36958)
The label that is displayed inside a `<select>` element is that of the
selected option, or it's text contents if the option does not have a
label. Therefore, we need to update the `<select>` shadow tree when the
contents of the selected option change.

Testing: Covered by existing web platform tests
Fixes https://github.com/servo/servo/issues/36926
Fixes https://github.com/servo/servo/issues/36925

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-05-11 16:21:56 +00:00
Tim van der Lippe
fec6778eaa
Fix hash algorithm case-insensitiveness (#36962)
Part of #4577

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-05-11 15:59:43 +00:00
Tim van der Lippe
4821bc0ab0
Implement is-element-nonceable (#36961)
Unfortunately while it now passes almost all cases in
`tests/wpt/tests/content-security-policy/script-src/nonce-enforce-blocked.html`,
the test in question doesn't pass yet as it requires all cases to be
correct. Here, we still miss the "check for duplicate attributes during
parsing". Since we don't have this information available yet from the
parser, skip this for now.

Part of #36437

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-05-11 15:38:13 +00:00
Simon Wülker
dc0e7587bf
Don't attempt to resize Offscreencanvas without a rendering context (#36855)
When the canvas context mode is a placeholder then we shouldn't resize
the context.

Testing: Includes a new test
Fixes: https://github.com/servo/servo/issues/36846

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-05-11 15:27:33 +00:00
Jonathan Schwender
d2afe00f7b
Extend --with-asan to support C/C++ code (#36873)
`--with-asan` now also will instrument C/C++ code. This also increases
the requirements on the user environment, since a clang compiler with
the same major version as the LLVM version rustc is using must be in
PATH.
ASAN without C/C++ code is IMHO not so interesting, so I'm not sure if
it would be worth adding a separate flag.

Testing: Manual testing with `--with-asan`. I believe we don't run ASAN
in CI yet, although perhaps we should.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-05-11 07:27:40 +00:00
webbeef
e702bde9bf
Delete WR images when dropping the ImageCacheStore (#36956)
This deletes images from WR when dropping the ImageCacheStore for a
WebView.

Testing: Run `./mach run --enable-experimental-web-platform-features
unsplash.com` and then open `about:memory` in a new tab. On Linux we end
up with ~30MB of WR images. Then close the unsplash.com tab and measure
memory again, it will down to ~1.25MB

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

Signed-off-by: webbeef <me@webbeef.org>
2025-05-11 04:01:49 +00:00
webbeef
9c3069366e
Prevent overflow in intersection observer area evaluation (#36955)
Prevent overflowing by not calculating the area and reordering
arithmetic operations.

Testing: No regression in wpt tests:
1495105545
Fixes: https://github.com/servo/servo/issues/36940

Signed-off-by: webbeef <me@webbeef.org>
2025-05-11 03:05:47 +00:00
Servo WPT Sync
6cd44061d7
Sync WPT with upstream (11-05-2025) (#36954)
Automated downstream sync of changes from upstream as of 11-05-2025
[no-wpt-sync]

Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
2025-05-11 01:41:53 +00:00
Kenzie Raditya Tirtarahardja
924fd06f14
Check receiver response in actions.rs (#36928)
Extend `wait_for_script_response()`
(https://github.com/servo/servo/pull/35024) for `actions.rs`

Signed-off-by: PotatoCP <kenzieradityatirtarahardja.18@gmail.com>
Co-authored-by: PotatoCP <kenzieradityatirtarahardja.18@gmail.com>
2025-05-10 19:27:19 +00:00
Keith Yeung
da1c49299b
Update the list of global and window event handlers (#36894)
There's an expanded list of event handlers content attributes that need
to be forwarded to the corresponding window of the body element, and
this PR adds the remaining ones. The full list can be seen in [this
link](https://html.spec.whatwg.org/multipage/webappapis.html#event-handlers-on-elements%2C-document-objects%2C-and-window-objects%3Aevent-handlers-6).

Testing: Covered by various WPT tests

---------

Signed-off-by: Keith Yeung <kungfukeith11@gmail.com>
2025-05-10 15:54:13 +00:00
dependabot[bot]
d725fb3728
build(deps): bump aws-lc-rs from 1.13.0 to 1.13.1 (#36939)
Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.13.0 to
1.13.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aws/aws-lc-rs/releases">aws-lc-rs's
releases</a>.</em></p>
<blockquote>
<h2>v1.13.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Implement <code>AsRef&lt;[u8]&gt;</code> for
<code>UnparsedPublicKey</code> by <a
href="https://github.com/Stupremee"><code>@​Stupremee</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/790">aws/aws-lc-rs#790</a></li>
<li>Support for target <code>x86_64-pc-windows-gnullvm</code> by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/702">aws/aws-lc-rs#702</a></li>
<li>Improved support for <code>riscv64gc-unknown-linux-gnu</code> by <a
href="https://github.com/kxxt"><code>@​kxxt</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/774">aws/aws-lc-rs#774</a></li>
<li><code>aws-lc-sys</code> now aligns w/ AWS-LC v1.51.2 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/806">aws/aws-lc-rs#806</a></li>
</ul>
<h3>Build Improvements</h3>
<ul>
<li>Build latancy for <code>aarch64-apple-darwin</code> reduced by ~25%
by <a href="https://github.com/justsmth"><code>@​justsmth</code></a> in
<a
href="https://redirect.github.com/aws/aws-lc-rs/pull/797">aws/aws-lc-rs#797</a></li>
<li>Improved environment variable support by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/763">aws/aws-lc-rs#763</a></li>
<li>Assorted fixes for Windows compilation by <a
href="https://github.com/amyspark"><code>@​amyspark</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/778">aws/aws-lc-rs#778</a></li>
</ul>
<h3>Issues Being Resolved</h3>
<ul>
<li>Invalid numeric argument '/Wextra' with MSVC, how to build with
Clang? -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/571">aws/aws-lc-rs#571</a></li>
<li>Duplicate symbols in libaws_lc_0_28_2_crypto.a -- <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/795">aws/aws-lc-rs#795</a></li>
</ul>
<h2>Other Merged PRs</h2>
<ul>
<li>Document that BINDGEN_EXTRA_CLANG_ARGS can be used by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/781">aws/aws-lc-rs#781</a></li>
<li>Bump aws-lc-sys to v0.28.1 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/782">aws/aws-lc-rs#782</a></li>
<li>Test packaging w/ SSL build by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/784">aws/aws-lc-rs#784</a></li>
<li>Bump aws-lc-sys to v0.28.2 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/785">aws/aws-lc-rs#785</a></li>
<li>Bump aws-lc-fips-sys to v0.13.6 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/786">aws/aws-lc-rs#786</a></li>
<li>Add new include search path folder for no-cmake build because of
upstream AWS-LC change <a
href="https://redirect.github.com/aws/aws-lc-rs/issues/2324">#2324</a>
by <a
href="https://github.com/torben-hansen"><code>@​torben-hansen</code></a>
in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/792">aws/aws-lc-rs#792</a></li>
<li>Fix clippy by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/793">aws/aws-lc-rs#793</a></li>
<li>Update for s2n-bignum-imported by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/794">aws/aws-lc-rs#794</a></li>
<li>Update MacOS GH runners by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/798">aws/aws-lc-rs#798</a></li>
<li>Realign aws-lc-sys v0.29.0 w/ AWS-LC v1.51.1 by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/804">aws/aws-lc-rs#804</a></li>
<li>Fix rustls integ tests by <a
href="https://github.com/justsmth"><code>@​justsmth</code></a> in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/807">aws/aws-lc-rs#807</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/amyspark"><code>@​amyspark</code></a>
made their first contribution in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/778">aws/aws-lc-rs#778</a></li>
<li><a href="https://github.com/kxxt"><code>@​kxxt</code></a> made their
first contribution in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/774">aws/aws-lc-rs#774</a></li>
<li><a href="https://github.com/Stupremee"><code>@​Stupremee</code></a>
made their first contribution in <a
href="https://redirect.github.com/aws/aws-lc-rs/pull/790">aws/aws-lc-rs#790</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/aws/aws-lc-rs/compare/v1.13.0...v1.13.1">https://github.com/aws/aws-lc-rs/compare/v1.13.0...v1.13.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2833d9b00a"><code>2833d9b</code></a>
Build/Test for x86_64-pc-windows-gnullvm (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/702">#702</a>)</li>
<li><a
href="59470c5aa1"><code>59470c5</code></a>
Align w/ AWS-LC v1.51.2 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/806">#806</a>)</li>
<li><a
href="7670bb5bf3"><code>7670bb5</code></a>
Fix rustls integ tests (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/807">#807</a>)</li>
<li><a
href="5b0febbb73"><code>5b0febb</code></a>
Realign aws-lc-sys v0.29.0 w/ AWS-LC v1.51.1 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/804">#804</a>)</li>
<li><a
href="028bcd9b8d"><code>028bcd9</code></a>
Update MacOS GH runners (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/798">#798</a>)</li>
<li><a
href="3cffdbba7c"><code>3cffdbb</code></a>
Prepare aws-lc-sys v0.29.0 (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/797">#797</a>)</li>
<li><a
href="27a1015965"><code>27a1015</code></a>
Update for s2n-bignum-imported (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/794">#794</a>)</li>
<li><a
href="e794f85c3f"><code>e794f85</code></a>
Fix clippy (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/793">#793</a>)</li>
<li><a
href="e6bce83094"><code>e6bce83</code></a>
Implement <code>AsRef\&lt;[u8]&gt;</code> for
<code>UnparsedPublicKey</code> (<a
href="https://redirect.github.com/aws/aws-lc-rs/issues/790">#790</a>)</li>
<li><a
href="36d24541e2"><code>36d2454</code></a>
Add new include search path folder for no-cmake build because of
upstream AWS...</li>
<li>Additional commits viewable in <a
href="https://github.com/aws/aws-lc-rs/compare/v1.13.0...v1.13.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aws-lc-rs&package-manager=cargo&previous-version=1.13.0&new-version=1.13.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-05-09 17:47:56 +00:00
dependabot[bot]
dea4a97019
build(deps): bump cc from 1.2.21 to 1.2.22 (#36938)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.21 to 1.2.22.
<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.22</h2>
<h3>Other</h3>
<ul>
<li>Add <code>flags</code> method to <code>cc::Build</code> for adding
multiple flags (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1466">#1466</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.21...cc-v1.2.22">1.2.22</a>
- 2025-05-09</h2>
<h3>Other</h3>
<ul>
<li>Add <code>flags</code> method to <code>cc::Build</code> for adding
multiple flags (<a
href="https://redirect.github.com/rust-lang/cc-rs/pull/1466">#1466</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d61b3b3f39"><code>d61b3b3</code></a>
chore: release v1.2.22 (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1467">#1467</a>)</li>
<li><a
href="f50ff26cd7"><code>f50ff26</code></a>
Add <code>flags</code> method to <code>cc::Build</code> for adding
multiple flags (<a
href="https://redirect.github.com/rust-lang/cc-rs/issues/1466">#1466</a>)</li>
<li>See full diff in <a
href="https://github.com/rust-lang/cc-rs/compare/cc-v1.2.21...cc-v1.2.22">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.21&new-version=1.2.22)](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-05-09 17:36:57 +00:00
Tim van der Lippe
d0de4e64d2
Add CSP check for inline style attribute (#36923)
To be able to abort the update, extract the functionality into a
separate method. Otherwise, we don't run the `node.rev_version` at the
end, which according to the comment is probably important.

Not all `style-src` tests pass and I don't fully understand why yet, but
I presume it has to do with some special quirks of stylesheets that
other CSP checks don't have. All `style-src-attr-elem` tests pass
though.

Part of #4577

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-05-09 17:36:55 +00:00
dependabot[bot]
565e16178f
build(deps): bump rustls-webpki from 0.103.2 to 0.103.3 (#36937)
Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.103.2 to
0.103.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rustls/webpki/releases">rustls-webpki's
releases</a>.</em></p>
<blockquote>
<h2>0.103.3</h2>
<p>Add support for RSA signature algorithms that don't include
parameters. Per <a
href="https://www.rfc-editor.org/rfc/rfc4055#section-5">RFC 4055 section
5</a>, implementations of the SHA-1/SHA-2 one-way hash functions
&quot;MUST accept the parameters being absent as well as
present&quot;.</p>
<h2>What's Changed</h2>
<ul>
<li>Support RSA PKCS#1 signatures with absent parameters by <a
href="https://github.com/ctz"><code>@​ctz</code></a> in <a
href="https://redirect.github.com/rustls/webpki/pull/346">rustls/webpki#346</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="34a23922fc"><code>34a2392</code></a>
Bump version to 0.103.3</li>
<li><a
href="16abda163f"><code>16abda1</code></a>
Support RSA PKCS#1 signatures with absent parameters</li>
<li><a
href="0ac75b1726"><code>0ac75b1</code></a>
cargo-check-external-types: update toolchain</li>
<li>See full diff in <a
href="https://github.com/rustls/webpki/compare/v/0.103.2...v/0.103.3">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-09 17:29:50 +00:00
Astraea Quinn S
366515f256
[OH] Provide correct geometry offset and fix available screen dimensions (#36915)
This commit corrects the geometry details provided under the OH platform
by getting the offset from the OS. OH port provides correct offset and
available space.

Fixes: #36466

---------

Signed-off-by: Astraea Quinn Skoutelli <astraea.quinn.skoutelli@huawei.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
Co-authored-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
2025-05-09 15:07:49 +00:00
atbrakhi
2aaf9695df
DevTools: Improve resource_available to handle multiple connections (#36933)
This patch improves the `resource_available` trait to handle multiple
connections. In this patch we also remove the redundant
`resource_available` from worker actor

Testing: Existing tests in DevTools already tests for this. We do not
need to add new test
Fixes: part of #36027

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: Delan Azabani <dazabani@igalia.com>
2025-05-09 12:06:33 +00:00
Taym Haddadi
e5347eceac
WebIDL Fix ImageData constructor to take a Uint8ClampedArray instead of js_object (#31398)
<!-- Please describe your changes on the following line: -->

Fix ImageData constructor to take a Uint8ClampedArray instead of
js_object

---
<!-- 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 #31320

<!-- Either: -->
- [x] These changes do not require tests because there is not behavior
change.

<!-- 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: Taym Haddadi <haddadi.taym@gmail.com>
2025-05-09 11:05:56 +00:00
Martin Robinson
53be79a5b5
layout: Resolve canvas background properties during painting (#36917)
Instead of resolving the canvas background properties (essentially
keeping a possible reference to the `<body>`'s style) during fragment
tree construction, wait until painting to possibly find the style on an
appropriate `<body>` fragment. This is possible now because `Fragment`
keeps a list of flags with relevant information about the root and
`<body>` elements.

A benefit of this approach is that styles aren't cached in the fragment
tree, which would be problematic for incremental layout. In addition,
the old code was making an effort to transform the `<body>`'s background
by the root element's transform. Only Safari does this and there was
a resolution the WG that this should not happen in
https://github.com/w3c/csswg-drafts/issues/6683.

Testing:
 - `/css/css-transforms/transform-translate-background-001.html`
 - `/css/css-transforms/transform-translate-background-002.html`
 - `/css/CSS2/floats/float-root.html`
 
Fixes: #30475.
Closes: #30569.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
2025-05-09 10:36:53 +00:00
delan azabani
c6f61e6b6e
Devtools: add more test cases (#36910)
This patch adds test cases for Debugger > Sources with inline module
scripts and external classic scripts. We also fix the big test case in
#36401 to receive and assert the worker script URLs.

Testing: this patch improves test coverage for the Debugger > Sources
feature
Part of: #36325

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Signed-off-by: atbrakhi <atbrakhi@igalia.com>
Co-authored-by: atbrakhi <atbrakhi@igalia.com>
2025-05-09 08:10:00 +00:00
Jonathan Schwender
063bfc761e
ohos: Set custom log domain (#36913)
This allows us to easily filter logs related to the servo app via our
domain tag, e.g.
The domain value was chosen empirically and doesn't seem to collide as
of now. From the OpenHarmony side there are no requirements on the value
as long as it is between `0x0000` and `0xFFFF`. A value of zero (current
status) doesn't allow filtering in hilog.

```
hdc shell hilog -D 0xE0C3
```



Testing: No functional changes

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
2025-05-08 17:35:45 +00:00
dependabot[bot]
7f38e1e956
build(deps): bump error-code from 3.3.1 to 3.3.2 (#36922)
Bumps [error-code](https://github.com/DoumanAsh/error-code) from 3.3.1
to 3.3.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DoumanAsh/error-code/commits">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-08 17:17:37 +00:00
Astraea Quinn S
8473946d11
[OH] allow setting log_filter via prefs.json (#36916)
This PR allows us to set the `log_filter` via `prefs.json` as well as
commandline arguments.

Priority goes commandline > prefs.json > compile-time default.

Testing: I compiled and run servo on an OH device, and then checked the
logs:

```
hdc hilog | tee log | rg 'Set log_filter to'
```

```
05-08 15:25:59.389 55824 55993 D A00000/org.servo.servo/servoshell::prefs: Set log_filter to: Some("debug,geometry=trace")
```

Signed-off-by: Astraea Quinn Skoutelli <astraea.quinn.skoutelli@huawei.com>
2025-05-08 16:10:30 +00:00
Euclid Ye
f58b0c6ad4
rework webdriver deserialization to avoid false-positive cycle error (#36908)
1. Avoid false-positive cycle error when deserilizing
 - Only detect cycle for Objects
  - Remove last element of seen when success
2. Cite spec

Testing: `./mach test-wpt --product servodriver -r
tests\wpt\tests\webdriver\tests\classic\element_click\events.py`
Fixes: #36890 
cc @jdm @xiaochengh

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-05-08 13:54:58 +00:00
Tim van der Lippe
b6b80d4f6f
Correct event_target for CSP violations (#36887)
All logic is implemented in `report_csp_violations` to avoid
pulling in various element-logic into SecurityManager.

Update the `icon-blocked.sub.html` WPT test to ensure that
the document is the correct target (verified in Firefox and Chrome).

Fixes #36806

Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
2025-05-08 10:46:31 +00:00
Taym Haddadi
f3f4cc5500
Script implement TransformStream and TransformStreamDefaultController (#36739)
Part of https://github.com/servo/servo/issues/34676

---------

Signed-off-by: Taym Haddadi <haddadi.taym@gmail.com>
Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
Signed-off-by: Taym <haddadi.taym@gmail.com>
Co-authored-by: gterzian <2792687+gterzian@users.noreply.github.com>
2025-05-08 08:45:57 +00:00