zed/crates/gpui_web/Cargo.toml
Gaauwe Rombouts d70c45e5bb
gpui: Support image paste and async clipboard reads on web (#62871)
Deliver the DOM paste event as a full ClipboardItem (text and image
files) through a new InputHandler::paste hook instead of inserting only
plain text, and add Platform::read_from_clipboard_async so app-initiated
paste (e.g. a custom context menu) can use the browser's asynchronous,
permission-gated clipboard API. Desktop platforms are unaffected: the
async read defaults to a ready task wrapping the synchronous read, and
the paste hook defaults to plain-text insertion.

Release Notes:
- N/A
2026-08-19 11:56:03 +00:00

88 lines
2.1 KiB
TOML

[package]
name = "gpui_web"
version = "0.1.0"
publish.workspace = true
edition.workspace = true
license = "Apache-2.0"
autoexamples = false
[lints]
workspace = true
[features]
default = ["multithreaded"]
multithreaded = ["dep:wasm_thread", "scheduler/wasm-threads"]
[lib]
path = "src/gpui_web.rs"
[target.'cfg(target_family = "wasm")'.dependencies]
gpui.workspace = true
scheduler.workspace = true
parking_lot = { workspace = true, features = ["nightly"] }
gpui_wgpu.workspace = true
http_client.workspace = true
anyhow.workspace = true
futures.workspace = true
log.workspace = true
uuid.workspace = true
wasm-bindgen.workspace = true
wasm-bindgen-futures.workspace = true
web-time.workspace = true
console_error_panic_hook.workspace = true
js-sys.workspace = true
raw-window-handle.workspace = true
# Forked because upstream is unmaintained and its worker bootstrap still calls
# the wasm-bindgen init function with the positional arguments deprecated in 0.2.93.
wasm_thread = { git = "https://github.com/zed-industries/wasm_thread", rev = "0cf96c7708dfb97ccf3da50347e25edcf75d6937", version = "0.3", features = [
"es_modules",
], optional = true }
web-sys = { version = "0.3", features = [
"console",
"Blob",
"Clipboard",
"ClipboardEvent",
"ClipboardItem",
"CompositionEvent",
"CssStyleDeclaration",
"DataTransfer",
"DataTransferItem",
"DataTransferItemList",
"Document",
"DomRect",
"DragEvent",
"Element",
"EventTarget",
"File",
"HtmlCanvasElement",
"HtmlElement",
"HtmlInputElement",
"IdleDeadline",
"IdleRequestOptions",
"KeyboardEvent",
"Location",
"MediaQueryList",
"MediaQueryListEvent",
"MouseEvent",
"Navigator",
"PointerEvent",
"ReadableStream",
"ReadableStreamDefaultReader",
"ReadableStreamReadResult",
"ResizeObserver",
"ResizeObserverBoxOptions",
"ResizeObserverEntry",
"ResizeObserverSize",
"ResizeObserverOptions",
"Screen",
"Storage",
"VisualViewport",
"Headers",
"Request",
"RequestCredentials",
"RequestInit",
"RequestRedirect",
"Response",
"WheelEvent",
"Window",
] }