From 3a5614bead73dfee9f1a44474947171ff356c3af Mon Sep 17 00:00:00 2001 From: Shane Neuville Date: Wed, 19 Jun 2019 17:52:31 -0600 Subject: [PATCH] don't setup webview if running as designer (#6592) --- .../Renderers/WebViewRenderer.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs index 1b87331..a634ff0 100644 --- a/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs +++ b/Xamarin.Forms.Platform.Android/Renderers/WebViewRenderer.cs @@ -17,14 +17,14 @@ namespace Xamarin.Forms.Platform.Android WebViewClient _webViewClient; FormsWebChromeClient _webChromeClient; - + bool _isDisposed = false; protected internal IWebViewController ElementController => Element; protected internal bool IgnoreSourceChanges { get; set; } protected internal string UrlCanceled { get; set; } public WebViewRenderer(Context context) : base(context) { - AutoPackage = false; + AutoPackage = false; } [Obsolete("This constructor is obsolete as of version 2.5. Please use WebViewRenderer(Context) instead.")] @@ -62,6 +62,10 @@ namespace Xamarin.Forms.Platform.Android protected override void Dispose(bool disposing) { + if (_isDisposed) + return; + + _isDisposed = true; if (disposing) { if (Element != null) @@ -119,6 +123,12 @@ namespace Xamarin.Forms.Platform.Android _webChromeClient.SetContext(Context); webView.SetWebChromeClient(_webChromeClient); + if(Context.IsDesignerContext()) + { + SetNativeControl(webView); + return; + } + webView.Settings.JavaScriptEnabled = true; webView.Settings.DomStorageEnabled = true; SetNativeControl(webView); -- 2.7.4