aboutsummaryrefslogtreecommitdiffstats
path: root/ports/servoshell
Commit message (Collapse)AuthorAgeFilesLines
* Move click event trigger from embedding layer to `ScriptThread` (#36413)Euclid Ye4 days1-30/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Move click event trigger from embedding layer to `ScriptThread` 2. Previously, the logic is to trigger click event at same position as `MouseButtonAction::Up` if `MouseButtonAction::Up` is within 10px of `MouseButtonAction::Down`, in embedding layer. This PR ~~removes the condition~~ moves the check to `ScriptThread`. Testing: tested for webdriver with self written test case. Perform actions of pointermove, pointerdown, pointerup in sequence. Click event can now be triggered. Fixes: #35395 cc @xiaochengh @jdm For `MAYBE? TODO:` part I added, should we do it? I read the [spec](https://w3c.github.io/uievents/#event-type-click), it doesn't specify we have to implement MDN's way. If we should work in the MDN's way, it also should be fixed in another PR, as this PR doesn't regress anything. Also I am not sure what is the best way to do it. Should I handle it in https://github.com/servo/servo/blob/4d4f94936f8859f039497df370083fd7ea35fb00/components/script/dom/document.rs#L1296-L1297? --------- Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* compositing: Remove `windowing.rs` and making `compositing` private (#36582)Martin Robinson5 days1-3/+2
| | | | | | | | | | | This file used to contain the `EmbedderDelegate` and `WindowMethods` traits, but these are gone now, so we can move the one remaining enum to be in `compositor.rs` where it is used. This change also stops exposing the `compositing` crate as public Servo API. Testing: This does not change behavior so is covered by existing tests. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* libservo: Expose a `ServoBuilder` (#36549)Martin Robinson6 days9-185/+150
| | | | | | | | | Expose a `ServoBuilder` for easily creating Servo instances using default values. This change enables removing `EmbedderTraits`. Testing: This is covered by `Servo` unit tests. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Fix git failure on macos (#36544)Jonathan Schwender7 days1-0/+3
| | | | | | | | | | | | | | | | | | | Fixes the following warning: ``` warning: servoshell@0.0.1: Could not generate git version information: "dyld[59398]: Symbol not found: _libintl_setlocale\n Referenced from: <CB4FE7B2-A5DC-34F0-8247-A96F45D664E8> /opt/homebrew/Cellar/git/2.48.1/bin/git\n Expected in: <0DA2D46D-7A17-3860-809D-71FD05B785FA> /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libintl.8.dylib\n" ``` This was discussed in https://github.com/servo/servo/issues/36435#issuecomment-2794224073. mach sets DYLD_LIBRARY_PATH, which is currently necessary for our unit tests, but causes git to fail in the build script. Simply unsetting the environment variable before invoking git works around this problem. Testing: Tested manually on macos and verified the warning does not occur anymore. Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* [OHOS] Allow setting the log-filter via cli arguments (#36444)Astraea Quinn S7 days3-29/+75
| | | | | | | | | | This PR allows setting the log-filter according to the env_filter spec via CLI arguments. Testing is currently in progress, will be done on machines running OHOS. --------- Signed-off-by: Astraea Quinn Skoutelli <astraea.quinn.skoutelli@huawei.com> Co-authored-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* libservo: Make zooming and HiDPI scaling work per-`WebView` (#36419)Martin Robinson8 days8-70/+48
| | | | | | | | | | | | | | | | | | | | | | | | libservo: Make zooming and HiDPI scaling work per-`WebView` This change moves all zooming and HiDPI scaling to work per-`WebView` in both libservo and Compositor. This means that you can pinch zoom one `WebView` and it should now work independently of other `WebView`s. This is accomplished by making each `WebView` in the WebRender scene have its own scaling reference frame. All WebViews are now expected to manage their HiDPI scaling factor and this can be set independently of other WebViews. Perhaps in the future this will become a Servo-wide setting. This allows full removal of the `WindowMethods` trait from Servo. Testing: There are not yet any tests for the WebView API, but I hope to add those soon. Co-authored-by: Shubham Gupta <shubham13297@gmail.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Shubham Gupta <shubham13297@gmail.com>
* libservo: Remove the unused `multiview` feature (#36485)Martin Robinson8 days1-1/+0
| | | Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* libservo: Create a `WebViewBuilder` class to construct `WebView`s (#36483)Martin Robinson10 days2-13/+21
| | | | | | | | | | | This exposes a new method of creating `WebView`s using the Rust builder pattern. This will be more important as we add more kinds of configuration options for `WebView` such as size and HiDPI scaling. Testing: The API currently doesn't have tests, but functionality is ensured by the fact that servoshell is the test harness. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* build(deps): bump hilog from 0.1.1 to 0.2.0 (#36476)dependabot[bot]11 days1-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [hilog](https://github.com/openharmony-rs/hilog) from 0.1.1 to 0.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/openharmony-rs/hilog/releases">hilog's releases</a>.</em></p> <blockquote> <h2>v0.2.0</h2> <h2>What's Changed</h2> <ul> <li>Feature: allow dynamic filter swaps by <a href="https://github.com/PartiallyUntyped"><code>@​PartiallyUntyped</code></a> in <a href="https://redirect.github.com/openharmony-rs/hilog/pull/4">openharmony-rs/hilog#4</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/PartiallyUntyped"><code>@​PartiallyUntyped</code></a> made their first contribution in <a href="https://redirect.github.com/openharmony-rs/hilog/pull/4">openharmony-rs/hilog#4</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/openharmony-rs/hilog/commits/v0.2.0">https://github.com/openharmony-rs/hilog/commits/v0.2.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/openharmony-rs/hilog/commits/v0.2.0">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.1.1&new-version=0.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Implement WebviewDelegate.screen_geometry for OHOS (#36459)JoeDow12 days2-2/+21
| | | | | | | | | | | | | | | | | | [OHOS]Bugfix: unimplemented WebviewDelegate.sceen_geometry causes failed page loading this [PR 36223](https://github.com/servo/servo/pull/36223) causes that some page can not be loaded on ohos platform. The newly added WebviewDelegate.screen_geometry is unimplemented at ohos platform Besides, this commit also fix the bug that failed to copy the prefs.json to cache dir when the servo is started at the first time after an ohos application is installed, due to the cache dir is not existed. @mrobinson @jschwe Testing: the ohos platform test demo hap Fixes: No issue exists i can find Signed-off-by: coding-joedow <ibluegalaxy_taoj@163.com>
* Drop vergen_git2 dependency (#36439)Kingsley Yung12 days3-22/+22
| | | | | | | | | | | Manually call `git rev-parse --short HEAD` to retrieve the commit hash, instead of using Emitter from vergen_git2. This helps remove dependencies and shorten compile time. Testing: It doesn't require tests because it is a refactoring for removing dependencies Fixes: #36435 Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev>
* libservo: Move animation tracking from `WindowMethods` to delegates (#36400)Martin Robinson13 days6-47/+38
| | | | | | | | | | | | | | | | | | This changes removes animation tracking from the `WindowMethods` trait and moves it to `ServoDelegate` and `WebViewDelegate`. - Animation changes per-`WebView` are now triggered in the compositor only when the value is updated there, rather than right after ticking animations. - Both `WebView` and `Servo` now expose an `animation()` method, so tracking animation state actually becomes unecessary in many cases, such as that of desktop servoshell, which can just read the value when the event loop spins. Testing: No tests necessary as the API layer is still untested. Later, tests will be added for the `WebView` API and this can be tested then. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* dom: Implement `ClipboardItem` (#36336)Gae242025-04-061-0/+1
| | | | | | | | | | | implement the `ClipboardItem` interface Testing: covered by existing wpt tests part of #36084 --------- Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
* Stub out Trusted Types interfaces (#36355)Tim van der Lippe2025-04-051-0/+1
| | | | | | | | | | | | Some methods are implemented fully, while others are implemented partly. With these implementations, there are no observed crashes when running the trusted-types web-platform-tests. Most notably, the tests/wpt/tests/trusted-types/idlharness.window.js is now fully passing. Part of #36258 Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
* constellation: Rename messages sent to the `Constellation` (#36341)Martin Robinson2025-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | Messages that are sent to the `Constellation` have pretty ambiguous names. This change does two renames: - `ConstellationMsg` → `EmbedderToConstellationMessage` - `ScriptMsg` → `ScriptToConstellationMessage` This naming reflects that the `Constellation` stands in between the embedding layer and the script layer and can receive messages from both. Soon both of these message types will live in `constellation_traits`, reflecting the idea that the `_traits` variant for a crate is responsible for exposing the API for that crate. Testing: No new tests are necessary here as this just renames two enums. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Remove layout_writing_mode_enabled from experimental features (#36339)Oriol Brufau2025-04-041-1/+0
| | | | | | | | | | Running tests with --enable-experimental-web-platform-features would make so many of them fail asserts because of this feature. Testing: No need to test since `--enable-experimental-web-platform-features` isn't used by default This is part of #36315 Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Support single-value `<select>` elements (#35684)Simon Wülker2025-04-032-4/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/user-attachments/assets/9aba75ff-4190-4a85-89ed-d3f3aa53d3b0 Among other things this adds a new `EmbedderMsg::ShowSelectElementMenu` to tell the embedder to display a select popup at the given location. This is a draft because some small style adjustments need to be made: * the select element should always have the width of the largest option * the border should be part of the shadow tree Apart from that, it's mostly ready for review. <details><summary>HTML for demo video</summary> ```html <html> <body> <select id="c" name="choice"> <option value="first">First Value</option> <option value="second">Second Value</option> <option value="third">Third Value</option> </select> </body> </html> ``` </details> --- <!-- 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] Part of https://github.com/servo/servo/issues/3551 - [ ] There are tests for these changes OR - [ ] These changes do not require tests because ___ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* libservo: Start moving `WindowMethods` to `WebViewDelegate` (#36223)Martin Robinson2025-04-026-66/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `WindowMethods` is used by the embedding layer to get information from the embedder. This change moves the functionality for getting screen size and `WebView` offsets to `WebViewDelegate`. This is important because `WebView`s might be on different screens or have different offsets on the screen itself, so it makes sense for this to be per-`WebView` and not global to the embedder. HiDPI and animation state functionality will move to the embedder in subsequent changes. Signed-off-by: Martin Robinson <mrobinson@igalia.com> <!-- Please describe your changes on the following line: --> --- <!-- 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 do not require tests because they just modify the `WebView` API surface a bit. <!-- 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: Martin Robinson <mrobinson@igalia.com>
* libservo: Remove a couple `EmbedderMethods` (#36276)Martin Robinson2025-04-015-11/+0
| | | | | | | | | | | | | | | | | | | | | | | - Remove `EmbedderMethods::get_user_agent_string`. This is now part of the `Preferences` data structure, which should allow it to be per-`WebView` in the future. - Remove `EmbedderMethods::get_version_string`. This was used to include some data along with WebRender captures about the Servo version. This isn't really necessary and it was done to replace code in the past that output the WebRender version, so also isn't what the original code did. I think we can just remove this entirely. The idea with these changes is that `EmbedderMethods` can be removed in a followup and the rest of the methods can be added to `ServoDelegate`. These two methods are ones that cannot be added to a delegate as they are used during `Servo` initialization. Testing: There is currently no testing for libservo. These changes are meant as preparation for adding a suite of `WebView` unit tests. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Allow setting userscripts directly without the need of files (#35388)Tony2025-03-274-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow settings userscripts through preferences Signed-off-by: Tony <legendmastertony@gmail.com> * mach fmt instead of cargo fmt Signed-off-by: Tony <legendmastertony@gmail.com> * Fix pref loading not working for array values Signed-off-by: Tony <legendmastertony@gmail.com> * Use pref! in userscripts instead Signed-off-by: Tony <legendmastertony@gmail.com> * Implement the model jdm suggested - Remove userscripts from all places and move it to servoshell - Add in `UserContentManager` struct and passing it through `Servo::new` all the way down to script thread Signed-off-by: Tony <legendmastertony@gmail.com> * Apply suggestions from code review and format Signed-off-by: Tony <legendmastertony@gmail.com> * Revert unrelated change Signed-off-by: Tony <legendmastertony@gmail.com> --------- Signed-off-by: Tony <legendmastertony@gmail.com> Signed-off-by: Tony <68118705+Legend-Master@users.noreply.github.com>
* servoshell: Use sRGB colorspace on macOS (#35683)Isaac Marovitz2025-03-242-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * servoshell: Use sRGB colorspace on macOS Signed-off-by: Isaac Marovitz <isaacryu@icloud.com> * Make lint happy Signed-off-by: Isaac Marovitz <isaacryu@icloud.com> * Address review Signed-off-by: Isaac Marovitz <isaacryu@icloud.com> * Move to helper function Signed-off-by: Isaac Marovitz <isaacryu@icloud.com> * Rebase Cargo.lock Signed-off-by: Isaac Marovitz <isaacryu@icloud.com> * Fix build Signed-off-by: Isaac Marovitz <isaacryu@icloud.com> * Fix build (again) Signed-off-by: Isaac Marovitz <isaacryu@icloud.com> --------- Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
* Add --enable-experimental-web-platform-features command line (#36022)Manuel Rego2025-03-191-0/+29
| | | | | | | This command line argument will enable a set of web platform features that are under development but not ready to be enabled by default. Signed-off-by: Manuel Rego Casasnovas <rego@igalia.com> Co-authored-by: Oriol Brufau <obrufau@igalia.com>
* bugfix: servoshell: prevent 0 pixel dimensions for render area (#35967)Sebastian C2025-03-181-0/+7
| | | Signed-off-by: Sebastian C <sebsebmc@gmail.com>
* Create `config_dir` if none exist for caching (#35761)Euclid Ye2025-03-183-3/+30
| | | | | | | | | | | | | | | | | | | | | * Create config_dir if none exist for caching Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * remove specialized behaviour for ohos; copy prefs.json if necessary Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * downgrade the log to trace verbosity Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> * update wpt-test Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> --------- Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
* chore: Move unsafe operations in unsafe functions to unsafe blocks (#36017)DK Liao2025-03-181-3/+0
| | | Signed-off-by: DK Liao <dklassic@gmail.com>
* Migrate to the 2024 edition (#35755)Simon Wülker2025-03-135-34/+37
| | | | | | | | | | | | | | | | | | | | | | * Migrate to 2024 edition Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Allow unsafe_op_in_unsafe_fn lint This lint warns by default in the 2024 edition, but is *way* too noisy for servo. We might enable it in the future, but not now. Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Compile using the 2024 edition Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Remove legacy layout (layout 2013) (#35943)Oriol Brufau2025-03-132-8/+0
| | | | | | We were already not compiling it and not running tests on it by default. So it's simpler to just completely remove it. Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* ohos: Remove direct link to ace_napi.z (#35921)Jonathan Schwender2025-03-111-4/+0
| | | | | | The underlying issue was solved in napi-ohos 1.0.2, and we have already updated to 1.0.4 Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* servoshell: Allow keyboard interaction with dialogs (enter / escape) (#35673)chickenleaf2025-03-101-11/+33
| | | Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* Allow domain-like as URL location input (#35756)Kafji2025-03-102-9/+94
| | | | | | | | | | | | | | | | | | | | | | | | * Allow domain-like as URL location input Before this patch, domain with subdomain (e.g. book.servo.org) won't be treated as URL location. This patch retifies that by adding Firefox's location bar behavior: - book.servo.org is URL location - book.servo.org. is URL location - .book.servo.org is not URL location Fixes #35754. Signed-off-by: Kafji <k@kafji.net> * Chain location input interpretation attempts Signed-off-by: Kafji <k@kafji.net> --------- Signed-off-by: Kafji <k@kafji.net>
* Remove obsolete memory profiler console output (#35861)webbeef2025-03-081-13/+0
| | | Signed-off-by: webbeef <me@webbeef.org>
* build(deps): bump egui_glow in the egui-related group (#35838)dependabot[bot]2025-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | Bumps the egui-related group with 1 update: [egui_glow](https://github.com/emilk/egui). Updates `egui_glow` from 0.31.0 to 0.31.1 - [Release notes](https://github.com/emilk/egui/releases) - [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md) - [Commits](https://github.com/emilk/egui/compare/0.31.0...0.31.1) --- updated-dependencies: - dependency-name: egui_glow dependency-type: direct:production update-type: version-update:semver-patch dependency-group: egui-related ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump android_logger from 0.14.1 to 0.15.0 (#35840)dependabot[bot]2025-03-071-1/+1
| | | | | | | | | | | | | | | | Bumps [android_logger](https://github.com/rust-mobile/android_logger-rs) from 0.14.1 to 0.15.0. - [Release notes](https://github.com/rust-mobile/android_logger-rs/releases) - [Changelog](https://github.com/rust-mobile/android_logger-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-mobile/android_logger-rs/compare/0.14.1...v0.15.0) --- updated-dependencies: - dependency-name: android_logger dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add an about:memory page (#35728)webbeef2025-03-071-0/+3
| | | | | | | | | | | | | | | | | This patch exposes a servo internal DOM API that is only made available to about: pages on the navigator object to request memory reports. The about:memory page itself is loaded like other html resources (eg. bad cert, net error) and makes use of this new API. On the implementation side, notable changes: - components/script/routed_promise.rs abstracts the setup used to fulfill a promise when the work needs to be routed through the constellation. The goal is to migrate other similar promise APIs in followup (eg. dom/webgpu/gpu.rs, bluetooth.rs). - a new message is added to request a report from the memory reporter, and the memory reporter creates a json representation of the set of memory reports. - the post-processing of memory reports is done in Javascript in the about-memory.html page, providing the same results as the current Rust code that outputs to stdout. We can decide later if we want to remove the current output. Signed-off-by: webbeef <me@webbeef.org>
* build(deps): bump the egui-related group with 5 updates (#35810)dependabot[bot]2025-03-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps the egui-related group with 5 updates: | Package | From | To | | --- | --- | --- | | [egui](https://github.com/emilk/egui) | `0.31.0` | `0.31.1` | | [egui-winit](https://github.com/emilk/egui) | `0.31.0` | `0.31.1` | | [ecolor](https://github.com/emilk/egui) | `0.31.0` | `0.31.1` | | [emath](https://github.com/emilk/egui) | `0.31.0` | `0.31.1` | | [epaint](https://github.com/emilk/egui) | `0.31.0` | `0.31.1` | Updates `egui` from 0.31.0 to 0.31.1 - [Release notes](https://github.com/emilk/egui/releases) - [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md) - [Commits](https://github.com/emilk/egui/compare/0.31.0...0.31.1) Updates `egui-winit` from 0.31.0 to 0.31.1 - [Release notes](https://github.com/emilk/egui/releases) - [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md) - [Commits](https://github.com/emilk/egui/compare/0.31.0...0.31.1) Updates `ecolor` from 0.31.0 to 0.31.1 - [Release notes](https://github.com/emilk/egui/releases) - [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md) - [Commits](https://github.com/emilk/egui/compare/0.31.0...0.31.1) Updates `emath` from 0.31.0 to 0.31.1 - [Release notes](https://github.com/emilk/egui/releases) - [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md) - [Commits](https://github.com/emilk/egui/compare/0.31.0...0.31.1) Updates `epaint` from 0.31.0 to 0.31.1 - [Release notes](https://github.com/emilk/egui/releases) - [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md) - [Commits](https://github.com/emilk/egui/compare/0.31.0...0.31.1) --- updated-dependencies: - dependency-name: egui dependency-type: direct:production update-type: version-update:semver-patch dependency-group: egui-related - dependency-name: egui-winit dependency-type: direct:production update-type: version-update:semver-patch dependency-group: egui-related - dependency-name: ecolor dependency-type: indirect update-type: version-update:semver-patch dependency-group: egui-related - dependency-name: emath dependency-type: indirect update-type: version-update:semver-patch dependency-group: egui-related - dependency-name: epaint dependency-type: indirect update-type: version-update:semver-patch dependency-group: egui-related ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* servoshell: Minor fixes to cli help. (#35794)Jonathan Schwender2025-03-041-2/+2
| | | | | | | | Fixes the `--pref` enable hint to use `_` instead of dots. Remove `--prefs-file` from the hint, since the hint is placed directly after the long option. (The help line displayed as `--prefs-file --prefs-file /path/to/prefs.json` before). Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
* Update rustfmt to the 2024 style edition (#35764)Simon Wülker2025-03-0316-26/+28
| | | | | | | | | | | | | * Use 2024 style edition Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> * Reformat all code Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* servoshell: Rename `Minibrowser::is_in_browser_rect` to ↵Martin Robinson2025-03-031-4/+4
| | | | | | | | | `Minibrowser::is_in_egui_toolbar_rect` (#35717) "browser rect" is a bit of a misnomer as the browser is the entire window, but this function is trying to determine if a point is on the non-WebView toolbar portion of the GUI. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Set a valid default value for the --userscripts command line option (#35740)webbeef2025-03-021-1/+1
| | | | | This prevents a crash when not specifying the path and matches the help message for that option. Signed-off-by: webbeef <me@webbeef.org>
* servoshell: Read prefs.json from bundle on OHOS (#35581)Narfinger2025-03-012-3/+17
| | | | | | | | | | | | | | | | | * Allows to read the prefs.json from the hap bundle on OHOS. Signed-off-by: Narfinger <Narfinger@users.noreply.github.com> * incorporate suggestions Signed-off-by: Narfinger <Narfinger@users.noreply.github.com> * incoroporate requested changes Signed-off-by: Narfinger <Narfinger@users.noreply.github.com> --------- Signed-off-by: Narfinger <Narfinger@users.noreply.github.com>
* libservo: Stop double-buffering `OffscreenRenderingContext` (#35638)Martin Robinson2025-02-281-7/+1
| | | | | | | | | | | The `OffscreenRenderingContext` does not need to be double-buffered. Instead, when resizing the framebuffer, create a new one and blit the old contents onto the new surface. This allows immediately displaying the contents without having to render paint the WebRender scene one more time. In addition to speeding up the rendering pipeline, the goal here is to reduce flickering during resizes (though there is more work to do). Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Remove tinyfiledialogs dependency (#35674)chickenleaf2025-02-271-1/+0
| | | Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* layout: Implement a non-recursive version of CSS `quotes` (#34770)Xiaocheng Hu2025-02-271-0/+1
| | | | | | | | | | | | | | | | | * Squash and don't explicitly use noto-cjk in tests Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com> * Mark quotes-034.html.ini failure Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com> * Address review comments Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com> --------- Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>
* libservo: Clean up interfaces for alert()/confirm()/prompt() (#35579)Delan Azabani2025-02-277-161/+163
| | | Signed-off-by: Delan Azabani <dazabani@igalia.com>
* libservo: Add `WebView` immediately to the Compositor (#35662)Martin Robinson2025-02-262-8/+8
| | | | | | | | | When creating a `WebView`, let the Compositor know synchronously that it exists. This allows the embedder to immediately call methods like `WebView::focus()`. In addition remove messages associated with the `WebViewDelegate::notify_ready_to_show()` method (and the method itself), as now `WebView`s can be shown immediately. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Allow webdriver screenshots to occur immediately upon request. (#35677)Josh Matthews2025-02-261-1/+1
| | | Signed-off-by: Josh Matthews <josh@joshmatthews.net>
* Blocks all background webview interactions when a dialog is open (#35671)chickenleaf2025-02-263-8/+26
| | | Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* servoshell: Port SelectDevice dialog code to use egui instead of ↵chickenleaf2025-02-262-38/+69
| | | | | tinyfiledialogs (#35657) Signed-off-by: L Ashwin B <lashwinib@gmail.com>
* libservo: Move size handling to `RenderContext` from `WindowMethods` (#35621)Martin Robinson2025-02-259-91/+30
| | | | | | | | | | | | | | | | | | | | | This is the first step toward removing `WindowMethods`, which will gradually be integrated into the `WebView` and `WebViewDelegate`. Sizing of the `WebView` is now handled by the a size associated with a `RenderingContext`. `WebView`s will eventually just paint the entire size of their `RenderingContext`. Notes: - This is transitionary step so now there is a `WebView::resize` and a `WebView::move_resize`. The first is the future which will resize the `WebView` and its associated `RenderingContext`. The second is a function that the virtual `WebView`s that will soon be replaced by a the one-`WebView` per `WebView` model. - We do not need to call `WebView::move_resize` at as much any longer because the default size of the `WebView` is to take up the whole `RenderingContext`. - `SurfmanRenderingContext` is no longer exposed in the API, as a surfman context doesn't naturally have a size unless a surface is bound to it. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* servoshell: Fall back to PNG format when outputting an image (#35648)Martin Robinson2025-02-251-2/+5
| | | | | | | | | | | | | | | | | A recent change, #35538 added the ability to dump different output image formats. Unfortunately, this necessitated adding a file extension to the output image for WPT tests. This had two problems: 1. The original change never landed properly in WPT for unknown reasons. 2. It interfered with the way that temporary files were cleaned up during WPT runs. This change modifies the image dumping code to fall back to PNG format when there is no valid file extension on the output image and reverts the change made to the WPT runner. Fixes #35635. Signed-off-by: Martin Robinson <mrobinson@igalia.com>