diff --git a/Cargo.lock b/Cargo.lock index 56e432a7602..d6f23d29350 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4695,7 +4695,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -10467,7 +10467,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] @@ -10919,7 +10919,7 @@ dependencies = [ [[package]] name = "wry" version = "0.45.0" -source = "git+https://github.com/tauri-apps/wry?branch=refactor/protocol-webview-id#bfb90569121639aa93133b8db55b985a1cb28cb1" +source = "git+https://github.com/tauri-apps/wry?branch=refactor/protocol-webview-id#eb3df38d1a5ff22e371a1a21996d92ca117c84ef" dependencies = [ "base64 0.22.1", "block", diff --git a/crates/tauri-runtime-wry/src/lib.rs b/crates/tauri-runtime-wry/src/lib.rs index 52fdde882e4..b56849a453c 100644 --- a/crates/tauri-runtime-wry/src/lib.rs +++ b/crates/tauri-runtime-wry/src/lib.rs @@ -4194,7 +4194,7 @@ fn create_webview( scheme, move |webview_id, request, responder| { protocol( - webview_id.as_deref(), + webview_id, request, Box::new(move |response| responder.respond(response)), ) diff --git a/crates/tauri-runtime/src/webview.rs b/crates/tauri-runtime/src/webview.rs index 13415b01878..4c4c83e3ea8 100644 --- a/crates/tauri-runtime/src/webview.rs +++ b/crates/tauri-runtime/src/webview.rs @@ -18,11 +18,8 @@ use std::{ sync::Arc, }; -type UriSchemeProtocol = dyn Fn( - Option<&str>, - http::Request>, - Box>) + Send>, - ) + Send +type UriSchemeProtocol = dyn Fn(&str, http::Request>, Box>) + Send>) + + Send + Sync + 'static; @@ -132,11 +129,8 @@ impl> PendingWebview { pub fn register_uri_scheme_protocol< N: Into, - H: Fn( - Option<&str>, - http::Request>, - Box>) + Send>, - ) + Send + H: Fn(&str, http::Request>, Box>) + Send>) + + Send + Sync + 'static, >( diff --git a/crates/tauri/src/manager/webview.rs b/crates/tauri/src/manager/webview.rs index 5e6618c1888..87d252404a1 100644 --- a/crates/tauri/src/manager/webview.rs +++ b/crates/tauri/src/manager/webview.rs @@ -212,14 +212,13 @@ impl WebviewManager { registered_scheme_protocols.push(uri_scheme.clone()); let protocol = protocol.clone(); let app_handle = manager.app_handle().clone(); - let webview_label = label.to_string(); pending.register_uri_scheme_protocol( uri_scheme.clone(), move |webview_id, request, responder| { let context = UriSchemeContext { app_handle: &app_handle, - webview_label: webview_id.unwrap_or(&webview_label), + webview_label: webview_id, }; (protocol.protocol)(context, request, UriSchemeResponder(responder)) }, @@ -256,24 +255,15 @@ impl WebviewManager { web_resource_request_handler, ); pending.register_uri_scheme_protocol("tauri", move |webview_id, request, responder| { - protocol( - webview_id.unwrap_or_default(), - request, - UriSchemeResponder(responder), - ) + protocol(webview_id, request, UriSchemeResponder(responder)) }); registered_scheme_protocols.push("tauri".into()); } if !registered_scheme_protocols.contains(&"ipc".into()) { let protocol = crate::ipc::protocol::get(manager.manager_owned()); - let webview_label = pending.label.clone(); pending.register_uri_scheme_protocol("ipc", move |webview_id, request, responder| { - protocol( - webview_id.unwrap_or(&webview_label), - request, - UriSchemeResponder(responder), - ) + protocol(webview_id, request, UriSchemeResponder(responder)) }); registered_scheme_protocols.push("ipc".into()); } @@ -312,11 +302,7 @@ impl WebviewManager { .clone(); let protocol = crate::protocol::asset::get(asset_scope.clone(), window_origin.clone()); pending.register_uri_scheme_protocol("asset", move |webview_id, request, responder| { - protocol( - webview_id.unwrap_or_default(), - request, - UriSchemeResponder(responder), - ) + protocol(webview_id, request, UriSchemeResponder(responder)) }); } @@ -336,11 +322,7 @@ impl WebviewManager { window_origin, ); pending.register_uri_scheme_protocol(schema, move |webview_id, request, responder| { - protocol( - webview_id.unwrap_or_default(), - request, - UriSchemeResponder(responder), - ) + protocol(webview_id, request, UriSchemeResponder(responder)) }); }