28 lines
1.1 KiB
Rust
28 lines
1.1 KiB
Rust
// Standalone permissions (Bug 5): WebView2 auto-ALLOW mọi permission request
|
|
// (MIDI input, microphone, File System Access) — không hiện popup hỏi quyền.
|
|
// WebView2 mặc định DENY khi không có handler ICoreWebView2::add_PermissionRequested.
|
|
#![cfg(windows)]
|
|
|
|
use webview2_com::Microsoft::Web::WebView2::Win32::*;
|
|
use webview2_com::PermissionRequestedEventHandler;
|
|
|
|
pub fn install(window: &tauri::WebviewWindow) {
|
|
let _ = window.with_webview(|webview| {
|
|
unsafe {
|
|
if let Ok(core) = webview.controller().CoreWebView2() {
|
|
let handler = PermissionRequestedEventHandler::create(Box::new(
|
|
|_sender: Option<ICoreWebView2>,
|
|
args: Option<ICoreWebView2PermissionRequestedEventArgs>| {
|
|
if let Some(args) = args {
|
|
args.SetState(COREWEBVIEW2_PERMISSION_STATE_ALLOW)?;
|
|
}
|
|
Ok(())
|
|
},
|
|
));
|
|
let mut token = 0i64;
|
|
let _ = core.add_PermissionRequested(&handler, &mut token);
|
|
}
|
|
}
|
|
});
|
|
}
|