feat (desktop): upgrade from wry 37 to 41 (#2618)
This commit is contained in:
1 parent
b4934ab974
commit
69d7098d0e
6 files changed
+69
-53
No files matched your search
Generated
+54
-41
@@ -2999,6 +2999,12 @@ version = "0.15.7"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
|
checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "dpi"
|
||||||
|
version = "0.1.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "f25c0e292a7ca6d6498557ff1df68f32c99850012b6ea401cf8daf771f22ff53"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dtoa"
|
name = "dtoa"
|
||||||
version = "1.0.9"
|
version = "1.0.9"
|
||||||
@@ -10586,16 +10592,16 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "webview2-com"
|
name = "webview2-com"
|
||||||
version = "0.28.0"
|
version = "0.31.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e0ae9c7e420783826cf769d2c06ac9ba462f450eca5893bb8c6c6529a4e5dd33"
|
checksum = "6516cfa64c6b3212686080eeec378e662c2af54bb2a5b2a22749673f5cb2226f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"webview2-com-macros",
|
"webview2-com-macros",
|
||||||
"webview2-com-sys",
|
"webview2-com-sys",
|
||||||
"windows 0.52.0",
|
"windows 0.57.0",
|
||||||
"windows-core 0.52.0",
|
"windows-core 0.57.0",
|
||||||
"windows-implement 0.52.0",
|
"windows-implement 0.57.0",
|
||||||
"windows-interface 0.52.0",
|
"windows-interface 0.57.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -10611,13 +10617,13 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "webview2-com-sys"
|
name = "webview2-com-sys"
|
||||||
version = "0.28.0"
|
version = "0.31.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d6ad85fceee6c42fa3d61239eba5a11401bf38407a849ed5ea1b407df08cca72"
|
checksum = "c76d5b77320ff155660be1df3e6588bc85c75f1a9feef938cc4dc4dd60d1d7cf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"windows 0.52.0",
|
"windows 0.57.0",
|
||||||
"windows-core 0.52.0",
|
"windows-core 0.57.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -10685,18 +10691,6 @@ version = "0.4.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "windows"
|
|
||||||
version = "0.52.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
|
|
||||||
dependencies = [
|
|
||||||
"windows-core 0.52.0",
|
|
||||||
"windows-implement 0.52.0",
|
|
||||||
"windows-interface 0.52.0",
|
|
||||||
"windows-targets 0.52.5",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows"
|
name = "windows"
|
||||||
version = "0.54.0"
|
version = "0.54.0"
|
||||||
@@ -10709,6 +10703,16 @@ dependencies = [
|
|||||||
"windows-targets 0.52.5",
|
"windows-targets 0.52.5",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows"
|
||||||
|
version = "0.57.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "12342cb4d8e3b046f3d80effd474a7a02447231330ef77d71daa6fbc40681143"
|
||||||
|
dependencies = [
|
||||||
|
"windows-core 0.57.0",
|
||||||
|
"windows-targets 0.52.5",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-core"
|
name = "windows-core"
|
||||||
version = "0.52.0"
|
version = "0.52.0"
|
||||||
@@ -10729,14 +10733,15 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-implement"
|
name = "windows-core"
|
||||||
version = "0.52.0"
|
version = "0.57.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "12168c33176773b86799be25e2a2ba07c7aab9968b37541f1094dbd7a60c8946"
|
checksum = "d2ed2439a290666cd67ecce2b0ffaad89c2a56b976b736e6ece670297897832d"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"windows-implement 0.57.0",
|
||||||
"quote",
|
"windows-interface 0.57.0",
|
||||||
"syn 2.0.68",
|
"windows-result",
|
||||||
|
"windows-targets 0.52.5",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@@ -10751,10 +10756,10 @@ dependencies = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-interface"
|
name = "windows-implement"
|
||||||
version = "0.52.0"
|
version = "0.57.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "9d8dc32e0095a7eeccebd0e3f09e9509365ecb3fc6ac4d6f5f14a3f6392942d1"
|
checksum = "9107ddc059d5b6fbfbffdfa7a7fe3e22a226def0b2608f72e9d552763d3e1ad7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@@ -10772,6 +10777,17 @@ dependencies = [
|
|||||||
"syn 2.0.68",
|
"syn 2.0.68",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "windows-interface"
|
||||||
|
version = "0.57.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "29bee4b38ea3cde66011baa44dba677c432a78593e202392d1e9070cf2a7fca7"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn 2.0.68",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "windows-result"
|
name = "windows-result"
|
||||||
version = "0.1.2"
|
version = "0.1.2"
|
||||||
@@ -11035,26 +11051,25 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wry"
|
name = "wry"
|
||||||
version = "0.37.0"
|
version = "0.41.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "8b717040ba9771fd88eb428c6ea6b555f8e734ff8534f02c13e8f10d97f5935e"
|
checksum = "68b00c945786b02d7805d09a969fa36d0eee4e0bd4fb3ec2a79d2bf45a1b44cd"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.21.7",
|
"base64 0.22.1",
|
||||||
"block",
|
"block",
|
||||||
"cfg_aliases 0.1.1",
|
|
||||||
"cocoa",
|
"cocoa",
|
||||||
"core-graphics",
|
"core-graphics",
|
||||||
"crossbeam-channel",
|
"crossbeam-channel",
|
||||||
|
"dpi",
|
||||||
"dunce",
|
"dunce",
|
||||||
"gdkx11",
|
"gdkx11",
|
||||||
"gtk",
|
"gtk",
|
||||||
"html5ever",
|
"html5ever",
|
||||||
"http 0.2.12",
|
"http 1.1.0",
|
||||||
"javascriptcore-rs",
|
"javascriptcore-rs",
|
||||||
"jni",
|
"jni",
|
||||||
"kuchikiki",
|
"kuchikiki",
|
||||||
"libc",
|
"libc",
|
||||||
"log",
|
|
||||||
"ndk",
|
"ndk",
|
||||||
"ndk-context",
|
"ndk-context",
|
||||||
"ndk-sys",
|
"ndk-sys",
|
||||||
@@ -11063,8 +11078,6 @@ dependencies = [
|
|||||||
"once_cell",
|
"once_cell",
|
||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
"raw-window-handle 0.6.2",
|
"raw-window-handle 0.6.2",
|
||||||
"serde",
|
|
||||||
"serde_json",
|
|
||||||
"sha2",
|
"sha2",
|
||||||
"soup3",
|
"soup3",
|
||||||
"tao-macros",
|
"tao-macros",
|
||||||
@@ -11072,8 +11085,8 @@ dependencies = [
|
|||||||
"webkit2gtk",
|
"webkit2gtk",
|
||||||
"webkit2gtk-sys",
|
"webkit2gtk-sys",
|
||||||
"webview2-com",
|
"webview2-com",
|
||||||
"windows 0.52.0",
|
"windows 0.57.0",
|
||||||
"windows-implement 0.52.0",
|
"windows-core 0.57.0",
|
||||||
"windows-version",
|
"windows-version",
|
||||||
"x11-dl",
|
"x11-dl",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -25,10 +25,10 @@ serde = "1.0.136"
|
|||||||
serde_json = "1.0.79"
|
serde_json = "1.0.79"
|
||||||
thiserror = { workspace = true }
|
thiserror = { workspace = true }
|
||||||
tracing = { workspace = true }
|
tracing = { workspace = true }
|
||||||
wry = { version = "0.37.0", default-features = false, features = [
|
wry = { version = "0.41.0", default-features = false, features = [
|
||||||
"os-webview",
|
"os-webview",
|
||||||
"protocol",
|
"protocol",
|
||||||
"file-drop",
|
"drag-drop",
|
||||||
] }
|
] }
|
||||||
futures-channel = { workspace = true }
|
futures-channel = { workspace = true }
|
||||||
tokio = { workspace = true, features = [
|
tokio = { workspace = true, features = [
|
||||||
|
|||||||
@@ -300,8 +300,8 @@ impl App {
|
|||||||
if drag.files().is_some() {
|
if drag.files().is_some() {
|
||||||
let file_event = recent_file.current().unwrap();
|
let file_event = recent_file.current().unwrap();
|
||||||
let paths = match file_event {
|
let paths = match file_event {
|
||||||
wry::FileDropEvent::Hovered { paths, .. } => paths,
|
wry::DragDropEvent::Enter { paths, .. } => paths,
|
||||||
wry::FileDropEvent::Dropped { paths, .. } => paths,
|
wry::DragDropEvent::Drop { paths, .. } => paths,
|
||||||
_ => vec![],
|
_ => vec![],
|
||||||
};
|
};
|
||||||
Rc::new(PlatformEventData::new(Box::new(DesktopFileDragEvent {
|
Rc::new(PlatformEventData::new(Box::new(DesktopFileDragEvent {
|
||||||
|
|||||||
@@ -190,7 +190,9 @@ impl DesktopService {
|
|||||||
|
|
||||||
/// Set the zoom level of the webview
|
/// Set the zoom level of the webview
|
||||||
pub fn set_zoom_level(&self, level: f64) {
|
pub fn set_zoom_level(&self, level: f64) {
|
||||||
self.webview.zoom(level);
|
if let Err(e) = self.webview.zoom(level) {
|
||||||
|
tracing::warn!("Set webview zoom failed: {e}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// opens DevTool window
|
/// opens DevTool window
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ use std::{
|
|||||||
str::FromStr,
|
str::FromStr,
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
use wry::FileDropEvent;
|
use wry::DragDropEvent;
|
||||||
|
|
||||||
#[derive(Debug, Deserialize)]
|
#[derive(Debug, Deserialize)]
|
||||||
pub(crate) struct FileDialogRequest {
|
pub(crate) struct FileDialogRequest {
|
||||||
@@ -162,14 +162,14 @@ impl HasFormData for DesktopFileUploadForm {
|
|||||||
|
|
||||||
#[derive(Default, Clone)]
|
#[derive(Default, Clone)]
|
||||||
pub struct NativeFileHover {
|
pub struct NativeFileHover {
|
||||||
event: Rc<RefCell<Option<FileDropEvent>>>,
|
event: Rc<RefCell<Option<DragDropEvent>>>,
|
||||||
}
|
}
|
||||||
impl NativeFileHover {
|
impl NativeFileHover {
|
||||||
pub fn set(&self, event: FileDropEvent) {
|
pub fn set(&self, event: DragDropEvent) {
|
||||||
self.event.borrow_mut().replace(event);
|
self.event.borrow_mut().replace(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn current(&self) -> Option<FileDropEvent> {
|
pub fn current(&self) -> Option<DragDropEvent> {
|
||||||
self.event.borrow_mut().clone()
|
self.event.borrow_mut().clone()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,9 +106,10 @@ impl WebviewInstance {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
let ipc_handler = move |payload: String| {
|
let ipc_handler = move |payload: wry::http::Request<String>| {
|
||||||
// defer the event to the main thread
|
// defer the event to the main thread
|
||||||
if let Ok(msg) = serde_json::from_str(&payload) {
|
let body = payload.into_body();
|
||||||
|
if let Ok(msg) = serde_json::from_str(&body) {
|
||||||
_ = proxy_.send_event(UserWindowEvent::Ipc { id: window_id, msg });
|
_ = proxy_.send_event(UserWindowEvent::Ipc { id: window_id, msg });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -159,7 +160,7 @@ impl WebviewInstance {
|
|||||||
}) // prevent all navigations
|
}) // prevent all navigations
|
||||||
.with_asynchronous_custom_protocol(String::from("dioxus"), request_handler)
|
.with_asynchronous_custom_protocol(String::from("dioxus"), request_handler)
|
||||||
.with_web_context(&mut web_context)
|
.with_web_context(&mut web_context)
|
||||||
.with_file_drop_handler(file_drop_handler);
|
.with_drag_drop_handler(file_drop_handler);
|
||||||
|
|
||||||
if let Some(color) = cfg.background_color {
|
if let Some(color) = cfg.background_color {
|
||||||
webview = webview.with_background_color(color);
|
webview = webview.with_background_color(color);
|
||||||
|
|||||||
Reference in new issue
Block a user