public void Handle(RequestOpenBrowser message) { UiHelper.TryOnUiThread(() => { var currentAddress = WebControl.Address == null ? null : new Uri(WebControl.Address); var url = message.Url.ToString(); var relativeUrl = currentAddress != null && message.Url.Host == currentAddress.Host ? message.Url.PathAndQuery : message.Url.ToString(); if (currentAddress != null) { WebControl.EvaluateScriptAsync( $"if (window.w6Cheat && window.w6Cheat.api.navigate) {"{ window.w6Cheat.api.navigate('" + relativeUrl + "'); }"} else {"{ window.location.href = '" + url + "'; }"}"); } else { WebControl.SetValue(ChromiumWebBrowser.AddressProperty, url); } }); }