Vine/Server/Notification/WebviewPostMessage.rs
1//! Cocoon `webview.postMessage` notification - extension called
2//! `WebviewPanel.webview.postMessage(...)`. Stock VS Code delivers
3//! this as a DOM `message` event inside the webview iframe; Land emits
4//! on `sky://webview/postMessage` and lets the Sky bridge relay into
5//! the specific webview DOM container keyed on `{ handle, message }`.
6
7use serde_json::Value;
8
9use crate::{Host::VineHost, dev_log};
10
11pub async fn WebviewPostMessage(Host:&dyn VineHost, Parameter:&Value) {
12 Host.EmitToRenderer("sky://webview/postMessage", Parameter.clone());
13
14 dev_log!(
15 "grpc",
16 "[Webview] postMessage handle={}",
17 Parameter.get("handle").and_then(Value::as_str).unwrap_or("?")
18 );
19}