Commit graph

50515 commits

Author SHA1 Message Date
Delan Azabani
14db055d46
Fix mach argument quoting on NixOS (#35573)
This patch makes mach shell-quote its arguments when rerunning itself
with `nix-shell`, so that spaces and other special characters are
handled correctly.

Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-02-21 08:21:50 +00:00
Jason Tsai
9c8a47e993
fix(servoshell): blank view when close non focused tab (#35569)
Signed-off-by: Jason Tsai <git@pews.dev>
2025-02-21 06:10:13 +00:00
Bi Fuguo
d4a8b3b38e
fix touch event wrong coordinates. pageX, pageY, clientX, clientY etc. (#35550)
Signed-off-by: kongbai1996 <1782765876@qq.com>
2025-02-21 06:01:02 +00:00
Josh Matthews
c6cb50c956
Revert "build(deps): bump aws-lc-rs from 1.12.2 to 1.12.3 (#35561)" (#35566)
This reverts commit 7d33e72bfc.
2025-02-21 04:20:10 +00:00
Martin Robinson
54b5c7b632
compositing: Move image output and shutdown management out of the compositor (#35538)
This is a step toward the renderer-per-WebView goal. It moves various
details out of `IOCompositor`.

- Image output: This is moved to servoshell as now applications can
  access the image contents of a `WebView` via
  `RenderingContext::read_to_image`. Most options for this are moved to
  `ServoShellPreferences` apart from `wait_for_stable_image` as this
  requires a specific kind of coordination in the `ScriptThread` that is
  also very expensive. Instead, paint is now simply delayed until a
  stable image is reached and `WebView::paint()` returns a boolean.
  Maybe this can be revisited in the future.
- Shutdown: Shutdown is now managed by libservo itself. Shutdown state
  is shared between the compositor and `Servo` instance. In the future,
  this sharing might be unecessary.
- `CompositeTarget` has been removed entirely. This no longer needs to
   be passed when creating a Servo instance.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Ngo Iok Ui (Wu Yu Wei) <yuweiwu@pm.me>
2025-02-20 18:27:49 +00:00
dependabot[bot]
7d33e72bfc
build(deps): bump aws-lc-rs from 1.12.2 to 1.12.3 (#35561)
Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.12.2 to 1.12.3.
- [Release notes](https://github.com/aws/aws-lc-rs/releases)
- [Commits](https://github.com/aws/aws-lc-rs/compare/v1.12.2...v1.12.3)

---
updated-dependencies:
- dependency-name: aws-lc-rs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 17:43:41 +00:00
dependabot[bot]
f739091c0f
build(deps): bump taffy from 0.7.5 to 0.7.6 (#35562)
Bumps [taffy](https://github.com/DioxusLabs/taffy) from 0.7.5 to 0.7.6.
- [Release notes](https://github.com/DioxusLabs/taffy/releases)
- [Changelog](https://github.com/DioxusLabs/taffy/blob/v0.7.6/CHANGELOG.md)
- [Commits](https://github.com/DioxusLabs/taffy/compare/v0.7.5...v0.7.6)

---
updated-dependencies:
- dependency-name: taffy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 17:43:34 +00:00
dependabot[bot]
8e72f0acbb
build(deps): bump serde_json from 1.0.138 to 1.0.139 (#35563)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.138 to 1.0.139.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.138...v1.0.139)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 17:43:32 +00:00
dependabot[bot]
61f1ff038a
build(deps): bump string_cache_codegen from 0.5.3 to 0.5.4 (#35560)
Bumps [string_cache_codegen](https://github.com/servo/string-cache) from 0.5.3 to 0.5.4.
- [Release notes](https://github.com/servo/string-cache/releases)
- [Commits](https://github.com/servo/string-cache/commits/codegen-v0.5.4)

---
updated-dependencies:
- dependency-name: string_cache_codegen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 17:28:17 +00:00
dependabot[bot]
87d43dc23c
build(deps): bump serde from 1.0.217 to 1.0.218 (#35559)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.217 to 1.0.218.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.217...v1.0.218)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 17:26:28 +00:00
dependabot[bot]
5990530413
build(deps): bump anyhow from 1.0.95 to 1.0.96 (#35558)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.95 to 1.0.96.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.95...1.0.96)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 17:25:19 +00:00
dependabot[bot]
29e8707d94
build(deps): bump app_units from 0.7.6 to 0.7.7 (#35557)
Bumps [app_units](https://github.com/servo/app_units) from 0.7.6 to 0.7.7.
- [Release notes](https://github.com/servo/app_units/releases)
- [Commits](https://github.com/servo/app_units/commits/v0.7.7)

---
updated-dependencies:
- dependency-name: app_units
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 17:21:12 +00:00
dependabot[bot]
f994acc649
build(deps): bump winnow from 0.7.2 to 0.7.3 (#35556)
Bumps [winnow](https://github.com/winnow-rs/winnow) from 0.7.2 to 0.7.3.
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md)
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.2...v0.7.3)

---
updated-dependencies:
- dependency-name: winnow
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 17:19:37 +00:00
Auguste Baum
863d2ce871
Propagate CanGc arguments through callers in constructors (#35541)
Signed-off-by: Auguste Baum <auguste.apple@gmail.com>
2025-02-20 16:17:45 +00:00
Martin Robinson
5465bfc2af
libservo: Move GL acclerated media setup out of RenderingContext and simplify it (#35553)
This moves the GL accelerated media setup out of `RenderingContext`
which prevents making libservo dependo on the Wayland and X11 versions
of surfman explicitly. This support is experimental and (honestly) a bit
broken. I've confirmed that this works as well as it did before the
change.

The main thing here is that the configuration, which currently needs
surfman types, moves to servoshell. In addition:

1. Instead of passing the information to the Constellation, the setup is
   stored statically. This is necessary to avoid introducing a
   dependency on `media` in `webrender_traits`. It's quite likely that
   `media` types should move to the internal embedding API to avoid
   this. This is preserved for a followup change.
2. The whole system of wrapping the media channels in an abstract type
   is removed. They could be either mpsc channels or IPC channels. This
   was never going to work because mpsc channels cannot be serialized
   and deserialized with serde. Instead this just uses IPC channels. We
   also have other ways of doing this kind of abstraction in Servo so we
   do not need another. The `mpsc` version was hard-coded to be
   disabled.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-02-20 13:52:18 +00:00
Delan Azabani
9887ad369d
libservo: Clean up destroyed webview handles (#35547)
When the embedder drops the last WebView handle, the webview is
destroyed, but the weak handle in libservo never gets cleaned up.

This patch adds a step to `spin_event_loop` that cleans up any weak
handles that have been destroyed. In theory, checking the strong count
should be more efficient than trying to upgrade each handle (only to
throw away the strong handle).

Signed-off-by: Delan Azabani <dazabani@igalia.com>
2025-02-20 08:31:44 +00:00
DK Liao
7831bced76
chore: cleanup IME code for Servoshell (#35546)
Signed-off-by: DK Liao <dklassic@gmail.com>
2025-02-20 05:33:50 +00:00
dependabot[bot]
5ff588429f
build(deps): bump unicode-ident from 1.0.16 to 1.0.17 (#35545)
Bumps [unicode-ident](https://github.com/dtolnay/unicode-ident) from 1.0.16 to 1.0.17.
- [Release notes](https://github.com/dtolnay/unicode-ident/releases)
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.16...1.0.17)

---
updated-dependencies:
- dependency-name: unicode-ident
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-19 17:50:33 +00:00
Martin Robinson
168f7ead15
compositing: Split non-WebView-specific data into ServoRenderer (#35536)
This will become the new global Servo renderer while each WebView will
also have its renderer (but not yet).

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Ngo Iok Ui (Wu Yu Wei) <yuweiwu@pm.me>
2025-02-19 15:29:32 +00:00
Martin Robinson
4a5ff01e06
Remove Servo::allow_navigation_request (#35544)
This method is now unused in the new Servo API.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-02-19 14:55:11 +00:00
chickenleaf
b0561c78c7
servoshell: Port Authentication dialog code to use egui intead of tinyfiledialogs (#35507)
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2025-02-19 13:42:48 +00:00
Gregory Terzian
df6d636168
dom: Implement WritableStream (#34844)
* add basic interface for writable stream

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* add stubs for pipeTo and pipeThrough methods

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* add stubs for writable stream defautl writer

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* add stubs for writable stream controller

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* add underlying source dict

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* add underlying source dict

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement constructor

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement init writable stream

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* impl setup default controller

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement controller setup

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement controller advance queue if neededd

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement stream finish erroring

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement stream reject close and closed promise if needed

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* finish implementation of stream finish erroring

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* call into controller setup from stream constructor

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement stream mark first write request in flight

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement controller process write

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* call into advance queue if needed at various points

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement stream deal with rejection, use from_safe_context

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement controller clear algorithms

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove unused todo

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement stream start erroring

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* finish writer ensure ready promise rejected

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement stream finish in flight write request

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement write constructor and setup

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement controller error

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove unnecessary unsafe code

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* finish implementing process write

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement close sentinel

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement public locked

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement stream abort

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement stream close

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement controller close

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix use of crown

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove unnecessary options around writer promises

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement writer get desired size

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement writer ready

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement writer abort

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement writer close

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement writer release lock

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement writer public write

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement private writer write

Uses ai

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement writer release.

Uses ai

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* impl controller process close

Uses ai

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* finish controller process close

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* root promise handlers

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* handler errors in stream and writer constructor
finish implementation of stream finish in flight close

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix warnings

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement controller get chunk size

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* tidy the webidls

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* implement stream get writer

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix assertion of stream state when advancing queue if needed

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* add docs for value with size

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* use reject_error in abort

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove unnecessary allowances of unsafe code

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* turn writable-streams test suite on

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* update encodings test expectations

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* properly check if type is set on sink in stream constructor

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix double borrow in controller advance queue if needed

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* make the queue aware of the close sentinel when dequeuing a value

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix assertion of no backpressure in update backpressure

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* also clear strategy size when clearing algorithms

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove this object arg when calling into strategy size

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix has operations marked in flight

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix typo in has in flight write request

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* turn error into no-op when aborting a stream, if the stream is closed or errored.

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix error handling of calling into abort algorithm

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix error handling of calling into close and write algorithms

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix double borrow on queue
fix logic in update_backpressure
fix logic in get_desired_size
fix logic in writer setup

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* update test expectations for aborting suite

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix controller get_backpressure

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix clippy

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* update test expectations to expect errors in tests using unsupported apis

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix error handling of calling into start algo in controller setup

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* update test expectations for test checking for undefined this in strategy size call

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* update test expectation to timeout for response-stream-with-broken-then.any.worker

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* update interfaces

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix use of global() and error to_jsval

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix use of crown for promise handlers

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove fail expectation from worker interface objects test

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove fail expectation for test expecting this to be undefined in callback

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix documentation link for writablestream state

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* refactor write_requests to use a vec deque

uses ai

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove unnecessary doc

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* refactor reject_close_and_closed_promise_if_needed to take a safe js context as argument

uses ai

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* pass globals and contexts by ref where possible

uses ai

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix doc link for controller

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove unnecessary comment

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* change update_backpressure to be a method of the writablestream

uses ai

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* rename writer method that resolve closed and ready promise for clarity

uses ai

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* add comments for steps in peek queue value

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix doc link for the abort algorihtm fulfillment handler

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix step doc and variable name in abort algo rejection handler

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* Add must_root to pending abort request

Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: Gregory Terzian <2792687+gterzian@users.noreply.github.com>

* limit visibility to crate for has_operations_marked_inflight

Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: Gregory Terzian <2792687+gterzian@users.noreply.github.com>

* limit visibility to crate for get_stored_error

Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: Gregory Terzian <2792687+gterzian@users.noreply.github.com>

* remove potention re-borrow risk in reject loop on write requests in finish_erroring

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove potential re-borrow risk when taking pending abort request in finish_erroring

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove potential re-borrow risk when taking close request in reject_close_and_closed_promise_if_needed

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove re-borrow risks in finish_in_flight_close

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove re-borrow risk on in_flight_close_request in finish_in_flight_close_with_error

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove unnecessary clone of of reason in abort

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix condition on backpressure and a writable state in close

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* limit visibility to crate for update_backpressure

Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: Gregory Terzian <2792687+gterzian@users.noreply.github.com>

* remove mutability of reason in abort workflow

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove unnecessary use of ignore_malloc_size_of around Dom in controller

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix ignore malloc size of comment for strategy size

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* reduce visibility of public methods to crate in controller

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* remove use of JS_GetPendingException in controller get_chunk_size

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* return early on error in write

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* use is_some_and in assertion that stream.witer is writer in release

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* root pending abort request

uses ai

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

* fix mutable re-borrow risk in writer

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>

---------

Signed-off-by: gterzian <2792687+gterzian@users.noreply.github.com>
Signed-off-by: Gregory Terzian <2792687+gterzian@users.noreply.github.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2025-02-19 13:02:14 +00:00
DK Liao
720bc725b0
feat: support pre-edit text display for IME (#35535)
* feat: support pre-edit text display for IME

Signed-off-by: DK Liao <dklassic@gmail.com>

* enable ime by show_ime

Signed-off-by: DK Liao <dklassic@gmail.com>

---------

Signed-off-by: DK Liao <dklassic@gmail.com>
2025-02-19 11:22:57 +00:00
Jonathan Schwender
42e873e9d9
pixels: Fix webp detection (#35474)
According to the riff_container specification, the suffix is only WEBP.
Additionally, this commit also verifies that the length of the byte
buffer matches the length declared by the riff header.

Source: https://developers.google.com/speed/webp/docs/riff_container

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-02-19 11:09:16 +00:00
Martin Robinson
e5c9a0365d
libservo: Rework and clarify the rendering model of the WebView (#35522)
Make the rendering model of the `WebView` clearer:

1. `WebViewDelegate::notify_new_frame_ready()` indicates that the
   WebView has become dirty and needs to be repainted.
2. `WebView::paint()` asks Servo to paint the contents of the `WebView`
   into the `RenderingContext`.
3. `RenderingContext::present()` does a buffer swap if the
   `RenderingContext` is actually double-buffered.

This is documented and all in-tree embedders are updated to work with
this new model.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Ngo Iok Ui (Wu Yu Wei) <yuweiwu@pm.me>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-02-19 10:35:56 +00:00
Mukilan Thiyagarajan
56840e0a35
script: add skeleton implementation of FontFace API (#35262)
This patch implements the `FontFace` interface, but with some caveats

1. The interface is only exposed on `Window`. Support for Workers will
   be handled in the future.
2. The concept of `css-connected` `FontFace` is not implemented, so
   `@font-face` rules in stylesheets will not be represented in the DOM.
3. The constructor only supports using `url()` strings as source
   and `ArrayBuffer` and `ArrayBufferView` are not supported yet.

A skeleton implementation of the `load` method of `FontFaceSet` is also
implemented in this patch. The intention is to support some web pages
that don't load without this method.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-02-19 05:50:01 +00:00
Simon Wülker
29e0fad21e
Ensure that qualified-name segments start with a valid start character (#35530)
* Add spec comments to various methods

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Ensure that qualified-name segments start with a valid start character

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

* Update WPT expectations

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-02-19 04:34:42 +00:00
Jonathan Schwender
b57eba2919
Fix android build on arm macs (#35516)
The prebuilt directory only contains an `darwin-x86_64`
toolchain, but that is perfectly fine, since that also
works.
In General, if there is only one prebuilt toolchain available,
it should be a very safe assumption that it is usable on  the host
platform, especially if the OS matches.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-02-18 18:47:11 +00:00
dependabot[bot]
7d2437762f
build(deps): bump typenum from 1.17.0 to 1.18.0 (#35527)
Bumps [typenum](https://github.com/paholg/typenum) from 1.17.0 to 1.18.0.
- [Release notes](https://github.com/paholg/typenum/releases)
- [Changelog](https://github.com/paholg/typenum/blob/main/CHANGELOG.md)
- [Commits](https://github.com/paholg/typenum/compare/v1.17.0...v1.18.0)

---
updated-dependencies:
- dependency-name: typenum
  dependency-type: indirect
  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>
2025-02-18 17:10:37 +00:00
Jason Tsai
22c3a63737
feat: add Notification Web API binding (#34842)
* feat: add Notification Web API binding

Signed-off-by: Jason Tsai <git@pews.dev>

* chore: update spec link

Signed-off-by: Jason Tsai <git@pews.dev>

* chore: fix clippy

Signed-off-by: Jason Tsai <git@pews.dev>

* fix: index overflow

Signed-off-by: Jason Tsai <git@pews.dev>

* test(tidy): add notification WebIDL standard URL

Signed-off-by: Jason Tsai <git@pews.dev>

* fix: allow crown::unrooted_must_root

Signed-off-by: Jason Tsai <git@pews.dev>

* implement GetPermission

Signed-off-by: Jason Tsai <git@pews.dev>

* fix silent type

Signed-off-by: Jason Tsai <git@pews.dev>

* add all properties

Signed-off-by: Jason Tsai <git@pews.dev>

* test: add Notification to global

Signed-off-by: Jason Tsai <git@pews.dev>

* chore: update wpt manifest and fix clippy

Signed-off-by: Jason Tsai <git@pews.dev>

* test: temp skip notifications

Signed-off-by: Jason Tsai <git@pews.dev>

* add vibration and apply suggestions

Signed-off-by: Jason Tsai <git@pews.dev>

* partially implement RequestPermission

Signed-off-by: Jason Tsai <git@pews.dev>

* call Permission request permission algorithm

Signed-off-by: Jason Tsai <git@pews.dev>

* chore: pub crate Notification

Signed-off-by: Jason Tsai <git@pews.dev>

* chore: fix clippy

Signed-off-by: Jason Tsai <git@pews.dev>

* chore: crown attribute

Signed-off-by: Jason Tsai <git@pews.dev>

* fix part of suggestions

Signed-off-by: Jason Tsai <git@pews.dev>

* fix: store private `Action` structure

Signed-off-by: Jason Tsai <git@pews.dev>

* chore: fix typo

Signed-off-by: Jason Tsai <git@pews.dev>

* fix: serialize images URL

Signed-off-by: Jason Tsai <git@pews.dev>

* fix: use globalscope as environment settings object

Signed-off-by: Jason Tsai <git@pews.dev>

* chore: add pref `dom_notification_enabled` and default to disabled

Signed-off-by: Jason Tsai <git@pews.dev>

* fix: use `descriptor_permission_state`

Signed-off-by: Jason Tsai <git@pews.dev>

* apply suggestions

Signed-off-by: Jason Tsai <git@pews.dev>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>

* test: remove passed meta

Signed-off-by: Jason Tsai <git@pews.dev>

* test: enable notification prefs in mozilla tests

Signed-off-by: Jason Tsai <git@pews.dev>

---------

Signed-off-by: Jason Tsai <git@pews.dev>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2025-02-18 16:56:57 +00:00
dependabot[bot]
14d591c462
build(deps): bump clap from 4.5.29 to 4.5.30 (#35526)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.29 to 4.5.30.
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.29...clap_complete-v4.5.30)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-18 16:55:38 +00:00
dependabot[bot]
ab51fbe1f1
build(deps): bump the gstreamer-related group with 22 updates (#35525)
Bumps the gstreamer-related group with 22 updates:

| Package | From | To |
| --- | --- | --- |
| gstreamer | `0.23.4` | `0.23.5` |
| gstreamer-base | `0.23.4` | `0.23.5` |
| gstreamer-gl | `0.23.4` | `0.23.5` |
| gstreamer-gl-sys | `0.23.4` | `0.23.5` |
| gstreamer-sys | `0.23.4` | `0.23.5` |
| gstreamer-video | `0.23.4` | `0.23.5` |
| gstreamer-app | `0.23.4` | `0.23.5` |
| gstreamer-app-sys | `0.23.4` | `0.23.5` |
| gstreamer-audio | `0.23.4` | `0.23.5` |
| gstreamer-audio-sys | `0.23.4` | `0.23.5` |
| gstreamer-base-sys | `0.23.4` | `0.23.5` |
| gstreamer-gl-egl | `0.23.4` | `0.23.5` |
| gstreamer-gl-egl-sys | `0.23.4` | `0.23.5` |
| gstreamer-gl-x11 | `0.23.4` | `0.23.5` |
| gstreamer-gl-x11-sys | `0.23.4` | `0.23.5` |
| gstreamer-player | `0.23.4` | `0.23.5` |
| gstreamer-player-sys | `0.23.4` | `0.23.5` |
| gstreamer-sdp | `0.23.4` | `0.23.5` |
| gstreamer-sdp-sys | `0.23.4` | `0.23.5` |
| gstreamer-video-sys | `0.23.4` | `0.23.5` |
| gstreamer-webrtc | `0.23.4` | `0.23.5` |
| gstreamer-webrtc-sys | `0.23.4` | `0.23.5` |


Updates `gstreamer` from 0.23.4 to 0.23.5

Updates `gstreamer-base` from 0.23.4 to 0.23.5

Updates `gstreamer-gl` from 0.23.4 to 0.23.5

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

Updates `gstreamer-sys` from 0.23.4 to 0.23.5

Updates `gstreamer-video` from 0.23.4 to 0.23.5

Updates `gstreamer-app` from 0.23.4 to 0.23.5

Updates `gstreamer-app-sys` from 0.23.4 to 0.23.5

Updates `gstreamer-audio` from 0.23.4 to 0.23.5

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

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

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

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

Updates `gstreamer-gl-x11` from 0.23.4 to 0.23.5

Updates `gstreamer-gl-x11-sys` from 0.23.4 to 0.23.5

Updates `gstreamer-player` from 0.23.4 to 0.23.5

Updates `gstreamer-player-sys` from 0.23.4 to 0.23.5

Updates `gstreamer-sdp` from 0.23.4 to 0.23.5

Updates `gstreamer-sdp-sys` from 0.23.4 to 0.23.5

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

Updates `gstreamer-webrtc` from 0.23.4 to 0.23.5

Updates `gstreamer-webrtc-sys` from 0.23.4 to 0.23.5

---
updated-dependencies:
- dependency-name: gstreamer
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-base
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-gl
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-gl-sys
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-sys
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-video
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-app
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-app-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-audio
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-audio-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-base-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-gl-egl
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-gl-egl-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-gl-x11
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-gl-x11-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-player
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-player-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-sdp
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-sdp-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-video-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-webrtc
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gstreamer-webrtc-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-18 16:48:04 +00:00
Martin Robinson
f34f2d9d0a
libservo: Expose SoftwareRenderingContext and WindowRenderingContext (#35501)
Expose two easy-to-use wrappers around `SurfmanRenderingContext` that
make the API simpler to use:

- `WindowRenderingContext`: This `RenderingContext` is a newtype around
  `SurfmanRenderingContext` takes a `raw-window-handle` display and window
  and creates a full window rendering context.
- `SoftwareRenderingContext`: is wraps `SurfmanRenderingContext` and
  adds a swap chain in order to expose a software GL rendering context.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-02-18 14:50:41 +00:00
Josh Matthews
73507f58e6
script: Add custom logging representation for DOM interfaces. (#35416)
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-02-18 05:28:18 +00:00
Josh Matthews
1d606bb85c
Make WebBluetooth an optional feature. (#35479)
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-02-18 04:13:43 +00:00
Simon Wülker
32f19c1eae
Don't attempt to report style attribute for non-htmlelements to devtools (#35519)
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-02-17 21:33:11 +00:00
Oriol Brufau
f01d525852
layout: Fully support sizing keywords on main size property of flex item (#35471)
Still lacking support on min and max main size properties, and on the
various cross size properties.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-02-17 21:19:50 +00:00
dependabot[bot]
daabb71b9f
build(deps): bump smallvec from 1.13.2 to 1.14.0 (#35515)
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.13.2 to 1.14.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases)
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.13.2...v1.14.0)

---
updated-dependencies:
- dependency-name: smallvec
  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>
2025-02-17 19:17:47 +00:00
Oriol Brufau
c2224d5afc
layout: Partial support for sizing keywords on flex items (#35469)
* Add tests for sizing keywords on flex items

Signed-off-by: Oriol Brufau <obrufau@igalia.com>

* layout: Partial support for sizing keywords on flex items

When a flex item has `flex-basis: auto`, the used `flex-basis` is the
value of the main size property. In that case, if the main size property
was set to keyword, we were always assuming it was `auto`. Now we handle
non-`auto` keywords correctly.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>

---------

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
2025-02-17 17:51:10 +00:00
dependabot[bot]
5fa14c97bd
build(deps): bump document-features from 0.2.10 to 0.2.11 (#35513)
Bumps [document-features](https://github.com/slint-ui/document-features) from 0.2.10 to 0.2.11.
- [Release notes](https://github.com/slint-ui/document-features/releases)
- [Changelog](https://github.com/slint-ui/document-features/blob/master/CHANGELOG.md)
- [Commits](https://github.com/slint-ui/document-features/commits)

---
updated-dependencies:
- dependency-name: document-features
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 17:23:33 +00:00
dependabot[bot]
26d5567a44
build(deps): bump equivalent from 1.0.1 to 1.0.2 (#35512)
Bumps [equivalent](https://github.com/indexmap-rs/equivalent) from 1.0.1 to 1.0.2.
- [Commits](https://github.com/indexmap-rs/equivalent/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: equivalent
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 17:19:09 +00:00
dependabot[bot]
92ac089a0c
build(deps): bump smallbitvec from 2.5.3 to 2.6.0 (#35511)
Bumps [smallbitvec](https://github.com/servo/smallbitvec) from 2.5.3 to 2.6.0.
- [Release notes](https://github.com/servo/smallbitvec/releases)
- [Commits](https://github.com/servo/smallbitvec/compare/v2.5.3...v2.6.0)

---
updated-dependencies:
- dependency-name: smallbitvec
  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>
2025-02-17 17:15:04 +00:00
dependabot[bot]
9fc51f18b5
build(deps): bump the gstreamer-related group with 4 updates (#35510)
Bumps the gstreamer-related group with 4 updates: [gio-sys](https://github.com/gtk-rs/gtk-rs-core), [glib](https://github.com/gtk-rs/gtk-rs-core), [glib-sys](https://github.com/gtk-rs/gtk-rs-core) and [gobject-sys](https://github.com/gtk-rs/gtk-rs-core).


Updates `gio-sys` from 0.20.8 to 0.20.9
- [Release notes](https://github.com/gtk-rs/gtk-rs-core/releases)
- [Changelog](https://github.com/gtk-rs/gtk-rs-core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gtk-rs/gtk-rs-core/compare/0.20.8...0.20.9)

Updates `glib` from 0.20.7 to 0.20.9
- [Release notes](https://github.com/gtk-rs/gtk-rs-core/releases)
- [Changelog](https://github.com/gtk-rs/gtk-rs-core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gtk-rs/gtk-rs-core/compare/0.20.7...0.20.9)

Updates `glib-sys` from 0.20.7 to 0.20.9
- [Release notes](https://github.com/gtk-rs/gtk-rs-core/releases)
- [Changelog](https://github.com/gtk-rs/gtk-rs-core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gtk-rs/gtk-rs-core/compare/0.20.7...0.20.9)

Updates `gobject-sys` from 0.20.7 to 0.20.9
- [Release notes](https://github.com/gtk-rs/gtk-rs-core/releases)
- [Changelog](https://github.com/gtk-rs/gtk-rs-core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gtk-rs/gtk-rs-core/compare/0.20.7...0.20.9)

---
updated-dependencies:
- dependency-name: gio-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: glib
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: glib-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
- dependency-name: gobject-sys
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: gstreamer-related
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-17 17:11:05 +00:00
Gae24
56199fd153
window: avoid NonNull<JSObject> in NamedGetter (#35508)
Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
2025-02-17 12:48:21 +00:00
Simon Wülker
f5ed44c3aa
Don't remove used fonts in collect_unused_webrender_resources (#35506)
The check on whether or not a font should be retained was inverted.

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-02-17 11:15:00 +00:00
Bi Fuguo
3fe42a0b5a
implement Touchevent prevent default behavior (#35031)
* implement Touchevent prevent default behavior

* The status change logic of the `TouchHandler` is changed.
> The `WaitingForScript` state is canceled. TouchAction can be identified
  based on the current touch type and numbers if touch points.
* Sends current event to script thread along with recognized `TouchAction`.
> After dispatch event, script thread sends a `TouchEventProcess(EventResult)`
  message to main thread. If the event is set to `DefaultAllowed`, the
  corresponding `TouchAction` information is added.
* After receiving `DefaultAllowed(TouchAction)` message, main thread executes corresponding action.
> `DefaultPrevented(TouchEventType)` is received. Use `prevent_click` to mark
  that the default `Click` is blocked, and `prevent_move` to mark that the
  default `Scroll` and `Zoom` are blocked. In this way, all TouchActions
  implement preventDefault.
Signed-off-by: Bi Fuguo <1782765876@qq.com>

* fix some suggestions

* support preventDefault fling
* move `TouchAction` to share touch directory
* check preventDefault everytime when touch
* fix zoom ineffective

Signed-off-by: Bi Fuguo <1782765876@qq.com>

* fix some suggestions

rename on_event_processed to  on_touch_event_processed
clear unused features

Signed-off-by: Bi Fuguo <1782765876@qq.com>

* Optimizes pan performance by continuously sliding without waiting for the eventhandler.

Signed-off-by: kongbai1996 <1782765876@qq.com>

* resolve conflict

Signed-off-by: kongbai1996 <1782765876@qq.com>

---------

Signed-off-by: Bi Fuguo <1782765876@qq.com>
Signed-off-by: kongbai1996 <1782765876@qq.com>
2025-02-17 10:50:04 +00:00
Martin Robinson
6dce329acc
libservo: Expose an OffscreenRenderingContext and use it for servoshell (#35465)
Create a new `RenderingContext` which is used to render to a
`SurfmanRenderingContext`-related offscreen buffer. This allows having a
temporary place to render Servo and then blitting the results to a
subsection of the parent `RenderingContext`.

The goal with this change is to remove the details of how servoshell
renders from the `Compositor` and prepare for the compositor-per-WebView
world.


Co-authred-by: Ngo Iok Ui (Wu Yu Wei) <yuweiwu@pm.me>

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-02-17 08:35:05 +00:00
Euclid Ye
d466688526
dom: expose obsolete scheme attribute for meta tag (#35505)
* dom: expose obsolete `scheme` attribute for meta tag

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>

* update tests

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>

---------

Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com>
2025-02-17 07:07:24 +00:00
Martin Robinson
a17b2e0cb2
servoshell: Actually set the Servo delegate in servoshell (#35502)
This was implemented, but unset.

Fixes #35481.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-02-16 23:13:19 +00:00
Gae24
966888615f
DataTransferItem: improve spec compliance (#35418)
* DataTransfer: remove PlainString and Binary structs

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>

* add DataTransferItemList remove() test case

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>

* bring datatransferitem closer to the spec

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>

* queue a task to invoke the callback

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>

---------

Signed-off-by: Gae24 <96017547+Gae24@users.noreply.github.com>
2025-02-16 18:53:35 +00:00