/// <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;
            }
Ejemplo n.º 3
0
 protected virtual void OnNavigateError(WebBrowserNavigateErrorEventArgs e)
 {
     NavigateError?.Invoke(this, e);
 }