/// <summary> /// /// </summary> protected virtual void WebBrowserNavigateErrorHandler(object sender, WebBrowserNavigateErrorEventArgs e) { // e.StatusCode - Contains error code which we are able to translate this error to text // ADAL.Native contains a code for translation. if (DialogResult == DialogResult.OK) { return; } if (webBrowser.IsDisposed) { // we cancel all flow in disposed object. e.Cancel = true; return; } if (webBrowser.ActiveXInstance != e.WebBrowserActiveXInstance) { // this event came from internal frame, ignore this. return; } if (e.StatusCode >= 300 && e.StatusCode < 400) { // we could get redirect flows here as well. return; } e.Cancel = true; StopWebBrowser(); // in this handler object could be already disposed, so it should be the last method OnNavigationCanceled(e.StatusCode); }
public void NavigateError(object pDisp, ref object URL, ref object frame, ref object statusCode, ref bool cancel) { int statusCodeInt = (statusCode == null) ? 0 : ((int)statusCode); WebBrowserNavigateErrorEventArgs e = new WebBrowserNavigateErrorEventArgs(statusCodeInt, pDisp); parent.OnNavigateError(e); cancel = e.Cancel; }
protected virtual void OnNavigateError(WebBrowserNavigateErrorEventArgs e) { NavigateError?.Invoke(this, e); }