From 12c39c5b8b1c2c3d1d38b41b7584273deda3aab3 Mon Sep 17 00:00:00 2001 From: konakona418 Date: Wed, 9 Apr 2025 14:05:40 +0800 Subject: [PATCH 1/2] Feat: disabling WebView2 devtools on Windows. --- src/webui.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/webui.c b/src/webui.c index 03f08a334..53aee0765 100644 --- a/src/webui.c +++ b/src/webui.c @@ -202,6 +202,7 @@ typedef struct webui_event_inf_t { int x; int y; bool stop; + bool devtoolsEnabled; } _webui_wv_win32_t; #elif __linux__ void* libgtk; @@ -11221,6 +11222,12 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) { settings->lpVtbl->put_IsScriptEnabled(settings, TRUE); settings->lpVtbl->put_AreDefaultScriptDialogsEnabled(settings, TRUE); settings->lpVtbl->put_IsWebMessageEnabled(settings, TRUE); + + /* Whether dev tools are enabled or not. + * When WEBUI_LOG is defined, dev tools are enabled. + * Otherwise, dev tools are disabled. */ + settings->lpVtbl->put_AreDevToolsEnabled(settings, webView->devtoolsEnabled); + RECT bounds = {0, 0, webView->width, webView->height}; webView->webviewController->lpVtbl->put_Bounds(webView->webviewController, bounds); TitleChangedHandler* titleChangedHandler = CreateTitleChangedHandler(webView); @@ -11420,6 +11427,15 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) { webView->height = (win->height > 0 ? win->height : WEBUI_DEF_HEIGHT); webView->x = (win->x > 0 ? win->x : (int)((GetSystemMetrics(SM_CXSCREEN) - webView->width) / 2)); webView->y = (win->y > 0 ? win->y : (int)((GetSystemMetrics(SM_CYSCREEN) - webView->height) / 2)); + + #ifdef WEBUI_LOG + /* Enable devtools if is under debug mode */ + webView->devtoolsEnabled = true; + #else + /* Disable devtools if is not under debug mode */ + webView->devtoolsEnabled = false; + #endif + win->webView = webView; // Note: To garantee all Microsoft WebView's operations ownership we should From 0947e8681ede9aaa7228f4d74153601c60a05705 Mon Sep 17 00:00:00 2001 From: konakona418 Date: Wed, 9 Apr 2025 22:48:21 +0800 Subject: [PATCH 2/2] Feat: simplified implementation of disabling devtools on Windows. --- src/webui.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/webui.c b/src/webui.c index 5e722f891..55d99bfeb 100644 --- a/src/webui.c +++ b/src/webui.c @@ -202,7 +202,6 @@ typedef struct webui_event_inf_t { int x; int y; bool stop; - bool devtoolsEnabled; } _webui_wv_win32_t; #elif __linux__ void* libgtk; @@ -11226,7 +11225,10 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) { /* Whether dev tools are enabled or not. * When WEBUI_LOG is defined, dev tools are enabled. * Otherwise, dev tools are disabled. */ - settings->lpVtbl->put_AreDevToolsEnabled(settings, webView->devtoolsEnabled); + #ifndef WEBUI_LOG + settings->lpVtbl->put_AreDevToolsEnabled(settings, FALSE); + #endif + RECT bounds = {0, 0, webView->width, webView->height}; webView->webviewController->lpVtbl->put_Bounds(webView->webviewController, bounds); @@ -11428,14 +11430,6 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) { webView->x = (win->x > 0 ? win->x : (int)((GetSystemMetrics(SM_CXSCREEN) - webView->width) / 2)); webView->y = (win->y > 0 ? win->y : (int)((GetSystemMetrics(SM_CYSCREEN) - webView->height) / 2)); - #ifdef WEBUI_LOG - /* Enable devtools if is under debug mode */ - webView->devtoolsEnabled = true; - #else - /* Disable devtools if is not under debug mode */ - webView->devtoolsEnabled = false; - #endif - win->webView = webView; // Note: To garantee all Microsoft WebView's operations ownership we should