From ca8751c40cc0bdc4d2d62dfd7465f2761a4cf1ff Mon Sep 17 00:00:00 2001 From: Faryan Rezagholi Date: Thu, 12 Aug 2021 22:54:20 +0200 Subject: [PATCH] little code cleanup --- .../Http/Connection.Protocol.HTTPBase.cs | 50 ++++++++----------- .../Resources/Language/Language.Designer.cs | 9 ++++ mRemoteNG/Resources/Language/Language.de.resx | 3 ++ mRemoteNG/Resources/Language/Language.resx | 3 ++ 4 files changed, 35 insertions(+), 30 deletions(-) diff --git a/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTPBase.cs b/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTPBase.cs index bfdd4ec3..f3e63004 100644 --- a/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTPBase.cs +++ b/mRemoteNG/Connection/Protocol/Http/Connection.Protocol.HTTPBase.cs @@ -13,20 +13,20 @@ namespace mRemoteNG.Connection.Protocol.Http { #region Private Properties - private Control wBrowser; + private Control _wBrowser; + private string _tabTitle; protected string httpOrS; protected int defaultPort; - private string tabTitle; #endregion #region Public Methods - protected HTTPBase(RenderingEngine RenderingEngine) + protected HTTPBase(RenderingEngine renderingEngine) { try { - if (RenderingEngine == RenderingEngine.EdgeChromium) + if (renderingEngine == RenderingEngine.EdgeChromium) { Control = new WebView2() { @@ -50,26 +50,26 @@ namespace mRemoteNG.Connection.Protocol.Http try { - if (InterfaceControl.Parent is ConnectionTab objConnectionTab) tabTitle = objConnectionTab.TabText; + if (InterfaceControl.Parent is ConnectionTab objConnectionTab) _tabTitle = objConnectionTab.TabText; } catch (Exception) { - tabTitle = ""; + _tabTitle = ""; } try { - wBrowser = Control; + _wBrowser = Control; if (InterfaceControl.Info.RenderingEngine == RenderingEngine.EdgeChromium) { - var edge = (WebView2)wBrowser; + var edge = (WebView2)_wBrowser; edge.CoreWebView2InitializationCompleted += Edge_CoreWebView2InitializationCompleted; } else { - var objWebBrowser = (WebBrowser)wBrowser; + var objWebBrowser = (WebBrowser)_wBrowser; objWebBrowser.ScrollBarsEnabled = true; // http://stackoverflow.com/questions/4655662/how-to-ignore-script-errors-in-webbrowser @@ -94,11 +94,11 @@ namespace mRemoteNG.Connection.Protocol.Http { if (InterfaceControl.Info.RenderingEngine == RenderingEngine.EdgeChromium) { - ((WebView2)wBrowser).Source = new Uri(GetURL()); + ((WebView2)_wBrowser).Source = new Uri(GetUrl()); } else { - ((WebBrowser)wBrowser).Navigate(GetURL()); + ((WebBrowser)_wBrowser).Navigate(GetUrl()); } base.Connect(); @@ -115,22 +115,12 @@ namespace mRemoteNG.Connection.Protocol.Http #region Private Methods - private string GetURL() + private string GetUrl() { try { var strHost = InterfaceControl.Info.Hostname; - /* - * Commenting out since this codes doesn't actually do anything at this time... - * Possibly related to MR-221 and/or MR-533 ???? - * - string strAuth = ""; - if (((int)Force & (int)ConnectionInfo.Force.NoCredentials) != (int)ConnectionInfo.Force.NoCredentials && !string.IsNullOrEmpty(InterfaceControl.Info.Username) && !string.IsNullOrEmpty(InterfaceControl.Info.Password)) - { - strAuth = "Authorization: Basic " + Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(InterfaceControl.Info.Username + ":" + InterfaceControl.Info.Password)) + Environment.NewLine; - } - */ if (InterfaceControl.Info.Port != defaultPort) { if (strHost.EndsWith("/")) @@ -146,6 +136,7 @@ namespace mRemoteNG.Connection.Protocol.Http if (strHost.Contains(httpOrS + "://") == false) strHost = httpOrS + "://" + strHost; } + return strHost; } catch (Exception ex) @@ -163,14 +154,13 @@ namespace mRemoteNG.Connection.Protocol.Http { if (!e.IsSuccess) { - //TODO: Log - MessageBox.Show($"WebView2 creation failed with exception = {e.InitializationException}"); + Runtime.MessageCollector.AddExceptionStackTrace(Language.HttpFailedUrlBuild, e.InitializationException); } } private void WBrowser_Navigated(object sender, WebBrowserNavigatedEventArgs e) { - if (!(wBrowser is WebBrowser objWebBrowser)) return; + if (!(_wBrowser is WebBrowser objWebBrowser)) return; // This can only be set once the WebBrowser control is shown, it will throw a COM exception otherwise. objWebBrowser.AllowWebBrowserDrop = false; @@ -184,18 +174,18 @@ namespace mRemoteNG.Connection.Protocol.Http { if (!(InterfaceControl.Parent is ConnectionTab tabP)) return; string shortTitle; - if (((WebBrowser)wBrowser).DocumentTitle.Length >= 15) + if (((WebBrowser)_wBrowser).DocumentTitle.Length >= 15) { - shortTitle = ((WebBrowser)wBrowser).DocumentTitle.Substring(0, 10) + "..."; + shortTitle = ((WebBrowser)_wBrowser).DocumentTitle.Substring(0, 10) + "..."; } else { - shortTitle = ((WebBrowser)wBrowser).DocumentTitle; + shortTitle = ((WebBrowser)_wBrowser).DocumentTitle; } - if (!string.IsNullOrEmpty(tabTitle)) + if (!string.IsNullOrEmpty(_tabTitle)) { - tabP.TabText = tabTitle + @" - " + shortTitle; + tabP.TabText = _tabTitle + @" - " + shortTitle; } else { diff --git a/mRemoteNG/Resources/Language/Language.Designer.cs b/mRemoteNG/Resources/Language/Language.Designer.cs index ba07fa43..5952579e 100644 --- a/mRemoteNG/Resources/Language/Language.Designer.cs +++ b/mRemoteNG/Resources/Language/Language.Designer.cs @@ -6082,6 +6082,15 @@ namespace mRemoteNG.Resources.Language { } } + /// + /// Sucht eine lokalisierte Zeichenfolge, die WebView2 creation failed with exception ähnelt. + /// + internal static string WebView2InitializationFailed { + get { + return ResourceManager.GetString("WebView2InitializationFailed", resourceCulture); + } + } + /// /// Sucht eine lokalisierte Zeichenfolge, die Weekly ähnelt. /// diff --git a/mRemoteNG/Resources/Language/Language.de.resx b/mRemoteNG/Resources/Language/Language.de.resx index 61ebaacd..b25908c3 100644 --- a/mRemoteNG/Resources/Language/Language.de.resx +++ b/mRemoteNG/Resources/Language/Language.de.resx @@ -2022,4 +2022,7 @@ Nightly umfasst Alphas, Betas und Release Candidates. Fehlermeldung + + WebView2-Erstellung fehlgeschlagen + \ No newline at end of file diff --git a/mRemoteNG/Resources/Language/Language.resx b/mRemoteNG/Resources/Language/Language.resx index c610c94b..c102ad6c 100644 --- a/mRemoteNG/Resources/Language/Language.resx +++ b/mRemoteNG/Resources/Language/Language.resx @@ -2147,4 +2147,7 @@ Nightly Channel includes Alphas, Betas & Release Candidates. Start Program + + WebView2 creation failed with exception + \ No newline at end of file