Commit graph

160 commits

Author SHA1 Message Date
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
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
1d606bb85c
Make WebBluetooth an optional feature. (#35479)
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-02-18 04:13:43 +00:00
Martin Robinson
19e41ab9f9
libservo: Add a ClipboardDelegate and a default implementation (#35297)
Add a `ClipboardDelegate` to the `WebView` API and a default
implementation in libservo for this delegate that works on Mac, Windows,
and Linux. Support for Android will be added in the future. This means
that embedders do not need to do anything special to get clipboard
support, but can choose to override it or implement it for other
platforms.

In addition, this adds support for handling fetches of clipboard contents
and renames things to reflect that eventually other types of clipboard
content will be supported. Part of this is removing the string
argument from the `ClipboardEventType::Paste` enum because script will
need to get other types of content from the clipboard than just a
string. It now talks to the embedder to get this information directly.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-02-07 10:43:46 +00:00
Mukilan Thiyagarajan
2ef12cf40f
servoshell: upgrade egui and related depenencies (#35353)
Also fix build errors resulting from the use of the type
`egui::Rounding` which is now renamed to `egui::CornerRadius`.

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-02-07 06:09:08 +00:00
dependabot[bot]
b9a91c05b0
build(deps): bump winit from 0.30.8 to 0.30.9 (#35332)
Bumps [winit](https://github.com/rust-windowing/winit) from 0.30.8 to 0.30.9.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-windowing/winit/compare/v0.30.8...v0.30.9)

---
updated-dependencies:
- dependency-name: winit
  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-06 17:16:15 +00:00
chickenleaf
62f1dbebff
servoshell: Migrate to egui-file-dialog from tinyfiledialogs (#34823)
This is the first step toward completely replacing tinyfiledialogs with
an egui-based solution.

Signed-off-by: L Ashwin B <lashwinib@gmail.com>
2025-02-04 18:24:24 +00:00
Josh Matthews
cdd6660113
libservo: Make background hang monitor integration optional. (#35256)
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-02-01 20:15:39 +00:00
Martin Robinson
5466c27f6f
Finish the integration of webxr into the Cargo workspace (#35229)
- Run `cargo fmt` on `webxr` and `webxr-api`
- Fix clippy warnings in the existing `webxr` code
- Integrate the new crates into the workspace
- Expose `webxr` via the libservo API rather than requiring embedders to
  depend on it explicitly.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-01-31 16:41:57 +00:00
Jonathan Schwender
764feada30
Use aws-lc-rs as rust-tls provider (#35106)
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-01-30 19:10:49 +00:00
dependabot[bot]
6de0331d7c
build(deps): bump xcomponent-sys from 0.3.0 to 0.3.1 (#35217)
Bumps [xcomponent-sys](https://github.com/openharmony-rs/ohos-sys) from 0.3.0 to 0.3.1.
- [Changelog](https://github.com/openharmony-rs/ohos-sys/blob/main/CHANGELOG.md)
- [Commits](https://github.com/openharmony-rs/ohos-sys/commits)

---
updated-dependencies:
- dependency-name: xcomponent-sys
  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-01-29 19:50:11 +00:00
dependabot[bot]
023636beeb
build(deps): bump ohos-ime-sys from 0.1.3 to 0.1.4 (#35213)
Bumps [ohos-ime-sys](https://github.com/openharmony-rs/ohos-sys) from 0.1.3 to 0.1.4.
- [Changelog](https://github.com/openharmony-rs/ohos-sys/blob/main/CHANGELOG.md)
- [Commits](https://github.com/openharmony-rs/ohos-sys/commits)

---
updated-dependencies:
- dependency-name: ohos-ime-sys
  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-01-29 17:42:50 +00:00
Jonathan Schwender
53fcc98585
ohos: Support resizing the surface (#35158)
A window resize requires to also resize the webview,
otherwise it will stay at the original size.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-01-29 15:45:17 +00:00
Josh Matthews
875e387004
script: Feature-gate all crown support. (#35055)
* script: Feature-gate all crown support.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* script: Use cfg(crown) instead of a cargo feature.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-01-18 21:36:15 +00:00
Martin Robinson
0e616e0c5d
api: Flatten and simplify Servo preferences (#34966)
Flatten and simplify Servo's preferences code. In addition, have both
preferences and options passed in as arguments to `Servo::new()` and
make sure not to use the globally set preferences in `servoshell` (as
much as possible now).

Instead of a complex procedural macro to generate preferences, just
expose a very simple derive macro that adds string based getters and
setters.

- All command-line parsing is moved to servoshell.
- There is no longer the concept of a missing preference.
- Preferences no longer have to be part of the resources bundle because
  they now have reasonable default values.
- servoshell specific preferences are no longer part of the preferences
  exposed by the Servo API.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-01-14 13:54:06 +00:00
dependabot[bot]
068650bb62
build(deps): bump vergen-git2 from 1.0.3 to 1.0.5 (#34972)
Bumps [vergen-git2](https://github.com/rustyhorde/vergen) from 1.0.3 to 1.0.5.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/commits)

---
updated-dependencies:
- dependency-name: vergen-git2
  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-01-13 16:59:46 +00:00
dependabot[bot]
8621e9d17a
build(deps): bump ohos-ime-sys from 0.1.2 to 0.1.3 (#34974)
Bumps [ohos-ime-sys](https://github.com/openharmony-rs/ohos-sys) from 0.1.2 to 0.1.3.
- [Changelog](https://github.com/openharmony-rs/ohos-sys/blob/main/CHANGELOG.md)
- [Commits](https://github.com/openharmony-rs/ohos-sys/commits)

---
updated-dependencies:
- dependency-name: ohos-ime-sys
  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-01-13 16:59:34 +00:00
dependabot[bot]
5fbc6b4a19
build(deps): bump the napi-ohos-related group with 4 updates (#34971)
Bumps the napi-ohos-related group with 4 updates: [napi-derive-ohos](https://github.com/ohos-rs/ohos-rs), [napi-ohos](https://github.com/ohos-rs/ohos-rs), [napi-derive-backend-ohos](https://github.com/ohos-rs/ohos-rs) and [napi-sys-ohos](https://github.com/ohos-rs/ohos-rs).


Updates `napi-derive-ohos` from 1.0.3 to 1.0.4
- [Release notes](https://github.com/ohos-rs/ohos-rs/releases)
- [Commits](https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.3...ohrs@1.0.4)

Updates `napi-ohos` from 1.0.3 to 1.0.4
- [Release notes](https://github.com/ohos-rs/ohos-rs/releases)
- [Commits](https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.3...ohrs@1.0.4)

Updates `napi-derive-backend-ohos` from 1.0.3 to 1.0.4
- [Release notes](https://github.com/ohos-rs/ohos-rs/releases)
- [Commits](https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.3...ohrs@1.0.4)

Updates `napi-sys-ohos` from 1.0.3 to 1.0.4
- [Release notes](https://github.com/ohos-rs/ohos-rs/releases)
- [Commits](https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.3...ohrs@1.0.4)

---
updated-dependencies:
- dependency-name: napi-derive-ohos
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: napi-ohos-related
- dependency-name: napi-ohos
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: napi-ohos-related
- dependency-name: napi-derive-backend-ohos
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: napi-ohos-related
- dependency-name: napi-sys-ohos
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: napi-ohos-related
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-13 16:56:35 +00:00
dependabot[bot]
754ec455bc
build(deps): bump ohos-vsync from 0.1.2 to 0.1.3 (#34943)
Bumps [ohos-vsync](https://github.com/openharmony-rs/ohos-vsync) from 0.1.2 to 0.1.3.
- [Changelog](https://github.com/openharmony-rs/ohos-vsync/blob/main/Changelog.md)
- [Commits](https://github.com/openharmony-rs/ohos-vsync/commits)

---
updated-dependencies:
- dependency-name: ohos-vsync
  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-01-10 21:02:39 +00:00
dependabot[bot]
66db4456c9
build(deps): bump vergen-git2 from 1.0.2 to 1.0.3 (#34945)
Bumps [vergen-git2](https://github.com/rustyhorde/vergen) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/vergen_gix_1.0.2...vergen_gix_1.0.3)

---
updated-dependencies:
- dependency-name: vergen-git2
  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-01-10 17:48:04 +00:00
dependabot[bot]
a05939251a
build(deps): bump xcomponent-sys from 0.2.0 to 0.3.0 (#34936)
Bumps [xcomponent-sys](https://github.com/openharmony-rs/ohos-sys) from 0.2.0 to 0.3.0.
- [Changelog](https://github.com/openharmony-rs/ohos-sys/blob/main/CHANGELOG.md)
- [Commits](https://github.com/openharmony-rs/ohos-sys/commits/v0.3.0)

---
updated-dependencies:
- dependency-name: xcomponent-sys
  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-01-10 17:27:27 +00:00
Jonathan Schwender
a94c0c04a6
Update xcomponent-sys to 0.2.0 (#34898)
Use xcomponent exclusively via `xcomponent_sys` instead of
using some of the APIs from ohos-sys.
ohos-sys simply re-exports xcomponent-sys,
so using both makes updating either difficult.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-01-08 17:11:15 +00:00
Josh Matthews
76e0a1872b
Update all network-related dependencies to the latest versions (#34630)
* Update all network-related dependencies to the latest versions:
* rustls
* hyper
* http
* headers
* tungstenite
* async-tungstenite

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* net: Fix panics with 1xx responses in WPT tests.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* net: Use reported response length when calculating available ranges.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* net: Remove unreachable match arm.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* net: Clean up commented fragments in blob and file handlers.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* net: Remove unreachable match arm.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* net: Fix clippy warning.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* net: Cleanup.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* net: Fix up unit tests for dependency upgrades.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Update aws-lc-sys to fix Windows builds.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* net: Use ring instead of aws-lc-sys.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* embedding: Require embedder to initialize a rustls CryptoProvider.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

* Disable aws-lc-rs pending OhOS build fixes.

Signed-off-by: Josh Matthews <josh@joshmatthews.net>

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-01-08 05:47:58 +00:00
dependabot[bot]
d4f877cfb0
build(deps): bump ohos-ime-sys from 0.1.1 to 0.1.2 (#34852)
Bumps [ohos-ime-sys](https://github.com/openharmony-rs/ohos-sys) from 0.1.1 to 0.1.2.
- [Changelog](https://github.com/openharmony-rs/ohos-sys/blob/main/CHANGELOG.md)
- [Commits](https://github.com/openharmony-rs/ohos-sys/commits)

---
updated-dependencies:
- dependency-name: ohos-ime-sys
  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-01-06 17:24:56 +00:00
dependabot[bot]
8408c94be1
build(deps): bump winit from 0.30.7 to 0.30.8 (#34854)
Bumps [winit](https://github.com/rust-windowing/winit) from 0.30.7 to 0.30.8.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-windowing/winit/compare/v0.30.7...v0.30.8)

---
updated-dependencies:
- dependency-name: winit
  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-01-06 17:22:53 +00:00
dependabot[bot]
377c150724
build(deps): bump winit from 0.30.5 to 0.30.7 (#34753)
Bumps [winit](https://github.com/rust-windowing/winit) from 0.30.5 to 0.30.7.
- [Release notes](https://github.com/rust-windowing/winit/releases)
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-windowing/winit/compare/v0.30.5...v0.30.7)

---
updated-dependencies:
- dependency-name: winit
  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>
2024-12-24 00:26:19 +00:00
dependabot[bot]
8a522cf86b
build(deps): bump env_filter from 0.1.2 to 0.1.3 (#34722)
Bumps [env_filter](https://github.com/rust-cli/env_logger) from 0.1.2 to 0.1.3.
- [Release notes](https://github.com/rust-cli/env_logger/releases)
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-cli/env_logger/compare/env_filter-v0.1.2...env_filter-v0.1.3)

---
updated-dependencies:
- dependency-name: env_filter
  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>
2024-12-20 17:25:42 +00:00
Jonathan Schwender
0dd8798148
servoshell: Remove duplicate egl bindings on android/ohos (#34716)
- The default value for SwapInterval is 1,
  so setting it to 1 changes nothing
- We don't clear the screen immediately anymore, which was the only
  useage of the egl bindings

this saves us from duplicated EGL bindings.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-12-20 15:08:09 +00:00
dependabot[bot]
9c59802a27
build(deps): bump the egui-related group with 6 updates (#34647)
* build(deps): bump the egui-related group with 6 updates

Bumps the egui-related group with 6 updates:

| Package | From | To |
| --- | --- | --- |
| [egui](https://github.com/emilk/egui) | `0.29.1` | `0.30.0` |
| [egui_glow](https://github.com/emilk/egui) | `0.29.1` | `0.30.0` |
| [egui-winit](https://github.com/emilk/egui) | `0.29.1` | `0.30.0` |
| [ecolor](https://github.com/emilk/egui) | `0.29.1` | `0.30.0` |
| [emath](https://github.com/emilk/egui) | `0.29.1` | `0.30.0` |
| [epaint](https://github.com/emilk/egui) | `0.29.1` | `0.30.0` |


Updates `egui` from 0.29.1 to 0.30.0
- [Release notes](https://github.com/emilk/egui/releases)
- [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/emilk/egui/commits)

Updates `egui_glow` from 0.29.1 to 0.30.0
- [Release notes](https://github.com/emilk/egui/releases)
- [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/emilk/egui/commits)

Updates `egui-winit` from 0.29.1 to 0.30.0
- [Release notes](https://github.com/emilk/egui/releases)
- [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/emilk/egui/commits)

Updates `ecolor` from 0.29.1 to 0.30.0
- [Release notes](https://github.com/emilk/egui/releases)
- [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/emilk/egui/commits)

Updates `emath` from 0.29.1 to 0.30.0
- [Release notes](https://github.com/emilk/egui/releases)
- [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/emilk/egui/commits)

Updates `epaint` from 0.29.1 to 0.30.0
- [Release notes](https://github.com/emilk/egui/releases)
- [Changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md)
- [Commits](https://github.com/emilk/egui/commits)

---
updated-dependencies:
- dependency-name: egui
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: egui-related
- dependency-name: egui_glow
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: egui-related
- dependency-name: egui-winit
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: egui-related
- dependency-name: ecolor
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: egui-related
- dependency-name: emath
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: egui-related
- dependency-name: epaint
  dependency-type: indirect
  update-type: version-update:semver-minor
  dependency-group: egui-related
...

Signed-off-by: dependabot[bot] <support@github.com>

* bump glow in servoshell to mach egui_glow

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

* remove glow from deny.toml

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-17 12:56:09 +00:00
Jonathan Schwender
68a27946bf
Add prefs to limit threadpool sizes (#34478)
* Add prefs to limit threadpool sizes

Add preferences to control the size of threadpools,
so that we can easily reduce the amount of runtime
threads and test which pools benefit from more
threads.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* Add pref for Webrender threadpool

Add a preference to limit the size of the webrender threadpool.
Note: WebRender by default calls hooks which register the threads with
a profiler instance that the embedder can register with webrender.
Servo currently doesn't register such a profiler with webrender,
but in the future we might also want to profile the
webrender threadpool.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-12-07 05:25:17 +00:00
atbrakhi
1591a3b506
Add webgpu feature flag (#34444)
* Move script gpu files into webgpu folder

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

* Modify gpu webidls

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

* move gpu realted webidl

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

* add webgpu feature to script

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

* add dummy implementation for gpucanvascontext

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

* fmt

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

* add skip-if CARGO_FEATURE_WEBGPU

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

* Move NavigatorGPU and workerNavigator GPU to webgpu idl

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

* fmt and cleanup

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

* review fix

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

* enable webgpu by default and also some fmt fix

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

* Add pref back, fix imports, small cleanups

Signed-off-by: atbrakhi <atbrakhi@igalia.com>

---------

Signed-off-by: atbrakhi <atbrakhi@igalia.com>
2024-12-05 16:07:27 +00:00
dependabot[bot]
f9eb32a515
build(deps): bump vergen-git2 from 1.0.1 to 1.0.2 (#34400)
Bumps [vergen-git2](https://github.com/rustyhorde/vergen) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/rustyhorde/vergen/releases)
- [Commits](https://github.com/rustyhorde/vergen/compare/vergen_gix_1.0.1...vergen_gix_1.0.2)

---
updated-dependencies:
- dependency-name: vergen-git2
  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>
2024-11-28 06:18:12 +00:00
Jonathan Schwender
810a91ecac
Remove some unused dependencies (#34355)
* Remove unused deps

This doesn't seem to remove any deps from the workspace.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* ohos: Remove gaol dependency

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-11-25 10:29:58 +00:00
Jonathan Schwender
a6db3cb702
Disable layout-2013 feature by default (#34290)
Most of the time layout-2013 is not needed and just
wastes build time. Disable the optional feature by
default and require users to specify the feature
at compile time if they wish to use the legacy layout.

In CI we enable the feature by default for Linux, since
that we need it for wpt tests with the legacy layout
and CI should ensure that the legacy code continues
to compile.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-11-21 12:24:57 +00:00
dependabot[bot]
2bc5469efe
build(deps): bump the napi-ohos-related group with 4 updates (#34309)
Bumps the napi-ohos-related group with 4 updates: [napi-derive-ohos](https://github.com/ohos-rs/ohos-rs), [napi-ohos](https://github.com/ohos-rs/ohos-rs), [napi-derive-backend-ohos](https://github.com/ohos-rs/ohos-rs) and [napi-sys-ohos](https://github.com/ohos-rs/ohos-rs).


Updates `napi-derive-ohos` from 1.0.2 to 1.0.3
- [Release notes](https://github.com/ohos-rs/ohos-rs/releases)
- [Commits](https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.2...ohrs@1.0.3)

Updates `napi-ohos` from 1.0.2 to 1.0.3
- [Release notes](https://github.com/ohos-rs/ohos-rs/releases)
- [Commits](https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.2...ohrs@1.0.3)

Updates `napi-derive-backend-ohos` from 1.0.2 to 1.0.3
- [Release notes](https://github.com/ohos-rs/ohos-rs/releases)
- [Commits](https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.2...ohrs@1.0.3)

Updates `napi-sys-ohos` from 1.0.2 to 1.0.3
- [Release notes](https://github.com/ohos-rs/ohos-rs/releases)
- [Commits](https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.2...ohrs@1.0.3)

---
updated-dependencies:
- dependency-name: napi-derive-ohos
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: napi-ohos-related
- dependency-name: napi-ohos
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: napi-ohos-related
- dependency-name: napi-derive-backend-ohos
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: napi-ohos-related
- dependency-name: napi-sys-ohos
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: napi-ohos-related
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-20 18:19:24 +00:00
Jonathan Schwender
0a849adfa1
Update vergen to v9 (#34283)
Vergen v9 was split into multiple different crates.
See https://github.com/rustyhorde/vergen/blob/master/MIGRATING_v8_to_v9.md
Since we used the git2 backend, we migrate to vergen-git2.
We only use `VERGEN_GIT_SHA`, so no need to enable any
of the other possible instructions.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-11-19 06:47:15 +00:00
Jonathan Schwender
09684a3501
Fix various clippy warnings on OpenHarmony (#34281)
* ohos: Fix more clippy warnings

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* Remove unnecessary `macro_use`

We can use `use` instead. Removes a warning about
unused macro_use on OpenHarmony.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

---------

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-11-19 05:21:48 +00:00
Jonathan Schwender
538ac61a82
ohos: Add basic IME and keyboard support (#34188)
* ohos: Add basic IME and keyboard support

- Add extremely basic support for keyboard events
- Add basic IME support
   - Showing and hiding the IME
   - inserting text
   - deleting characters
   - very basic configuration of the IME

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* Apply suggestions from code review

Improve the log message

Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>

* Update ports/servoshell/egl/ohos.rs

Co-authored-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>

* ohos: Bump the minimum required SDK version to 5.0

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* ohos: Remove pub from callbacks

The callbacks don't need to be public, as we will be registering them.

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* Rename composition event

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* ohos: clippy in log

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* ohos: address some clippy warnings

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* ohos: Raise Error in mach if unsupported SDK version is used.

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

* Add keyboard-types dependency for android

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>

---------

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
Signed-off-by: Jonathan Schwender <55576758+jschwe@users.noreply.github.com>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
Co-authored-by: Mukilan Thiyagarajan <mukilanthiagarajan@gmail.com>
2024-11-15 15:04:48 +00:00
Jonathan Schwender
6b6697e97b
servoshell: Fix --no-default-features and make webxr optional on ohos/android (#34242)
* servoshell: fix --no-default-features

The Embeddertraits only contain `register_webxr` if the
webxr feature is enabled, hence we also need to guard
the trait implementation.

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

* ohos/android: Make webxr optional in servoshell

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2024-11-13 20:02:30 +00:00
Ngo Iok Ui (Wu Yu Wei)
47a243614f
feat: webxr feature flag (#34241)
* Add webxr feature flag

Add webxr feature flag to embedder_traits

Add webxr flag to constellation

Add webxr flag to compositor

Add webxr flag to canvas

Turn registry into optional

Add webxr flag to servo lib

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>
Co-authored-by: august kline <me@augustkline.com>

* Cargo fmt

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>

* Add missing license

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>

* Cargo clippy

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>

---------

Signed-off-by: Wu Yu Wei <yuweiwu@pm.me>
Co-authored-by: august kline <me@augustkline.com>
2024-11-13 17:16:58 +00:00
Delan Azabani
c00804190c
Allow filtering of tracing events via SERVO_TRACING (#34236)
* Allow filtering of tracing events via SERVO_TRACING

Signed-off-by: Delan Azabani <dazabani@igalia.com>

* Assume SERVO_TRACING=off by default

Signed-off-by: Delan Azabani <dazabani@igalia.com>

---------

Signed-off-by: Delan Azabani <dazabani@igalia.com>
2024-11-13 09:52:26 +00:00
dependabot[bot]
81c1f961e9
build(deps): bump cc from 1.1.37 to 1.2.0 (#34234)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.1.37 to 1.2.0.
- [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.1.37...cc-v1.2.0)

---
updated-dependencies:
- dependency-name: cc
  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>
2024-11-12 17:47:30 +00:00
Jonathan Schwender
dcb9058fe3
ohos: Bump napi-ohos (#34160)
Update napi-ohos and migrate away from deprecated `JsFunction`
and use the new `Function` and `build_threadsafe_function()`
methods.

Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
2024-11-10 03:34:07 +00:00
Jonathan Schwender
0231571ecf
ohos: Bump ohos-vsync and ohos-sys (#34155)
Signed-off-by: Jonathan Schwender <jonathan.schwender@huawei.com>
2024-11-05 16:51:06 +00:00
dependabot[bot]
a501572971
build(deps): bump hilog from 0.1.0 to 0.1.1 (#34045)
Bumps hilog from 0.1.0 to 0.1.1.

---
updated-dependencies:
- dependency-name: hilog
  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>
2024-10-28 20:22:17 +00:00
dependabot[bot]
5244b0212e
build(deps): bump napi-derive-ohos from 1.0.0 to 1.0.1 (#34044)
Bumps [napi-derive-ohos](https://github.com/ohos-rs/ohos-rs) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/ohos-rs/ohos-rs/releases)
- [Commits](https://github.com/ohos-rs/ohos-rs/compare/ohrs@1.0.0...ohrs@1.0.1)

---
updated-dependencies:
- dependency-name: napi-derive-ohos
  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>
2024-10-28 17:18:32 +00:00
Simon Wülker
e33bae6d0a
Use ROUTER::add_typed_route instead of ROUTER::add_route everywhere (#33866)
* Use ROUTER::add_typed_route where possible

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

* Update webxr, media and ipc-channel

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

---------

Signed-off-by: Simon Wülker <simon.wuelker@arcor.de>
2024-10-18 10:47:52 +00:00
dependabot[bot]
133c763e65
build(deps): bump napi-derive-ohos from 0.0.9 to 1.0.0 (#33869)
Bumps [napi-derive-ohos](https://github.com/ohos-rs/ohos-rs) from 0.0.9 to 1.0.0.
- [Release notes](https://github.com/ohos-rs/ohos-rs/releases)
- [Commits](https://github.com/ohos-rs/ohos-rs/compare/napi-ohos@0.0.9...ohrs@1.0.0)

---
updated-dependencies:
- dependency-name: napi-derive-ohos
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-16 17:32:49 +00:00
Delan Azabani
fa1f7e5839
Gate all use of tracing behind Cargo feature (#33845)
Signed-off-by: Delan Azabani <dazabani@igalia.com>
2024-10-16 10:24:24 +00:00
dependabot[bot]
1167c8245a
build(deps): bump glow from 0.14.1 to 0.14.2 (#33810)
Bumps [glow](https://github.com/grovesNL/glow) from 0.14.1 to 0.14.2.
- [Commits](https://github.com/grovesNL/glow/commits)

---
updated-dependencies:
- dependency-name: glow
  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>
2024-10-11 17:36:09 +00:00