From 41dba73227b8de66b1c7643bc4d6271479b77ad6 Mon Sep 17 00:00:00 2001 From: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Date: Wed, 22 Oct 2025 10:48:09 +0530 Subject: [PATCH 1/5] fix added --- src/Core/src/Platform/Android/MauiWebViewClient.cs | 11 ++++++++++- src/Core/src/Platform/Android/WebViewExtensions.cs | 4 ++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Core/src/Platform/Android/MauiWebViewClient.cs b/src/Core/src/Platform/Android/MauiWebViewClient.cs index ee6eb9f021e6..e2fcad7ad2f0 100644 --- a/src/Core/src/Platform/Android/MauiWebViewClient.cs +++ b/src/Core/src/Platform/Android/MauiWebViewClient.cs @@ -57,7 +57,7 @@ public override void OnPageFinished(WebView? view, string? url) bool navigate = _navigationResult != WebNavigationResult.Failure || !GetValidUrl(url).Equals(_lastUrlNavigatedCancel, StringComparison.OrdinalIgnoreCase); _lastUrlNavigatedCancel = _navigationResult == WebNavigationResult.Cancel ? url : null; - if (navigate) + if (navigate && !IsAboutBlankNavigation(url)) handler.VirtualView.Navigated(handler.CurrentNavigationEvent, GetValidUrl(url), _navigationResult); handler.SyncPlatformCookiesToVirtualView(url); @@ -96,6 +96,15 @@ public override bool OnRenderProcessGone(WebView? view, RenderProcessGoneDetail? bool NavigatingCanceled(string? url) => !_handler.TryGetTarget(out var handler) || handler.NavigatingCanceled(url); + static bool IsAboutBlankNavigation(string? url) + { + if (string.IsNullOrWhiteSpace(url)) + return false; + + // Check if URL is about:blank (case insensitive) + return string.Equals(url.Trim(), "about:blank", StringComparison.OrdinalIgnoreCase); + } + static string GetValidUrl(string? url) { if (string.IsNullOrEmpty(url)) diff --git a/src/Core/src/Platform/Android/WebViewExtensions.cs b/src/Core/src/Platform/Android/WebViewExtensions.cs index 7ab41a2789c4..4ac8840b7c8f 100644 --- a/src/Core/src/Platform/Android/WebViewExtensions.cs +++ b/src/Core/src/Platform/Android/WebViewExtensions.cs @@ -25,6 +25,10 @@ public static void UpdateSource(this AWebView platformWebView, IWebView webView, platformWebView.UpdateCanGoBackForward(webView); } } + else + { + platformWebView.LoadUrl("about:blank"); + } } public static void UpdateSettings(this AWebView platformWebView, IWebView webView, bool javaScriptEnabled, bool domStorageEnabled) From f24b8116b2f5ef92ccc7fb5890d73b0bc7733fa5 Mon Sep 17 00:00:00 2001 From: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Date: Wed, 22 Oct 2025 13:36:11 +0530 Subject: [PATCH 2/5] added a test case --- .../TestCases.HostApp/Issues/Issue32030.cs | 60 +++++++++++++++++++ .../Tests/Issues/Issue32030.cs | 18 ++++++ 2 files changed, 78 insertions(+) create mode 100644 src/Controls/tests/TestCases.HostApp/Issues/Issue32030.cs create mode 100644 src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32030.cs diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue32030.cs b/src/Controls/tests/TestCases.HostApp/Issues/Issue32030.cs new file mode 100644 index 000000000000..f9bace072aac --- /dev/null +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue32030.cs @@ -0,0 +1,60 @@ +namespace Maui.Controls.Sample.Issues; + +[Issue(IssueTracker.Github, 32030, "Android - WebView in a grid expands beyond it's cell", PlatformAffected.Android)] + +public class Issue32030 : ContentPage +{ + WebView webView; + + public Issue32030() + { + + // Create Grid + var grid = new Grid + { + RowDefinitions = new RowDefinitionCollection + { + new RowDefinition { Height = new GridLength(50) }, + new RowDefinition { Height = GridLength.Star }, + new RowDefinition { Height = new GridLength(50) } + } + }; + + // Create "above webview" Label + var topLabel = new Label + { + Text = "Above webview", + AutomationId = "TopLabel", + HorizontalTextAlignment = TextAlignment.Center + }; + grid.Add(topLabel); + Grid.SetRow(topLabel, 0); + + // Create WebView + webView = new WebView + { + BackgroundColor = Colors.BurlyWood + }; + webView.Navigated += WebView_Navigated; + grid.Add(webView); + Grid.SetRow(webView, 1); + + // Create "below webview" Label + var bottomLabel = new Label + { + Text = "Below webview", + HorizontalTextAlignment = TextAlignment.Center + }; + grid.Add(bottomLabel); + Grid.SetRow(bottomLabel, 2); + + // Set the grid as the page content + Content = grid; + } + + async void WebView_Navigated(object sender, WebNavigatedEventArgs e) + { + System.Diagnostics.Debug.WriteLine($"Navigated to: {e.Url}"); + await DisplayAlert("Navigation Completed", $"WebView navigated to: {e.Url}", "OK"); + } +} \ No newline at end of file diff --git a/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32030.cs b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32030.cs new file mode 100644 index 000000000000..ac92609d4c32 --- /dev/null +++ b/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue32030.cs @@ -0,0 +1,18 @@ +using NUnit.Framework; +using UITest.Appium; +using UITest.Core; + +namespace Microsoft.Maui.TestCases.Tests.Issues; +public class Issue32030 : _IssuesUITest +{ + public Issue32030(TestDevice device) : base(device) { } + + public override string Issue => "Android - WebView in a grid expands beyond it's cell"; + [Test] + [Category(UITestCategories.WebView)] + public void VerifyWebViewStaysWithinGridCell() + { + App.WaitForElement("TopLabel"); + VerifyScreenshot(); + } +} \ No newline at end of file From d35f613746c504b0b405439c697bb9538795b037 Mon Sep 17 00:00:00 2001 From: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Date: Wed, 22 Oct 2025 15:28:24 +0530 Subject: [PATCH 3/5] method name changed and spaces removed --- .../tests/TestCases.HostApp/Issues/Issue32030.cs | 12 +++++------- src/Core/src/Platform/Android/MauiWebViewClient.cs | 4 ++-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/Controls/tests/TestCases.HostApp/Issues/Issue32030.cs b/src/Controls/tests/TestCases.HostApp/Issues/Issue32030.cs index f9bace072aac..95871be305c8 100644 --- a/src/Controls/tests/TestCases.HostApp/Issues/Issue32030.cs +++ b/src/Controls/tests/TestCases.HostApp/Issues/Issue32030.cs @@ -8,16 +8,15 @@ public class Issue32030 : ContentPage public Issue32030() { - // Create Grid var grid = new Grid { RowDefinitions = new RowDefinitionCollection - { - new RowDefinition { Height = new GridLength(50) }, - new RowDefinition { Height = GridLength.Star }, - new RowDefinition { Height = new GridLength(50) } - } + { + new RowDefinition { Height = new GridLength(50) }, + new RowDefinition { Height = GridLength.Star }, + new RowDefinition { Height = new GridLength(50) } + } }; // Create "above webview" Label @@ -54,7 +53,6 @@ public Issue32030() async void WebView_Navigated(object sender, WebNavigatedEventArgs e) { - System.Diagnostics.Debug.WriteLine($"Navigated to: {e.Url}"); await DisplayAlert("Navigation Completed", $"WebView navigated to: {e.Url}", "OK"); } } \ No newline at end of file diff --git a/src/Core/src/Platform/Android/MauiWebViewClient.cs b/src/Core/src/Platform/Android/MauiWebViewClient.cs index e2fcad7ad2f0..428aaa656642 100644 --- a/src/Core/src/Platform/Android/MauiWebViewClient.cs +++ b/src/Core/src/Platform/Android/MauiWebViewClient.cs @@ -57,7 +57,7 @@ public override void OnPageFinished(WebView? view, string? url) bool navigate = _navigationResult != WebNavigationResult.Failure || !GetValidUrl(url).Equals(_lastUrlNavigatedCancel, StringComparison.OrdinalIgnoreCase); _lastUrlNavigatedCancel = _navigationResult == WebNavigationResult.Cancel ? url : null; - if (navigate && !IsAboutBlankNavigation(url)) + if (navigate && !IsBlankNavigation(url)) handler.VirtualView.Navigated(handler.CurrentNavigationEvent, GetValidUrl(url), _navigationResult); handler.SyncPlatformCookiesToVirtualView(url); @@ -96,7 +96,7 @@ public override bool OnRenderProcessGone(WebView? view, RenderProcessGoneDetail? bool NavigatingCanceled(string? url) => !_handler.TryGetTarget(out var handler) || handler.NavigatingCanceled(url); - static bool IsAboutBlankNavigation(string? url) + static bool IsBlankNavigation(string? url) { if (string.IsNullOrWhiteSpace(url)) return false; From e4dc461691f79bb4e43153d9c1172e02f87b8776 Mon Sep 17 00:00:00 2001 From: devanathan-vaithiyanathan <114395405+devanathan-vaithiyanathan@users.noreply.github.com> Date: Thu, 23 Oct 2025 17:19:45 +0530 Subject: [PATCH 4/5] Snapshot added --- .../mac/VerifyWebViewStaysWithinGridCell.png | Bin 0 -> 10336 bytes .../VerifyWebViewStaysWithinGridCell.png | Bin 0 -> 7555 bytes .../ios/VerifyWebViewStaysWithinGridCell.png | Bin 0 -> 14887 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/Controls/tests/TestCases.Mac.Tests/snapshots/mac/VerifyWebViewStaysWithinGridCell.png create mode 100644 src/Controls/tests/TestCases.WinUI.Tests/snapshots/windows/VerifyWebViewStaysWithinGridCell.png create mode 100644 src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyWebViewStaysWithinGridCell.png diff --git a/src/Controls/tests/TestCases.Mac.Tests/snapshots/mac/VerifyWebViewStaysWithinGridCell.png b/src/Controls/tests/TestCases.Mac.Tests/snapshots/mac/VerifyWebViewStaysWithinGridCell.png new file mode 100644 index 0000000000000000000000000000000000000000..c98f1bf24f98ad7718de0fd9cd6b3293c7417455 GIT binary patch literal 10336 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 DD@|kF literal 0 HcmV?d00001 diff --git a/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyWebViewStaysWithinGridCell.png b/src/Controls/tests/TestCases.iOS.Tests/snapshots/ios/VerifyWebViewStaysWithinGridCell.png new file mode 100644 index 0000000000000000000000000000000000000000..1f365554b56b0b1bbf0b566e6388678498f5c3df GIT binary patch literal 14887 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 NYophceEI#+{{oi= Date: Thu, 23 Oct 2025 17:37:14 +0530 Subject: [PATCH 5/5] Android snap added --- .../VerifyWebViewStaysWithinGridCell.png | Bin 0 -> 10009 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyWebViewStaysWithinGridCell.png diff --git a/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyWebViewStaysWithinGridCell.png b/src/Controls/tests/TestCases.Android.Tests/snapshots/android/VerifyWebViewStaysWithinGridCell.png new file mode 100644 index 0000000000000000000000000000000000000000..f571a46b76affe8464600cd57e721134f4379825 GIT binary patch literal 10009 zcmeI2iBr?p+Q*|_FV$ALEw@4;NH>?N>mLOyi0*MMFVuV0eAVPp7gb+vw+1_a1_qKQ5x$pZAFmq4+JxoH3((*ppQJq`f)mjeLyh^mh70|9_F<^Kpf9OC2|YOz@Oe12VBU2}7@ zN~MxWB(t-#{r&x!nVDCwUghz4?d|PcF1NO}7LUi9Os2`nNs&l2KR-Vqtt6f@J8Xq4oE-t=z?;eN4VK5k@qob9TmCMV^ zd3kwCrP5$96ciN9%*+S`f|iyR0)cSz=FLZs9!*S4==J)C4<8bVL=uVg;>C-(xjD63 zJv20Q>(;Ho!9gmOio@Y9Uc7kj+_|SupO%)EipAn9SFTi7SNHVvw6?Y?6pF&a!k>Ts zIVUH_Xf&3Tlw7!QfkvY>Ha4SR#v8_rlzN-Q7F`}zyA8u zPe0Yy*9(Qh=g*%%e*F0U{rma(`FHQ$ef8=U27|eL`SQz`FX?nTo6Wv+=T1#c&66ij z$YgR?S663eXG23nZ*T7}zx*PT$wo#-q*7^HTN{N!sj8~_?YG}LIy$ajzuw*5edETB z2M->|wD<$l1&;{dP!Yk(dGqX$EX-ZsI`-KiNd7{$o8&OAy6j)UbN>bSWtCQJW5Q5&dF zvcuO%pLsU=(=^iWH?ZuP4pCUX-6SatgvYr@yp1ppusNaIfbkWzrpZY3ZDZ*M)>SoG zgTS1U$!gxi+wpMMczORFaJj*1BlVDc*a`m~=yWs>p3B#~B87wSmz|i)e2b%$xpeUp zyUk{s_wY3n>5!_9L|i4$X*1(?&^zg4+z)}FJ+5TDdP$JtB6Si(Zz;->;{#Ow**ZVf zXsc|-Jy$Nih7=(!vv;QQ57k8w#CeMTMaHFGs$eTcRdLNWHg8GX{F5D5Do}+212Sjx zheYmG{+Tn$TrRtkadEJbXpSWwS7w{zfmgmd0K)$SFHYqpXXzazqhhc4mUs$skBA)C zP!>etFFskgKedQtwI>_8LRqNfR2e#|LEE9r7u6&O1vAgr8ze4L)e$7tgE{F$%n}2A zaoV26=h_d^L`&H>()suBpG=5*1x`Agnjtt6T^nL}B8g0zFN|bIO_V~*qFo3UgaK?k zlcy;zlE{&G^-FENa4)l1M)qU7%8GGwvlS<8d6x{pZsA$Idd4)NNzF|0bmjXIe+UYWuL4)P4$n3S>bCBv<(86VNO2r7 zDA0#l&m9QhKJC9W6lZy;+H_&&^GSkU=?cep#se)KBicuk72^4pP3a)GHHB}W1@evb zA9nap68vlFxq2}(7DDM1w#g!IA>G|~QL}N_XgC^V1H(=MzEW;tjN$@NhC=qCNgU=Z77@wDhMjdqV0<8mu&o?(`|h&N_;z5S#8?9>i|fo{on13`v_*0ZxBxdHbY-wuUuJW?w3rkIwdEGmqm2ly za4u3tgdXcqnNo1Qyvpi|h@G{vJoU{wSUJNyI6OWQsQ98LwS5C?+^?a_4{7SnkpJcx zSLwP%xstxSuCC2^qHX!k6BQ4hMxjxEwuiopMV-Zg-LNagA~ZqP?|{s0neBQTLNUEq zo_<^ht9UKSOZ~m>R?E(JrtxIVsoMDGaOe2AIjZUVQ9W-Xn^dtfq;>kRxi@ibDvZ4c|86*-#eqt<}b8!o=icQZ_)b)kI^7ysC8+L%P)yJ{00s+j?a4swL zEz@>=AMXi1uH{eYOs6=FZfzCuB-2pukX^G=?YeV39(@cOkk!C%_$TNxl4SG` z^x{T(3nge6UXq-{XYNzHUS)sia^VXuN_{8G_)w#>FUndm8JGPeCXw-N&y;wYH)5h@ z#*C$+dx8N8pp-qDx6x;stGZe?+UO`{hU@cBd62NfU zsN|u8sB|Zd9K<7{Mssp9ou{YjVATxqU{<$vNt}PPe=|}nHWFyx?&p@k_?9wGFzO6# zBN2nGdzVEw8G4@u>Zhw2B}gPKIjMd839J%WC9q0hmB1>2RRXI7Rtc;USS7GZV3oisfj<)<-dOYh zU7D!DPj3{tbxae3yVP&GQic}m#p~g>Sl`e4v5o|{ziKNMs4jUj*Ad4kZq8B-Hk;Jv zMxU^&vLn7_z2{DGN#cmn(k>;aWPG{X=UzRyYrlH`->kREQK0Q~%B!2E&8I*#pYYi} z;@F+#Ppz^Z7o@iirAxB)bzCpZ%#C&0fRb@g>HsKPxdZfB@P_WxzlV*3T077y3!iN+ zb9o@S^$sgpzS0nhh`@Yoz4{(`A3r)=3JFZZXz~iZfkxX;fuUVp^B2M{G4_M- zKL(Ar=lsUtl_BZKp;=p3otwRA4iTfBpKS_Fi7`@^mK|&xw;Ie2SaOHqyhv4Uyql{n z_OoT#t72iD@U1wm#98`KS%%KQv9u9qRd2^UDFIcz{!BYO)=Anhi3a+y%f`4nIN_GK z*7oBWJjdJ&^N7+iU!xxYyXDcb>9~Nh;vjEW=jo-hTs{>7y;&@gQPj1Fzy%#Q5{yYR zKPiRQh5z2i5?T9Ly0EjBH)%>Gtk(ae>Thb;!T2jO4OiR4?=qe`;&7k&f0rmVIC|<^o|qLATc4 zYun~+R;Sb=Ff#t5B9i%8%j3KUKO}R)3r#v#+n~7{zBErk>o<{+yERLbkm$%OsdN1p zK_w)xX=L%5epf70c6sLW1m5Q^WX?tP)OdTg-rTFc2Luy_4eC0cY*&0WzZHE@Mt^Lr z$yaY`5``C=Ws?(VXb1X4D}%mAvgHTTVB&zd!<0z2L zn5?Z#{*0w)PM~}SgaKzrHrM<0sT9y6pXRtuiwa!}OJ}rKd^-}eL0h0i|vb8dW zGZ$#O>N!W0aWz8d0jng|R2{9ZkI^aGbJgns z|E^j9(bn}=ZeVFi3|p%?cXO4Ew%3Cwn6fl;2@l$A%K~{3LKRSHp>M-7Fnf#%*u`VEU_f%ZS5sY}`fHfM`$mwRy&Wn-@Hj+Xv-efXuX zUb}-jzTE5J?#h$e8MK198rv|kG-q`?QD9>4MIs-sa#^d7<^K=57Z#-N*fTu+7|?B>@(i|N4^4 z{S@0o2_Uo>$M1QX+u^TW`-dXM&$Y*W;5yv5(Y*kk+Er%wE!bGs#tQP^b?al`)rRCw5&P-Nd~XFENK$#M*f8 z(?v-PvcxbVeVu{4{Iejb2!ijcj*V6A)d`yF-<9u&q4M9Zdan>~JuSF=tX!Aw;u^f& zGQ8ktXw|rrm$}6*My(*SSUpv3`)D8n<0CSWkfddekWO;`?V(B zsKzD$LDaA+yFHyh4m1xSv3{0=cmWR{(Qk{26Vlegps)9*^%0l8dQ(mdx}b=C-xr*& z$q{giPPI3G1La|{rV)reDSld^3~)K|x+8T-7Hp$R7o!e=#Pkd_7m3{be%n^T(gt4a zHGkE5H^g^9f2)V@Gt^VjNV=(>pk&3HOeZu-7dLu7oaabzwrCfct`*OjT|lM;o-8C7 z2$5P&D95Y^5OT)&G0Apo1w3cLRD`7VbOyvLTagD1)?KKsC&B6vp*NheKs~S-)B)CX z?bgKzADCk_+>i81@g}24#!xg%^P@}oNN4V4a$D?f-AwOiC zOvpIp4@o;^od8}QUVB|VJzTxK4|{s~dwBbM?A`6*;qT#5$&VQMw*VOYWa8=U{~Rz| os6A;7*!iyv8Hun{=@|(y#D9*V{=)0D#sKz*M10-&