feat (desktop): upgrade from wry 37 to 41 (#2618)

This commit is contained in:
Andrew Scott authored and GitHub committed 2024-07-10 12:50:04 -07:00
1 parent b4934ab974
commit 69d7098d0e
6 files changed
+69 -53

No files matched your search

Generated
+54 -41
View File
@@ -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",
] ]
+2 -2
View File
@@ -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 = [
+2 -2
View File
@@ -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 {
+3 -1
View File
@@ -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
+4 -4
View File
@@ -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()
} }
} }
+4 -3
View File
@@ -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);