From 02ae154d7389f973d6fb119d1e3ec8db108baa23 Mon Sep 17 00:00:00 2001 From: Fabian-Lars Date: Fri, 7 Mar 2025 19:55:32 +0100 Subject: [PATCH 1/2] fix(windows): Enable edge's white flicker fix (requires v134+) --- src/webview2/mod.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/webview2/mod.rs b/src/webview2/mod.rs index 2bb92605f..276407372 100644 --- a/src/webview2/mod.rs +++ b/src/webview2/mod.rs @@ -283,7 +283,8 @@ impl InnerWebView { let additional_browser_args = pl_attrs.additional_browser_args.unwrap_or_else(|| { // remove "mini menu" - See https://github.com/tauri-apps/wry/issues/535 // and "smart screen" - See https://github.com/tauri-apps/tauri/issues/1345 - let default_args = "--disable-features=msWebOOUI,msPdfOOUI,msSmartScreenProtection"; + // enable white flicker fix + let default_args = "--disable-features=msWebOOUI,msPdfOOUI,msSmartScreenProtection --enable-features=RemoveRedirectionBitmap"; let mut arguments = String::from(default_args); if attributes.autoplay { From 71d6cb74699bc65b05b808893b525eb4550de85d Mon Sep 17 00:00:00 2001 From: FabianLars Date: Fri, 7 Mar 2025 20:02:05 +0100 Subject: [PATCH 2/2] changelog --- .changes/wv2-white-flicker.md | 5 +++++ src/lib.rs | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 .changes/wv2-white-flicker.md diff --git a/.changes/wv2-white-flicker.md b/.changes/wv2-white-flicker.md new file mode 100644 index 000000000..3149d50fa --- /dev/null +++ b/.changes/wv2-white-flicker.md @@ -0,0 +1,5 @@ +--- +wry: "patch:enhance" +--- + +Wry by default now passes `--enable-features=RemoveRedirectionBitmap` to WebView2 to hide the initial white flash of newly created webviews. Only takes effect on WebView2 Runtime versions 134 and above. diff --git a/src/lib.rs b/src/lib.rs index 7ea996c5b..7beecac4e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1466,10 +1466,10 @@ pub trait WebViewBuilderExtWindows { /// ## Warning /// /// - Webview instances with different browser arguments must also have different [data directories](struct.WebContext.html#method.new). - /// - By default wry passes `--disable-features=msWebOOUI,msPdfOOUI,msSmartScreenProtection` - /// `--autoplay-policy=no-user-gesture-required` if autoplay is enabled - /// and `--proxy-server=://:` if a proxy is set. - /// so if you use this method, you have to add these arguments yourself if you want to keep the same behavior. + /// - By default wry passes `--disable-features=msWebOOUI,msPdfOOUI,msSmartScreenProtection --enable-features=RemoveRedirectionBitmap` + /// `--autoplay-policy=no-user-gesture-required` if autoplay is enabled + /// and `--proxy-server=://:` if a proxy is set. + /// so if you use this method, you have to add these arguments yourself if you want to keep the same behavior. fn with_additional_browser_args>(self, additional_args: S) -> Self; /// Determines whether browser-specific accelerator keys are enabled. When this setting is set to