diff --git a/include/CefViewBrowserClientDelegate.h b/include/CefViewBrowserClientDelegate.h index d476c30..5817922 100644 --- a/include/CefViewBrowserClientDelegate.h +++ b/include/CefViewBrowserClientDelegate.h @@ -82,6 +82,19 @@ class CefViewBrowserClientDelegateInterface }; #pragma endregion +#pragma region JSDialogHandler + virtual bool OnJSDialog(CefRefPtr browser, + const CefString& origin_url, + CefJSDialogHandler::JSDialogType dialog_type, + const CefString& message_text, + const CefString& default_prompt_text, + CefRefPtr callback, + bool& suppress_message) + { + return false; + } +#pragma endregion + // display handler #pragma region DisplayHandler virtual void addressChanged(CefRefPtr& browser, int64_t frameId, const std::string& url) = 0; diff --git a/src/CefView/CefBrowserApp/CefViewBrowserClient_JSDialogHandler.cpp b/src/CefView/CefBrowserApp/CefViewBrowserClient_JSDialogHandler.cpp index 36d3798..153d3fb 100644 --- a/src/CefView/CefBrowserApp/CefViewBrowserClient_JSDialogHandler.cpp +++ b/src/CefView/CefBrowserApp/CefViewBrowserClient_JSDialogHandler.cpp @@ -29,6 +29,11 @@ CefViewBrowserClient::OnJSDialog(CefRefPtr browser, { CEF_REQUIRE_UI_THREAD(); + auto delegate = client_delegate_.lock(); + if (delegate) + return delegate->OnJSDialog( + browser, origin_url, dialog_type, message_text, default_prompt_text, callback, suppress_message); + return false; }