Commit graph

4436 commits

Author SHA1 Message Date
dependabot[bot]
a13f9bce62
build(deps): bump ohos-ime-sys from 0.2.0 to 0.2.2 (#37796)
Bumps [ohos-ime-sys](https://github.com/openharmony-rs/ohos-sys) from
0.2.0 to 0.2.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/openharmony-rs/ohos-sys/blob/main/CHANGELOG.md">ohos-ime-sys's
changelog</a>.</em></p>
<blockquote>
<h2>v0.2.2 (2024-08-18)</h2>
<h3>Added</h3>
<ul>
<li>Added bindings for <code>native_vsync</code> (behind the
<code>vsync</code> feature flag)</li>
</ul>
<h2>v0.2.1</h2>
<h3>Fixed</h3>
<ul>
<li><code>ohos-drawing-sys</code> is now an optional dependency. Usage
was already guarded behind the <code>drawing</code>
feature.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/openharmony-rs/ohos-sys/commits/v0.2.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ohos-ime-sys&package-manager=cargo&previous-version=0.2.0&new-version=0.2.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-07-02 00:59:31 +00:00
Euclid Ye
9543482f51
webdriver: Greatly improve execution speed for all tests using SetWindowSize (#37712)
1. Remove the unnecessary new thread which use GetWindowRect command and
blocks for 500ms. Previously this is necessary because constellation
forward "resize" to embedder, and WebDriver wait for a constant
sufficient time to `GetWindowRect` in the new thread. This caused long
delay because there are many subtests and SetWindowRect is called
between each.
2. Remove `resize_timeout`
3. Return current dimension instead of 0 from embedder when it fails to
resize.
4. Do resizing as long as one of width/height is `Some`, according to
spec.

Testing: All Conformance test with new passing cases.
Fixes: https://github.com/servo/servo/pull/37663#issuecomment-2999120615

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-07-01 06:26:01 +00:00
dependabot[bot]
ddfd877043
build(deps): bump xcomponent-sys from 0.3.1 to 0.3.3 (#37791)
Bumps [xcomponent-sys](https://github.com/openharmony-rs/ohos-sys) from
0.3.1 to 0.3.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/openharmony-rs/ohos-sys/blob/main/CHANGELOG.md">xcomponent-sys's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v0.8.2</h2>
<ul>
<li>Update bindings up to API-18.</li>
</ul>
<h2>v0.8.1</h2>
<ul>
<li>Update bindings to API-15</li>
</ul>
<h2>v0.8.0</h2>
<ul>
<li>Bump <code>ohos-image-kit-sys</code> to 0.3.0 (Result signature
change, see 0.7.0 release notes.)</li>
</ul>
<h2>v0.7.1</h2>
<ul>
<li>Fix API level propagation for native window, native image and native
buffer.</li>
<li>Add Pasteboard (<code>ohos-pasteboard-sys</code>)</li>
</ul>
<h2>v0.7.0 (2025-06-06)</h2>
<h3>Breaking</h3>
<ul>
<li>Update the signature of functions returning Error codes with zero
representing the <code>Ok</code> value to
an equivalent <code>Result&lt;(), NonZeroErrcode&gt;</code> type. See
the changelogs of the individual crates.</li>
</ul>
<h3>Add</h3>
<ul>
<li>Abilitykit (<code>ohos-abilitykit-sys</code>)</li>
<li>Multimodal Input Kit (<code>ohos-input-sys</code>)</li>
<li>Rawfile (<code>ohos-rawfile-sys</code>)</li>
<li>Window Manager (<code>ohos-window-manager-sys</code>)</li>
</ul>
<h3>Update</h3>
<ul>
<li>Update bindings for OpenHarmony 5.0.2 (API-14)</li>
</ul>
<h2>v0.6.0 (2025-01-09)</h2>
<h3>Breaking</h3>
<ul>
<li>napi: <code>napi_property_descriptor</code>,
<code>napi_node_version</code>, <code>napi_extended_error_info</code> no
longer derive Copy/Clone.</li>
<li><code>xcomponent</code>: The constant
<code>OH_NATIVE_XCOMPONENT_OBJ</code> is now a <code>CStr</code> instead
of raw byte string</li>
<li>native_window: Duplicate bindings for <code>native_buffer</code>
types were removed. Use the bindings from <code>native_buffer</code>
instead.</li>
<li>native_buffer: <code>OH_NativeBuffer_MetadataType</code> is now a
wrapper around <code>c_int</code> instead of <code>c_uint</code>.</li>
</ul>
<h3>Add</h3>
<ul>
<li>Made vsync bindings also available as dedicated ohos-vsync-sys
crate. No user facing changes.</li>
<li>Updated all bindings for API-13.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/openharmony-rs/ohos-sys/commits">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-30 20:46:42 +00:00
dependabot[bot]
1103f28b54
build(deps): bump ohos-abilitykit-sys from 0.1.0 to 0.1.2 (#37788)
Bumps [ohos-abilitykit-sys](https://github.com/openharmony-rs/ohos-sys)
from 0.1.0 to 0.1.2.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/openharmony-rs/ohos-sys/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ohos-abilitykit-sys&package-manager=cargo&previous-version=0.1.0&new-version=0.1.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-06-30 20:31:26 +00:00
Narfinger
6656a09f8c
OHOS: Use new file logger. (#37690)
Hilog 0.2.1 allows us to additionally log to a file. This is sometimes
more convinient when
benchmarking.
Also added the new log domain of `script::dom::console`.

Testing: Tested on device.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-06-26 09:57:41 +00:00
dependabot[bot]
a4cbf82c80
build(deps): bump hilog from 0.2.0 to 0.2.1 (#37700)
Bumps [hilog](https://github.com/openharmony-rs/hilog) from 0.2.0 to
0.2.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/openharmony-rs/hilog/commits">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-25 17:42:44 +00:00
batu_hoang
62a009399f
webdriver: Move navigation commands to servoshell (#37665)
- Move webdriver `GetViewportSize`, `LoadURL` and `Refresh` to
servoshell.
- Add `GoBack` and `GoFoward` commands.

Testing: Need to finish moving webdriver to servoshell then evaluate
again
Fixes: https://github.com/servo/servo/issues/37370

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-06-25 12:35:13 +00:00
batu_hoang
d970584332
webdriver: Move NewWebView, FocusWebView, GetWindowSize, and SetWindowSize to servoshell (#37555)
Follow up to: https://github.com/servo/servo/pull/36714
Moving webdriver [context
commands](https://www.w3.org/TR/webdriver2/#contexts) to be handled in
embedder:

- [x] New Window command - `WebdriverCommandMsg::NewWebView`
- [x]  Switch To Window command - `WebdriverCommandMsg::FocusWebView`
- [x] Resizing commands

cc: @xiaochengh

---------

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-06-25 10:29:34 +00:00
Josh Matthews
ef5784da0d
servoshell: Enable accesskit integration. (#37519)
These changes ensure that our browser shell can integrate with
screenreaders. We do not provide any accessibility information about
webview content yet, which requires further API design work in both
Servo, accesskit, and egui.

Testing: No a11y-specific testing at this point; just verifying that
existing tests continue to pass.
Fixes: part of #4344

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-06-25 03:52:49 +00:00
Kenzie Raditya Tirtarahardja
795367c751
Webdriver: Call webdriver handler on headless EventLoop (#37623)
Previously, `handle_webdriver_messages` only called in
`winit::ApplictionHandler`. This means the webdriver command only looped
in headed (desktop) event loop.

Testing: this will fix webdriver test on headless `test-wpt`, which
widely used in the CI.

Signed-off-by: PotatoCP <kenzieradityatirtarahardja18@gmail.com>
2025-06-23 07:52:53 +00:00
Martin Robinson
80a7de8c9c
libservo: Remove TouchEventType argument from WebView::notify_scroll_event (#37588)
The compositor always does the same thing with these events regardless
of the phase, so I think it is completely unecessary.

Testing: This shouldn't change behavior at all, so is covered by
existing tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-06-20 13:59:01 +00:00
batu_hoang
d0100797e8
[webdriver] Move Webdriver to ServoShell (#36714)
Moving `webdriver` to `servoshell`:

- Let `servoshell` manage lifecycle of `webdriver`
- One by one, move the handling of webdriver commands from
`constellation` to `embedder`

Partially fix: https://github.com/servo/servo/issues/37370
Partially fix webdriver test timeout with `no_top_browsing_context`

cc: @xiaochengh

---------

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
2025-06-19 09:52:01 +00:00
Tony
b9fcc95992
libservo: Allow embedders to signal when the cursor has left the WebView (#37317)
Currently, the hover state will stay when the mouse moves out of the
webview, this PR fixes it

Testing: Hover on the `About` on servo.org, and then move the mouse up
to the browser UI, see the hover state resets

Signed-off-by: Tony <legendmastertony@gmail.com>
2025-06-18 11:59:11 +00:00
Kenzie Raditya Tirtarahardja
cdc8b45965
[WebDriver] Add synchronization for key action (#37403)
Implement action synchronization for key event. Previously only done for
pointer https://github.com/servo/servo/pull/36932 and wheel
https://github.com/servo/servo/pull/37260.

---------

Signed-off-by: PotatoCP <kenzieradityatirtarahardja18@gmail.com>
2025-06-18 07:26:44 +00:00
Narfinger
14259c1d59
OHOS: servoshell: forward special alerts to hitrace (#37508)
We want to have special files with testcases running javascript and
reporting their timing via alert(). This pushes these messages to
hitrace.

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

Testing: Does not change functionality and will only add messages to
hitrace.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-06-17 18:48:45 +00:00
Narfinger
6159a11905
OHOS: Fixed some clippy lints (#37510)
Fixed some clippy lints which were in the OHOS code.

Testing: Normal testcases apply and changes are trivial.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-06-17 14:09:37 +00:00
Narfinger
3b73b83a9f
Allow OHOS servoshell to have a simple multiple tab implementation. (#36891)
Currently we just pause the compositor and replace the window in it
while having separate bookkeeping to remember which window belongs to
which tab.
Currently there are no tests for OHOS, so we cannot test the changes.

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Co-authored-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
2025-06-16 08:17:31 +00:00
Narfinger
099fd10317
OHOS: Use native API to get most of the information needed for starting servoshell. (#37392)
Uses the native ohos-api crates to get the required information for
starting servoshell.
This increases the minimum API version requirement to API-14.

Testing: Tested on device.

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
Co-authored-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
2025-06-13 09:38:56 +00:00
Kenzie Raditya Tirtarahardja
15eadb56a4
[webdriver] Add synchronization for wheel action (#37260)
Implement action synchronization for wheel event. Previously only done
for pointer here https://github.com/servo/servo/pull/36932.

Testing:
`tests/wpt/meta/webdriver/tests/classic/perform_actions/wheel.py`

---------

Signed-off-by: PotatoCP <kenzieradityatirtarahardja18@gmail.com>
2025-06-11 09:03:08 +00:00
Narfinger
5114e24db1
Servoshell: Refactor save_output_image and implement into OHOS (#37237)
Split out `save_output_image_if_necessary` into its own file so the code
can be shared by servoshell on the desktop and ohos.
Additionally, hook it up to the loop in OHOS and have OHOS allow
exiting.

Testing: Manual testing on ohos and desktop.

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-06-11 08:51:44 +00:00
Euclid Ye
e0aec1c8d2
servoshell: Fix reversed logic for WebDriver open window and window.open from #37284 (#37346)
The logic was opposite to intended in #37284. We ended up staying in
same tab for `window.open` but focus new tab for WebDriver.

Testing: This modifies whether or not tabs are activated in servoshell
and WebDriver. WebDriver is currently not tested and neither is
servoshell.

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-06-09 15:24:52 +00:00
Euclid Ye
a3c792e5aa
servoshell: Do not focus and raise new auxiliary WebDriver-created WebViews (#37284)
For Desktop port of `request_open_auxiliary_webview`, stay on the
original WebView if the request originates WebDriver.

This is to make sure `webdriver_server::handle_new_window` does not
focus the new window, according to spec. See
c7eba2dbba/tests/wpt/tests/webdriver/tests/classic/new_window/new_window.py (L31-L37)

**To clarify**: this won't change the behaviour when user interacts, but
only affects WebDriver [New
Window](https://w3c.github.io/webdriver/#new-window).

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

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-06-09 11:07:09 +00:00
Shubham Gupta
836316c844
build(deps): bump ohos-ime from 0.3.0 to 0.4.0, bump ohos-ime-sys from 0.1.4 to 0.2.0, (#37214)
This patch updates following crates
ohos-ime: v0.3.0 to v0.4.0
ohos-ime-sys: v0.1.4 to v0.2.0,

Testing: N/A
Fixes: N/A

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

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

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

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

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-06-03 13:47:10 +00:00
Narfinger
13a980ff22
Constellation can now optionally report memory usage when the page is loaded. (#37151)
The constellation can now tell the memory reporter to report the memory
to a trace file when a page is loaded.
Additionally, we amend the memory reporter to allow a simple message
where it will report the memory to a tracing provider (at the moment
only OHOS/hitrace is supported but easy extension is possible).

I am not sure if this is the right approach or if the embedder should
decide to have the memory reporting done.

Testing: This does not change functionality of any of the rendering.

---------

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-05-30 17:15:06 +00:00
Kenzie Raditya Tirtarahardja
871630606f
Send synthetic keydown/keyup at ime_insert_text (#37175)
At `egl/app_state.rs`, send keydown and keyup with PROCESS KEY when
inserting text. This fixes OHOS input event, but maybe also for Android
in the future (if it implements `ime_insert_text`). We will get input
event since keydown is dispatched
(https://github.com/servo/servo/pull/37078).

This implementation is similar to
[Chromium's](https://source.chromium.org/chromium/chromium/src/+/main:content/public/android/java/src/org/chromium/content/browser/input/ImeAdapterImpl.java;drc=404e8d654e8b26336d2cb103b9c21faecbf7f73a;bpv=1;bpt=1;l=851?gsn=sendCompositionToNative&gs=KYTHE%3A%2F%2Fkythe%3A%2F%2Fchromium.googlesource.com%2Fcodesearch%2Fchromium%2Fsrc%2F%2Fmain%3Flang%3Djava%3Fpath%3Dorg.chromium.content.browser.input.ImeAdapterImpl%23d840961d441fd4bb569f9689c86da91fb714c0c153366e3198a85e9c7a098dce)
Android key event.

Testing: manually checked on OHOS device
For: https://github.com/servo/servo/issues/36259, but only in OHOS

Signed-off-by: PotatoCP <kenzieradityatirtarahardja.18@gmail.com>
Co-authored-by: PotatoCP <kenzieradityatirtarahardja.18@gmail.com>
Co-authored-by: stevennovaryo <steven.novaryo@gmail.com>
2025-05-30 02:06:15 +00:00
Shubham Gupta
54f23a8e3d
build(deps): bump ohos-ime from 0.2.0 to 0.3.0 (#37180)
This patch updates the ohos-ime version from v0.2.0 to v0.3.0

Testing: N/A
Fixes: #37181

Signed-off-by: Shubham Gupta <shubham13297@gmail.com>
2025-05-29 09:50:33 +00:00
Martin Robinson
4f4c99a39e
deps: Upgrade font-kit and dirs (#37163)
Testing: This is just a dependency update, so doesn't need tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-05-28 11:57:23 +00:00
Tony
7147e06b53
servoshell: Ensure that the theme is applied properly on startup (#37128)
Instead of only applying the theme when it changes, apply it to both
egui and all
newly created `WebView`s. 

Reference Zulip thread:
https://servo.zulipchat.com/#narrow/channel/437943-embedding/topic/Theme.20.28light.2Fdark.20mode.29.20support.20on.20initial.20page.20load/with/520082314

Testing: There are tests for servoshell currently, so all testing is
manual.
Fixes: #34913

Signed-off-by: Tony <legendmastertony@gmail.com>
2025-05-26 15:09:04 +00:00
Narfinger
8788248fec
Removing unused dependencies in crates. (#37096)
Removed unused dependencies in various crates using cargo-machete, grep
and cargo-udeps.

Testing: The CI tests if any dependencies were used that are removed.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-05-23 12:58:00 +00:00
dependabot[bot]
aaacd61800
build(deps): bump winit from 0.30.10 to 0.30.11 (#37072)
Bumps [winit](https://github.com/rust-windowing/winit) from 0.30.10 to
0.30.11.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-windowing/winit/releases">winit's
releases</a>.</em></p>
<blockquote>
<h2>Winit release v0.30.11</h2>
<h3>Fixed</h3>
<ul>
<li>On Windows, fixed crash in should_apps_use_dark_mode() for Windows
versions &lt; 17763.</li>
<li>On Wayland, fixed <code>pump_events</code> driven loop deadlocking
when loop was not drained before exit.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="911fad0af0"><code>911fad0</code></a>
Winit version 0.30.11</li>
<li><a
href="2191eacfc8"><code>2191eac</code></a>
chore: appease clippy</li>
<li><a
href="f7ac8127e3"><code>f7ac812</code></a>
wayland: fix pump events's loop drop deadlock</li>
<li><a
href="bd2b5cda8d"><code>bd2b5cd</code></a>
windows: Fix crash in for Windows versions &lt; 17763</li>
<li><a
href="3930a6334f"><code>3930a63</code></a>
ci/deny: allow scripts in zerocopy</li>
<li><a
href="17b5737972"><code>17b5737</code></a>
Fix typos from updated <code>typos</code> tool (<a
href="https://redirect.github.com/rust-windowing/winit/issues/4213">#4213</a>)</li>
<li><a
href="f49a2a1827"><code>f49a2a1</code></a>
clippy: fix casing in windows backend</li>
<li>See full diff in <a
href="https://github.com/rust-windowing/winit/compare/v0.30.10...v0.30.11">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-21 17:30:05 +00:00
batu_hoang
f52fa9b672
Synchronize dispatch_actions in WebDriver (#36932)
Implement missing synchronization in `dispatch_actions` of `WebDriver`.
https://w3c.github.io/webdriver/#dispatching-actions

> The user agent event loop has spun enough times to process the DOM
events generated by the last invocation of the >[dispatch tick
actions](https://w3c.github.io/webdriver/#dfn-dispatch-tick-actions)
steps.

- Add a way for `ScriptThread` to notify `WebDriver` about the
completion of input commands.
- Add a `webdriver_id` field for `InputEvent`. `ScriptThread` uses it to
distinguish WebDriver events and sends notification.

Tests:
`./mach test-wpt --product servodriver -r
tests\wpt\tests\webdriver\tests\classic\element_click\events.py` pass if
`hit_testing` pass. Check
[issue](https://github.com/servo/servo/issues/36676#issuecomment-2882917136)

cc: @xiaochengh

---------

Signed-off-by: batu_hoang <longvatrong111@gmail.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-05-21 11:03:04 +00:00
Sebastian C
27c8a899ea
Replace hsts preload list hashmap with an FST (#37015)
This reduces the memory used by the preload list to just 1.9MB. The
total memory savings in HSTS from
pre-103cbed928
is now 62MB, or 96%. And in terms of total resident memory is a 7.5%
reduction. The DAFSA/DAWG used by Firefox is 1.1MB so there could be
additional gains available but this seems like the best option based on
maintained libraries available (I could not find a good maintained
library for DAFSAs in Rust).

The main trick is this: the FST map API is currently designed to map
byte sequences to u64 values. Because we only need to determine if a
preloaded domain has the `includeSubdomains` flag set, we encode that
into the lowest bit of the ids in the map. This way finding an entry in
the map directly provides us with the `includeSubdomains` flag and we
don't need to keep another mapping in memory or on disk.

Updated the `./mach update-hsts-preload` command to generate the new FST
map file. (Not sure if I need to update any dev-dependencies anywhere
for this change)

This change also replaces the use of "mozilla.org" with "example.com" in
the HSTS unit tests to make sure that entries in the preload list do not
influence the tests (since example.com should not ever end up on the
preload list)

Testing: Updated unit tests
Fixes: #25929

---------

Signed-off-by: Sebastian C <sebsebmc@gmail.com>
2025-05-20 04:26:55 +00:00
Josh Matthews
a028291466
Don't build testbinding-related code by default (#37034)
Disabling the TestBinding-related bindings and implementations saves 2mb
in a release build. Also, we lost the related test preferences when we
turned the layout-2020 tests on, so the tests have all been failing for
a long time.

Testing: Existing tests in CI.

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-05-17 08:14:19 +00:00
Simon Wülker
b100a98e1d
Fully support <input type=color> (#36992)
This change adds a shadow-tree widget for `<input type=color>` elements.
It also involves some changes to the way layout interacts with the DOM,
because currently all `input` and `textarea` elements are rendered as
plain text and their descendants are ignored. This obviously doesn't
work for `<input type={color, date, range, etc}>`.


![image](https://github.com/user-attachments/assets/4f16c3b0-1f79-4095-b19d-1153f5853dd5)

<details><summary>HTML used for the screenshot above</summary>

```html
<input type=color>
```

</details>



Testing: I doubt that this affects WPT tests, because the appearance and
behaviour of the widget is almost entirely unspecified.

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-05-15 17:30:38 +00:00
Narfinger
3af0992ead
Added a new workflow that benchmarks simple startup and loading of servo.org on HarmonyOS. (#36878)
Added a new workflow that benchmarks simple startup and loading of
servo.org on HarmonyOS.
Needs https://github.com/servo/ci-runners/pull/34 to be merged and
applied to the runners.

Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
2025-05-15 12:52:33 +00:00
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
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
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
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
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
Josh Matthews
bbfa283518
Remove service worker pref from experimental web features. (#36867)
Most sites that feature detect Service Workers in Servo immediately
break when this pref is enabled, since our implementation is very
incomplete. This provides a poor user experience when recommending the
`--enable-experimental-web-platform-features` flag.

Testing: Existing test coverage should be unchanged.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-05-06 17:25:16 +00:00
Astraea Quinn S
a77ee1521a
Fix missing user-agent from servo-shell (#36859)
Properly passes user-agent from servoshell args to the preferences.

Testing:
```bash
RUST_LOG=warn WAYLAND_DISPLAY='' ./mach run -r --screen-size=375x812 --window-size=375x812 --pref=dom_svg_enabled --pref=dom_intersection_observer_enabled --user-agent "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1"


RUST_LOG=warn WAYLAND_DISPLAY='' ./mach run -r --screen-size=375x812 --window-size=375x812 --pref=dom_svg_enabled --pref=dom_intersection_observer_enabled
```

Fixes: N/A

---------

Signed-off-by: Astraea Quinn Skoutelli <astraea.quinn.skoutelli@huawei.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
2025-05-05 16:51:11 +00:00
webbeef
3db0194e5a
Embed user agent stylesheets and media control resouces in libservo (#36803)
Embed user agent stylesheets and media control resouces in libservo as
decided in
https://github.com/servo/servo/pull/36788#issuecomment-2845332210

Signed-off-by: webbeef <me@webbeef.org>
2025-05-04 18:48:09 +00:00
dependabot[bot]
3bef0161fe
build(deps): bump winit from 0.30.9 to 0.30.10 (#36777)
Bumps [winit](https://github.com/rust-windowing/winit) from 0.30.9 to
0.30.10.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rust-windowing/winit/releases">winit's
releases</a>.</em></p>
<blockquote>
<h2>Winit version 0.30.10</h2>
<h3>Added</h3>
<ul>
<li>On Windows, add
<code>IconExtWindows::from_resource_name</code>.</li>
<li>On Windows, add <code>CursorGrabMode::Locked</code>.</li>
<li>On Wayland, add <code>WindowExtWayland::xdg_toplevel</code>.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>On macOS, no longer need control of the main
<code>NSApplication</code> class (which means you can now override it
yourself).</li>
<li>On iOS, remove custom application delegates. You are now allowed to
override the
application delegate yourself.</li>
<li>On iOS, no longer act as-if the application successfully open all
URLs. Override
<code>application:didFinishLaunchingWithOptions:</code> and provide the
desired behaviour yourself.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>On Windows, fixed ~500 ms pause when clicking the title bar during
continuous redraw.</li>
<li>On macOS, <code>WindowExtMacOS::set_simple_fullscreen</code> now
honors <code>WindowExtMacOS::set_borderless_game</code></li>
<li>On X11 and Wayland, fixed pump_events with
<code>Some(Duration::Zero)</code> blocking with <code>Wait</code>
polling mode</li>
<li>On Wayland, fixed a crash when consequently calling
<code>set_cursor_grab</code> without pointer focus.</li>
<li>On Wayland, ensure that external event loop is woken-up when using
pump_events and integrating via <code>FD</code>.</li>
<li>On Wayland, apply fractional scaling to custom cursors.</li>
<li>On macOS, fixed <code>run_app_on_demand</code> returning without
closing open windows.</li>
<li>On macOS, fixed <code>VideoMode::refresh_rate_millihertz</code> for
fractional refresh rates.</li>
<li>On macOS, store monitor handle to avoid panics after going in/out of
sleep.</li>
<li>On macOS, allow certain invalid monitor handles and return
<code>None</code> instead of panicking.</li>
<li>On Windows, fixed <code>Ime::Preedit</code> cursor offset
calculation.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2385410366"><code>2385410</code></a>
Winit version 0.30.10</li>
<li><a
href="6db1343c0b"><code>6db1343</code></a>
wayland: bump wayland-rs to avoid yanked release</li>
<li><a
href="a26899a75d"><code>a26899a</code></a>
windows: fix incorrect cursor_range calculation in Ime::Preedit</li>
<li><a
href="80bddda641"><code>80bddda</code></a>
macOS: Fix monitors connected via certain Thunderbolt hubs</li>
<li><a
href="5f1e9f6cc1"><code>5f1e9f6</code></a>
macOS: Store UUID in MonitorHandle instead of CGDirectDisplayID</li>
<li><a
href="57baf72741"><code>57baf72</code></a>
Allow the user to register the application delegate on iOS</li>
<li><a
href="da7a09658a"><code>da7a096</code></a>
fix: Support fractional refresh rates in video modes on macOS (<a
href="https://redirect.github.com/rust-windowing/winit/issues/4191">#4191</a>)</li>
<li><a
href="53321dc6f5"><code>53321dc</code></a>
Swizzle sendEvent: instead of subclassing NSApplication</li>
<li><a
href="6556cde246"><code>6556cde</code></a>
macOS: Close windows automatically when exiting</li>
<li><a
href="7672fd5657"><code>7672fd5</code></a>
wayland: support fractional scale for custom cursor</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-windowing/winit/compare/v0.30.9...v0.30.10">compare
view</a></li>
</ul>
</details>
<br />


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

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

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

---

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

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


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-30 17:43:44 +00:00
Alex Touchet
69605d05cf
servoshell Cargo.toml cleanup (#36506)
Signed-off-by: Alex Touchet <26315797+atouchet@users.noreply.github.com>
2025-04-25 20:23:47 +00:00
Tony
894fbd003d
Initial support for marking custom protocol secure (#36656)
Add initial support for marking custom protocol as secure, this makes it
possible to `fetch` a custom protocol inside secure contexts (e.g.
http://localhost)

Some additional contexts:

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

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

---------

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

Testing: Doesn't change any behavior

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-04-25 10:02:46 +00:00
Simon Wülker
9dc56d420f
servoshell: Make list of options in <select> prompt scrollable (#36677)
This ensures that the select element is usable when there are a lot of
options.

Testing: We don't have tests for servoshell.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-04-24 11:59:54 +00:00