diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 7310f69..3b7a61f 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -63,33 +63,31 @@ pub fn run() { }; let app_handle = app.handle().clone(); - WebviewWindowBuilder::new(app, "main".to_string(), window_url) + let builder = WebviewWindowBuilder::new(app, "main".to_string(), window_url) .title("Cinny") .disable_drag_drop_handler() .on_new_window(move |url, _features| { let _ = app_handle.opener().open_url(url.as_str(), None::<&str>); NewWindowResponse::Deny - }) - .with_webview(|webview| { - #[cfg(target_os = "windows")] - { - use webview2_com::Microsoft::Web::WebView2::Win32::ICoreWebView2PermissionRequestedEventHandler; - use windows::core::EventRegistrationToken; - use win_permissions::PermissionHandler; + }); - let controller = webview.controller(); - if let Ok(core) = unsafe { controller.CoreWebView2() } { - let handler: ICoreWebView2PermissionRequestedEventHandler = - PermissionHandler.into(); - // Register the handler; token is unused since we never unregister. - // If this fails to compile, try: unsafe { core.add_PermissionRequested(&handler) } - let mut token = EventRegistrationToken(0); - let _ = unsafe { core.add_PermissionRequested(&handler, &mut token) }; - std::mem::forget(handler); - } - } - }) - .build()?; + #[cfg(target_os = "windows")] + let builder = builder.with_webview(|webview| { + use webview2_com::Microsoft::Web::WebView2::Win32::ICoreWebView2PermissionRequestedEventHandler; + use windows::core::EventRegistrationToken; + use win_permissions::PermissionHandler; + + let controller = webview.controller(); + if let Ok(core) = unsafe { controller.CoreWebView2() } { + let handler: ICoreWebView2PermissionRequestedEventHandler = + PermissionHandler.into(); + let mut token = EventRegistrationToken(0); + let _ = unsafe { core.add_PermissionRequested(&handler, &mut token) }; + std::mem::forget(handler); + } + }); + + builder.build()?; Ok(()) }) .run(context)