WEFT_OS/crates/weft-servo-shell/Cargo.toml
Marco Allegretti 34359acf3f feat(servo-embed): wire Servo deps and share Wayland surface with shell client
- Add servo/winit/softbuffer as optional deps in weft-servo-shell and
  weft-app-shell Cargo.toml, gated on servo-embed feature
- Replace ShellClient::connect() and connect_as_app() with
  connect_with_display() and connect_as_app_with_display(), using
  Backend::from_foreign_display to share the winit wl_display connection
- Move ShellClient construction into resumed() in both embedders after
  winit window and wl_surface are available
- Pass actual wl_surface to create_window instead of None
- Fix pre-existing field name bug: wayland-scanner generates _type for
  the reserved keyword arg name=type, not r#type
2026-03-12 15:16:17 +01:00

41 lines
987 B
TOML

[package]
name = "weft-servo-shell"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
[[bin]]
name = "weft-servo-shell"
path = "src/main.rs"
[features]
# Enable actual Servo rendering. Deps are declared as optional below and only
# fetched when this feature is active. The Servo monorepo (~1 GB) is not
# downloaded during a plain `cargo check` or `cargo build` without this feature.
servo-embed = ["dep:servo", "dep:winit", "dep:softbuffer"]
[dependencies]
anyhow = "1.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
wayland-client = "0.31"
wayland-backend = "0.3"
wayland-scanner = "0.31"
bitflags = "2"
serde_json = "1"
tungstenite = "0.24"
[dependencies.servo]
git = "https://github.com/marcoallegretti/servo"
branch = "servo-weft"
optional = true
default-features = false
[dependencies.winit]
version = "0.30"
optional = true
features = ["wayland"]
[dependencies.softbuffer]
version = "0.4"
optional = true