From 9e1c06c7d28e79768ff5ec69500ec33dee1f8845 Mon Sep 17 00:00:00 2001 From: Vladimir Borisov Date: Fri, 24 Jan 2025 12:27:17 +0200 Subject: [PATCH] Enable context menus for text boxes --- src/stremio_app/stremio_wevbiew/wevbiew.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/stremio_app/stremio_wevbiew/wevbiew.rs b/src/stremio_app/stremio_wevbiew/wevbiew.rs index 2ccd4b0..8a2f527 100644 --- a/src/stremio_app/stremio_wevbiew/wevbiew.rs +++ b/src/stremio_app/stremio_wevbiew/wevbiew.rs @@ -96,9 +96,11 @@ impl PartialUi for WebView { let settings = webview.get_settings().unwrap(); settings.put_is_status_bar_enabled(false).ok(); settings.put_are_dev_tools_enabled(*dev_tools.get().unwrap()).ok(); - settings.put_are_default_context_menus_enabled(false).ok(); settings.put_is_zoom_control_enabled(false).ok(); settings.put_is_built_in_error_page_enabled(false).ok(); + settings.put_are_host_objects_allowed(false).ok(); + settings.put_are_default_script_dialogs_enabled(false).ok(); + if let Some(endpoint) = endpoint.get() { if webview .navigate(endpoint.as_str()).is_err() { @@ -126,6 +128,15 @@ impl PartialUi for WebView { webview.add_content_loading(move |wv, _| { wv.execute_script(r##" + try{ + /* Disable context menus */ + document.addEventListener('contextmenu', (e) => { + if(!(e.target.tagName == "INPUT" && + ['text', 'password', 'number', 'week', 'month', 'email'].includes(e.target.type.toLowerCase()))) { + e.stopPropagation();e.preventDefault() + } + }) + }catch(e){} try{console.log('Shell JS injected');if(window.self === window.top) { window.qt={webChannelTransport:{send:window.chrome.webview.postMessage}}; window.chrome.webview.addEventListener('message',ev=>window.qt.webChannelTransport.onmessage(ev));