Yerkebulan Tulibergenov
54286229ea
refactor: add CanGc as argument to extract_size_algorithm ( #35593 )
...
Signed-off-by: Yerkebulan Tulibergenov <yerkebulan@gmail.com>
2025-02-22 02:25:59 +00:00
webbeef
f7c1cd4635
dom: Move child_list to rare data ( #35592 )
...
This is only created when calling the ChildNodes method. Gecko also stores it in their similar
data structure at https://searchfox.org/mozilla-central/rev/155d514d72473453492a822e97dc1c68cf49d110/dom/base/nsINode.h#1464
Signed-off-by: webbeef <me@webbeef.org>
2025-02-22 01:32:37 +00:00
webbeef
6a182c345c
build winit_minimal with bluetooth disabled ( #35590 )
...
Signed-off-by: webbeef <me@webbeef.org>
2025-02-21 23:26:46 +00:00
Samson
a6f19c0092
script: Add CanvasContext
trait ( #35448 )
...
* trait `CanvasContext`
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* fixup most stuff
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* explain and limit crown `allow(crown::unrooted_must_root)`
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-02-21 20:26:27 +00:00
webbeef
084006abb6
Add get_url() to GlobalScopeHelper ( #35589 )
...
This is needed to build with the tracing feature
Signed-off-by: webbeef <me@webbeef.org>
2025-02-21 19:52:31 +00:00
webbeef
e883eaa322
dom: move node ranges to raredata ( #35554 )
...
Signed-off-by: webbeef <me@webbeef.org>
2025-02-21 18:41:25 +00:00
dependabot[bot]
57ed444498
build(deps): bump cc from 1.2.14 to 1.2.15 ( #35586 )
...
Bumps [cc](https://github.com/rust-lang/cc-rs ) from 1.2.14 to 1.2.15.
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.14...cc-v1.2.15 )
---
updated-dependencies:
- dependency-name: cc
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-21 17:59:39 +00:00
dependabot[bot]
b4f71e4580
build(deps): bump ring from 0.17.9 to 0.17.10 ( #35585 )
...
Bumps [ring](https://github.com/briansmith/ring ) from 0.17.9 to 0.17.10.
- [Commits](https://github.com/briansmith/ring/commits )
---
updated-dependencies:
- dependency-name: ring
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-21 17:56:21 +00:00
dependabot[bot]
98c818e121
build(deps): bump log from 0.4.25 to 0.4.26 ( #35584 )
...
Bumps [log](https://github.com/rust-lang/log ) from 0.4.25 to 0.4.26.
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.25...0.4.26 )
---
updated-dependencies:
- dependency-name: log
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-21 17:54:06 +00:00
dependabot[bot]
eb5918d670
build(deps): bump aws-lc-rs from 1.12.2 to 1.12.4 ( #35582 )
...
Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs ) from 1.12.2 to 1.12.4.
- [Release notes](https://github.com/aws/aws-lc-rs/releases )
- [Commits](https://github.com/aws/aws-lc-rs/compare/v1.12.2...v1.12.4 )
---
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-21 17:40:21 +00:00
Auguste Baum
ca1f0486ba
refactor: propagate CanGc arguments through callers ( #35565 )
...
Signed-off-by: Auguste Baum <auguste.apple@gmail.com>
2025-02-21 17:35:17 +00:00
Simon Wülker
085cd981aa
Support the <meter>
element ( #35524 )
...
* Allow attaching UA shadow roots to any element
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Implement a UA shadow tree for the <meter> element
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Add UA styles for the meter element
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
* Include spec text when computing meter state
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
---------
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-02-21 16:28:12 +00:00
Simon Wülker
6ccdf7d19f
Allow resetting multiple flags at once in Element::set_state ( #35580 )
...
Previously, the code would incorrectly return without updating
the flags if the caller tried to reset multiple flags at once
and the not all of them were true.
Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2025-02-21 14:42:28 +00:00
Martin Robinson
cf2b93f18a
libservo: Convert intercept_web_resource_load
into load_web_resource
( #35564 )
...
Rework the `WebViewDelegate::intercept_web_resource_load` into
`WebViewDelegate::load_web_resource` and clean up internal messaging.
The main thing here is adding objects which manage the response to these
delegate methods. Now we have `WebResourceLoad` and
`InterceptedWebResourceLoad` which make it much harder to misuse the
API.
In addition, the internal messaging for this is cleaned up. Canceling
and finishing the load are unrelated to the HTTP body so they are no
longer subtypes of an HttpBodyData message. Processing of messages is
made a bit more efficient by collecting all body chunks in a vector and
only flattening the chunks at the end.
Finally, "interceptor" is a much more common spelling than "intercepter"
so I've gone ahead and made this change everywhere.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-02-21 14:36:42 +00:00
chickenleaf
f6e2e3d418
servoshell: Port Permission dialog code to use egui instead of tinyfiledialogs ( #35577 )
...
Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2025-02-21 14:28:55 +00:00
Josh Matthews
a433b20259
script: Make callbacks generic over DOM interfaces. ( #35459 )
...
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-02-21 12:17:11 +00:00
Xiaocheng Hu
2b0d2ecc73
Rebase and squash ( #35567 )
...
Signed-off-by: Xiaocheng Hu <xiaochengh.work@gmail.com>
2025-02-21 11:54:25 +00:00
Josh Matthews
1192ae32b0
script: Refer to DOM interfaces with generic types in generated bindings. ( #35457 )
...
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-02-21 11:10:00 +00:00
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