private int OnJsDialog(IntPtr self, IntPtr browser, IntPtr originurl, IntPtr acceptlang,
                               CefJsdialogType dialogtype, IntPtr messagetext, IntPtr defaultprompttext, IntPtr callback,
                               ref int suppressmessage)
        {
            var e = new JavaScriptDialogOpeningEventArgs {
                AcceptedLanguage = StringUtf16.ReadString(acceptlang),
                Browser = Browser.FromHandle(browser),
                Origin = StringUtf16.ReadString(originurl),
                DialogType = (DialogType) dialogtype,
                Message = StringUtf16.ReadString(messagetext),
                DefaultPrompt = StringUtf16.ReadString(defaultprompttext),
                Result = new DialogResult()
            };

            _browserDelegate.OnJavaScriptDialogOpening(e);

            if (e.IsCanceled) {
                suppressmessage = Convert.ToInt32(true);
                return Convert.ToInt32(false);
            }

            if (e.IsHandled) {
                var func = JavaScriptDialogCallback.FromHandle(callback);
                func.Resume(e.Result.IsSuccessful, e.Result.Message);
                suppressmessage = Convert.ToInt32(false);
                return Convert.ToInt32(true);
            }

            suppressmessage = Convert.ToInt32(false);
            return Convert.ToInt32(false);
        }
Example #2
0
 protected internal virtual void OnJavaScriptDialogOpening(JavaScriptDialogOpeningEventArgs e)
 {
     var handler = JavaScriptDialogOpening;
     if (handler != null) {
         handler(this, e);
     }
 }