public bool OnBeforeUnloadDialog(IWebBrowser chromiumWebBrowser, IBrowser browser, string messageText, bool isReload, IJsDialogCallback callback) { if (GlobalData.Settings.DisableOnBeforeUnloadDialog) { callback.Continue(true); return(true); } wfChromiumWebBrowser.Dispatcher.Invoke(() => { var title = LanguageManager.GetString(isReload ? "title_askWhetherToReload" : "title_askWhetherToLeave"); JsConfirmDialog.ShowDialog(messageText, title, result => { callback.Continue(result == true); }); }); return(true); }
public bool OnJSDialog(IWebBrowser chromiumWebBrowser, IBrowser browser, string originUrl, CefJsDialogType dialogType, string messageText, string defaultPromptText, IJsDialogCallback callback, ref bool suppressMessage) { var targetBrowser = (ChromiumWebBrowser)chromiumWebBrowser; switch (dialogType) { case CefJsDialogType.Alert: { wfChromiumWebBrowser.Dispatcher.Invoke(() => { JsAlertDialog.ShowDialog(messageText, wfChromiumWebBrowser.Title); }); suppressMessage = true; return(false); } case CefJsDialogType.Confirm: { wfChromiumWebBrowser.Dispatcher.Invoke(() => { JsConfirmDialog.ShowDialog(messageText, wfChromiumWebBrowser.Title, result => { callback.Continue(result == true); }); }); suppressMessage = false; return(true); } case CefJsDialogType.Prompt: { wfChromiumWebBrowser.Dispatcher.Invoke(() => { JsPromptDialog.ShowDialog(messageText, wfChromiumWebBrowser.Title, defaultPromptText, result => { callback.Continue(result != null, result); }); }); suppressMessage = false; return(true); } } return(false); }