Testing: Just add comment. It turns out difficult to achieve, see
https://github.com/rust-windowing/winit/issues/2494.
Fixes: Nothing. Provide some guidance to #37878
---------
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Testing:
`.\tests\wpt\tests\webdriver\tests\classic\execute_script\collections.py`
can now run to the end when running either locally or `try`.
Fixes: #37870
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
`toolbar_height` is already part of `inner_size`, caused wrongly
calculated `outer_size`. Even worse, it tried to `request_inner_size`
with the already wrong `outer_size`.
This PR make sure resize is accurate by first calculate the title/border
height, and then compute the `inner_size` for `request_inner_size`. This
is necessary because no direct `request_outer_size` is available.
Testing: As manually tested, set window size WebDriver command no longer
overshoot. This is also shared by
[window.resizeTo](https://drafts.csswg.org/cssom-view/#dom-window-resizeto)
JS method. WPT test would be necessary. (But that one is intermittent
TIMEOUT. So created new one in
https://github.com/servo/servo/pull/37856)
WebDriver test will be postponed after
https://github.com/web-platform-tests/wpt/pull/53421 is merged and
synced to Servo.
Fixes: Task 3 of https://github.com/servo/servo/issues/37804
---------
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
Move `webdriver_port` option from servo config options to servoshell
preference.
Testing: run `./mach run` with/without `--webdriver` option and see if
the webdriver server runs on the port (default: 7000)
Fixes: https://github.com/servo/servo/issues/37843
Signed-off-by: Jason Tsai <git@pews.dev>
In Firefox, clicking on the address bar selects all the text. This makes
Servo to do the same. I reworked the code so that the shortcut only
changes the focus. That means that either clicking or the shortcut
changes the focus which in turn selects the text.
Testing: I tested it manually by clicking in the address bar and using
the shortcuts and noticing that the text was selected.
Signed-off-by: Michael Mc Donnell <michael@mcdonnell.dk>
Previously, our Servo-specific spatial tree scroll offsets were opposite
to
that of WebRender and also the web platform. This is due to the fact,
likely, that `winit` wheel directionality is also flipped. This change
has both the Servo spatial tree and the API take offsets that are
consistent with the web.
Any possible changes to the meaning of wheel directionality will be
handled in a followup change.
This is a breaking change to the Servo API.
Testing: This change updates unit tests.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Oriol Brufau <obrufau@igalia.com>
1. Rename `GetWindowSize` to `GetWindowRect`
2. Return the WindowRect in device pixels correctly. Previously, it
returns `(0, 0, ScreenWidth, ScreenHeight)` which is a static value.
3. Add `fn window_rect` to `WindowPortsMethods`. Implement it for both
Headless Window and Headed Window.
Testing: Tested manually with powershell script. Result is now dynamic
and reflects the truth.
Fixes: Task 1 & 2 of https://github.com/servo/servo/issues/37804
---------
Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
I usually use the alt-d in shortcut in Firefox to select the text in the
address bar. Firefox supports both alt-d and ctrl-l. This change adds
the alt-d shortcut so you can use either.
Testing: I tested it by running Servo and pressing alt-d. I don't know
if there is a way to create a test for it?
---------
Signed-off-by: Michael Mc Donnell <michael@mcdonnell.dk>
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 />
[](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>
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>
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<(), NonZeroErrcode></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 />
[](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>
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 />
[](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>
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>
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 />
[](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>
- 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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 < 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 < 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 />
[](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>
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>
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>
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>
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}>`.

<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>
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>
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 -> 0.0.3</li>
<li><a
href="6a7cc09dc3"><code>6a7cc09</code></a>
Bump block2 version 0.2.0-alpha.8 -> 0.2.0</li>
<li><a
href="87d598ebd2"><code>87d598e</code></a>
Bump objc2 version 0.3.0-beta.5 -> 0.4.0</li>
<li><a
href="153d189636"><code>153d189</code></a>
Bump objc2-encode version 2.0.0-pre.4 -> 2.0.0</li>
<li><a
href="699fca319e"><code>699fca3</code></a>
Bump objc-sys version 0.3.0 -> 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 -> 0.0.3</li>
<li><a
href="6a7cc09dc3"><code>6a7cc09</code></a>
Bump block2 version 0.2.0-alpha.8 -> 0.2.0</li>
<li><a
href="87d598ebd2"><code>87d598e</code></a>
Bump objc2 version 0.3.0-beta.5 -> 0.4.0</li>
<li><a
href="153d189636"><code>153d189</code></a>
Bump objc2-encode version 2.0.0-pre.4 -> 2.0.0</li>
<li><a
href="699fca319e"><code>699fca3</code></a>
Bump objc-sys version 0.3.0 -> 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>