public virtual void ShowWebBrowser(NavigateToUrlEventArgs e) { if (!e.Handled && e.Uri != null) { System.Diagnostics.Process.Start(e.Uri.ToString()); e.SetHandled(); } }
void HandleNavigateToUrl(object sender, NavigateToUrlEventArgs e) { if (NavigateToUrlEnabled) { ((IRichTextViewEventSink)EventSink).OnNavigateToUrl(e.Uri); e.SetHandled(); } }
protected override void OnNavigateToUrl(NavigateToUrlEventArgs e) { foreach (var action in actions) { action?.Invoke(); } e.SetHandled(); base.OnNavigateToUrl(e); }
public virtual void ShowWebBrowser(NavigateToUrlEventArgs e) { if (!e.Handled && e.Uri != null) { System.Diagnostics.Process.Start (e.Uri.ToString ()); e.SetHandled (); } }
void HandleNavigateToUrl(object sender, NavigateToUrlEventArgs e) { ApplicationContext.InvokeUserCode(delegate { ((IRichTextViewEventSink)EventSink).OnNavigateToUrl(e.Uri); }); }
void WebView_NavigateToUrl(object sender, NavigateToUrlEventArgs e) { /*Console.WriteLine(e.Uri); * if (e.Uri.ToString().StartsWith("urn:ietf:wg:oauth:2.0:oob", StringComparison.InvariantCultureIgnoreCase)) * { * Console.WriteLine("MAGICAL SPECIAL HANDLING"); * Application.Invoke(delegate { progressIndicator.Indeterminate = true; progressIndicator.Fraction = 0;}); * }*/ if (e == null) { return; } string requestUrlString = e.Uri.ToString(); if (requestUrlString.StartsWith(BrokerConstants.BrowserExtPrefix, StringComparison.OrdinalIgnoreCase)) { var result = new AuthorizationResult(AuthorizationStatus.ProtocolError) { Error = "Unsupported request", ErrorDescription = "Server is redirecting client to browser. This behavior is not yet defined on Mac OS X." }; callbackMethod(result); webView.StopLoading(); Application.Invoke(delegate { Close(); }); return; } if (requestUrlString.ToLower(CultureInfo.InvariantCulture).StartsWith(callback.ToLower(CultureInfo.InvariantCulture), StringComparison.OrdinalIgnoreCase) || requestUrlString.StartsWith(BrokerConstants.BrowserExtInstallPrefix, StringComparison.OrdinalIgnoreCase)) { callbackMethod(new AuthorizationResult(AuthorizationStatus.Success, requestUrlString)); webView.StopLoading(); Application.Invoke(delegate { Close(); }); return; } if (requestUrlString.StartsWith(BrokerConstants.DeviceAuthChallengeRedirect, StringComparison.CurrentCultureIgnoreCase)) { var uri = new Uri(requestUrlString); string query = uri.Query; if (query.StartsWith("?", StringComparison.OrdinalIgnoreCase)) { query = query.Substring(1); } Dictionary <string, string> keyPair = EncodingHelper.ParseKeyValueList(query, '&', true, false, null); string responseHeader = PlatformPlugin.DeviceAuthHelper.CreateDeviceAuthChallengeResponse(keyPair).Result; /*var newRequest = WebRequest.CreateHttp(keyPair["SubmitUrl"]); * newRequest.Headers[BrokerConstants.ChallengeResponseHeader] = responseHeader; * var newRequest = (NSMutableUrlRequest)request.MutableCopy(); * newRequest.Url = new NSUrl(keyPair["SubmitUrl"]); * newRequest[BrokerConstants.ChallengeResponseHeader] = responseHeader; * webView.MainFrame.LoadRequest(newRequest); * WebView.DecideIgnore(decisionToken);*/ return; } if (!e.Uri.AbsoluteUri.Equals("about:blank", StringComparison.CurrentCultureIgnoreCase) && !e.Uri.Scheme.Equals("https", StringComparison.CurrentCultureIgnoreCase)) { var result = new AuthorizationResult(AuthorizationStatus.ErrorHttp); result.Error = AdalError.NonHttpsRedirectNotSupported; result.ErrorDescription = AdalErrorMessage.NonHttpsRedirectNotSupported; callbackMethod(result); webView.StopLoading(); Application.Invoke(delegate { Close(); }); } }